diff --git a/core/includes/update.inc b/core/includes/update.inc index 5c95508..7e5eb99 100644 --- a/core/includes/update.inc +++ b/core/includes/update.inc @@ -43,7 +43,7 @@ function update_check_incompatibility($name, $type = 'module') { // code changes that were made in the filesystem before the update script // was initiated. $themes = \Drupal::service('theme_handler')->rebuildThemeData(); - $modules = \Drupal::service('extension.list.module')->getList(); + $modules = \Drupal::service('extension.list.module')->reset()->getList(); } if ($type == 'module' && isset($modules[$name])) { diff --git a/core/modules/system/src/Form/ModulesListForm.php b/core/modules/system/src/Form/ModulesListForm.php index 195b15e..02a08a2 100644 --- a/core/modules/system/src/Form/ModulesListForm.php +++ b/core/modules/system/src/Form/ModulesListForm.php @@ -7,6 +7,7 @@ use Drupal\Core\Config\UnmetDependenciesException; use Drupal\Core\Access\AccessManagerInterface; use Drupal\Core\Extension\Extension; +use Drupal\Core\Extension\ModuleExtensionList; use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\Extension\ModuleInstallerInterface; use Drupal\Core\Form\FormBase; @@ -66,6 +67,13 @@ class ModulesListForm extends FormBase { protected $permissionHandler; /** + * The module extension list. + * + * @var \Drupal\Core\Extension\ModuleExtensionList + */ + protected $moduleExtensionList; + + /** * {@inheritdoc} */ public static function create(ContainerInterface $container) { @@ -75,7 +83,8 @@ public static function create(ContainerInterface $container) { $container->get('keyvalue.expirable')->get('module_list'), $container->get('access_manager'), $container->get('current_user'), - $container->get('user.permissions') + $container->get('user.permissions'), + $container->get('extension.list.module') ); } @@ -95,13 +104,14 @@ public static function create(ContainerInterface $container) { * @param \Drupal\user\PermissionHandlerInterface $permission_handler * The permission handler. */ - public function __construct(ModuleHandlerInterface $module_handler, ModuleInstallerInterface $module_installer, KeyValueStoreExpirableInterface $key_value_expirable, AccessManagerInterface $access_manager, AccountInterface $current_user, PermissionHandlerInterface $permission_handler) { + public function __construct(ModuleHandlerInterface $module_handler, ModuleInstallerInterface $module_installer, KeyValueStoreExpirableInterface $key_value_expirable, AccessManagerInterface $access_manager, AccountInterface $current_user, PermissionHandlerInterface $permission_handler, ModuleExtensionList $extension_list_module) { $this->moduleHandler = $module_handler; $this->moduleInstaller = $module_installer; $this->keyValueExpirable = $key_value_expirable; $this->accessManager = $access_manager; $this->currentUser = $current_user; $this->permissionHandler = $permission_handler; + $this->moduleExtensionList = $extension_list_module; } /** @@ -143,7 +153,7 @@ public function buildForm(array $form, FormStateInterface $form_state) { ]; // Sort all modules by their names. - $modules = \Drupal::service('extension.list.module')->getList(); + $modules = $this->moduleExtensionList->getList(); uasort($modules, 'system_sort_modules_by_info_name'); // Iterate over each of the modules. @@ -368,7 +378,7 @@ protected function buildModuleList(FormStateInterface $form_state) { 'experimental' => [], ]; - $data = \Drupal::service('extension.list.module')->getList(); + $data = $this->moduleExtensionList->getList(); foreach ($data as $name => $module) { // If the module is installed there is nothing to do. if ($this->moduleHandler->moduleExists($name)) { diff --git a/core/modules/system/src/Form/ModulesUninstallConfirmForm.php b/core/modules/system/src/Form/ModulesUninstallConfirmForm.php index 1caa8d1..bdaf1b2 100644 --- a/core/modules/system/src/Form/ModulesUninstallConfirmForm.php +++ b/core/modules/system/src/Form/ModulesUninstallConfirmForm.php @@ -5,6 +5,7 @@ use Drupal\Core\Config\ConfigManagerInterface; use Drupal\Core\Config\Entity\ConfigDependencyDeleteFormTrait; use Drupal\Core\Entity\EntityManagerInterface; +use Drupal\Core\Extension\ModuleExtensionList; use Drupal\Core\Extension\ModuleInstallerInterface; use Drupal\Core\Form\ConfirmFormBase; use Drupal\Core\Form\FormStateInterface; @@ -56,6 +57,13 @@ class ModulesUninstallConfirmForm extends ConfirmFormBase { protected $modules = []; /** + * The module extension list. + * + * @var \Drupal\Core\Extension\ModuleExtensionList + */ + protected $moduleExtensionList; + + /** * Constructs a ModulesUninstallConfirmForm object. * * @param \Drupal\Core\Extension\ModuleInstallerInterface $module_installer @@ -66,12 +74,15 @@ class ModulesUninstallConfirmForm extends ConfirmFormBase { * The configuration manager. * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager * The entity manager. + * @param \Drupal\Core\Extension\ModuleExtensionList $extension_list_module + * The module extension list */ - public function __construct(ModuleInstallerInterface $module_installer, KeyValueStoreExpirableInterface $key_value_expirable, ConfigManagerInterface $config_manager, EntityManagerInterface $entity_manager) { + public function __construct(ModuleInstallerInterface $module_installer, KeyValueStoreExpirableInterface $key_value_expirable, ConfigManagerInterface $config_manager, EntityManagerInterface $entity_manager, ModuleExtensionList $extension_list_module) { $this->moduleInstaller = $module_installer; $this->keyValueExpirable = $key_value_expirable; $this->configManager = $config_manager; $this->entityManager = $entity_manager; + $this->moduleExtensionList = $extension_list_module; } /** @@ -82,7 +93,8 @@ public static function create(ContainerInterface $container) { $container->get('module_installer'), $container->get('keyvalue.expirable')->get('modules_uninstall'), $container->get('config.manager'), - $container->get('entity.manager') + $container->get('entity.manager'), + $container->get('extension.list.module') ); } @@ -135,7 +147,7 @@ public function buildForm(array $form, FormStateInterface $form_state) { return $this->redirect('system.modules_uninstall'); } - $data = \Drupal::service('extension.list.module')->getList(); + $data = $this->moduleExtensionList->getList(); $form['text']['#markup'] = '

' . $this->t('The following modules will be completely uninstalled from your site, and all data from these modules will be lost!') . '

'; $form['modules'] = [ '#theme' => 'item_list',