diff --git a/core/includes/module.inc b/core/includes/module.inc index 538d7a6..9fbdfe9 100644 --- a/core/includes/module.inc +++ b/core/includes/module.inc @@ -478,6 +478,7 @@ function module_enable($module_list, $enable_dependencies = TRUE) { $modules_enabled = array(); $module_config = config('system.module'); $disabled_config = config('system.module.disabled'); + $enabled_modules_list = module_list(); foreach ($module_list as $module) { // Only process modules that are not already enabled. $enabled = $module_config->get("enabled.$module") !== NULL; @@ -543,8 +544,9 @@ function module_enable($module_list, $enable_dependencies = TRUE) { module_invoke_all('modules_preenable', array($module)); // Rebuild the dependency injection container. + $enabled_modules_list[$module] = $module; drupal_container(NULL, TRUE); - $kernel = new DrupalKernel('prod', FALSE, $modules_installed); + $kernel = new DrupalKernel('prod', FALSE, $enabled_modules_list); $kernel->boot(); // Enable the module. @@ -613,6 +615,7 @@ function module_disable($module_list, $disable_dependents = TRUE) { $module_config = config('system.module'); $disabled_config = config('system.module.disabled'); + $enabled_modules_list = module_list(); foreach ($module_list as $module) { if (module_exists($module)) { module_load_install($module); @@ -625,7 +628,10 @@ function module_disable($module_list, $disable_dependents = TRUE) { ->save(); $invoke_modules[] = $module; - // @todo Probably also rebuild the container somewhere around here. + unset($enabled_modules_list[$module]); + drupal_container(NULL, TRUE); + $kernel = new DrupalKernel('prod', FALSE, $enabled_modules_list); + $kernel->boot(); watchdog('system', '%module module disabled.', array('%module' => $module), WATCHDOG_INFO); }