=== modified file 'includes/bootstrap.inc' --- includes/bootstrap.inc 2008-05-13 17:38:42 +0000 +++ includes/bootstrap.inc 2008-05-16 20:14:45 +0000 @@ -384,7 +384,7 @@ function drupal_get_filename($type, $nam // the database. This is required because this function is called both // before we have a database connection (i.e. during installation) and // when a database connection fails. - elseif (db_is_active() && (($file = db_result(db_query("SELECT filename FROM {system} WHERE name = '%s' AND type = '%s'", $name, $type))) && file_exists($file))) { + elseif (function_exists('db_is_active') && db_is_active() && (($file = db_result(db_query("SELECT filename FROM {system} WHERE name = '%s' AND type = '%s'", $name, $type))) && file_exists($file))) { $files[$type][$name] = $file; } else { @@ -458,17 +458,22 @@ function variable_get($name, $default) { * @param $value * The value to set. This can be any PHP data type; these functions take care * of serialization as necessary. + * @param $permanent + * Whether to set the variable permanently or just for the time of this page + * load. */ -function variable_set($name, $value) { +function variable_set($name, $value, $permanent = TRUE) { global $conf; - $serialized_value = serialize($value); - db_query("UPDATE {variable} SET value = '%s' WHERE name = '%s'", $serialized_value, $name); - if (!db_affected_rows()) { - @db_query("INSERT INTO {variable} (name, value) VALUES ('%s', '%s')", $name, $serialized_value); - } + if ($permanent) { + $serialized_value = serialize($value); + db_query("UPDATE {variable} SET value = '%s' WHERE name = '%s'", $serialized_value, $name); + if (!db_affected_rows()) { + @db_query("INSERT INTO {variable} (name, value) VALUES ('%s', '%s')", $name, $serialized_value); + } - cache_clear_all('variables', 'cache'); + cache_clear_all('variables', 'cache'); + } $conf[$name] = $value; } @@ -512,18 +517,6 @@ function page_get_cache() { } /** - * Call all init or exit hooks without including all modules. - * - * @param $hook - * The name of the bootstrap hook we wish to invoke. - */ -function bootstrap_invoke_all($hook) { - foreach (module_list(TRUE, TRUE) as $module) { - module_invoke($module, $hook); - } -} - -/** * Includes a file with the provided type and name. This prevents * including a theme, engine, module, etc., more than once. * @@ -628,13 +621,6 @@ function drupal_page_cache_header($cache } /** - * Define the critical hooks that force modules to always be loaded. - */ -function bootstrap_hooks() { - return array('boot', 'exit'); -} - -/** * Unserializes and appends elements from a serialized string. * * @param $obj @@ -907,15 +893,23 @@ function drupal_anonymous_user($session * DRUPAL_BOOTSTRAP_LANGUAGE: identify the language used on the page. * DRUPAL_BOOTSTRAP_PATH: set $_GET['q'] to Drupal path of request. * DRUPAL_BOOTSTRAP_FULL: Drupal is fully loaded, validate and fix input data. + * + * Optional. If left empty, then this function only returns the array of phases left. + * + * @return + * Array of phases left. */ -function drupal_bootstrap($phase) { +function drupal_bootstrap($phase = NULL) { static $phases = array(DRUPAL_BOOTSTRAP_CONFIGURATION, DRUPAL_BOOTSTRAP_EARLY_PAGE_CACHE, DRUPAL_BOOTSTRAP_DATABASE, DRUPAL_BOOTSTRAP_ACCESS, DRUPAL_BOOTSTRAP_SESSION, DRUPAL_BOOTSTRAP_LATE_PAGE_CACHE, DRUPAL_BOOTSTRAP_LANGUAGE, DRUPAL_BOOTSTRAP_PATH, DRUPAL_BOOTSTRAP_FULL), $phase_index = 0; - while ($phase >= $phase_index && isset($phases[$phase_index])) { - $current_phase = $phases[$phase_index]; - unset($phases[$phase_index++]); - _drupal_bootstrap($current_phase); + if (isset($phase)) { + while ($phase >= $phase_index && isset($phases[$phase_index])) { + $current_phase = $phases[$phase_index]; + unset($phases[$phase_index++]); + _drupal_bootstrap($current_phase); + } } + return $phases; } function _drupal_bootstrap($phase) { @@ -978,14 +972,14 @@ function _drupal_bootstrap($phase) { $cache = $cache_mode == CACHE_DISABLED ? '' : page_get_cache(); // If the skipping of the bootstrap hooks is not enforced, call hook_boot. if ($cache_mode != CACHE_AGGRESSIVE) { - bootstrap_invoke_all('boot'); + module_invoke_all('boot'); } // If there is a cached page, display it. if ($cache) { drupal_page_cache_header($cache); // If the skipping of the bootstrap hooks is not enforced, call hook_exit. if ($cache_mode != CACHE_AGGRESSIVE) { - bootstrap_invoke_all('exit'); + module_invoke_all('exit'); } // We are done. exit; @@ -1155,33 +1149,31 @@ function ip_address() { * @return * TRUE if the function is now available, FALSE otherwise. */ -function drupal_function_exists($function) { +function drupal_function_exists($function, $file = NULL) { static $checked = array(); - if (defined('MAINTENANCE_MODE')) { - return function_exists($function); - } - - if (isset($checked[$function])) { - return $checked[$function]; - } - $checked[$function] = FALSE; - - if (function_exists($function)) { - registry_mark_code('function', $function); - $checked[$function] = TRUE; - return TRUE; - } - - $file = db_result(db_query("SELECT filename FROM {registry} WHERE name = '%s' AND type = '%s'", $function, 'function')); - if ($file) { - require_once($file); + // Is this the first time we see this function? + if (!isset($checked[$function])) { $checked[$function] = function_exists($function); + // It does not exist, let's try include files. + if (!$checked[$function]) { + // If we are not given a file but have the database loaded already, + // we try to look it up. + if (!$file && !defined('MAINTENANCE_MODE')) { + $file = db_result(db_query("SELECT filename FROM {registry} WHERE name = '%s' AND type = 'function'", $function)); + } + // Either a $file was passed to the function or one was found in the database. + if ($file) { + // Load it. + require_once($file); + // Does it exist now? + $checked[$function] = function_exists($function); + } + } if ($checked[$function]) { registry_mark_code('function', $function); } } - return $checked[$function]; } @@ -1275,12 +1267,12 @@ function drupal_rebuild_code_registry() * @param $write_to_persistent_cache * Whether to write to the persistent cache. */ -function registry_cache_hook_implementations($hook, $write_to_persistent_cache = FALSE) { - static $implementations; +function registry_cache_hook_implementations($data, $write_to_persistent_cache = FALSE) { + static $implementations = array(); - if ($hook) { + if ($data) { // Newer is always better, so overwrite anything that's come before. - $implementations[$hook['hook']] = $hook['modules']; + $implementations = $data + $implementations; } if ($write_to_persistent_cache === TRUE) { === modified file 'includes/common.inc' --- includes/common.inc 2008-05-14 13:15:09 +0000 +++ includes/common.inc 2008-05-16 20:06:23 +0000 @@ -2447,8 +2447,8 @@ function _drupal_bootstrap_full() { unicode_check(); // Undo magic quotes fix_gpc_magic(); - // Load all enabled modules - module_load_all(); + // Load essential modules. + module_load(); // Let all modules take action before menu system handles the request // We do not want this while running update.php. if (!defined('MAINTENANCE_MODE') || MAINTENANCE_MODE != 'update') { @@ -3044,9 +3044,6 @@ function drupal_get_schema($table = NULL // Otherwise, rebuild the schema cache. else { $schema = array(); - // Load the .install files to get hook_schema. - module_load_all_includes('install'); - // Invoke hook_schema for all modules. foreach (module_implements('schema') as $module) { $current = module_invoke($module, 'schema'); === modified file 'includes/module.inc' --- includes/module.inc 2008-05-13 17:38:42 +0000 +++ includes/module.inc 2008-05-16 20:27:45 +0000 @@ -9,9 +9,9 @@ /** * Load all the modules that have been enabled in the system table. */ -function module_load_all() { - foreach (module_list(TRUE, FALSE) as $module) { - drupal_load('module', $module); +function module_load($modules = array('node', 'user', 'filter')) { + foreach ($modules as $module) { + drupal_load('module', $module, "./modules/$module/$module.module"); } } @@ -28,51 +28,19 @@ function module_iterate($function, $argu * Collect a list of all loaded modules. During the bootstrap, return only * vital modules. See bootstrap.inc * - * @param $refresh - * Whether to force the module list to be regenerated (such as after the - * administrator has changed the system settings). - * @param $bootstrap - * Whether to return the reduced set of modules loaded in "bootstrap mode" - * for cached pages. See bootstrap.inc. * @param $sort * By default, modules are ordered by weight and filename, settings this option * to TRUE, module list will be ordered by module name. - * @param $fixed_list - * (Optional) Override the module list with the given modules. Stays until the - * next call with $refresh = TRUE. * @return * An associative array whose keys and values are the names of all loaded * modules. */ -function module_list($refresh = FALSE, $bootstrap = TRUE, $sort = FALSE, $fixed_list = NULL) { - static $list, $sorted_list; - - if ($refresh || $fixed_list) { - unset($sorted_list); - $list = array(); - if ($fixed_list) { - foreach ($fixed_list as $name => $module) { - drupal_get_filename('module', $name, $module['filename']); - $list[$name] = $name; - } - } - else { - if ($bootstrap) { - $result = db_query("SELECT name, filename FROM {system} WHERE type = 'module' AND status = 1 AND bootstrap = 1 ORDER BY weight ASC, filename ASC"); - } - else { - $result = db_query("SELECT name, filename FROM {system} WHERE type = 'module' AND status = 1 ORDER BY weight ASC, filename ASC"); - } - while ($module = db_fetch_object($result)) { - if (file_exists($module->filename)) { - drupal_get_filename('module', $module->name, $module->filename); - $list[$module->name] = $module->name; - } - } - } - } +function module_list($sort = FALSE) { + static $stored_list, $sorted_list; + $list = variable_get('module_list', array()); if ($sort) { - if (!isset($sorted_list)) { + if (!isset($sorted_list) || $stored_list != $list) { + $stored_list = $list; $sorted_list = $list; ksort($sorted_list); } @@ -121,26 +89,21 @@ function module_rebuild_cache() { // modify the data in the .info files if necessary. drupal_alter('system_info', $files[$filename]->info, $files[$filename]); - // Log the critical hooks implemented by this module. - $bootstrap = 0; - foreach (bootstrap_hooks() as $hook) { - if (module_hook($file->name, $hook)) { - $bootstrap = 1; - break; - } - } - // 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); + db_query("UPDATE {system} SET info = '%s', name = '%s', filename = '%s' WHERE filename = '%s'", serialize($files[$filename]->info), $file->name, $file->filename, $file->old_filename); + if ($file->status) { + $module_list[$file->name] = $file->name; + } } else { // This is a new module. $files[$filename]->status = 0; - db_query("INSERT INTO {system} (name, info, type, filename, status, bootstrap) VALUES ('%s', '%s', '%s', '%s', %d, %d)", $file->name, serialize($files[$filename]->info), 'module', $file->filename, 0, $bootstrap); + db_query("INSERT INTO {system} (name, info, type, filename, status) VALUES ('%s', '%s', '%s', '%s', %d)", $file->name, serialize($files[$filename]->info), 'module', $file->filename, 0); } } $files = _module_build_dependencies($files); + variable_set('module_list', $module_list); return $files; } @@ -261,17 +224,6 @@ function module_load_include($type, $mod } /** - * Load an include file for each of the modules that have been enabled in - * the system table. - */ -function module_load_all_includes($type, $name = NULL) { - $modules = module_list(); - foreach ($modules as $module) { - module_load_include($type, $module, $name); - } -} - -/** * Enable a given list of modules. * * @param $module_list @@ -377,13 +329,7 @@ function module_disable($module_list) { * implemented in that module. */ function module_hook($module, $hook) { - $function = $module . '_' . $hook; - if (defined('MAINTENANCE_MODE')) { - return function_exists($function); - } - else { - return drupal_function_exists($function); - } + return drupal_function_exists($module . '_' . $hook); } /** @@ -402,24 +348,61 @@ function module_hook($module, $hook) { * An array with the names of the modules which are implementing this hook. */ function module_implements($hook, $sort = FALSE, $refresh = FALSE) { - static $implementations = array(); + static $implementations = array(), $loaded = array(); - if ($refresh) { + // If we are in maintenance mode but managed to bootstrap fully then we can + // use the registry. + if (defined('MAINTENANCE_MODE') && drupal_bootstrap()) { $implementations = array(); + foreach (module_list() as $module) { + if (module_hook($module, $hook)) { + $implementations[] = $module; + } + } + return $implementations; } - else if (!defined('MAINTENANCE_MODE') && empty($implementations)) { - $implementations = registry_get_hook_implementations_cache(); + + if (empty($implementations) && ($cache = cache_get('hooks', 'cache_registry'))) { + $implementations = $cache->data; } - if (!isset($implementations[$hook])) { - $implementations[$hook] = array(); - foreach (module_list() as $module) { - if (module_hook($module, $hook)) { - $implementations[$hook][] = $module; + if (empty($loaded[$hook])) { + if (isset($implementations[$hook])) { + $cached = TRUE; + $candidate_list = $implementations[$hook]; + } + else { + $cached = FALSE; + $candidate_list = module_list(); + $implementations[$hook] = array(); + } + $lookup = array(); + $placeholders = array(); + // $candidate_list holds the possible implementations. + foreach ($candidate_list as $module) { + $function = $module .'_'. $hook; + // If the implementations are already cached but the function can not + // be found then we need to look up the filename for this function and + // load the include file. No point in caching the filenames as they are + // cached by router path anyways. + if (!$cached || !function_exists($function)) { + $lookup[] = $function; + $functions[$function] = $module; + $placeholders[] = "'%s'"; + } + } + if ($lookup) { + $result = db_query("SELECT name, filename FROM {registry} WHERE type = 'function' AND name IN (". implode(', ', $placeholders) .")", $lookup); + while ($function = db_fetch_object($result)) { + $implementations[$hook][] = $functions[$function->name]; + drupal_function_exists($function->name, $function->filename); } } + $loaded[$hook] = TRUE; + if (!$cached) { + registry_cache_hook_implementations(array($hook => $implementations[$hook])); + } } - registry_cache_hook_implementations(array('hook' => $hook, 'modules' => $implementations[$hook])); // The explicit cast forces a copy to be made. This is needed because // $implementations[$hook] is only a reference to an element of === modified file 'includes/registry.inc' --- includes/registry.inc 2008-05-06 12:32:02 +0000 +++ includes/registry.inc 2008-05-12 14:36:54 +0000 @@ -23,6 +23,10 @@ * @See drupal_rebuild_code_registry. */ function _drupal_rebuild_code_registry() { + include_once './includes/module.inc'; + include_once './includes/common.inc'; + include_once './includes/file.inc'; + drupal_load('module', 'system', 'modules/system/system.module'); // Reset the resources cache. _registry_get_resource_name(); // Get the list of files we are going to parse. === modified file 'includes/theme.inc' --- includes/theme.inc 2008-05-06 12:18:44 +0000 +++ includes/theme.inc 2008-05-16 19:28:34 +0000 @@ -1520,7 +1520,7 @@ function theme_closure($main = 0) { function theme_blocks($region) { $output = ''; - if ($list = block_list($region)) { + if ($list = module_invoke('block', 'list', $region)) { foreach ($list as $key => $block) { // $key == module_delta $output .= theme('block', $block); === modified file 'install.php' --- install.php 2008-05-06 12:18:44 +0000 +++ install.php 2008-05-12 13:44:52 +0000 @@ -34,11 +34,9 @@ function install_main() { // Load module basics (needed for hook invokes). include_once './includes/module.inc'; - $module_list['system']['filename'] = 'modules/system/system.module'; - $module_list['filter']['filename'] = 'modules/filter/filter.module'; - module_list(TRUE, FALSE, FALSE, $module_list); - drupal_load('module', 'system'); - drupal_load('module', 'filter'); + $modules = array('system', 'filter'); + variable_set('module_list', $modules, FALSE); + module_load($modules); // Set up theme system for the maintenance page. drupal_maintenance_theme(); @@ -606,10 +604,11 @@ function install_already_done_error() { * Tasks performed after the database is initialized. */ function install_tasks($profile, $task) { - global $base_url, $install_locale; + global $base_url, $install_locale, $module_list; // Bootstrap newly installed Drupal, while preserving existing messages. $messages = isset($_SESSION['messages']) ? $_SESSION['messages'] : ''; + $module_list = array(); drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); $_SESSION['messages'] = $messages; === modified file 'modules/aggregator/aggregator.info' --- modules/aggregator/aggregator.info 2008-05-06 12:18:44 +0000 +++ modules/aggregator/aggregator.info 2008-05-11 19:51:07 +0000 @@ -7,3 +7,4 @@ core = 7.x files[] = aggregator.module files[] = aggregator.admin.inc files[] = aggregator.pages.inc +files[] = aggregator.install === modified file 'modules/block/block.info' --- modules/block/block.info 2008-05-06 12:18:44 +0000 +++ modules/block/block.info 2008-05-11 19:51:07 +0000 @@ -6,3 +6,4 @@ version = VERSION core = 7.x files[] = block.module files[] = block.admin.inc +files[] = block.install === modified file 'modules/blogapi/blogapi.info' --- modules/blogapi/blogapi.info 2008-05-13 18:13:43 +0000 +++ modules/blogapi/blogapi.info 2008-05-15 09:25:33 +0000 @@ -6,3 +6,4 @@ package = Core - optional version = VERSION core = 7.x files[] = blogapi.module +files[] = blogapi.install === modified file 'modules/book/book.info' --- modules/book/book.info 2008-05-06 12:18:44 +0000 +++ modules/book/book.info 2008-05-11 19:51:07 +0000 @@ -7,3 +7,4 @@ core = 7.x files[] = book.module files[] = book.admin.inc files[] = book.pages.inc +files[] = book.install === modified file 'modules/color/color.info' --- modules/color/color.info 2008-05-06 12:18:44 +0000 +++ modules/color/color.info 2008-05-11 19:51:07 +0000 @@ -5,3 +5,4 @@ package = Core - optional version = VERSION core = 7.x files[] = color.module +files[] = color.install === modified file 'modules/comment/comment.info' --- modules/comment/comment.info 2008-05-14 13:12:40 +0000 +++ modules/comment/comment.info 2008-05-15 09:25:33 +0000 @@ -8,3 +8,4 @@ core = 7.x files[] = comment.module files[] = comment.admin.inc files[] = comment.pages.inc +files[] = comment.install === modified file 'modules/contact/contact.info' --- modules/contact/contact.info 2008-05-06 12:18:44 +0000 +++ modules/contact/contact.info 2008-05-11 19:51:07 +0000 @@ -7,3 +7,4 @@ core = 7.x files[] = contact.module files[] = contact.admin.inc files[] = contact.pages.inc +files[] = contact.install === modified file 'modules/dblog/dblog.info' --- modules/dblog/dblog.info 2008-05-06 12:18:44 +0000 +++ modules/dblog/dblog.info 2008-05-11 19:51:07 +0000 @@ -6,3 +6,4 @@ version = VERSION core = 7.x files[] = dblog.module files[] = dblog.admin.inc +files[] = dblog.install === modified file 'modules/filter/filter.info' --- modules/filter/filter.info 2008-05-06 12:18:44 +0000 +++ modules/filter/filter.info 2008-05-11 19:51:07 +0000 @@ -7,3 +7,4 @@ core = 7.x files[] = filter.module files[] = filter.admin.inc files[] = filter.pages.inc +files[] = filter.install === modified file 'modules/forum/forum.info' --- modules/forum/forum.info 2008-05-06 12:18:44 +0000 +++ modules/forum/forum.info 2008-05-11 19:51:07 +0000 @@ -9,3 +9,4 @@ core = 7.x files[] = forum.module files[] = forum.admin.inc files[] = forum.pages.inc +files[] = forum.install === modified file 'modules/locale/locale.info' --- modules/locale/locale.info 2008-05-06 12:18:44 +0000 +++ modules/locale/locale.info 2008-05-11 19:51:07 +0000 @@ -5,3 +5,4 @@ package = Core - optional version = VERSION core = 7.x files[] = locale.module +files[] = locale.install === modified file 'modules/menu/menu.info' --- modules/menu/menu.info 2008-05-06 12:18:44 +0000 +++ modules/menu/menu.info 2008-05-11 19:51:07 +0000 @@ -6,3 +6,4 @@ version = VERSION core = 7.x files[] = menu.module files[] = menu.admin.inc +files[] = menu.install === modified file 'modules/node/node.info' --- modules/node/node.info 2008-05-06 12:18:44 +0000 +++ modules/node/node.info 2008-05-11 19:51:07 +0000 @@ -8,3 +8,4 @@ files[] = node.module files[] = content_types.inc files[] = node.admin.inc files[] = node.pages.inc +files[] = node.install === modified file 'modules/openid/openid.info' --- modules/openid/openid.info 2008-05-06 12:18:44 +0000 +++ modules/openid/openid.info 2008-05-11 19:51:07 +0000 @@ -8,3 +8,4 @@ files[] = openid.module files[] = openid.inc files[] = openid.pages.inc files[] = xrds.inc +files[] = openid.install === modified file 'modules/php/php.info' --- modules/php/php.info 2008-05-06 12:18:44 +0000 +++ modules/php/php.info 2008-05-11 19:51:07 +0000 @@ -5,3 +5,4 @@ package = Core - optional version = VERSION core = 7.x files[] = php.module +files[] = php.install === modified file 'modules/poll/poll.info' --- modules/poll/poll.info 2008-05-06 12:18:44 +0000 +++ modules/poll/poll.info 2008-05-11 19:51:07 +0000 @@ -6,3 +6,4 @@ version = VERSION core = 7.x files[] = poll.module files[] = poll.pages.inc +files[] = poll.install === modified file 'modules/profile/profile.info' --- modules/profile/profile.info 2008-05-06 12:18:44 +0000 +++ modules/profile/profile.info 2008-05-11 19:51:07 +0000 @@ -7,3 +7,4 @@ core = 7.x files[] = profile.module files[] = profile.admin.inc files[] = profile.pages.inc +files[] = profile.install === modified file 'modules/search/search.info' --- modules/search/search.info 2008-05-06 12:18:44 +0000 +++ modules/search/search.info 2008-05-11 19:51:07 +0000 @@ -7,3 +7,4 @@ core = 7.x files[] = search.module files[] = search.admin.inc files[] = search.pages.inc +files[] = search.install === modified file 'modules/simpletest/simpletest.info' --- modules/simpletest/simpletest.info 2008-05-06 12:18:44 +0000 +++ modules/simpletest/simpletest.info 2008-05-11 19:51:07 +0000 @@ -5,3 +5,4 @@ package = Core - optional version = VERSION core = 7.x files[] = simpletest.module +files[] = simpletest.install === modified file 'modules/statistics/statistics.info' --- modules/statistics/statistics.info 2008-05-06 12:18:44 +0000 +++ modules/statistics/statistics.info 2008-05-11 19:51:07 +0000 @@ -7,3 +7,4 @@ core = 7.x files[] = statistics.module files[] = statistics.admin.inc files[] = statistics.pages.inc +files[] = statistics.install === modified file 'modules/system/system.info' --- modules/system/system.info 2008-05-06 12:18:44 +0000 +++ modules/system/system.info 2008-05-11 19:51:07 +0000 @@ -6,3 +6,4 @@ version = VERSION core = 7.x files[] = system.module files[] = system.admin.inc +files[] = system.install === modified file 'modules/taxonomy/taxonomy.info' --- modules/taxonomy/taxonomy.info 2008-05-06 12:18:44 +0000 +++ modules/taxonomy/taxonomy.info 2008-05-11 19:51:07 +0000 @@ -7,3 +7,4 @@ core = 7.x files[] = taxonomy.module files[] = taxonomy.admin.inc files[] = taxonomy.pages.inc +files[] = taxonomy.install === modified file 'modules/trigger/trigger.info' --- modules/trigger/trigger.info 2008-05-06 12:18:44 +0000 +++ modules/trigger/trigger.info 2008-05-11 19:51:07 +0000 @@ -6,3 +6,4 @@ version = VERSION core = 7.x files[] = trigger.module files[] = trigger.admin.inc +files[] = trigger.install === modified file 'modules/update/update.info' --- modules/update/update.info 2008-05-06 12:18:44 +0000 +++ modules/update/update.info 2008-05-11 19:51:07 +0000 @@ -9,3 +9,4 @@ files[] = update.compare.inc files[] = update.fetch.inc files[] = update.report.inc files[] = update.settings.inc +files[] = update.install === modified file 'modules/upload/upload.info' --- modules/upload/upload.info 2008-05-06 12:18:44 +0000 +++ modules/upload/upload.info 2008-05-11 19:51:07 +0000 @@ -6,3 +6,4 @@ version = VERSION core = 7.x files[] = upload.module files[] = upload.admin.inc +files[] = upload.install === modified file 'modules/user/user.info' --- modules/user/user.info 2008-05-06 12:18:44 +0000 +++ modules/user/user.info 2008-05-11 19:51:07 +0000 @@ -7,3 +7,4 @@ core = 7.x files[] = user.module files[] = user.admin.inc files[] = user.pages.inc +files[] = user.install === modified file 'profiles/default/default.profile' --- profiles/default/default.profile 2008-03-10 18:15:14 +0000 +++ profiles/default/default.profile 2008-05-08 05:40:05 +0000 @@ -126,6 +126,7 @@ function default_profile_tasks(&$task, $ // Default page to not be promoted and have comments disabled. variable_set('node_options_page', array('status')); + drupal_load('module', 'comment'); variable_set('comment_page', COMMENT_NODE_DISABLED); // Don't display date and author information for page nodes by default.