From: Strainu Date: Thu, 24 May 2018 20:23:26 +0000 (+0300) Subject: MWExceptionRenderer: Fix db error outage page X-Git-Tag: 1.31.2~42 X-Git-Url: http://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=commitdiff_plain;h=5e421703a2adaef3c4b6f0f92e89cdde63753cd2 MWExceptionRenderer: Fix db error outage page Set content encoding and add some content to the header tag. Bug: T195525 Change-Id: Ieabfe18280359459e9462204371d3fe8d62a4177 (cherry picked from commit 94b58b2c268541cf09612f5f9fa99c7c3edb2af4) --- diff --git a/RELEASE-NOTES-1.31 b/RELEASE-NOTES-1.31 index e27cda2ea2..a8cc7600f9 100644 --- a/RELEASE-NOTES-1.31 +++ b/RELEASE-NOTES-1.31 @@ -51,6 +51,7 @@ THIS IS NOT A RELEASE YET * (T204767) Add join conditions to ActiveUsersPager * (T210621) User: Bypass repeatable-read when creating an actor_id. * (T204531) rdbms: reduce LoadBalancer replication log spam. +* (T195525) Fix db error outage page. == MediaWiki 1.31.1 == diff --git a/includes/exception/MWExceptionRenderer.php b/includes/exception/MWExceptionRenderer.php index dc8dfd0b3e..88b28df385 100644 --- a/includes/exception/MWExceptionRenderer.php +++ b/includes/exception/MWExceptionRenderer.php @@ -47,13 +47,15 @@ class MWExceptionRenderer { self::printError( self::getText( $e ) ); } elseif ( $mode === self::AS_PRETTY ) { self::statusHeader( 500 ); + self::header( "Content-Type: $wgMimeType; charset=utf-8" ); if ( $e instanceof DBConnectionError ) { self::reportOutageHTML( $e ); } else { - self::header( "Content-Type: $wgMimeType; charset=utf-8" ); self::reportHTML( $e ); } } else { + self::statusHeader( 500 ); + self::header( "Content-Type: $wgMimeType; charset=utf-8" ); if ( $eNew ) { $message = "MediaWiki internal error.\n\n"; if ( self::showBackTrace( $e ) ) { @@ -292,7 +294,7 @@ class MWExceptionRenderer { * @param Exception|Throwable $e */ private static function reportOutageHTML( $e ) { - global $wgShowDBErrorBacktrace, $wgShowHostnames, $wgShowSQLErrors; + global $wgShowDBErrorBacktrace, $wgShowHostnames, $wgShowSQLErrors, $wgSitename; $sorry = htmlspecialchars( self::msg( 'dberr-problems', @@ -317,8 +319,13 @@ class MWExceptionRenderer { } MessageCache::singleton()->disable(); // no DB access - - $html = "

$sorry

$again

$info

"; + $html = "\n" . + '' . + '' . + htmlspecialchars( $wgSitename ) . + '' . + '' . + "

$sorry

$again

$info

"; if ( $wgShowDBErrorBacktrace ) { $html .= '

Backtrace:

' .
@@ -327,7 +334,7 @@ class MWExceptionRenderer {
 
 		$html .= '
'; $html .= self::googleSearchForm(); - + $html .= ''; echo $html; }