public function LocaleSettingsForm::submitForm

Implements \Drupal\Core\Form\FormInterface::submitForm().

Overrides SystemConfigFormBase::submitForm

File

drupal/core/modules/locale/lib/Drupal/locale/Form/LocaleSettingsForm.php, line 103
Contains \Drupal\user\LocaleSettingsForm.

Class

LocaleSettingsForm
Configure locale settings for this site.

Namespace

Drupal\locale\Form

Code

public function submitForm(array &$form, array &$form_state) {
  $values = $form_state['values'];
  $config = $this->configFactory
    ->get('locale.settings');
  $config
    ->set('translation.update_interval_days', $values['update_interval_days'])
    ->save();
  $config
    ->set('translation.use_source', $values['use_source'])
    ->save();
  switch ($values['overwrite']) {
    case LOCALE_TRANSLATION_OVERWRITE_ALL:
      $config
        ->set('translation.overwrite_customized', TRUE)
        ->set('translation.overwrite_not_customized', TRUE);
      break;
    case LOCALE_TRANSLATION_OVERWRITE_NON_CUSTOMIZED:
      $config
        ->set('translation.overwrite_customized', FALSE)
        ->set('translation.overwrite_not_customized', TRUE);
      break;
    case LOCALE_TRANSLATION_OVERWRITE_NONE:
      $config
        ->set('translation.overwrite_customized', FALSE)
        ->set('translation.overwrite_not_customized', FALSE);
      break;
  }
  $config
    ->set('translation.check_disabled_modules', $values['check_disabled_modules'])
    ->save();

  // Invalidate the cached translation status when the configuration setting of
  // 'use_source' and 'check_disabled_modules' change.
  if ($form['use_source']['#default_value'] != $form_state['values']['use_source'] || $form['check_disabled_modules']['#default_value'] != $form_state['values']['check_disabled_modules']) {
    locale_translation_clear_status();
  }
  parent::submitForm($form, $form_state);
}