API: Redo r62540 for all modules, easier than I first imagined
authorRoan Kattouw <catrope@users.mediawiki.org>
Mon, 15 Feb 2010 20:42:43 +0000 (20:42 +0000)
committerRoan Kattouw <catrope@users.mediawiki.org>
Mon, 15 Feb 2010 20:42:43 +0000 (20:42 +0000)
includes/api/ApiMain.php
includes/api/ApiOpenSearch.php

index 55de405..ac782b3 100644 (file)
@@ -432,8 +432,8 @@ class ApiMain extends ApiBase {
                        }
                }
 
-               global $wgUser;
-               if ( $module->isReadMode() && !$wgUser->isAllowed( 'read' ) )
+               global $wgUser, $wgGroupPermissions;
+               if ( $module->isReadMode() && !$wgGroupPermissions['*']['read'] && !$wgUser->isAllowed( 'read' ) )
                        $this->dieUsageMsg( array( 'readrequired' ) );
                if ( $module->isWriteMode() ) {
                        if ( !$this->mEnableWrite )
index e11d7e6..567f36b 100644 (file)
@@ -42,15 +42,15 @@ class ApiOpenSearch extends ApiBase {
        }
 
        public function execute() {
-               global $wgEnableOpenSearchSuggest, $wgSearchSuggestCacheExpiry, $wgGroupPermissions, $wgUser;
+               global $wgEnableOpenSearchSuggest, $wgSearchSuggestCacheExpiry;
                $params = $this->extractRequestParams();
                $search = $params['search'];
                $limit = $params['limit'];
                $namespaces = $params['namespace'];
                $suggest = $params['suggest'];
 
-               // MWSuggest or similar hit, or hit without read rights
-               if ( ( $suggest && !$wgEnableOpenSearchSuggest ) || ( !$wgGroupPermissions['*']['read'] && !$wgUser->isAllowed( 'read' ) ) )
+               // MWSuggest or similar hit
+               if ( $suggest && !$wgEnableOpenSearchSuggest )
                        $srchres = array();
                else {
                        // Open search results may be stored for a very long
@@ -108,8 +108,4 @@ class ApiOpenSearch extends ApiBase {
        public function getVersion() {
                return __CLASS__ . ': $Id$';
        }
-
-       public function isReadMode() {
-               return false;
-       }
 }