Index: update.php =================================================================== RCS file: /cvs/drupal/drupal/update.php,v retrieving revision 1.190 diff -u -r1.190 update.php --- update.php 5 Jul 2006 11:45:50 -0000 1.190 +++ update.php 13 Jul 2006 11:09:09 -0000 @@ -363,13 +363,14 @@ function update_update_page() { // Set the installed version so updates start at the correct place. - $_SESSION['update_remaining'] = array(); + // Ensure system.module's updates are run first by making it the first element. + $_SESSION['update_remaining'] = array('system' => ''); foreach ($_POST['edit']['start'] as $module => $version) { drupal_set_installed_schema_version($module, $version - 1); $max_version = max(drupal_get_schema_versions($module)); if ($version <= $max_version) { foreach (range($version, $max_version) as $update) { - $_SESSION['update_remaining'][] = array('module' => $module, 'version' => $update); + $_SESSION['update_remaining'][$module] = array('module' => $module, 'version' => $update); } } } @@ -676,6 +677,7 @@ // Access check: if (($access_check == FALSE) || ($user->uid == 1)) { + $install = FALSE; include_once './includes/install.inc'; update_fix_schema_version(); Index: includes/bootstrap.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/bootstrap.inc,v retrieving revision 1.105 diff -u -r1.105 bootstrap.inc --- includes/bootstrap.inc 10 Jul 2006 18:41:10 -0000 1.105 +++ includes/bootstrap.inc 13 Jul 2006 11:09:10 -0000 @@ -151,9 +151,9 @@ * Loads the configuration and sets the base URL correctly. */ function conf_init() { - global $db_url, $db_prefix, $base_url, $base_path, $base_root, $conf; + global $db_url, $db_prefix, $base_url, $base_path, $base_root, $conf, $installed_profile; $conf = array(); - require_once './'. conf_path() .'/settings.php'; + include_once './'. conf_path() .'/settings.php'; if (isset($base_url)) { // Parse fixed base URL from settings.php. @@ -565,14 +565,21 @@ /** * Return all messages that have been set. * - * As a side effect, this function clears the message queue. + * @param $type + * (optional) Only return messages of this type. */ -function drupal_get_messages() { +function drupal_get_messages($type = NULL) { if ($messages = drupal_set_message()) { - unset($_SESSION['messages']); + if ($type) { + unset($_SESSION['messages'][$type]); + return array($type => $messages[$type]); + } + else { + unset($_SESSION['messages']); + return $messages; + } } - - return $messages; + return array(); } /** Index: includes/database.mysql.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/database.mysql.inc,v retrieving revision 1.53 diff -u -r1.53 database.mysql.inc --- includes/database.mysql.inc 24 May 2006 20:46:56 -0000 1.53 +++ includes/database.mysql.inc 13 Jul 2006 11:09:11 -0000 @@ -53,7 +53,8 @@ if (!$connection) { drupal_maintenance_theme(); drupal_set_title('Unable to connect to database server'); - print theme('maintenance_page', '

This either means that the username and password information in your settings.php file is incorrect or we can\'t contact the MySQL database server. This could mean your hosting provider\'s database server is down.

+ print theme('maintenance_page', '

If you still have to install Drupal, proceed to the installation page.

+

If you have already finished installed Drupal, this either means that the username and password information in your settings.php file is incorrect or that we can\'t connect to the MySQL database server. This could mean your hosting provider\'s database server is down.

The MySQL error was: '. theme('placeholder', mysql_error()) .'.

Currently, the username is '. theme('placeholder', $url['user']) .' and the database server is '. theme('placeholder', $url['host']) .'.