* 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
$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;
}