From c1f9b1f7b1b77776192048005dcc66dcf3df2bfb Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 27 Dec 2014 15:41:37 +0100 Subject: Update to MediaWiki 1.24.1 --- includes/api/ApiComparePages.php | 55 +++++++++++++--------------------------- 1 file changed, 18 insertions(+), 37 deletions(-) (limited to 'includes/api/ApiComparePages.php') diff --git a/includes/api/ApiComparePages.php b/includes/api/ApiComparePages.php index 1e35c349..48559268 100644 --- a/includes/api/ApiComparePages.php +++ b/includes/api/ApiComparePages.php @@ -65,19 +65,22 @@ class ApiComparePages extends ApiBase { $difftext = $de->getDiffBody(); if ( $difftext === false ) { - $this->dieUsage( 'The diff cannot be retrieved. ' . - 'Maybe one or both revisions do not exist or you do not have permission to view them.', 'baddiff' ); - } else { - ApiResult::setContent( $vals, $difftext ); + $this->dieUsage( + 'The diff cannot be retrieved. Maybe one or both revisions do ' . + 'not exist or you do not have permission to view them.', + 'baddiff' + ); } + ApiResult::setContent( $vals, $difftext ); + $this->getResult()->addValue( null, $this->getModuleName(), $vals ); } /** - * @param $revision int - * @param $titleText string - * @param $titleId int + * @param int $revision + * @param string $titleText + * @param int $titleId * @return int */ private function revisionOrTitleOrId( $revision, $titleText, $titleId ) { @@ -88,15 +91,20 @@ class ApiComparePages extends ApiBase { if ( !$title || $title->isExternal() ) { $this->dieUsageMsg( array( 'invalidtitle', $titleText ) ); } + return $title->getLatestRevID(); } elseif ( $titleId ) { $title = Title::newFromID( $titleId ); if ( !$title ) { $this->dieUsageMsg( array( 'nosuchpageid', $titleId ) ); } + return $title->getLatestRevID(); } - $this->dieUsage( 'inputneeded', 'A title, a page ID, or a revision number is needed for both the from and the to parameters' ); + $this->dieUsage( + 'A title, a page ID, or a revision number is needed for both the from and the to parameters', + 'inputneeded' + ); } public function getAllowedParams() { @@ -129,40 +137,13 @@ class ApiComparePages extends ApiBase { ); } - public function getResultProperties() { - return array( - '' => array( - 'fromtitle' => array( - ApiBase::PROP_TYPE => 'string', - ApiBase::PROP_NULLABLE => true - ), - 'fromrevid' => 'integer', - 'totitle' => array( - ApiBase::PROP_TYPE => 'string', - ApiBase::PROP_NULLABLE => true - ), - 'torevid' => 'integer', - '*' => 'string' - ) - ); - } - public function getDescription() { return array( - 'Get the difference between 2 pages', - 'You must pass a revision number or a page title or a page ID id for each part (1 and 2)' + 'Get the difference between 2 pages.', + 'You must pass a revision number or a page title or a page ID id for each part (1 and 2).' ); } - public function getPossibleErrors() { - return array_merge( parent::getPossibleErrors(), array( - array( 'code' => 'inputneeded', 'info' => 'A title or a revision is needed' ), - array( 'invalidtitle', 'title' ), - array( 'nosuchpageid', 'pageid' ), - array( 'code' => 'baddiff', 'info' => 'The diff cannot be retrieved. Maybe one or both revisions do not exist or you do not have permission to view them.' ), - ) ); - } - public function getExamples() { return array( 'api.php?action=compare&fromrev=1&torev=2' => 'Create a diff between revision 1 and 2', -- cgit v1.2.3-54-g00ecf