Cater for some more errors in ApiBase.php
authorSam Reed <reedy@users.mediawiki.org>
Thu, 11 Feb 2010 22:28:30 +0000 (22:28 +0000)
committerSam Reed <reedy@users.mediawiki.org>
Thu, 11 Feb 2010 22:28:30 +0000 (22:28 +0000)
includes/api/ApiBase.php

index 434f805..cd30412 100644 (file)
@@ -970,10 +970,18 @@ abstract class ApiBase {
        * @return array in the format of array( key, param1, param2, ... ) or array( 'code' => ..., 'info' => ... )
        */
        public function getPossibleErrors() {
-               $ret = array( array( 'readrequired' ) );
+               $ret = array();
                
                if ( $this->mustBePosted() ) {
-                       $ret = array_merge( $ret, array( array ('mustbeposted', $this->getModuleName() ) ) );
+                       $ret = array_merge( $ret, array( array ( 'mustbeposted', $this->getModuleName() ) ) );
+               }
+               
+               if ( $this->isReadMode() ) {
+                       $ret = array_merge( $ret, array( array ( 'readrequired' ) ) );
+               }
+               
+               if ( $this->isWriteMode() ) {
+                       $ret = array_merge( $ret, array( array ( 'writerequired' ), array( 'writedisabled' ) ) );
                }
                
                return $ret;