From d9d4b9bdab8ac4b6e5c01926da9d5a084707be94 Mon Sep 17 00:00:00 2001 From: Steven Wittens Date: Wed, 27 Jul 2005 01:58:43 +0000 Subject: [PATCH] - #27231: Friendly DB error screens. --- includes/bootstrap.inc | 18 +++++++++++++++++- includes/common.inc | 4 ++-- includes/database.inc | 6 +++++- includes/database.mysql.inc | 31 +++++++++++++++++++++++++++++-- includes/database.pgsql.inc | 27 ++++++++++++++++++++++++++- includes/theme.inc | 27 ++++++++++++++++++++++++++- includes/unicode.inc | 11 +++++++++-- misc/druplicon.png | Bin 54190 -> 4072 bytes misc/maintenance.css | 19 +++++++++++++++++++ 9 files changed, 133 insertions(+), 10 deletions(-) create mode 100644 misc/maintenance.css diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc index fe85eb447976..8354520e6609 100644 --- a/includes/bootstrap.inc +++ b/includes/bootstrap.inc @@ -864,4 +864,20 @@ function _drupal_bootstrap($phase) { } } -?> +/** + * Enables use of the theme system without requiring database access. Since + * there is not database access no theme will be enabled and the default + * themable fuctions will be called. Some themable functions can not be used + * without the full Drupal API loaded. For example, theme_page() is + * unavailable and theme_maintenance_page() must be used in its place. + */ +function drupal_maintenance_theme() { + global $theme; + require_once './includes/theme.inc'; + require_once './includes/common.inc'; + require_once './includes/unicode.inc'; + unicode_check(); + $theme = ''; +} + +?> \ No newline at end of file diff --git a/includes/common.inc b/includes/common.inc index 93724afd6f10..2672bf895e2e 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -1831,7 +1831,7 @@ function drupal_implode_autocomplete($array) { function _drupal_bootstrap_full() { static $called; - global $locale, $multibyte; + global $locale; if ($called) { return; @@ -1850,7 +1850,7 @@ function _drupal_bootstrap_full() { // Emit the correct charset HTTP header. drupal_set_header('Content-Type: text/html; charset=utf-8'); // Detect string handling method - $multibyte = unicode_check(); + unicode_check(); // Initialize $_GET['q'] prior to loading modules and invoking hook_init(). if (!empty($_GET['q'])) { $_GET['q'] = drupal_get_normal_path(trim($_GET['q'], '/')); diff --git a/includes/database.inc b/includes/database.inc index c76b0083d454..fa111b460455 100644 --- a/includes/database.inc +++ b/includes/database.inc @@ -116,7 +116,11 @@ function db_set_active($name = 'default') { include_once($handler); } else { - die('Unsupported database type'); + drupal_maintenance_theme(); + drupal_set_title('Unsupported database type'); + print theme('maintenance_page', '

The database type '. theme('placeholder', $db_type) .' is unsupported. Please use either mysql for MySQL databases or pgsql for PostgreSQL databases. The database information is in your settings.php file.

+

For more help, see the Installation and upgrading handbook. If you are unsure what these terms mean you should probably contact your hosting provider.

'); + exit; } $db_conns[$name] = db_connect($connect_url); diff --git a/includes/database.mysql.inc b/includes/database.mysql.inc index 78bd24656ac0..22012d4320fe 100644 --- a/includes/database.mysql.inc +++ b/includes/database.mysql.inc @@ -34,9 +34,36 @@ function db_connect($url) { // server. // - 2 means CLIENT_FOUND_ROWS: return the number of found // (matched) rows, not the number of affected rows. - $connection = mysql_connect($url['host'], $url['user'], $url['pass'], TRUE, 2) or die(mysql_error()); + $connection = @mysql_connect($url['host'], $url['user'], $url['pass'], TRUE, 2); + 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.

+

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']) .'.

+ +

For more help, see the Installation and upgrading handbook. If you are unsure what these terms mean you should probably contact your hosting provider.

'); + exit; + } - mysql_select_db(substr($url['path'], 1)) or die('unable to select database'); + if (!mysql_select_db(substr($url['path'], 1))) { + drupal_maintenance_theme(); + drupal_set_title('Unable to select database'); + print theme('maintenance_page', '

We were able to connect to the MySQL database server (which means your username and password is okay) but not able to select the database.

+

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

+

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

+ +

For more help, see the Installation and upgrading handbook. If you are unsure what these terms mean you should probably contact your hosting provider.

'); + exit; + } return $connection; } diff --git a/includes/database.pgsql.inc b/includes/database.pgsql.inc index 9e4ecf21bb87..46acbe14ad01 100644 --- a/includes/database.pgsql.inc +++ b/includes/database.pgsql.inc @@ -25,7 +25,32 @@ function db_connect($url) { $conn_string = ' user='. $url['user'] .' dbname='. substr($url['path'], 1) .' password='. $url['pass'] . ' host=' . $url['host']; $conn_string .= isset($url['port']) ? ' port=' . $url['port'] : ''; - $connection = pg_connect($conn_string) or die(pg_last_error()); + + // pg_last_error() does not return a useful error message for database + // connection errors. We must turn on error tracking to get at a good error + // message, which will be stored in $php_errormsg. + $track_errors_previous = ini_get('track_errors'); + ini_set('track_errors', 1); + + $connection = @pg_connect($conn_string); + if (!$connection) { + drupal_maintenance_theme(); + drupal_set_title('Unable to connect to database'); + print theme('maintenance_page', '

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

+

The PostgreSQL error was: '. theme('placeholder', decode_entities($php_errormsg)) .'

+

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

+ +

For more help, see the Installation and upgrading handbook. If you are unsure what these terms mean you should probably contact your hosting provider.

'); + exit; + } + + // Restore error tracking setting + ini_set('track_errors', $track_errors_previous); return $connection; } diff --git a/includes/theme.inc b/includes/theme.inc index 02f74fd36964..04100a8e9b3f 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -160,7 +160,7 @@ function list_theme_engines($refresh = FALSE) { function theme() { global $theme, $theme_engine; - if (!$theme) { + if ($theme === NULL) { // Initialize the enabled theme. $theme = init_theme(); } @@ -440,6 +440,31 @@ function theme_page($content) { return $output; } +function theme_maintenance_page($content) { + drupal_set_header('Content-Type: text/html; charset=utf-8'); + theme('add_style', 'misc/drupal.css'); + theme('add_style', 'misc/maintenance.css'); + $output = "\n"; + $output .= ''; + $output .= ''; + $output .= ''; + $output .= ' '. drupal_get_title() .''; + $output .= theme_get_styles(); + $output .= ''; + $output .= ''; + $output .= '

' . drupal_get_title() . '

'; + + $output .= theme('status_messages'); + + $output .= "\n\n"; + $output .= $content; + $output .= "\n\n"; + + $output .= ''; + + return $output; +} + /** * Returns themed set of status and/or error messages. The messages are grouped * by type. diff --git a/includes/unicode.inc b/includes/unicode.inc index 368bc8596a45..6acc4141179e 100644 --- a/includes/unicode.inc +++ b/includes/unicode.inc @@ -5,6 +5,13 @@ define('UNICODE_ERROR', -1); define('UNICODE_SINGLEBYTE', 0); define('UNICODE_MULTIBYTE', 1); +/** + * Wrapper around _unicode_check(). + */ +function unicode_check() { + $GLOBALS['multibyte'] = _unicode_check(); +} + /** * Perform checks about Unicode support in PHP, and set the right settings if * needed. @@ -16,7 +23,7 @@ define('UNICODE_MULTIBYTE', 1); * @param $errors * Whether to report any fatal errors with form_set_error(). */ -function unicode_check($errors = false) { +function _unicode_check($errors = false) { // Set the standard C locale to ensure consistent, ASCII-only string handling. setlocale(LC_CTYPE, 'C'); @@ -70,7 +77,7 @@ function unicode_check($errors = false) { * Return the required Unicode status and errors for admin/settings. */ function unicode_settings() { - $status = unicode_check(true); + $status = _unicode_check(true); $options = array(UNICODE_SINGLEBYTE => t('Standard PHP: operations on Unicode strings are emulated on a best-effort basis. Install the PHP mbstring extension for improved Unicode support.', array('%url' => 'http://www.php.net/manual/nl/ref.mbstring.php')), UNICODE_MULTIBYTE => t('Multi-byte: operations on Unicode strings are supported through the PHP mbstring extension.', array('%url' => 'http://www.php.net/manual/nl/ref.mbstring.php')), UNICODE_ERROR => t('Invalid: the current configuration is incompatible with Drupal.')); diff --git a/misc/druplicon.png b/misc/druplicon.png index dd2eadf4b592dd57b817eb68284c2bcef9f0282f..6a770383700369795a561ed1cd243890a856f9aa 100644 GIT binary patch literal 4072 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%0Dv^SGKx!JDX+9kB@i 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

I`p`3?OfOB%P6imzs`G5z6<@~| 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 F{~xAaS6=`C diff --git a/misc/maintenance.css b/misc/maintenance.css new file mode 100644 index 000000000000..0fbfc62f53f6 --- /dev/null +++ b/misc/maintenance.css @@ -0,0 +1,19 @@ +body { + background: url(druplicon.png) 4.2em 4em no-repeat #fff; + color: #000; + border: 1px solid #bbb; + margin: 3em; + padding: 1em 1em 1em 128px; +} +h1 { + margin: 1.6em 0 1.1em 0; + font-family: sans-serif; +} +:link { + color: #0073ba; + font-weight: bold; +} +:visited { + color: #004975; + font-weight: bold; +}