public ModulesListForm::submitForm(array &$form, FormStateInterface $form_state)
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 427
Class
- ModulesListForm
- Provides module installation interface.
Namespace
Drupal\system\Form
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | public function submitForm( array & $form , FormStateInterface $form_state ) { // Retrieve a list of modules to install and their dependencies. $modules = $this ->buildModuleList( $form_state ); // Redirect to a confirmation form if needed. if (! empty ( $modules [ 'experimental' ]) || ! empty ( $modules [ 'dependencies' ])) { $route_name = ! empty ( $modules [ 'experimental' ]) ? 'system.modules_list_experimental_confirm' : 'system.modules_list_confirm' ; // 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( $route_name ); // 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 ; } } } |
Please login to continue.