API: Add ApiDisabled and ApiQueryDisabled classes so individual modules can be disabled by putting $wgAPIModules['foo'] = 'ApiDisabled'; in LocalSettings.php
This commit is contained in:
parent
3b86e96992
commit
008b4f7d0f
4 changed files with 148 additions and 0 deletions
|
|
@ -277,6 +277,8 @@ The following extensions are migrated into MediaWiki 1.14:
|
|||
rather than causing an exception
|
||||
* Added uiprop=preferencestoken to meta=userinfo
|
||||
* (bug 15609) Add inprop=url and inprop=readable to prop=info
|
||||
* Add ApiDisabled and ApiQueryDisabled classes so individual modules can
|
||||
be disabled in LocalSettings.php
|
||||
|
||||
=== Languages updated in 1.14 ===
|
||||
|
||||
|
|
|
|||
|
|
@ -217,6 +217,7 @@ $wgAutoloadLocalClasses = array(
|
|||
'ApiBase' => 'includes/api/ApiBase.php',
|
||||
'ApiBlock' => 'includes/api/ApiBlock.php',
|
||||
'ApiDelete' => 'includes/api/ApiDelete.php',
|
||||
'ApiDisabled' => 'includes/api/ApiDisabled.php',
|
||||
'ApiEditPage' => 'includes/api/ApiEditPage.php',
|
||||
'ApiEmailUser' => 'includes/api/ApiEmailUser.php',
|
||||
'ApiExpandTemplates' => 'includes/api/ApiExpandTemplates.php',
|
||||
|
|
@ -257,6 +258,7 @@ $wgAutoloadLocalClasses = array(
|
|||
'ApiQueryCategoryMembers' => 'includes/api/ApiQueryCategoryMembers.php',
|
||||
'ApiQueryContributions' => 'includes/api/ApiQueryUserContributions.php',
|
||||
'ApiQueryDeletedrevs' => 'includes/api/ApiQueryDeletedrevs.php',
|
||||
'ApiQueryDisabled' => 'includes/api/ApiQueryDisabled.php',
|
||||
'ApiQueryExtLinksUsage' => 'includes/api/ApiQueryExtLinksUsage.php',
|
||||
'ApiQueryExternalLinks' => 'includes/api/ApiQueryExternalLinks.php',
|
||||
'ApiQueryGeneratorBase' => 'includes/api/ApiQueryBase.php',
|
||||
|
|
|
|||
72
includes/api/ApiDisabled.php
Normal file
72
includes/api/ApiDisabled.php
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* Created on Sep 25, 2008
|
||||
* API for MediaWiki 1.8+
|
||||
*
|
||||
* Copyright (C) 2008 Roan Kattouw <Firstname>.<Lastname>@home.nl
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
* http://www.gnu.org/copyleft/gpl.html
|
||||
*/
|
||||
|
||||
if (!defined('MEDIAWIKI')) {
|
||||
// Eclipse helper - will be ignored in production
|
||||
require_once ("ApiBase.php");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* API module that dies with an error immediately.
|
||||
*
|
||||
* Use this to disable core modules with
|
||||
* $wgAPIModules['modulename'] = 'ApiDisabled';
|
||||
*
|
||||
* To disable submodules of action=query, use ApiQueryDisabled instead
|
||||
*
|
||||
* @ingroup API
|
||||
*/
|
||||
class ApiDisabled extends ApiBase {
|
||||
|
||||
public function __construct($main, $action) {
|
||||
parent :: __construct($main, $action);
|
||||
}
|
||||
|
||||
public function execute() {
|
||||
$this->dieUsage("The ``{$this->getModuleName()}'' module has been disabled.", 'moduledisabled');
|
||||
}
|
||||
|
||||
public function getAllowedParams() {
|
||||
return array ();
|
||||
}
|
||||
|
||||
public function getParamDescription() {
|
||||
return array ();
|
||||
}
|
||||
|
||||
public function getDescription() {
|
||||
return array(
|
||||
'This module has been disabled.'
|
||||
);
|
||||
}
|
||||
|
||||
protected function getExamples() {
|
||||
return array ();
|
||||
}
|
||||
|
||||
public function getVersion() {
|
||||
return __CLASS__ . ': $Id$';
|
||||
}
|
||||
}
|
||||
72
includes/api/ApiQueryDisabled.php
Normal file
72
includes/api/ApiQueryDisabled.php
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* Created on Sep 25, 2008
|
||||
* API for MediaWiki 1.8+
|
||||
*
|
||||
* Copyright (C) 2008 Roan Kattouw <Firstname>.<Lastname>@home.nl
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
* http://www.gnu.org/copyleft/gpl.html
|
||||
*/
|
||||
|
||||
if (!defined('MEDIAWIKI')) {
|
||||
// Eclipse helper - will be ignored in production
|
||||
require_once ("ApiBase.php");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* API module that does nothing
|
||||
*
|
||||
* Use this to disable core modules with e.g.
|
||||
* $wgAPIPropModules['modulename'] = 'ApiQueryDisabled';
|
||||
*
|
||||
* To disable top-level modules, use ApiDisabled instead
|
||||
*
|
||||
* @ingroup API
|
||||
*/
|
||||
class ApiQueryDisabled extends ApiQueryBase {
|
||||
|
||||
public function __construct($main, $action) {
|
||||
parent :: __construct($main, $action);
|
||||
}
|
||||
|
||||
public function execute() {
|
||||
$this->setWarning("The ``{$this->getModuleName()}'' module has been disabled.");
|
||||
}
|
||||
|
||||
public function getAllowedParams() {
|
||||
return array ();
|
||||
}
|
||||
|
||||
public function getParamDescription() {
|
||||
return array ();
|
||||
}
|
||||
|
||||
public function getDescription() {
|
||||
return array(
|
||||
'This module has been disabled.'
|
||||
);
|
||||
}
|
||||
|
||||
protected function getExamples() {
|
||||
return array ();
|
||||
}
|
||||
|
||||
public function getVersion() {
|
||||
return __CLASS__ . ': $Id$';
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue