diff options
Diffstat (limited to 'includes')
-rw-r--r-- | includes/database.mysql.inc | 7 | ||||
-rw-r--r-- | includes/install.inc | 22 |
2 files changed, 25 insertions, 4 deletions
diff --git a/includes/database.mysql.inc b/includes/database.mysql.inc index 731107be8..db4610884 100644 --- a/includes/database.mysql.inc +++ b/includes/database.mysql.inc @@ -51,6 +51,13 @@ function db_connect($url) { // (matched) rows, not the number of affected rows. $connection = @mysql_connect($url['host'], $url['user'], $url['pass'], TRUE, 2); if (!$connection) { + // Redirect to installer if using default DB credentials + if ($url['user'] == 'username' && $url['pass'] == 'password') { + include_once 'includes/install.inc'; + install_goto('install.php'); + } + + // Show error screen otherwise drupal_maintenance_theme(); drupal_set_title('Unable to connect to database server'); print theme('maintenance_page', '<p>If you still have to install Drupal, proceed to the <a href="'. base_path() .'install.php">installation page</a>.</p> diff --git a/includes/install.inc b/includes/install.inc index be8bc8944..d3aa86a4f 100644 --- a/includes/install.inc +++ b/includes/install.inc @@ -19,9 +19,10 @@ define('FILE_NOT_READABLE', 32); define('FILE_NOT_WRITABLE', 64); define('FILE_NOT_EXECUTABLE', 128); -// Initialize the update system if necessary -if (!$install) { - // Include install files for each installed module. +/** + * Initialize the update system by loading all installed module's .install files. + */ +function drupal_load_updates() { foreach (module_list() as $module) { $install_file = './'. drupal_get_path('module', $module) .'/'. $module .'.install'; if (is_file($install_file)) { @@ -30,7 +31,6 @@ if (!$install) { } } - /** * Returns an array of available schema versions for a module. * @@ -527,6 +527,20 @@ function drupal_install_fix_file($file, $mask, $message = TRUE) { } } + +/** + * Send the user to a different installer page. This issues an on-site HTTP + * redirect. Messages (and errors) are erased. + * + * @param $path + * An installer path. + */ +function install_goto($path) { + global $base_path; + header('Location: '. $base_path . $path); + exit(); +} + /** * Hardcoded function for doing the equivalent of theme('placeholder') * when the theme system is not available. |