$wgArticle is deprecated! Possible removal in 1.20 or 1.21!
[lhc/web/wiklou.git] / includes / Exception.php
index 67ad329..015298d 100644 (file)
@@ -22,7 +22,8 @@ class MWException extends Exception {
        function useOutputPage() {
                return $this->useMessageCache() &&
                        !empty( $GLOBALS['wgFullyInitialised'] ) &&
-                       ( !empty( $GLOBALS['wgArticle'] ) || ( !empty( $GLOBALS['wgOut'] ) && !$GLOBALS['wgOut']->isArticleRelated() ) ) &&
+                       !empty( $GLOBALS['wgOut'] ) &&
+                       !$GLOBALS['wgOut']->isArticleRelated() &&
                        !empty( $GLOBALS['wgTitle'] );
        }
 
@@ -188,12 +189,11 @@ class MWException extends Exception {
                                die( $hookResult );
                        }
 
-                       if ( defined( 'MEDIAWIKI_INSTALL' ) || $this->htmlBodyOnly() ) {
-                               echo $this->getHTML();
+                       $html = $this->getHTML();
+                       if ( defined( 'MEDIAWIKI_INSTALL' ) ) {
+                               echo $html;
                        } else {
-                               echo $this->htmlHeader();
-                               echo $this->getHTML();
-                               echo $this->htmlFooter();
+                               wfDie( $html );
                        }
                }
        }
@@ -219,13 +219,14 @@ class MWException extends Exception {
        /**
         * Send headers and output the beginning of the html page if not using
         * $wgOut to output the exception.
+        * @deprecated since 1.18 call wfDie() if you need to die immediately
         */
        function htmlHeader() {
-               global $wgLogo, $wgOutputEncoding, $wgLang;
+               global $wgLogo, $wgLang;
 
                if ( !headers_sent() ) {
                        header( 'HTTP/1.0 500 Internal Server Error' );
-                       header( 'Content-type: text/html; charset=' . $wgOutputEncoding );
+                       header( 'Content-type: text/html; charset=UTF-8' );
                        /* Don't cache error pages!  They cause no end of trouble... */
                        header( 'Cache-control: none' );
                        header( 'Pragma: nocache' );
@@ -273,18 +274,12 @@ ENDL
 
        /**
         * print the end of the html page if not using $wgOut.
+        * @deprecated since 1.18
         */
        function htmlFooter() {
                return Html::closeElement( 'body' ) . Html::closeElement( 'html' );
        }
 
-       /**
-        * headers handled by subclass?
-        */
-       function htmlBodyOnly() {
-               return false;
-       }
-
        static function isCommandLine() {
                return !empty( $GLOBALS['wgCommandLineMode'] ) && !defined( 'MEDIAWIKI_INSTALL' );
        }
@@ -493,7 +488,7 @@ function wfReportException( Exception $e ) {
                        if ( $cmdLine ) {
                                wfPrintError( $message );
                        } else {
-                               wfDie( htmlspecialchars( $message ) ) . "\n";
+                               wfDie( nl2br( htmlspecialchars( $message ) ) ) . "\n";
                        }
                }
        } else {
@@ -507,7 +502,7 @@ function wfReportException( Exception $e ) {
                if ( $cmdLine ) {
                        wfPrintError( $message );
                } else {
-                       wfDie( htmlspecialchars( $message ) ) . "\n";
+                       wfDie( nl2br( htmlspecialchars( $message ) ) ) . "\n";
                }
        }
 }