From 344fc07063b9d4ee9007a42810361202416a41de Mon Sep 17 00:00:00 2001 From: Brad Jorsch Date: Tue, 6 Dec 2016 16:17:23 -0500 Subject: [PATCH] ApiRevisionDelete: Use standard formatting for errors and warnings Change-Id: I8e88c356ac81572d866fbdd8f15e7a8dd4384c06 --- RELEASE-NOTES-1.29 | 3 +++ includes/api/ApiRevisionDelete.php | 36 +++--------------------------- 2 files changed, 6 insertions(+), 33 deletions(-) diff --git a/RELEASE-NOTES-1.29 b/RELEASE-NOTES-1.29 index 86baacf55c..986ecd891b 100644 --- a/RELEASE-NOTES-1.29 +++ b/RELEASE-NOTES-1.29 @@ -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 diff --git a/includes/api/ApiRevisionDelete.php b/includes/api/ApiRevisionDelete.php index 0251bdbddd..763aef5f03 100644 --- a/includes/api/ApiRevisionDelete.php +++ b/includes/api/ApiRevisionDelete.php @@ -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; } -- 2.20.1