1 system.install | system_update_1103() |
Create system.extensions config and populate with enabled modules and themes.
Related topics
File
- core/
modules/ system/ system.install, line 3808 - Install, update and uninstall functions for the system module.
Code
function system_update_1103() {
$result = db_query("SELECT name, status, type, schema_version, info FROM {system} ORDER BY name ASC")->fetchAll(PDO::FETCH_ASSOC);
$modules =[];
$themes =[];
foreach ($result as $row) {
$extension = (array) $row;
$extension['info'] = unserialize($extension['info']);
if ($extension['type'] === 'module') {
// Do not include hidden modules in the list.
if (!empty($extension['info']['hidden'])) {
continue;
}
// Do not include uninstalled modules in the list.
if ($extension['schema_version'] == -1) {
continue;
}
$modules[$extension['name']] = (bool) $extension['status'];
}
// Only add enabled themes to the list.
if ($extension['type'] === 'theme' && $extension['status']) {
$themes[$extension['name']] = (bool) $extension['status'];
}
}
$config = config('system.extensions');
$config->set('modules', $modules);
$config->set('themes', $themes);
$config->save();
}