Allow API modules to be disabled in configuration. To replace WMF live hack (see...
authorTim Starling <tstarling@users.mediawiki.org>
Wed, 22 Sep 2010 08:14:19 +0000 (08:14 +0000)
committerTim Starling <tstarling@users.mediawiki.org>
Wed, 22 Sep 2010 08:14:19 +0000 (08:14 +0000)
RELEASE-NOTES
includes/DefaultSettings.php
includes/api/ApiMain.php

index 6a4c143..61bebd5 100644 (file)
@@ -160,6 +160,7 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * Added new hook GetIP
 * (bug 16574) Allow administrators to temporarily disable the account creation
   limit for IP addresses: [[MediaWiki:Ratelimit-excluded-ips]]
+* API modules can be disabled in configuration using $wgAPIDisabledActions.
 
 === Bug fixes in 1.17 ===
 * (bug 17560) Half-broken deletion moved image files to deletion archive
index 65276e9..464e5d7 100644 (file)
@@ -4832,6 +4832,13 @@ $wgAPIMetaModules = array();
 $wgAPIPropModules = array();
 $wgAPIListModules = array();
 
+/**
+ * Disabled API actions. To disable an API action, add its name here, for 
+ * example:
+ *    $wgAPIDisabledActions[] = 'parse';
+ */
+$wgAPIDisabledActions = array();
+
 /**
  * Maximum amount of rows to scan in a DB query in the API
  * The default value is generally fine
index d837f45..e227a06 100644 (file)
@@ -158,6 +158,11 @@ class ApiMain extends ApiBase {
                global $wgAPIModules; // extension modules
                $this->mModules = $wgAPIModules + self::$Modules;
 
+               global $wgAPIDisabledActions;
+               foreach ( $wgAPIDisabledActions as $action ) {
+                       unset( $this->mModules[$action] );
+               }
+
                $this->mModuleNames = array_keys( $this->mModules );
                $this->mFormats = self::$Formats;
                $this->mFormatNames = array_keys( $this->mFormats );