ApiRevisionDelete: Use standard formatting for errors and warnings
authorBrad Jorsch <bjorsch@wikimedia.org>
Tue, 6 Dec 2016 21:17:23 +0000 (16:17 -0500)
committerBrad Jorsch <bjorsch@wikimedia.org>
Tue, 6 Dec 2016 21:28:00 +0000 (16:28 -0500)
Change-Id: I8e88c356ac81572d866fbdd8f15e7a8dd4384c06

RELEASE-NOTES-1.29
includes/api/ApiRevisionDelete.php

index 86baacf..986ecd8 100644 (file)
@@ -55,6 +55,9 @@ production.
 * action=move now reports errors when moving the talk page as an array under
   key 'talkmove-errors', rather than using 'talkmove-error-code' and
   'talkmove-error-info'. The format for subpage move errors has also changed.
+* action=revisiondelete no longer includes a "rendered" property on warnings
+  and errors for each item. Use errorformat=wikitext if you're wanting parsed
+  output.
 * action=rollback no longer returns a "messageHtml" property on errors. Use
   errorformat=html if you're wanting HTML formatting of messages.
 * action=upload now reports optional stash failures as an array under key
index 0251bdb..763aef5 100644 (file)
@@ -120,49 +120,19 @@ class ApiRevisionDelete extends ApiBase {
                $ret = [
                        'status' => $status->isOK() ? 'Success' : 'Fail',
                ];
-               $errors = $this->formatStatusMessages( $status->getErrorsByType( 'error' ) );
+
+               $errors = $this->getErrorFormatter()->arrayFromStatus( $status, 'error' );
                if ( $errors ) {
-                       ApiResult::setIndexedTagName( $errors, 'e' );
                        $ret['errors'] = $errors;
                }
-               $warnings = $this->formatStatusMessages( $status->getErrorsByType( 'warning' ) );
+               $warnings = $this->getErrorFormatter()->arrayFromStatus( $status, 'warning' );
                if ( $warnings ) {
-                       ApiResult::setIndexedTagName( $warnings, 'w' );
                        $ret['warnings'] = $warnings;
                }
 
                return $ret;
        }
 
-       private function formatStatusMessages( $messages ) {
-               if ( !$messages ) {
-                       return [];
-               }
-               $ret = [];
-               foreach ( $messages as $m ) {
-                       if ( $m['message'] instanceof Message ) {
-                               $msg = $m['message'];
-                               $message = [ 'message' => $msg->getKey() ];
-                               if ( $msg->getParams() ) {
-                                       $message['params'] = $msg->getParams();
-                                       ApiResult::setIndexedTagName( $message['params'], 'p' );
-                               }
-                       } else {
-                               $message = [ 'message' => $m['message'] ];
-                               $msg = wfMessage( $m['message'] );
-                               if ( isset( $m['params'] ) ) {
-                                       $message['params'] = $m['params'];
-                                       ApiResult::setIndexedTagName( $message['params'], 'p' );
-                                       $msg->params( $m['params'] );
-                               }
-                       }
-                       $message['rendered'] = $msg->useDatabase( false )->inLanguage( 'en' )->plain();
-                       $ret[] = $message;
-               }
-
-               return $ret;
-       }
-
        public function mustBePosted() {
                return true;
        }