Use wp_die() for WPDB bails. Send 500 response and no-cache headers so wp_die()s are not cached. props DD32. fixes #3471
git-svn-id: https://develop.svn.wordpress.org/trunk@6110 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
2e0f3b30e8
commit
5d12c48818
@ -1240,13 +1240,17 @@ function wp_die( $message, $title = '' ) {
|
|||||||
else
|
else
|
||||||
$admin_dir = 'wp-admin/';
|
$admin_dir = 'wp-admin/';
|
||||||
|
|
||||||
if ( !did_action('admin_head') ) :
|
if ( !function_exists('did_action') || !did_action('admin_head') ) :
|
||||||
|
status_header(500);
|
||||||
|
nocache_headers();
|
||||||
header('Content-Type: text/html; charset=utf-8');
|
header('Content-Type: text/html; charset=utf-8');
|
||||||
|
|
||||||
if ( empty($title) )
|
if ( empty($title) ){
|
||||||
$title = __('WordPress › Error');
|
if( function_exists('__') )
|
||||||
|
$title = __('WordPress › Error');
|
||||||
|
else
|
||||||
|
$title = 'WordPress › Error';
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
@ -401,29 +401,7 @@ class wpdb {
|
|||||||
function bail($message) { // Just wraps errors in a nice header and footer
|
function bail($message) { // Just wraps errors in a nice header and footer
|
||||||
if ( !$this->show_errors )
|
if ( !$this->show_errors )
|
||||||
return false;
|
return false;
|
||||||
|
wp_die($message);
|
||||||
header('Content-Type: text/html; charset=utf-8');
|
|
||||||
|
|
||||||
if (strpos($_SERVER['PHP_SELF'], 'wp-admin') !== false)
|
|
||||||
$admin_dir = '';
|
|
||||||
else
|
|
||||||
$admin_dir = 'wp-admin/';
|
|
||||||
|
|
||||||
?>
|
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<head>
|
|
||||||
<title>WordPress › Error</title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
||||||
<link rel="stylesheet" href="<?php echo $admin_dir; ?>install.css" type="text/css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1 id="logo"><img alt="WordPress" src="<?php echo $admin_dir; ?>images/wordpress-logo.png" /></h1>
|
|
||||||
<p><?php echo $message; ?></p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
<?php
|
|
||||||
die();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,6 +113,10 @@ if ( !defined('LANGDIR') ) {
|
|||||||
|
|
||||||
if ( !defined('PLUGINDIR') )
|
if ( !defined('PLUGINDIR') )
|
||||||
define('PLUGINDIR', 'wp-content/plugins'); // no leading slash, no trailing slash
|
define('PLUGINDIR', 'wp-content/plugins'); // no leading slash, no trailing slash
|
||||||
|
|
||||||
|
require (ABSPATH . WPINC . '/compat.php');
|
||||||
|
require (ABSPATH . WPINC . '/functions.php');
|
||||||
|
|
||||||
if ( file_exists(ABSPATH . 'wp-content/db.php') )
|
if ( file_exists(ABSPATH . 'wp-content/db.php') )
|
||||||
require_once (ABSPATH . 'wp-content/db.php');
|
require_once (ABSPATH . 'wp-content/db.php');
|
||||||
else
|
else
|
||||||
@ -122,7 +126,7 @@ else
|
|||||||
$wpdb->prefix = $table_prefix;
|
$wpdb->prefix = $table_prefix;
|
||||||
|
|
||||||
if ( preg_match('|[^a-z0-9_]|i', $wpdb->prefix) && !file_exists(ABSPATH . 'wp-content/db.php') )
|
if ( preg_match('|[^a-z0-9_]|i', $wpdb->prefix) && !file_exists(ABSPATH . 'wp-content/db.php') )
|
||||||
die("<strong>ERROR</strong>: <code>$table_prefix</code> in <code>wp-config.php</code> can only contain numbers, letters, and underscores.");
|
wp_die("<strong>ERROR</strong>: <code>$table_prefix</code> in <code>wp-config.php</code> can only contain numbers, letters, and underscores.");
|
||||||
|
|
||||||
// Table names
|
// Table names
|
||||||
$wpdb->posts = $wpdb->prefix . 'posts';
|
$wpdb->posts = $wpdb->prefix . 'posts';
|
||||||
@ -151,9 +155,6 @@ else
|
|||||||
|
|
||||||
wp_cache_init();
|
wp_cache_init();
|
||||||
|
|
||||||
require (ABSPATH . WPINC . '/compat.php');
|
|
||||||
require (ABSPATH . WPINC . '/functions.php');
|
|
||||||
|
|
||||||
require (ABSPATH . WPINC . '/classes.php');
|
require (ABSPATH . WPINC . '/classes.php');
|
||||||
require (ABSPATH . WPINC . '/plugin.php');
|
require (ABSPATH . WPINC . '/plugin.php');
|
||||||
require (ABSPATH . WPINC . '/default-filters.php');
|
require (ABSPATH . WPINC . '/default-filters.php');
|
||||||
|
Loading…
Reference in New Issue
Block a user