X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fservererroraction.php;h=54cc99099a5abef5e27e56c70315a31dc5525216;hb=b7178d2197d225b5fcb605b1c4d9df14d8b278a1;hp=9ed3832a68323aa4c84ef0b6dc230b5e031d624c;hpb=c5cf2c4c94794a1aeea32a427ddd50e157fa893d;p=quix0rs-gnu-social.git diff --git a/lib/servererroraction.php b/lib/servererroraction.php index 9ed3832a68..54cc99099a 100644 --- a/lib/servererroraction.php +++ b/lib/servererroraction.php @@ -29,7 +29,7 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -55,22 +55,25 @@ require_once INSTALLDIR.'/lib/error.php'; class ServerErrorAction extends ErrorAction { - function __construct($message='Error', $code=500) + static $status = array(500 => 'Internal Server Error', + 501 => 'Not Implemented', + 502 => 'Bad Gateway', + 503 => 'Service Unavailable', + 504 => 'Gateway Timeout', + 505 => 'HTTP Version Not Supported'); + + function __construct($message='Error', $code=500, $ex=null) { parent::__construct($message, $code); - $this->status = array(500 => 'Internal Server Error', - 501 => 'Not Implemented', - 502 => 'Bad Gateway', - 503 => 'Service Unavailable', - 504 => 'Gateway Timeout', - 505 => 'HTTP Version Not Supported'); - $this->default = 500; // Server errors must be logged. - - common_log(LOG_ERR, "ServerErrorAction: $code $message"); + $log = "ServerErrorAction: $code $message"; + if ($ex) { + $log .= "\n" . $ex->getTraceAsString(); + } + common_log(LOG_ERR, $log); } // XXX: Should these error actions even be invokable via URI? @@ -94,8 +97,26 @@ class ServerErrorAction extends ErrorAction $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 $this->status[$this->code]; + return @self::$status[$this->code]; } + }