From dc736dacef6e1260a7a4f4f089b4378b40cdeb8c Mon Sep 17 00:00:00 2001 From: Brad Jorsch Date: Tue, 15 Jul 2014 11:39:27 -0400 Subject: [PATCH] RevDelArchivedFileItem needs to override getApiData Why is ArchivedFile so different from OldLocalFile? Bug: 68034 Change-Id: I89a41a47ea2720e5302be5b463e6ff89737fa089 --- includes/revisiondelete/RevisionDelete.php | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/includes/revisiondelete/RevisionDelete.php b/includes/revisiondelete/RevisionDelete.php index e7a09d7271..8a08fd1c57 100644 --- a/includes/revisiondelete/RevisionDelete.php +++ b/includes/revisiondelete/RevisionDelete.php @@ -885,6 +885,45 @@ class RevDelArchivedFileItem extends RevDelFileItem { } return $link; } + + public function getApiData( ApiResult $result ) { + $file = $this->file; + $user = $this->list->getUser(); + $ret = array( + 'title' => $this->list->title->getPrefixedText(), + 'timestamp' => wfTimestamp( TS_ISO_8601, $file->getTimestamp() ), + 'width' => $file->getWidth(), + 'height' => $file->getHeight(), + 'size' => $file->getSize(), + ); + $ret += $file->isDeleted( Revision::DELETED_USER ) ? array( 'userhidden' => '' ) : array(); + $ret += $file->isDeleted( Revision::DELETED_COMMENT ) ? array( 'commenthidden' => '' ) : array(); + $ret += $this->isDeleted() ? array( 'contenthidden' => '' ) : array(); + if ( $this->canViewContent() ) { + $ret += array( + 'url' => SpecialPage::getTitleFor( 'Revisiondelete' )->getLinkURL( + array( + 'target' => $this->list->title->getPrefixedText(), + 'file' => $file->getKey(), + 'token' => $user->getEditToken( $file->getKey() ) + ), + false, PROTO_RELATIVE + ), + ); + } + if ( $file->userCan( Revision::DELETED_USER, $user ) ) { + $ret += array( + 'userid' => $file->getUser( 'id' ), + 'user' => $file->getUser( 'text' ), + ); + } + if ( $file->userCan( Revision::DELETED_COMMENT, $user ) ) { + $ret += array( + 'comment' => $file->getRawDescription(), + ); + } + return $ret; + } } /** -- 2.20.1