i18n_variable_form_submit

  1. drupal
    1. 6 i18n.module function
    2. 7 i18n_variable.module function
Drupal 7 i18n_variable_form_submit($form, &$form_state)

Save multilingual variables and remove them from form.

1 string reference to 'i18n_variable_form_submit'

File

sites/all/modules/i18n/i18n_variable/i18n_variable.module, line 185
Internationalization (i18n) package. Multilingual variables API.

Code

function i18n_variable_form_submit($form, &$form_state) {
  $op = isset($form_state['values']['op']) ? $form_state['values']['op'] : '';
  $language = i18n_language($form_state['values']['i18n_variable_language']);
  unset($form_state['values']['i18n_variable_language']);
  $variables = array_keys($form['#i18n_variables']);
  foreach ($variables as $name) {
    if (isset($form_state['values'][$name])) {
      if ($op == t('Reset to defaults')) {
        i18n_variable_del($name, $language->language);
      }
      else {
        $value = $form_state['values'][$name];
        if (is_array($value) && isset($form_state['values']['array_filter'])) {
          $value = array_keys(array_filter($value));
        }
        i18n_variable_set($name, $value, $language->language);
      }
      // If current is not default language, we don't set any global variable (without language)
      if ($language->language != language_default('language')) {
        unset($form_state['values'][$name]);
      }
    }
  }
  // The form will go now through system_settings_form_submit()
}