? 289369.patch Index: includes/module.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/module.inc,v retrieving revision 1.115 diff -u -p -r1.115 module.inc --- includes/module.inc 27 Dec 2007 12:31:05 -0000 1.115 +++ includes/module.inc 31 Jul 2008 10:21:16 -0000 @@ -111,6 +111,8 @@ function module_rebuild_cache() { 'php' => DRUPAL_MINIMUM_PHP, ); + db_query("DELETE FROM {system} WHERE type = 'module'"); + foreach ($files as $filename => $file) { // Look for the info file. $file->info = drupal_parse_info_file(dirname($file->filename) .'/'. $file->name .'.info'); @@ -136,16 +138,16 @@ function module_rebuild_cache() { } } - // Update the contents of the system table: - if (isset($file->status) || (isset($file->old_filename) && $file->old_filename != $file->filename)) { - db_query("UPDATE {system} SET info = '%s', name = '%s', filename = '%s', bootstrap = %d WHERE filename = '%s'", serialize($files[$filename]->info), $file->name, $file->filename, $bootstrap, $file->old_filename); - } - else { + if (!isset($file->status)) { // This is a new module. - $files[$filename]->status = 0; - $files[$filename]->throttle = 0; - db_query("INSERT INTO {system} (name, info, type, filename, status, throttle, bootstrap) VALUES ('%s', '%s', '%s', '%s', %d, %d, %d)", $file->name, serialize($files[$filename]->info), 'module', $file->filename, 0, 0, $bootstrap); + $file->status = 0; + $file->throttle = 0; + $file->schema_version = -1; + $file->weight = 0; } + + // Rebuild the contents of the system table. + db_query("INSERT INTO {system} (name, info, type, filename, status, throttle, bootstrap, schema_version, weight) VALUES ('%s', '%s', '%s', '%s', %d, %d, %d, %d, %d)", $file->name, serialize($files[$filename]->info), 'module', $file->filename, $file->status, $file->throttle, $bootstrap, $file->schema_version, $file->weight); } $files = _module_build_dependencies($files); return $files; Index: modules/system/system.module =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.module,v retrieving revision 1.585.2.15 diff -u -p -r1.585.2.15 system.module --- modules/system/system.module 14 Jul 2008 14:04:31 -0000 1.585.2.15 +++ modules/system/system.module 31 Jul 2008 10:21:31 -0000 @@ -757,7 +757,7 @@ function system_check_directory($form_el */ function system_get_files_database(&$files, $type) { // Extract current files from database. - $result = db_query("SELECT filename, name, type, status, throttle, schema_version FROM {system} WHERE type = '%s'", $type); + $result = db_query("SELECT filename, name, type, status, throttle, schema_version, weight FROM {system} WHERE type = '%s'", $type); while ($file = db_fetch_object($result)) { if (isset($files[$file->name]) && is_object($files[$file->name])) { $file->old_filename = $file->filename;