diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2010-01-13 05:08:29 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2010-01-13 05:08:29 +0000 |
commit | c33d0f7be84eef3f3cd3a6d4855fc315adb3c554 (patch) | |
tree | 27a517956cb20111ff78a14bc725a62464affe0a /modules/system | |
parent | 3a0f6b33720b1a939ec2f828bfefd31b6c51817f (diff) | |
download | brdo-c33d0f7be84eef3f3cd3a6d4855fc315adb3c554.tar.gz brdo-c33d0f7be84eef3f3cd3a6d4855fc315adb3c554.tar.bz2 |
#399642 follow-up by carlos8f: Replace drupal_install_modules() with an improved module_enable().
Diffstat (limited to 'modules/system')
-rw-r--r-- | modules/system/system.admin.inc | 4 | ||||
-rw-r--r-- | modules/system/system.install | 6 | ||||
-rw-r--r-- | modules/system/system.module | 15 | ||||
-rw-r--r-- | modules/system/system.test | 2 |
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. |