You are here

public function ContentLanguageSettingsForm::submitForm in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/language/src/Form/ContentLanguageSettingsForm.php \Drupal\language\Form\ContentLanguageSettingsForm::submitForm()

Form submission handler.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Overrides FormInterface::submitForm

File

core/modules/language/src/Form/ContentLanguageSettingsForm.php, line 166

Class

ContentLanguageSettingsForm
Configure the content language settings for this site.

Namespace

Drupal\language\Form

Code

public function submitForm(array &$form, FormStateInterface $form_state) {
  $entity_types = $form_state
    ->getValue('entity_types');
  foreach ($form_state
    ->getValue('settings') as $entity_type => $entity_settings) {
    foreach ($entity_settings as $bundle => $bundle_settings) {
      $config = ContentLanguageSettings::loadByEntityTypeBundle($entity_type, $bundle);
      if (empty($entity_types[$entity_type])) {
        $bundle_settings['settings']['language']['language_alterable'] = FALSE;
      }
      $config
        ->setDefaultLangcode($bundle_settings['settings']['language']['langcode'])
        ->setLanguageAlterable($bundle_settings['settings']['language']['language_alterable'])
        ->save();
    }
  }
  $this
    ->messenger()
    ->addStatus($this
    ->t('Settings successfully updated.'));
}