diff options
Diffstat (limited to 'includes/api')
-rw-r--r-- | includes/api/ApiQuery.php | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/includes/api/ApiQuery.php b/includes/api/ApiQuery.php index b818f49a2dbe..7eff88de99b3 100644 --- a/includes/api/ApiQuery.php +++ b/includes/api/ApiQuery.php @@ -992,6 +992,22 @@ class ApiQuery extends ApiBase { return false; } + public function isWriteMode() { + // Ask each module if it requires write mode. If any require write mode this returns true. + $modules = []; + $this->mParams = $this->extractRequestParams(); + $this->instantiateModules( $modules, 'list' ); + $this->instantiateModules( $modules, 'meta' ); + $this->instantiateModules( $modules, 'prop' ); + foreach ( $modules as $module ) { + if ( $module->isWriteMode() ) { + return true; + } + } + + return false; + } + protected function getExamplesMessages() { $title = Title::newMainPage()->getPrefixedText(); $mp = rawurlencode( $title ); |