Merge "Allow HTMLFormField placeholder to be a message"
[lhc/web/wiklou.git] / includes / exception / HttpError.php
index 21d493a..48bc3bd 100644 (file)
@@ -35,7 +35,7 @@ class HttpError extends MWException {
         *
         * @param int $httpCode HTTP status code to send to the client
         * @param string|Message $content Content of the message
-        * @param string|Message $header Content of the header (\<title\> and \<h1\>)
+        * @param string|Message|null $header Content of the header (\<title\> and \<h1\>)
         */
        public function __construct( $httpCode, $content, $header = null ) {
                parent::__construct( $content );
@@ -74,9 +74,7 @@ class HttpError extends MWException {
        public function report() {
                $this->doLog();
 
-               $httpMessage = HttpStatus::getMessage( $this->httpCode );
-
-               header( "Status: {$this->httpCode} {$httpMessage}", true, $this->httpCode );
+               HttpStatus::header( $this->httpCode );
                header( 'Content-type: text/html; charset=utf-8' );
 
                print $this->getHTML();
@@ -90,11 +88,11 @@ class HttpError extends MWException {
                        $content = $content->text();
                }
 
-               $context = array(
+               $context = [
                        'file' => $this->getFile(),
                        'line' => $this->getLine(),
                        'http_code' => $this->httpCode,
-               );
+               ];
 
                $logMsg = "$content ({http_code}) from {file}:{line}";
 
@@ -123,11 +121,11 @@ class HttpError extends MWException {
                if ( $this->content instanceof Message ) {
                        $contentHtml = $this->content->escaped();
                } else {
-                       $contentHtml = htmlspecialchars( $this->content );
+                       $contentHtml = nl2br( htmlspecialchars( $this->content ) );
                }
 
                return "<!DOCTYPE html>\n" .
                "<html><head><title>$titleHtml</title></head>\n" .
-               "<body><h1>$header</h1><p>$contentHtml</p></body></html>\n";
+               "<body><h1>$titleHtml</h1><p>$contentHtml</p></body></html>\n";
        }
 }