diff --git a/core/modules/language/lib/Drupal/language/Form/LanguageAddForm.php b/core/modules/language/lib/Drupal/language/Form/LanguageAddForm.php index cf7cc34..5ed66f7 100644 --- a/core/modules/language/lib/Drupal/language/Form/LanguageAddForm.php +++ b/core/modules/language/lib/Drupal/language/Form/LanguageAddForm.php @@ -8,6 +8,7 @@ namespace Drupal\language\Form; use Drupal\language\Form\LanguageFormBase; +use Drupal\Core\Language\Language; /** * Controller for language addition forms. @@ -47,6 +48,7 @@ public function form(array $form, array &$form_state) { ), ), '#validate' => array(array($this, 'validatePredefined')), + '#submit' => array(array($this, 'submitForm')), ); $form['custom_language'] = array( @@ -57,19 +59,21 @@ public function form(array $form, array &$form_state) { ), ), ); + parent::commonForm($form['custom_language']); $form['custom_language']['submit'] = array( '#type' => 'submit', '#value' => $this->translator->translate('Add custom language'), '#validate' => array(array($this, 'validateCustom')), + '#submit' => array(array($this, 'submitForm')), ); - return parent::form($form, $form_state); + return $form; } /** * {@inheritdoc} */ - public function save(array $form, array &$form_state) { + public function submitForm(array &$form, array &$form_state) { $langcode = $form_state['values']['predefined_langcode']; if ($langcode == 'custom') { $langcode = $form_state['values']['langcode']; diff --git a/core/modules/language/lib/Drupal/language/Form/LanguageEditForm.php b/core/modules/language/lib/Drupal/language/Form/LanguageEditForm.php index 8d4a6c7..d16e8c0 100644 --- a/core/modules/language/lib/Drupal/language/Form/LanguageEditForm.php +++ b/core/modules/language/lib/Drupal/language/Form/LanguageEditForm.php @@ -25,6 +25,14 @@ public function getFormID() { /** * {@inheritdoc} */ + public function form(array $form, array &$form_state) { + parent::commonForm($form); + return parent::form($form, $form_state); + } + + /** + * {@inheritdoc} + */ public function actions(array $form, array &$form_state) { $actions = parent::actions($form, $form_state); $actions['submit']['#value'] = $this->translator->translate('Save language'); diff --git a/core/modules/language/lib/Drupal/language/Form/LanguageFormBase.php b/core/modules/language/lib/Drupal/language/Form/LanguageFormBase.php index 0d14b24..34df4bd 100644 --- a/core/modules/language/lib/Drupal/language/Form/LanguageFormBase.php +++ b/core/modules/language/lib/Drupal/language/Form/LanguageFormBase.php @@ -62,13 +62,10 @@ public static function createInstance(ContainerInterface $container, $entity_typ } /** - * {@inheritdoc} + * Common elements of the language addition and editing form. */ - public function form(array $form, array &$form_state) { + public function commonForm(array &$form) { $language = $this->entity; - if (!is_object($language)) { - $language = new Language(array('id' => NULL, 'name' => NULL,)); - } if (isset($language->id)) { $form['langcode_view'] = array( '#type' => 'item', @@ -110,7 +107,7 @@ public function form(array $form, array &$form_state) { ), ); - return parent::form($form, $form_state); + return $form; } /**