public function ModulesListForm::submitForm in Zircon Profile 8.0
Same name and namespace in other branches
- 8 core/modules/system/src/Form/ModulesListForm.php \Drupal\system\Form\ModulesListForm::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/ ModulesListForm.php, line 422 - Contains \Drupal\system\Form\ModulesListForm.
Class
- ModulesListForm
- Provides module installation interface.
Namespace
Drupal\system\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
// Retrieve a list of modules to install and their dependencies.
$modules = $this
->buildModuleList($form_state);
// Check if we have to install any dependencies. If there is one or more
// dependencies that are not installed yet, redirect to the confirmation
// form.
if (!empty($modules['dependencies']) || !empty($modules['missing'])) {
// Write the list of changed module states into a key value store.
$account = $this
->currentUser()
->id();
$this->keyValueExpirable
->setWithExpire($account, $modules, 60);
// Redirect to the confirmation form.
$form_state
->setRedirect('system.modules_list_confirm');
// We can exit here because at least one modules has dependencies
// which we have to prompt the user for in a confirmation form.
return;
}
// Install the given modules.
if (!empty($modules['install'])) {
try {
$this->moduleInstaller
->install(array_keys($modules['install']));
$module_names = array_values($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),
)));
} 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' => $modules['install'][$e
->getExtension()],
)), 'error');
return;
} catch (UnmetDependenciesException $e) {
drupal_set_message($e
->getTranslatedMessage($this
->getStringTranslation(), $modules['install'][$e
->getExtension()]), 'error');
return;
}
}
}