You are here

function _variable_realm_variable_settings_form_alter in Variable 7.2

Same name and namespace in other branches
  1. 7 variable_realm/variable_realm.form.inc \_variable_realm_variable_settings_form_alter()

Alter settings form and return list of found variables.

2 calls to _variable_realm_variable_settings_form_alter()
variable_realm_form_system_theme_settings_alter in variable_realm/variable_realm.module
Implements hook_form_FORM_ID_alter()
variable_realm_variable_settings_form_alter in variable_realm/variable_realm.variable.inc
Implements hook_variable_settings_form_alter().

File

variable_realm/variable_realm.form.inc, line 207
Administrative forms for variable realms.

Code

function _variable_realm_variable_settings_form_alter(&$form, $realm_name, $variables) {
  $result = array();
  foreach (element_children($form) as $field) {
    if (count(element_children($form[$field])) && empty($form[$field]['#tree'])) {

      // Rewrite fieldsets recursively.
      $result += _variable_realm_variable_settings_form_alter($form[$field], $realm_name, $variables);
    }
    elseif (in_array($field, $variables)) {
      if (isset($form[$field]['#variable_realm'])) {

        // Oh-oh, variable already taken by another realm.
        _variable_realm_variable_settings_form_conflict($field);
        $form[$field]['#disabled'] = TRUE;
      }
      else {

        // Mark variable as already taken by a realm
        $form[$field]['#variable_realm'] = $realm_name;
      }
      _variable_realm_variable_settings_form_mark($realm_name, $form[$field]);

      // Addd field => name to result
      $result[$field] = !empty($form[$field]['#title']) ? $form[$field]['#title'] : $field;
    }
  }
  return $result;
}