summaryrefslogtreecommitdiff
path: root/modules/system
diff options
context:
space:
mode:
Diffstat (limited to 'modules/system')
-rw-r--r--modules/system/system.admin.inc4
-rw-r--r--modules/system/system.install6
-rw-r--r--modules/system/system.module15
-rw-r--r--modules/system/system.test2
4 files changed, 17 insertions, 10 deletions
diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc
index c478e0465..fe6af7436 100644
--- a/modules/system/system.admin.inc
+++ b/modules/system/system.admin.inc
@@ -1203,7 +1203,7 @@ function system_modules_submit($form, &$form_state) {
$sort[$module] = $files[$module]->sort;
}
array_multisort($sort, $modules_to_be_enabled);
- module_enable($modules_to_be_enabled);
+ module_enable($modules_to_be_enabled, FALSE);
}
// Disable the modules that need disabling.
if (!empty($disable_modules)) {
@@ -1225,7 +1225,7 @@ function system_modules_submit($form, &$form_state) {
$sort[$module] = $files[$module]->sort;
}
array_multisort($sort, $new_modules);
- drupal_install_modules($new_modules);
+ module_enable($new_modules, FALSE);
}
$current_module_list = module_list(TRUE);
diff --git a/modules/system/system.install b/modules/system/system.install
index c7ef22fd3..b6c02d4e5 100644
--- a/modules/system/system.install
+++ b/modules/system/system.install
@@ -2082,8 +2082,7 @@ function system_update_7018() {
*/
function system_update_7020() {
$module_list = array('field_sql_storage', 'field');
- drupal_install_modules($module_list);
- module_enable($module_list);
+ module_enable($module_list, FALSE);
}
/**
@@ -2305,8 +2304,7 @@ function system_update_7027() {
->condition('type', 'module')
->condition('name', $module_list)
->execute();
- drupal_install_modules($module_list);
- module_enable($module_list);
+ module_enable($module_list, FALSE);
}
/**
diff --git a/modules/system/system.module b/modules/system/system.module
index ef5b72af0..58d135ffb 100644
--- a/modules/system/system.module
+++ b/modules/system/system.module
@@ -2203,7 +2203,18 @@ function system_rebuild_module_data() {
ksort($modules);
system_get_files_database($modules, 'module');
system_update_files_database($modules, 'module');
- // Refresh bootstrap status.
+ $modules = _module_build_dependencies($modules);
+ return $modules;
+}
+
+/**
+ * Refresh bootstrap column in the system table.
+ *
+ * This is called internally by module_enable/disable() to flag modules that
+ * implement hooks used during bootstrap, such as hook_boot(). These modules
+ * are loaded earlier to invoke the hooks.
+ */
+function _system_update_bootstrap_status() {
$bootstrap_modules = array();
foreach (bootstrap_hooks() as $hook) {
foreach (module_implements($hook) as $module) {
@@ -2219,8 +2230,6 @@ function system_rebuild_module_data() {
$query->condition('name', $bootstrap_modules, 'NOT IN');
}
$query->execute();
- $modules = _module_build_dependencies($modules);
- return $modules;
}
/**
diff --git a/modules/system/system.test b/modules/system/system.test
index 03545ce94..4e49ade61 100644
--- a/modules/system/system.test
+++ b/modules/system/system.test
@@ -208,7 +208,7 @@ class ModuleDependencyTestCase extends ModuleTestCase {
$this->assert(count($checkbox) == 1, t('Checkbox for the module is disabled.'));
// Force enable the system_dependencies_test module.
- module_enable(array('system_dependencies_test'));
+ module_enable(array('system_dependencies_test'), FALSE);
// Verify that the module is forced to be disabled when submitting
// the module page.