protected function ModuleExtensionList::doList in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Extension/ModuleExtensionList.php \Drupal\Core\Extension\ModuleExtensionList::doList()
- 9 core/lib/Drupal/Core/Extension/ModuleExtensionList.php \Drupal\Core\Extension\ModuleExtensionList::doList()
File
- core/lib/Drupal/Core/Extension/ModuleExtensionList.php, line 153
Class
- ModuleExtensionList
- Provides a list of available modules.
Namespace
Drupal\Core\Extension
Code
protected function doList() {
$extensions = parent::doList();
foreach ($extensions as $extension) {
$this
->ensureRequiredDependencies($extension, $extensions);
}
$installed_modules = $this->configFactory
->get('core.extension')
->get('module') ?: [];
foreach ($extensions as $name => $module) {
$module->weight = $installed_modules[$name] ?? 0;
$module->status = (int) isset($installed_modules[$name]);
$module->schema_version = UpdateHookRegistry::SCHEMA_UNINSTALLED;
}
$extensions = $this->moduleHandler
->buildModuleDependencies($extensions);
if ($this->installProfile && $extensions[$this->installProfile]) {
$active_profile = $extensions[$this->installProfile];
$active_profile->weight = 1000;
if (!isset($active_profile->info['hidden'])) {
$active_profile->info['hidden'] = TRUE;
}
$active_profile->info['required'] = TRUE;
if (!isset($active_profile->info['distribution']['name'])) {
$active_profile->info['distribution']['name'] = 'Drupal';
}
}
return $extensions;
}