mirror of
https://github.com/processwire/processwire.git
synced 2025-08-16 11:44:42 +02:00
Fix issue where WireShutdown in fatal error state didn't use http 500 header when debug mode was on
This commit is contained in:
@@ -291,6 +291,22 @@ class WireShutdown extends Wire {
|
|||||||
return $message;
|
return $message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Send fatal error http header and return error code sent
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
protected function sendFatalHeader() {
|
||||||
|
include_once(dirname(__FILE__) . '/WireHttp.php');
|
||||||
|
$http = new WireHttp();
|
||||||
|
$codes = $http->getHttpCodes();
|
||||||
|
$code = (int) ($this->config ? $this->config->fatalErrorCode : 500);
|
||||||
|
if(!isset($codes[$code])) $code = 500;
|
||||||
|
header("HTTP/1.1 $code " . $codes[$code]);
|
||||||
|
return $code;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send a 500 internal server error
|
* Send a 500 internal server error
|
||||||
*
|
*
|
||||||
@@ -302,14 +318,8 @@ class WireShutdown extends Wire {
|
|||||||
*/
|
*/
|
||||||
protected function sendFatalError($message, $useHTML) {
|
protected function sendFatalError($message, $useHTML) {
|
||||||
|
|
||||||
include_once(dirname(__FILE__) . '/WireHttp.php');
|
|
||||||
$http = new WireHttp();
|
|
||||||
$codes = $http->getHttpCodes();
|
|
||||||
$code = (int) $this->config ? $this->config->fatalErrorCode : 500;
|
|
||||||
if(!isset($codes[$code])) $code = 500;
|
|
||||||
|
|
||||||
if($useHTML) {
|
if($useHTML) {
|
||||||
header("HTTP/1.1 $code " . $codes[$code]);
|
$code = $this->sendFatalHeader();
|
||||||
$message = htmlspecialchars($message, ENT_QUOTES, 'UTF-8');
|
$message = htmlspecialchars($message, ENT_QUOTES, 'UTF-8');
|
||||||
// file that error message will be output in, when available
|
// file that error message will be output in, when available
|
||||||
$path = $this->config->paths->templates;
|
$path = $this->config->paths->templates;
|
||||||
@@ -484,6 +494,7 @@ class WireShutdown extends Wire {
|
|||||||
if($why) {
|
if($why) {
|
||||||
$why = $this->labels['shown-because'] . " $why $who";
|
$why = $this->labels['shown-because'] . " $why $who";
|
||||||
$message = $this->amendErrorMessage($message);
|
$message = $this->amendErrorMessage($message);
|
||||||
|
$this->sendFatalHeader();
|
||||||
$this->sendErrorMessage($message, $why, $useHTML);
|
$this->sendErrorMessage($message, $why, $useHTML);
|
||||||
} else {
|
} else {
|
||||||
$this->sendFatalError($who, $useHTML);
|
$this->sendFatalError($who, $useHTML);
|
||||||
|
Reference in New Issue
Block a user