Commit 90acf993 authored by Steven Wittens's avatar Steven Wittens

#75264: Redirect uninstalled default Drupal site to install.php

parent 2cc41030
......@@ -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>
......
......@@ -19,9 +19,10 @@
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 @@
}
}
/**
* 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.
......
<?php
// $Id$
$install = TRUE;
require_once './includes/install.inc';
/**
......@@ -49,7 +48,7 @@ function install_main() {
$profile = preg_replace('/[^a-zA-Z_0-9]/', '', $_GET['profile']);
}
elseif ($profile = install_select_profile()) {
_install_goto("install.php?profile=$profile");
install_goto("install.php?profile=$profile");
}
else {
_install_no_profile_error();
......@@ -291,7 +290,7 @@ function install_settings_submit($form_id, $form_values) {
drupal_rewrite_settings($settings);
// Continue to install profile step
_install_goto("install.php?profile=$profile");
install_goto("install.php?profile=$profile");
}
/**
......@@ -401,17 +400,4 @@ function install_complete($profile) {
print theme('maintenance_page', $output);
}
/**
* 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();
}
install_main();
......@@ -686,8 +686,8 @@ function update_convert_table_utf8($table) {
// Access check:
if (($access_check == FALSE) || ($user->uid == 1)) {
$install = FALSE;
include_once './includes/install.inc';
drupal_load_updates();
update_fix_schema_version();
update_fix_watchdog_115();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment