diff options
Diffstat (limited to 'includes/title/MalformedTitleException.php')
-rw-r--r-- | includes/title/MalformedTitleException.php | 54 |
1 files changed, 47 insertions, 7 deletions
diff --git a/includes/title/MalformedTitleException.php b/includes/title/MalformedTitleException.php index a9e58b3e..0892ce4e 100644 --- a/includes/title/MalformedTitleException.php +++ b/includes/title/MalformedTitleException.php @@ -1,7 +1,5 @@ <?php /** - * Representation of a page title within %MediaWiki. - * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -18,16 +16,58 @@ * http://www.gnu.org/copyleft/gpl.html * * @file - * @license GPL 2+ - * @author Daniel Kinzler */ /** * MalformedTitleException is thrown when a TitleParser is unable to parse a title string. - * - * @license GPL 2+ - * @author Daniel Kinzler * @since 1.23 */ class MalformedTitleException extends Exception { + private $titleText = null; + private $errorMessage = null; + private $errorMessageParameters = array(); + + /** + * @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. + * $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() ); + } + + /** + * @since 1.26 + * @return string|null + */ + public function getTitleText() { + return $this->titleText; + } + + /** + * @since 1.26 + * @return string|null + */ + public function getErrorMessage() { + return $this->errorMessage; + } + + /** + * @since 1.26 + * @return string[] + */ + public function getErrorMessageParameters() { + return $this->errorMessageParameters; + } } |