function ModuleEnable::moduleEnable in X Autoload 7.5
Simulates Drupal's module_enable()
Parameters
string[] $module_list: Array of module names.
bool $enable_dependencies: TRUE, if dependencies should be enabled too.
Return value
bool
See also
File
- tests/
src/ VirtualDrupal/ ModuleEnable.php, line 84
Class
Namespace
Drupal\xautoload\Tests\VirtualDrupalCode
function moduleEnable(array $module_list, $enable_dependencies = TRUE) {
if ($enable_dependencies) {
$module_list = $this
->moduleEnableCheckDependencies($module_list);
}
if (empty($module_list)) {
// Nothing to do. All modules already enabled.
return TRUE;
}
$modules_installed = array();
$modules_enabled = array();
foreach ($module_list as $module) {
if (1 == $this->systemTable
->moduleGetStatus($module)) {
// Already installed + enabled, do nothing.
continue;
}
if (-1 == $this->systemTable
->moduleGetSchemaVersion($module)) {
// Install this module.
$this
->enableModule($module, TRUE);
$modules_installed[] = $module;
$modules_enabled[] = $module;
}
else {
// Enable the module.
$this
->enableModule($module, FALSE);
$modules_enabled[] = $module;
}
}
// If any modules were newly installed, invoke hook_modules_installed().
if (!empty($modules_installed)) {
$this->hookSystem
->moduleInvokeAll('modules_installed', $modules_installed);
}
// If any modules were newly enabled, invoke hook_modules_enabled().
if (!empty($modules_enabled)) {
$this->hookSystem
->moduleInvokeAll('modules_enabled', $modules_enabled);
}
return TRUE;
}