Merge "Remove negative caching from Revision::getContentInternal"
[lhc/web/wiklou.git] / includes / api / ApiMove.php
index 2cfc251..db0fde3 100644 (file)
@@ -134,8 +134,10 @@ class ApiMove extends ApiBase {
                        $watch = $params['watchlist'];
                } elseif ( $params['watch'] ) {
                        $watch = 'watch';
+                       $this->logFeatureUsage( 'action=move&watch' );
                } elseif ( $params['unwatch'] ) {
                        $watch = 'unwatch';
+                       $this->logFeatureUsage( 'action=move&unwatch' );
                }
 
                // Watch pages
@@ -193,10 +195,6 @@ class ApiMove extends ApiBase {
                                ApiBase::PARAM_TYPE => 'string',
                                ApiBase::PARAM_REQUIRED => true
                        ),
-                       'token' => array(
-                               ApiBase::PARAM_TYPE => 'string',
-                               ApiBase::PARAM_REQUIRED => true
-                       ),
                        'reason' => '',
                        'movetalk' => false,
                        'movesubpages' => false,
@@ -222,84 +220,15 @@ class ApiMove extends ApiBase {
                );
        }
 
-       public function getParamDescription() {
-               $p = $this->getModulePrefix();
-
-               return array(
-                       'from' => "Title of the page you want to move. Cannot be used together with {$p}fromid",
-                       'fromid' => "Page ID of the page you want to move. Cannot be used together with {$p}from",
-                       'to' => 'Title you want to rename the page to',
-                       'token' => 'A move token previously retrieved through prop=info',
-                       'reason' => 'Reason for the move',
-                       'movetalk' => 'Move the talk page, if it exists',
-                       'movesubpages' => 'Move subpages, if applicable',
-                       'noredirect' => 'Don\'t create a redirect',
-                       'watch' => 'Add the page and the redirect to your watchlist',
-                       'unwatch' => 'Remove the page and the redirect from your watchlist',
-                       'watchlist' => 'Unconditionally add or remove the page from your ' .
-                               'watchlist, use preferences or do not change watch',
-                       'ignorewarnings' => 'Ignore any warnings'
-               );
-       }
-
-       public function getResultProperties() {
-               return array(
-                       '' => array(
-                               'from' => 'string',
-                               'to' => 'string',
-                               'reason' => 'string',
-                               'redirectcreated' => 'boolean',
-                               'moveoverredirect' => 'boolean',
-                               'talkfrom' => array(
-                                       ApiBase::PROP_TYPE => 'string',
-                                       ApiBase::PROP_NULLABLE => true
-                               ),
-                               'talkto' => array(
-                                       ApiBase::PROP_TYPE => 'string',
-                                       ApiBase::PROP_NULLABLE => true
-                               ),
-                               'talkmoveoverredirect' => 'boolean',
-                               'talkmove-error-code' => array(
-                                       ApiBase::PROP_TYPE => 'string',
-                                       ApiBase::PROP_NULLABLE => true
-                               ),
-                               'talkmove-error-info' => array(
-                                       ApiBase::PROP_TYPE => 'string',
-                                       ApiBase::PROP_NULLABLE => true
-                               )
-                       )
-               );
-       }
-
-       public function getDescription() {
-               return 'Move a page.';
-       }
-
-       public function getPossibleErrors() {
-               return array_merge( parent::getPossibleErrors(),
-                       $this->getRequireOnlyOneParameterErrorMessages( array( 'from', 'fromid' ) ),
-                       array(
-                               array( 'invalidtitle', 'from' ),
-                               array( 'nosuchpageid', 'fromid' ),
-                               array( 'notanarticle' ),
-                               array( 'invalidtitle', 'to' ),
-                               array( 'sharedfile-exists' ),
-                       )
-               );
-       }
-
        public function needsToken() {
-               return true;
-       }
-
-       public function getTokenSalt() {
-               return '';
+               return 'csrf';
        }
 
-       public function getExamples() {
+       public function getExamplesMessages() {
                return array(
-                       'api.php?action=move&from=Badtitle&to=Goodtitle&token=123ABC&' .
+                       'action=move&from=Badtitle&to=Goodtitle&token=123ABC&' .
                                'reason=Misspelled%20title&movetalk=&noredirect='
+                               => 'apihelp-move-example-move',
                );
        }