summaryrefslogtreecommitdiff
path: root/includes/api/ApiComparePages.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/api/ApiComparePages.php')
-rw-r--r--includes/api/ApiComparePages.php55
1 files changed, 18 insertions, 37 deletions
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',