function LocaleSettingsForm::submitForm

Same name in other branches
  1. 8.9.x core/modules/locale/src/Form/LocaleSettingsForm.php \Drupal\locale\Form\LocaleSettingsForm::submitForm()
  2. 10 core/modules/locale/src/Form/LocaleSettingsForm.php \Drupal\locale\Form\LocaleSettingsForm::submitForm()
  3. 11.x core/modules/locale/src/Form/LocaleSettingsForm.php \Drupal\locale\Form\LocaleSettingsForm::submitForm()

Overrides ConfigFormBase::submitForm

File

core/modules/locale/src/Form/LocaleSettingsForm.php, line 104

Class

LocaleSettingsForm
Configure locale settings for this site.

Namespace

Drupal\locale\Form

Code

public function submitForm(array &$form, FormStateInterface $form_state) {
    $values = $form_state->getValues();
    $config = $this->config('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)
                ->save();
            break;
        case LOCALE_TRANSLATION_OVERWRITE_NON_CUSTOMIZED:
            $config->set('translation.overwrite_customized', FALSE)
                ->set('translation.overwrite_not_customized', TRUE)
                ->save();
            break;
        case LOCALE_TRANSLATION_OVERWRITE_NONE:
            $config->set('translation.overwrite_customized', FALSE)
                ->set('translation.overwrite_not_customized', FALSE)
                ->save();
            break;
    }
    // Invalidate the cached translation status when the configuration setting
    // of 'use_source' changes.
    if ($form['use_source']['#default_value'] != $form_state->getValue('use_source')) {
        locale_translation_clear_status();
    }
    parent::submitForm($form, $form_state);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.