aboutsummaryrefslogtreecommitdiffstats
path: root/includes/api
diff options
context:
space:
mode:
Diffstat (limited to 'includes/api')
-rw-r--r--includes/api/ApiQuery.php16
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 );