Merge "Allow duplicate articles in parser tests with same content"
[lhc/web/wiklou.git] / includes / api / ApiMain.php
index 1415640..aea441b 100644 (file)
@@ -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 );
                }