Merge "PrefixSearch: Remove unnecessary wfSuppressWarnings()"
[lhc/web/wiklou.git] / includes / api / ApiQueryWatchlistRaw.php
index 1b1eee0..f45d0e4 100644 (file)
@@ -4,7 +4,7 @@
  *
  * Created on Oct 4, 2008
  *
- * Copyright © 2008 Roan Kattouw <Firstname>.<Lastname>@gmail.com
+ * Copyright © 2008 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -71,12 +71,10 @@ class ApiQueryWatchlistRaw extends ApiQueryGeneratorBase {
 
                if ( isset( $params['continue'] ) ) {
                        $cont = explode( '|', $params['continue'] );
-                       if ( count( $cont ) != 2 ) {
-                               $this->dieUsage( "Invalid continue param. You should pass the " .
-                                       "original value returned by the previous query", "_badcontinue" );
-                       }
+                       $this->dieContinueUsageIf( count( $cont ) != 2 );
                        $ns = intval( $cont[0] );
-                       $title = $this->getDB()->addQuotes( $this->titleToKey( $cont[1] ) );
+                       $this->dieContinueUsageIf( strval( $ns ) !== $cont[0] );
+                       $title = $this->getDB()->addQuotes( $cont[1] );
                        $op = $params['dir'] == 'ascending' ? '>' : '<';
                        $this->addWhere(
                                "wl_namespace $op $ns OR " .
@@ -93,7 +91,7 @@ class ApiQueryWatchlistRaw extends ApiQueryGeneratorBase {
                        $this->addOption( 'ORDER BY', array(
                                'wl_namespace' . $sort,
                                'wl_title' . $sort
-                       ));
+                       ) );
                }
                $this->addOption( 'LIMIT', $params['limit'] + 1 );
                $res = $this->select( __METHOD__ );
@@ -102,9 +100,9 @@ class ApiQueryWatchlistRaw extends ApiQueryGeneratorBase {
                $count = 0;
                foreach ( $res as $row ) {
                        if ( ++$count > $params['limit'] ) {
-                               // We've reached the one extra which shows that there are additional pages to be had. Stop here...
-                               $this->setContinueEnumParameter( 'continue', $row->wl_namespace . '|' .
-                                                                       $this->keyToTitle( $row->wl_title ) );
+                               // We've reached the one extra which shows that there are
+                               // additional pages to be had. Stop here...
+                               $this->setContinueEnumParameter( 'continue', $row->wl_namespace . '|' . $row->wl_title );
                                break;
                        }
                        $t = Title::makeTitle( $row->wl_namespace, $row->wl_title );
@@ -112,14 +110,12 @@ class ApiQueryWatchlistRaw extends ApiQueryGeneratorBase {
                        if ( is_null( $resultPageSet ) ) {
                                $vals = array();
                                ApiQueryBase::addTitleInfo( $vals, $t );
-                               if ( isset( $prop['changed'] ) && !is_null( $row->wl_notificationtimestamp ) )
-                               {
+                               if ( isset( $prop['changed'] ) && !is_null( $row->wl_notificationtimestamp ) ) {
                                        $vals['changed'] = wfTimestamp( TS_ISO_8601, $row->wl_notificationtimestamp );
                                }
                                $fit = $this->getResult()->addValue( $this->getModuleName(), null, $vals );
                                if ( !$fit ) {
-                                       $this->setContinueEnumParameter( 'continue', $row->wl_namespace . '|' .
-                                                                       $this->keyToTitle( $row->wl_title ) );
+                                       $this->setContinueEnumParameter( 'continue', $row->wl_namespace . '|' . $row->wl_title );
                                        break;
                                }
                        } else {
@@ -187,7 +183,8 @@ class ApiQueryWatchlistRaw extends ApiQueryGeneratorBase {
                        ),
                        'show' => 'Only list items that meet these criteria',
                        'owner' => 'The name of the user whose watchlist you\'d like to access',
-                       'token' => 'Give a security token (settable in preferences) to allow access to another user\'s watchlist',
+                       'token' => 'Give a security token (settable in preferences) to allow ' .
+                               'access to another user\'s watchlist',
                        'dir' => 'Direction to sort the titles and namespaces in',
                );
        }
@@ -208,7 +205,7 @@ class ApiQueryWatchlistRaw extends ApiQueryGeneratorBase {
        }
 
        public function getDescription() {
-               return "Get all pages on the logged in user's watchlist";
+               return "Get all pages on the logged in user's watchlist.";
        }
 
        public function getPossibleErrors() {
@@ -216,7 +213,11 @@ class ApiQueryWatchlistRaw extends ApiQueryGeneratorBase {
                        array( 'code' => 'notloggedin', 'info' => 'You must be logged-in to have a watchlist' ),
                        array( 'show' ),
                        array( 'code' => 'bad_wlowner', 'info' => 'Specified user does not exist' ),
-                       array( 'code' => 'bad_wltoken', 'info' => 'Incorrect watchlist token provided -- please set a correct token in Special:Preferences' ),
+                       array(
+                               'code' => 'bad_wltoken',
+                               'info' => 'Incorrect watchlist token provided -- ' .
+                                       'please set a correct token in Special:Preferences'
+                       ),
                ) );
        }
 
@@ -227,7 +228,7 @@ class ApiQueryWatchlistRaw extends ApiQueryGeneratorBase {
                );
        }
 
-       public function getVersion() {
-               return __CLASS__ . ': $Id$';
+       public function getHelpUrls() {
+               return 'https://www.mediawiki.org/wiki/API:Watchlistraw';
        }
 }