X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fservererroraction.php;h=8ca281614b86de301c628c3cfca3fbb1ed593e5b;hb=f0480c34d7e3d528fc559568ce6ac53c3b33f8f9;hp=0993a63bca506149dcecddf892b6d264d4b1cd8e;hpb=fd8941df852aa06a5ef5020e58d0322f56e50782;p=quix0rs-gnu-social.git diff --git a/lib/servererroraction.php b/lib/servererroraction.php index 0993a63bca..8ca281614b 100644 --- a/lib/servererroraction.php +++ b/lib/servererroraction.php @@ -29,11 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -require_once INSTALLDIR.'/lib/error.php'; +if (!defined('GNUSOCIAL')) { exit(1); } /** * Class for displaying HTTP server errors @@ -62,35 +58,50 @@ class ServerErrorAction extends ErrorAction 504 => 'Gateway Timeout', 505 => 'HTTP Version Not Supported'); - function __construct($message='Error', $code=500) + function __construct($message='Error', $code=500, $ex=null) { parent::__construct($message, $code); $this->default = 500; - // Server errors must be logged. - - common_log(LOG_ERR, "ServerErrorAction: $code $message"); - } - - // XXX: Should these error actions even be invokable via URI? - - function handle($args) - { - parent::handle($args); - - $this->code = $this->trimmed('code'); - - if (!$this->code || $code < 500 || $code > 599) { + if (!$this->code || $this->code < 500 || $this->code > 599) { $this->code = $this->default; } - $this->message = $this->trimmed('message'); - if (!$this->message) { $this->message = "Server Error $this->code"; } + // Server errors must be logged. + $log = "ServerErrorAction: $code $message"; + if ($ex) { + $log .= "\n" . $ex->getTraceAsString(); + } + common_log(LOG_ERR, $log); + $this->showPage(); } + + /** + * To specify additional HTTP headers for the action + * + * @return void + */ + function extraHeaders() + { + $status_string = @self::$status[$this->code]; + header('HTTP/1.1 '.$this->code.' '.$status_string); + } + + /** + * Page title. + * + * @return page title + */ + + function title() + { + return @self::$status[$this->code]; + } + }