From: Brad Jorsch Date: Wed, 6 May 2015 18:42:38 +0000 (-0400) Subject: MalformedTitleException should call parent::__construct X-Git-Tag: 1.31.0-rc.0~11477^2 X-Git-Url: http://git.cyclocoop.org/%22.%24redirect_annul.%22?a=commitdiff_plain;h=132f1b1ea8ddf6662adf3d03c5bbc041fa409b9a;p=lhc%2Fweb%2Fwiklou.git MalformedTitleException should call parent::__construct There's no reason for $ex->getMessage() to return nothing. Do like ErrorPageError does and get the default English message for the parent. Also move the appending of $titleText to $errorMessageParameters into MalformedTitleException itself and document it, so every catcher of the exception doesn't need to know about this, and fix the check so it doesn't screw up for title "0". Change-Id: I43d988602b847b67a3cf0aa84e271a0b5bd9adae --- diff --git a/includes/exception/BadTitleError.php b/includes/exception/BadTitleError.php index 4710022d9f..039b9c60cc 100644 --- a/includes/exception/BadTitleError.php +++ b/includes/exception/BadTitleError.php @@ -39,10 +39,6 @@ class BadTitleError extends ErrorPageError { parent::__construct( 'badtitle', 'badtitletext', array() ); } else { $errorMessageParams = $msg->getErrorMessageParameters(); - $titleText = $msg->getTitleText(); - if ( $titleText ) { - $errorMessageParams[] = $titleText; - } parent::__construct( 'badtitle', $errorMessage, $errorMessageParams ); } } else { diff --git a/includes/title/MalformedTitleException.php b/includes/title/MalformedTitleException.php index e7477781b7..fb89e4fe06 100644 --- a/includes/title/MalformedTitleException.php +++ b/includes/title/MalformedTitleException.php @@ -30,12 +30,20 @@ class MalformedTitleException extends Exception { /** * @param string $errorMessage Localisation message describing the error (since MW 1.26) * @param string $titleText The invalid title text (since MW 1.26) - * @param string[] $errorMessageParameters Additional parameters for the error message (since MW 1.26) + * @param string[] $errorMessageParameters Additional parameters for the error message. $titleText will be appended if it's not null. (since MW 1.26) */ public function __construct( $errorMessage = null, $titleText = null, $errorMessageParameters = array() ) { $this->errorMessage = $errorMessage; $this->titleText = $titleText; + if ( $titleText !== null ) { + $errorMessageParameters[] = $titleText; + } $this->errorMessageParameters = $errorMessageParameters; + + // Supply something useful for Exception::getMessage() to return. + $enMsg = wfMessage( $errorMessage, $errorMessageParameters ); + $enMsg->inLanguage( 'en' )->useDatabase( false ); + parent::__construct( $enMsg->text() ); } /** @@ -45,7 +53,7 @@ class MalformedTitleException extends Exception { public function getTitleText() { return $this->titleText; } - + /** * @since 1.26 * @return string|null @@ -53,7 +61,7 @@ class MalformedTitleException extends Exception { public function getErrorMessage() { return $this->errorMessage; } - + /** * @since 1.26 * @return string[]