? docs ? modules/syndication ? sites/all/modules/admin_menu ? sites/all/modules/cck ? sites/all/modules/coder ? sites/all/modules/cvs_deploy ? sites/all/modules/demo ? sites/all/modules/devel ? sites/all/modules/drush ? sites/all/modules/google_analytics ? sites/all/modules/mollom ? sites/all/modules/path_redirect ? sites/all/modules/pbs ? sites/all/modules/plugin_manager ? sites/all/modules/robotstxt ? sites/all/modules/sandbox Index: update.php =================================================================== RCS file: /cvs/drupal/drupal/update.php,v retrieving revision 1.280 diff -u -p -r1.280 update.php --- update.php 19 Apr 2009 19:10:07 -0000 1.280 +++ update.php 21 Apr 2009 20:56:35 -0000 @@ -215,7 +215,7 @@ function update_script_selection_form() // Ensure system.module's updates appear first $form['start']['system'] = array(); - $modules = drupal_get_installed_schema_version(NULL, FALSE, TRUE); + $modules = drupal_get_installed_schema_version(); foreach ($modules as $module => $schema_version) { $pending = array(); $updates = drupal_get_schema_versions($module); Index: includes/install.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/install.inc,v retrieving revision 1.87 diff -u -p -r1.87 install.inc --- includes/install.inc 2 Apr 2009 20:39:44 -0000 1.87 +++ includes/install.inc 21 Apr 2009 20:56:35 -0000 @@ -75,7 +75,7 @@ define('FILE_NOT_EXECUTABLE', 128); * Initialize the update system by loading all installed module's .install files. */ function drupal_load_updates() { - foreach (drupal_get_installed_schema_version(NULL, FALSE, TRUE) as $module => $schema_version) { + foreach (drupal_get_installed_schema_version() as $module => $schema_version) { if ($schema_version > -1) { module_load_install($module); } @@ -116,21 +116,13 @@ function drupal_get_schema_versions($mod * Returns the currently installed schema version for a module. * * @param $module - * A module name. - * @param $reset - * Set to TRUE after modifying the system table. - * @param $array - * Set to TRUE if you want to get information about all modules in the - * system. + * An optional module name. If not provided, all module schema versions will + * be returned. * @return * The currently installed schema version. */ -function drupal_get_installed_schema_version($module, $reset = FALSE, $array = FALSE) { - static $versions = array(); - - if ($reset) { - $versions = array(); - } +function drupal_get_installed_schema_version($module = FALSE) { + $versions = &drupal_static(__FUNCTION__); if (!$versions) { $versions = array(); @@ -140,7 +132,7 @@ function drupal_get_installed_schema_ver } } - return $array ? $versions : $versions[$module]; + return isset($versions[$module]) ? $versions[$module] : $versions; } /** @@ -533,7 +525,8 @@ function drupal_install_modules($module_ * TRUE if the module got installed. */ function _drupal_install_module($module) { - if (drupal_get_installed_schema_version($module, TRUE) == SCHEMA_UNINSTALLED) { + drupal_static_reset('drupal_get_installed_schema_version'); + if (drupal_get_installed_schema_version($module) == SCHEMA_UNINSTALLED) { module_load_install($module); module_invoke($module, 'install'); $versions = drupal_get_schema_versions($module);