function block_access_set_allowable_regions_config in Block Access 7
Attempts to set the allowable regions for each theme (config) - if none, all are assumed
Parameters
type $module:
type $delta:
type $form:
1 call to block_access_set_allowable_regions_config()
File
- ./
block_access.module, line 262  
Code
function block_access_set_allowable_regions_config($module, $delta, &$form) {
  global $theme;
  if (user_access(BLOCK_ACCESS_ALL_CONFIG_REGION)) {
    return TRUE;
  }
  // Loop over each region listed in the options panel
  $default_value = NULL;
  foreach ($form['regions'] as $heading => $hval) {
    //    if ((is_array($heading)) && (isset($heading['#options']))) {
    if (is_array($hval) && isset($hval['#options'])) {
      // The current theme
      $default_value = NULL;
      foreach ($form['regions'][$heading]['#options'] as $name => $des) {
        if (block_access_user_access($module, $delta, "dreg_{$name}")) {
          if ($form['regions'][$heading]['#default_value'] == $name) {
            //$form['regions'][$heading]['#default_value'] = NULL;
            $form['regions'][$heading]['#access'] = FALSE;
          }
          unset($form['regions'][$heading]['#options'][$name]);
        }
        else {
          $default_value = $name;
        }
      }
    }
  }
}