public function ModulesListConfirmForm::submitForm in Zircon Profile 8.0
Same name and namespace in other branches
- 8 core/modules/system/src/Form/ModulesListConfirmForm.php \Drupal\system\Form\ModulesListConfirmForm::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/ system/ src/ Form/ ModulesListConfirmForm.php, line 148 - Contains \Drupal\system\Form\ModulesListConfirmForm.
Class
- ModulesListConfirmForm
- Builds a confirmation form for enabling modules with dependencies.
Namespace
Drupal\system\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
// Remove the key value store entry.
$account = $this
->currentUser()
->id();
$this->keyValueExpirable
->delete($account);
if (!empty($this->modules['install'])) {
// Don't catch the exception that this can throw for missing dependencies:
// the form doesn't allow modules with unmet dependencies, so the only way
// this can happen is if the filesystem changed between form display and
// submit, in which case the user has bigger problems.
try {
// Install the given modules.
$this->moduleInstaller
->install(array_keys($this->modules['install']));
} catch (PreExistingConfigException $e) {
$config_objects = $e
->flattenConfigObjects($e
->getConfigObjects());
drupal_set_message($this
->formatPlural(count($config_objects), 'Unable to install @extension, %config_names already exists in active configuration.', 'Unable to install @extension, %config_names already exist in active configuration.', array(
'%config_names' => implode(', ', $config_objects),
'@extension' => $this->modules['install'][$e
->getExtension()],
)), 'error');
return;
} catch (UnmetDependenciesException $e) {
drupal_set_message($e
->getTranslatedMessage($this
->getStringTranslation(), $this->modules['install'][$e
->getExtension()]), 'error');
return;
}
$module_names = array_values($this->modules['install']);
drupal_set_message($this
->formatPlural(count($module_names), 'Module %name has been enabled.', '@count modules have been enabled: %names.', array(
'%name' => $module_names[0],
'%names' => implode(', ', $module_names),
)));
}
$form_state
->setRedirectUrl($this
->getCancelUrl());
}