Merge "Remove extra unneeded whitespace"
[lhc/web/wiklou.git] / includes / api / ApiMain.php
index fd6a7fb..7414a97 100644 (file)
@@ -61,6 +61,7 @@ class ApiMain extends ApiBase {
                'paraminfo' => 'ApiParamInfo',
                'rsd' => 'ApiRsd',
                'compare' => 'ApiComparePages',
+               'tokens' => 'ApiTokens',
 
                // Write modules
                'purge' => 'ApiPurge',
@@ -79,6 +80,7 @@ class ApiMain extends ApiBase {
                'patrol' => 'ApiPatrol',
                'import' => 'ApiImport',
                'userrights' => 'ApiUserrights',
+               'options' => 'ApiOptions',
        );
 
        /**
@@ -286,6 +288,7 @@ class ApiMain extends ApiBase {
         * $this->setCacheMode('private')
         */
        public function setCachePrivate() {
+               wfDeprecated( __METHOD__, '1.17' );
                $this->setCacheMode( 'private' );
        }
 
@@ -314,6 +317,7 @@ class ApiMain extends ApiBase {
         * @deprecated since 1.17 Use setCacheMode( 'anon-public-user-private' )
         */
        public function setVaryCookie() {
+               wfDeprecated( __METHOD__, '1.17' );
                $this->setCacheMode( 'anon-public-user-private' );
        }
 
@@ -358,7 +362,7 @@ class ApiMain extends ApiBase {
                        $this->executeAction();
                } catch ( Exception $e ) {
                        // Log it
-                       if ( $e instanceof MWException ) {
+                       if ( !( $e instanceof UsageException ) ) {
                                wfDebugLog( 'exception', $e->getLogMessage() );
                        }
 
@@ -592,12 +596,18 @@ class ApiMain extends ApiBase {
                $moduleParams = $module->extractRequestParams();
 
                // Die if token required, but not provided (unless there is a gettoken parameter)
+               if ( isset( $moduleParams['gettoken'] ) ) {
+                       $gettoken = $moduleParams['gettoken'];
+               } else {
+                       $gettoken = false;
+               }
+
                $salt = $module->getTokenSalt();
-               if ( $salt !== false && !isset( $moduleParams['gettoken'] ) ) {
+               if ( $salt !== false && !$gettoken ) {
                        if ( !isset( $moduleParams['token'] ) ) {
                                $this->dieUsageMsg( array( 'missingparam', 'token' ) );
                        } else {
-                               if ( !$this->getUser()->matchEditToken( $moduleParams['token'], $salt, $this->getRequest() ) ) {
+                               if ( !$this->getUser()->matchEditToken( $moduleParams['token'], $salt ) ) {
                                        $this->dieUsageMsg( 'sessionfailure' );
                                }
                        }
@@ -705,6 +715,9 @@ class ApiMain extends ApiBase {
                $module->profileOut();
 
                if ( !$this->mInternalMode ) {
+                       //append Debug information
+                       MWDebug::appendDebugInfoToApiResult( $this->getContext(), $this->getResult() );
+
                        // Print result data
                        $this->printResult( false );
                }
@@ -812,8 +825,8 @@ class ApiMain extends ApiBase {
                        '**                                                                                                      **',
                        '**                      This is an auto-generated MediaWiki API documentation page                      **',
                        '**                                                                                                      **',
-                       '**                                    Documentation and Examples:                                       **',
-                       '**                                 https://www.mediawiki.org/wiki/API                                    **',
+                       '**                                     Documentation and Examples:                                      **',
+                       '**                                  https://www.mediawiki.org/wiki/API                                  **',
                        '**                                                                                                      **',
                        '**********************************************************************************************************',
                        '',
@@ -1053,7 +1066,7 @@ class ApiMain extends ApiBase {
  *
  * @ingroup API
  */
-class UsageException extends Exception {
+class UsageException extends MWException {
 
        private $mCodestr;
        private $mExtraData;