* @since 1.7
* @ingroup Exception
*/
-class ErrorPageError extends MWException {
+class ErrorPageError extends MWException implements ILocalizedException {
public $title, $msg, $params;
/**
* @param string|Message $msg Message key (string) for error text, or a Message object
* @param array $params Array with parameters to wfMessage()
*/
- public function __construct( $title, $msg, $params = array() ) {
+ public function __construct( $title, $msg, $params = [] ) {
$this->title = $title;
$this->msg = $msg;
$this->params = $params;
// customized by the local wiki. So get the default English version for
// passing to the parent constructor. Our overridden report() below
// makes sure that the page shown to the user is not forced to English.
- if ( $msg instanceof Message ) {
- $enMsg = clone( $msg );
- } else {
- $enMsg = wfMessage( $msg, $params );
- }
+ $enMsg = $this->getMessageObject();
$enMsg->inLanguage( 'en' )->useDatabase( false );
parent::__construct( $enMsg->text() );
}
+ /**
+ * Return a Message object for this exception
+ * @since 1.29
+ * @return Message
+ */
+ public function getMessageObject() {
+ if ( $this->msg instanceof Message ) {
+ return clone $this->msg;
+ }
+ return wfMessage( $this->msg, $this->params );
+ }
+
public function report() {
global $wgOut;