* API: Allow for query extensions
authorYuri Astrakhan <yurik@users.mediawiki.org>
Tue, 15 May 2007 03:35:32 +0000 (03:35 +0000)
committerYuri Astrakhan <yurik@users.mediawiki.org>
Tue, 15 May 2007 03:35:32 +0000 (03:35 +0000)
* API: User contrib query now uses 'contributions' db group

includes/api/ApiQuery.php
includes/api/ApiQueryUserContributions.php

index 7a7c938..0aecc12 100644 (file)
@@ -75,6 +75,26 @@ class ApiQuery extends ApiBase {
 
        public function __construct($main, $action) {
                parent :: __construct($main, $action);
+
+               // Allow custom modules to be added in LocalSettings.php                
+               global $wgApiQueryPropModules, $wgApiQueryListModules, $wgApiQueryMetaModules;
+
+               if (is_array( $wgApiQueryPropModules )) {
+                       foreach ( $wgApiQueryPropModules as $moduleName => $moduleClass) {
+                               $this->mQueryPropModules[$moduleName] = $moduleClass;
+                       }
+               }
+               if (is_array( $wgApiQueryListModules )) {
+                       foreach ( $wgApiQueryListModules as $moduleName => $moduleClass) {
+                               $this->mQueryListModules[$moduleName] = $moduleClass;
+                       }
+               }
+               if (is_array( $wgApiQueryMetaModules )) {
+                       foreach ( $wgApiQueryMetaModules as $moduleName => $moduleClass) {
+                               $this->mQueryMetaModules[$moduleName] = $moduleClass;
+                       }
+               }
+
                $this->mPropModuleNames = array_keys($this->mQueryPropModules);
                $this->mListModuleNames = array_keys($this->mQueryListModules);
                $this->mMetaModuleNames = array_keys($this->mQueryMetaModules);
index 6f99b9d..8fce76c 100644 (file)
@@ -39,6 +39,8 @@ class ApiQueryContributions extends ApiQueryBase {
 
        public function execute() {
 
+               $this->selectNamedDB('contributions', DB_SLAVE, 'contributions');
+
                //Blank all our variables
                $limit = $user = $start = $end = $dir = null;