You are here

function variable_realm_variable_settings_form_submit in Variable 7.2

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

Save realm variables and remove them from form.

1 string reference to 'variable_realm_variable_settings_form_submit'
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 259
Administrative forms for variable realms.

Code

function variable_realm_variable_settings_form_submit($form, &$form_state) {
  $op = isset($form_state['values']['op']) ? $form_state['values']['op'] : '';
  foreach ($form['#realm_keys'] as $realm_name => $realm_key) {
    $realm_controller = variable_realm_controller($realm_name);

    //$language = i18n_language($form_state['values']['i18n_variable_language']);

    //unset($form_state['values']['i18n_variable_language']);
    $variables = array_keys($form['#realm_variables'][$realm_name]);
    foreach ($variables as $variable_name) {
      if (isset($form_state['values'][$variable_name])) {
        if ($op == t('Reset to defaults')) {
          variable_realm_del($realm_name, $realm_key, $variable_name);
        }
        else {
          $value = $form_state['values'][$variable_name];
          if (is_array($value) && isset($form_state['values']['array_filter'])) {
            $value = array_keys(array_filter($value));
          }
          variable_realm_set($realm_name, $realm_key, $variable_name, $value);
        }

        // If current is not default realm key, we don't set any global variable (without realm)
        if ($realm_key != $realm_controller
          ->getDefaultKey()) {
          unset($form_state['values'][$variable_name]);
        }
      }
    }
  }

  // Redirect later depending on query string parameters.
  _variable_realm_form_submit_redirect($form, $form_state);

  // The form will go now through system_settings_form_submit()
}