http://www.mediawiki.org/wiki/Special:Code/MediaWiki/74098

Revision: 74098
Author:   reedy
Date:     2010-10-01 20:12:50 +0000 (Fri, 01 Oct 2010)

Log Message:
-----------
* (bug 25248) API: paraminfo errors with certain modules

Added a needsToken() function, rather than calling getTokenSalt, which can 
throw silly errors due to dependencies on parameters

Modified Paths:
--------------
    trunk/phase3/RELEASE-NOTES
    trunk/phase3/includes/api/ApiBase.php
    trunk/phase3/includes/api/ApiBlock.php
    trunk/phase3/includes/api/ApiDelete.php
    trunk/phase3/includes/api/ApiEditPage.php
    trunk/phase3/includes/api/ApiEmailUser.php
    trunk/phase3/includes/api/ApiImport.php
    trunk/phase3/includes/api/ApiMove.php
    trunk/phase3/includes/api/ApiPatrol.php
    trunk/phase3/includes/api/ApiProtect.php
    trunk/phase3/includes/api/ApiRollback.php
    trunk/phase3/includes/api/ApiUnblock.php
    trunk/phase3/includes/api/ApiUndelete.php
    trunk/phase3/includes/api/ApiUpload.php
    trunk/phase3/includes/api/ApiUserrights.php

Modified: trunk/phase3/RELEASE-NOTES
===================================================================
--- trunk/phase3/RELEASE-NOTES  2010-10-01 19:49:29 UTC (rev 74097)
+++ trunk/phase3/RELEASE-NOTES  2010-10-01 20:12:50 UTC (rev 74098)
@@ -421,6 +421,7 @@
   $wgAllowAsyncCopyUploads to be true.
 * sinumberingroup correctly gives size of 'user' group, and omits size of
   implicit groups rather than showing 0.
+* (bug 25248) API: paraminfo errors with certain modules
 
 === Languages updated in 1.17 ===
 

Modified: trunk/phase3/includes/api/ApiBase.php
===================================================================
--- trunk/phase3/includes/api/ApiBase.php       2010-10-01 19:49:29 UTC (rev 
74097)
+++ trunk/phase3/includes/api/ApiBase.php       2010-10-01 20:12:50 UTC (rev 
74098)
@@ -1094,6 +1094,14 @@
        }
 
        /**
+        * Returns whether this module requires a Token to execute
+        * @returns bool
+        */
+       public function needsToken() {
+               return false;
+       }
+
+       /**
         * Returns the token salt if there is one, '' if the module doesn't 
require a salt, else false if the module doesn't need a token
         * @returns bool
         */
@@ -1155,7 +1163,7 @@
                        $ret[] = array( 'writedisabled' );
                }
 
-               if ( $this->getTokenSalt() !== false ) {
+               if ( $this->needsToken() ) {
                        $ret[] = array( 'missingparam', 'token' );
                        $ret[] = array( 'sessionfailure' );
                }

Modified: trunk/phase3/includes/api/ApiBlock.php
===================================================================
--- trunk/phase3/includes/api/ApiBlock.php      2010-10-01 19:49:29 UTC (rev 
74097)
+++ trunk/phase3/includes/api/ApiBlock.php      2010-10-01 20:12:50 UTC (rev 
74098)
@@ -183,6 +183,10 @@
                ) );
        }
 
+       public function needsToken() {
+               return true;
+       }
+
        public function getTokenSalt() {
                return '';
        }

Modified: trunk/phase3/includes/api/ApiDelete.php
===================================================================
--- trunk/phase3/includes/api/ApiDelete.php     2010-10-01 19:49:29 UTC (rev 
74097)
+++ trunk/phase3/includes/api/ApiDelete.php     2010-10-01 20:12:50 UTC (rev 
74098)
@@ -246,6 +246,10 @@
                ) );
        }
 
+       public function needsToken() {
+               return true;
+       }
+
        public function getTokenSalt() {
                return '';
        }

Modified: trunk/phase3/includes/api/ApiEditPage.php
===================================================================
--- trunk/phase3/includes/api/ApiEditPage.php   2010-10-01 19:49:29 UTC (rev 
74097)
+++ trunk/phase3/includes/api/ApiEditPage.php   2010-10-01 20:12:50 UTC (rev 
74098)
@@ -481,6 +481,10 @@
                );
        }
 
+       public function needsToken() {
+               return true;
+       }
+
        public function getTokenSalt() {
                return '';
        }

Modified: trunk/phase3/includes/api/ApiEmailUser.php
===================================================================
--- trunk/phase3/includes/api/ApiEmailUser.php  2010-10-01 19:49:29 UTC (rev 
74097)
+++ trunk/phase3/includes/api/ApiEmailUser.php  2010-10-01 20:12:50 UTC (rev 
74098)
@@ -119,6 +119,10 @@
                ) );
        }
 
+       public function needsToken() {
+               return true;
+       }
+
        public function getTokenSalt() {
                return '';
        }

Modified: trunk/phase3/includes/api/ApiImport.php
===================================================================
--- trunk/phase3/includes/api/ApiImport.php     2010-10-01 19:49:29 UTC (rev 
74097)
+++ trunk/phase3/includes/api/ApiImport.php     2010-10-01 20:12:50 UTC (rev 
74098)
@@ -154,6 +154,10 @@
                ) );
        }
 
+       public function needsToken() {
+               return true;
+       }
+
        public function getTokenSalt() {
                return '';
        }

Modified: trunk/phase3/includes/api/ApiMove.php
===================================================================
--- trunk/phase3/includes/api/ApiMove.php       2010-10-01 19:49:29 UTC (rev 
74097)
+++ trunk/phase3/includes/api/ApiMove.php       2010-10-01 20:12:50 UTC (rev 
74098)
@@ -233,6 +233,10 @@
                ) );
        }
 
+               public function needsToken() {
+               return true;
+       }
+
        public function getTokenSalt() {
                return '';
        }

Modified: trunk/phase3/includes/api/ApiPatrol.php
===================================================================
--- trunk/phase3/includes/api/ApiPatrol.php     2010-10-01 19:49:29 UTC (rev 
74097)
+++ trunk/phase3/includes/api/ApiPatrol.php     2010-10-01 20:12:50 UTC (rev 
74098)
@@ -90,6 +90,10 @@
                ) );
        }
 
+       public function needsToken() {
+               return true;
+       }
+
        public function getTokenSalt() {
                return '';
        }

Modified: trunk/phase3/includes/api/ApiProtect.php
===================================================================
--- trunk/phase3/includes/api/ApiProtect.php    2010-10-01 19:49:29 UTC (rev 
74097)
+++ trunk/phase3/includes/api/ApiProtect.php    2010-10-01 20:12:50 UTC (rev 
74098)
@@ -207,8 +207,12 @@
                ) );
        }
 
+       public function needsToken() {
+               return true;
+       }
+
        public function getTokenSalt() {
-               return null;
+               return '';
        }
 
        protected function getExamples() {

Modified: trunk/phase3/includes/api/ApiRollback.php
===================================================================
--- trunk/phase3/includes/api/ApiRollback.php   2010-10-01 19:49:29 UTC (rev 
74097)
+++ trunk/phase3/includes/api/ApiRollback.php   2010-10-01 20:12:50 UTC (rev 
74098)
@@ -128,6 +128,10 @@
                ) );
        }
 
+       public function needsToken() {
+               return true;
+       }
+
        public function getTokenSalt() {
                return array( $this->getTitle()->getPrefixedText(), 
$this->getUser() );
        }

Modified: trunk/phase3/includes/api/ApiUnblock.php
===================================================================
--- trunk/phase3/includes/api/ApiUnblock.php    2010-10-01 19:49:29 UTC (rev 
74097)
+++ trunk/phase3/includes/api/ApiUnblock.php    2010-10-01 20:12:50 UTC (rev 
74098)
@@ -129,6 +129,10 @@
                ) );
        }
 
+       public function needsToken() {
+               return true;
+       }
+
        public function getTokenSalt() {
                return '';
        }

Modified: trunk/phase3/includes/api/ApiUndelete.php
===================================================================
--- trunk/phase3/includes/api/ApiUndelete.php   2010-10-01 19:49:29 UTC (rev 
74097)
+++ trunk/phase3/includes/api/ApiUndelete.php   2010-10-01 20:12:50 UTC (rev 
74098)
@@ -143,6 +143,10 @@
                ) );
        }
 
+       public function needsToken() {
+               return true;
+       }
+
        public function getTokenSalt() {
                return '';
        }

Modified: trunk/phase3/includes/api/ApiUpload.php
===================================================================
--- trunk/phase3/includes/api/ApiUpload.php     2010-10-01 19:49:29 UTC (rev 
74097)
+++ trunk/phase3/includes/api/ApiUpload.php     2010-10-01 20:12:50 UTC (rev 
74098)
@@ -459,6 +459,10 @@
                ) );
        }
 
+       public function needsToken() {
+               return true;
+       }
+
        public function getTokenSalt() {
                return '';
        }

Modified: trunk/phase3/includes/api/ApiUserrights.php
===================================================================
--- trunk/phase3/includes/api/ApiUserrights.php 2010-10-01 19:49:29 UTC (rev 
74097)
+++ trunk/phase3/includes/api/ApiUserrights.php 2010-10-01 20:12:50 UTC (rev 
74098)
@@ -125,6 +125,10 @@
                return parent::getPossibleErrors();
        }
 
+       public function needsToken() {
+               return true;
+       }
+
        public function getTokenSalt() {
                return $this->getUser()->getName();
        }



_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to