From: Aaron Schulz Date: Fri, 24 Feb 2017 16:20:07 +0000 (-0800) Subject: Revert Message dependency from DB exception classes X-Git-Tag: 1.31.0-rc.0~1945^2 X-Git-Url: https://git.cyclocoop.org/%242?a=commitdiff_plain;h=2048c04055ad4ff193549a9d75a390d50591ad5e;p=lhc%2Fweb%2Fwiklou.git Revert Message dependency from DB exception classes This was added in a90bbf1a. These classes are in /libs and should not depend on all of MediaWiki. Change-Id: I67bc818b0c674f1aa3e0dde27a38a9f385fcab75 --- diff --git a/includes/api/ApiErrorFormatter.php b/includes/api/ApiErrorFormatter.php index 7fb13525fa..183f7e2bb3 100644 --- a/includes/api/ApiErrorFormatter.php +++ b/includes/api/ApiErrorFormatter.php @@ -160,6 +160,9 @@ class ApiErrorFormatter { if ( $exception instanceof ILocalizedException ) { $msg = $exception->getMessageObject(); $params = []; + } elseif ( $exception instanceof MessageSpecifier ) { + $msg = Message::newFromSpecifier( $exception ); + $params = []; } else { // Extract code and data from the exception, if applicable if ( $exception instanceof UsageException ) { diff --git a/includes/api/ApiMain.php b/includes/api/ApiMain.php index 1415640fc2..aea441b8aa 100644 --- a/includes/api/ApiMain.php +++ b/includes/api/ApiMain.php @@ -1054,13 +1054,14 @@ class ApiMain extends ApiBase { if ( ( $e instanceof DBQueryError ) && !$config->get( 'ShowSQLErrors' ) ) { $params = [ 'apierror-databaseerror', WebRequest::getRequestId() ]; } else { - $params = [ - 'apierror-exceptioncaught', - WebRequest::getRequestId(), - $e instanceof ILocalizedException - ? $e->getMessageObject() - : wfEscapeWikiText( $e->getMessage() ) - ]; + if ( $e instanceof ILocalizedException ) { + $msg = $e->getMessageObject(); + } elseif ( $e instanceof MessageSpecifier ) { + $msg = Message::newFromSpecifier( $e ); + } else { + $msg = wfEscapeWikiText( $e->getMessage() ); + } + $params = [ 'apierror-exceptioncaught', WebRequest::getRequestId(), $msg ]; } $messages[] = ApiMessage::create( $params, $code ); } diff --git a/includes/libs/rdbms/exception/DBExpectedError.php b/includes/libs/rdbms/exception/DBExpectedError.php index 31d8c27d9f..cae7f3e1a6 100644 --- a/includes/libs/rdbms/exception/DBExpectedError.php +++ b/includes/libs/rdbms/exception/DBExpectedError.php @@ -22,8 +22,6 @@ namespace Wikimedia\Rdbms; use MessageSpecifier; -use ILocalizedException; -use Message; /** * Base class for the more common types of database errors. These are known to occur @@ -32,7 +30,7 @@ use Message; * @ingroup Database * @since 1.23 */ -class DBExpectedError extends DBError implements MessageSpecifier, ILocalizedException { +class DBExpectedError extends DBError implements MessageSpecifier { /** @var string[] Message parameters */ protected $params; @@ -48,14 +46,6 @@ class DBExpectedError extends DBError implements MessageSpecifier, ILocalizedExc public function getParams() { return $this->params; } - - /** - * @inheritDoc - * @since 1.29 - */ - public function getMessageObject() { - return Message::newFromSpecifier( $this ); - } } class_alias( DBExpectedError::class, 'DBExpectedError' );