From 3c4b95c1e3abf5c7d99307f8e386ff8e27d77167 Mon Sep 17 00:00:00 2001 From: Jeremy Felt Date: Sat, 7 Mar 2015 05:35:26 +0000 Subject: [PATCH] Return HTTP status code 500 by default in ms_not_installed() In admin views, specify a response code of 500 when using `wp_die()` to show an expanded message for a broken or missing multisite installation. On front end views, use `dead_db()` rather than `die()` to generate the generic "Error establishing a database connection" message. `dead_db()` sets a status code of 500 by default and allows for the override of this generic error with a `db-error.php` template. Props craig-ralston, jeremyfelt. Fixes #30002. Built from https://develop.svn.wordpress.org/trunk@31657 git-svn-id: http://core.svn.wordpress.org/trunk@31638 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/ms-load.php | 10 ++++++---- wp-includes/version.php | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/wp-includes/ms-load.php b/wp-includes/ms-load.php index 6e3344e391..64f6b2f784 100644 --- a/wp-includes/ms-load.php +++ b/wp-includes/ms-load.php @@ -395,13 +395,15 @@ function get_site_by_path( $domain, $path, $segments = null ) { function ms_not_installed() { global $wpdb, $domain, $path; + if ( ! is_admin() ) { + dead_db(); + } + wp_load_translations_early(); $title = __( 'Error establishing a database connection' ); + $msg = '

' . $title . '

'; - if ( ! is_admin() ) { - die( $msg ); - } $msg .= '

' . __( 'If your site does not display, please contact the owner of this network.' ) . ''; $msg .= ' ' . __( 'If you are the owner of this network please check that MySQL is running properly and all tables are error free.' ) . '

'; $query = $wpdb->prepare( "SHOW TABLES LIKE %s", $wpdb->esc_like( $wpdb->site ) ); @@ -420,7 +422,7 @@ function ms_not_installed() { } $msg .= ''; - wp_die( $msg, $title ); + wp_die( $msg, $title, array( 'response' => 500 ) ); } /** diff --git a/wp-includes/version.php b/wp-includes/version.php index a552c7ae93..17ca08ac3f 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.2-alpha-31656'; +$wp_version = '4.2-alpha-31657'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.