From e48ecbc524702768ee2c226914eef8b7a339d2e5 Mon Sep 17 00:00:00 2001 From: Reedy Date: Fri, 24 Jan 2014 02:51:11 +0000 Subject: [PATCH] Switch API to use Config classes Only done where globals are config (so not $wgParser, $wgContLang etc) Change-Id: Ic39cdd858cfb9096a2bc09618f97e64270d76f13 --- includes/api/ApiBase.php | 4 +- includes/api/ApiCreateAccount.php | 10 +- includes/api/ApiEditPage.php | 7 +- includes/api/ApiFeedContributions.php | 23 ++-- includes/api/ApiFeedRecentChanges.php | 15 +-- includes/api/ApiFeedWatchlist.php | 23 ++-- includes/api/ApiFormatBase.php | 6 +- includes/api/ApiImport.php | 4 +- includes/api/ApiLogin.php | 9 +- includes/api/ApiMain.php | 56 ++++----- includes/api/ApiOpenSearch.php | 9 +- includes/api/ApiParse.php | 4 +- includes/api/ApiProtect.php | 3 +- includes/api/ApiPurge.php | 7 +- includes/api/ApiQuery.php | 8 +- includes/api/ApiQueryAllImages.php | 3 +- includes/api/ApiQueryAllMessages.php | 3 +- includes/api/ApiQueryAllPages.php | 4 +- includes/api/ApiQueryAllUsers.php | 7 +- includes/api/ApiQueryBase.php | 3 +- includes/api/ApiQueryBlocks.php | 16 +-- includes/api/ApiQueryCategoryMembers.php | 6 +- includes/api/ApiQueryExtLinksUsage.php | 6 +- includes/api/ApiQueryImageInfo.php | 4 +- includes/api/ApiQueryInfo.php | 22 ++-- includes/api/ApiQueryLogEvents.php | 20 ++-- includes/api/ApiQueryProtectedTitles.php | 8 +- includes/api/ApiQueryQueryPage.php | 8 +- includes/api/ApiQueryRecentChanges.php | 3 +- includes/api/ApiQueryRevisions.php | 3 +- includes/api/ApiQuerySearch.php | 4 +- includes/api/ApiQuerySiteinfo.php | 132 ++++++++++----------- includes/api/ApiQueryUserContributions.php | 4 +- includes/api/ApiQueryUserInfo.php | 6 +- includes/api/ApiQueryWatchlist.php | 4 +- includes/api/ApiResult.php | 7 +- includes/api/ApiUpload.php | 11 +- 37 files changed, 202 insertions(+), 270 deletions(-) diff --git a/includes/api/ApiBase.php b/includes/api/ApiBase.php index 0313141b15..25a1714b6e 100644 --- a/includes/api/ApiBase.php +++ b/includes/api/ApiBase.php @@ -1965,15 +1965,13 @@ abstract class ApiBase extends ContextSource { * @since 1.21 */ public function dieUsageMsgOrDebug( $error ) { - global $wgDebugAPI; - if ( $wgDebugAPI !== true ) { + if ( $this->getConfig()->get( 'DebugAPI' ) !== true ) { $this->dieUsageMsg( $error ); } if ( is_string( $error ) ) { $error = array( $error ); } - $parsed = $this->parseMsg( $error ); $this->setWarning( '$wgDebugAPI: ' . $parsed['code'] . ' - ' . $parsed['info'] ); } diff --git a/includes/api/ApiCreateAccount.php b/includes/api/ApiCreateAccount.php index be8286c0bf..35bba174c3 100644 --- a/includes/api/ApiCreateAccount.php +++ b/includes/api/ApiCreateAccount.php @@ -90,7 +90,6 @@ class ApiCreateAccount extends ApiBase { $result = array(); if ( $status->isGood() ) { // Success! - global $wgEmailAuthentication; $user = $status->getValue(); if ( $params['language'] ) { @@ -106,7 +105,7 @@ class ApiCreateAccount extends ApiBase { 'createaccount-title', 'createaccount-text' ) ); - } elseif ( $wgEmailAuthentication && Sanitizer::validateEmail( $user->getEmail() ) ) { + } elseif ( $this->getConfig()->get( 'EmailAuthentication' ) && Sanitizer::validateEmail( $user->getEmail() ) ) { // Send out an email authentication message if needed $status->merge( $user->sendConfirmationMail() ); } @@ -183,8 +182,6 @@ class ApiCreateAccount extends ApiBase { } public function getAllowedParams() { - global $wgEmailConfirmToEdit; - return array( 'name' => array( ApiBase::PARAM_TYPE => 'user', @@ -195,7 +192,7 @@ class ApiCreateAccount extends ApiBase { 'token' => null, 'email' => array( ApiBase::PARAM_TYPE => 'string', - ApiBase::PARAM_REQUIRED => $wgEmailConfirmToEdit + ApiBase::PARAM_REQUIRED => $this->getConfig()->get( 'EmailConfirmToEdit' ), ), 'realname' => null, 'mailpassword' => array( @@ -293,10 +290,9 @@ class ApiCreateAccount extends ApiBase { ); // 'passwordtooshort' has parameters. :( - global $wgMinimalPasswordLength; $errors[] = array( 'code' => 'passwordtooshort', - 'info' => wfMessage( 'passwordtooshort', $wgMinimalPasswordLength ) + 'info' => wfMessage( 'passwordtooshort', $this->getConfig()->get( 'MinimalPasswordLength' ) ) ->inLanguage( 'en' )->useDatabase( false )->parse() ); diff --git a/includes/api/ApiEditPage.php b/includes/api/ApiEditPage.php index cb0f8c2291..884306a299 100644 --- a/includes/api/ApiEditPage.php +++ b/includes/api/ApiEditPage.php @@ -399,7 +399,6 @@ class ApiEditPage extends ApiBase { $status = $ep->internalAttemptSave( $result, $user->isAllowed( 'bot' ) && $params['bot'] ); $wgRequest = $oldRequest; - global $wgMaxArticleSize; switch ( $status->value ) { case EditPage::AS_HOOK_ERROR: @@ -423,7 +422,7 @@ class ApiEditPage extends ApiBase { case EditPage::AS_MAX_ARTICLE_SIZE_EXCEEDED: case EditPage::AS_CONTENT_TOO_BIG: - $this->dieUsageMsg( array( 'contenttoobig', $wgMaxArticleSize ) ); + $this->dieUsageMsg( array( 'contenttoobig', $this->getConfig()->get( 'MaxArticleSize' ) ) ); case EditPage::AS_READ_ONLY_PAGE_ANON: $this->dieUsageMsg( 'noedit-anon' ); @@ -499,8 +498,6 @@ class ApiEditPage extends ApiBase { } public function getPossibleErrors() { - global $wgMaxArticleSize; - return array_merge( parent::getPossibleErrors(), $this->getTitleOrPageIdErrorMessage(), array( @@ -519,7 +516,7 @@ class ApiEditPage extends ApiBase { array( 'spamdetected', 'spam' ), array( 'summaryrequired' ), array( 'blockedtext' ), - array( 'contenttoobig', $wgMaxArticleSize ), + array( 'contenttoobig', $this->getConfig()->get( 'MaxArticleSize' ) ), array( 'noedit-anon' ), array( 'noedit' ), array( 'actionthrottledtext' ), diff --git a/includes/api/ApiFeedContributions.php b/includes/api/ApiFeedContributions.php index afd5a1320c..3392a5c2ed 100644 --- a/includes/api/ApiFeedContributions.php +++ b/includes/api/ApiFeedContributions.php @@ -41,30 +41,29 @@ class ApiFeedContributions extends ApiBase { public function execute() { $params = $this->extractRequestParams(); - global $wgFeed, $wgFeedClasses, $wgFeedLimit, $wgSitename, $wgLanguageCode; - - if ( !$wgFeed ) { + $config = $this->getConfig(); + if ( !$config->get( 'Feed' ) ) { $this->dieUsage( 'Syndication feeds are not available', 'feed-unavailable' ); } - if ( !isset( $wgFeedClasses[$params['feedformat']] ) ) { + $feedClasses = $config->get( 'FeedClasses' ); + if ( !isset( $feedClasses[$params['feedformat']] ) ) { $this->dieUsage( 'Invalid subscription feed type', 'feed-invalid' ); } - global $wgMiserMode; - if ( $params['showsizediff'] && $wgMiserMode ) { + if ( $params['showsizediff'] && $this->getConfig()->get( 'MiserMode' ) ) { $this->dieUsage( 'Size difference is disabled in Miser Mode', 'sizediffdisabled' ); } $msg = wfMessage( 'Contributions' )->inContentLanguage()->text(); - $feedTitle = $wgSitename . ' - ' . $msg . ' [' . $wgLanguageCode . ']'; + $feedTitle = $config->get( 'Sitename' ) . ' - ' . $msg . ' [' . $config->get( 'LanguageCode' ) . ']'; $feedUrl = SpecialPage::getTitleFor( 'Contributions', $params['user'] )->getFullURL(); $target = $params['user'] == 'newbies' ? 'newbies' : Title::makeTitleSafe( NS_USER, $params['user'] )->getText(); - $feed = new $wgFeedClasses[$params['feedformat']] ( + $feed = new $feedClasses[$params['feedformat']] ( $feedTitle, htmlspecialchars( $msg ), $feedUrl @@ -82,8 +81,9 @@ class ApiFeedContributions extends ApiBase { 'showSizeDiff' => $params['showsizediff'], ) ); - if ( $pager->getLimit() > $wgFeedLimit ) { - $pager->setLimit( $wgFeedLimit ); + $feedLimit = $this->getConfig()->get( 'FeedLimit' ); + if ( $pager->getLimit() > $feedLimit ) { + $pager->setLimit( $feedLimit ); } $feedItems = array(); @@ -159,8 +159,7 @@ class ApiFeedContributions extends ApiBase { } public function getAllowedParams() { - global $wgFeedClasses; - $feedFormatNames = array_keys( $wgFeedClasses ); + $feedFormatNames = array_keys( $this->getConfig()->get( 'FeedClasses' ) ); return array( 'feedformat' => array( diff --git a/includes/api/ApiFeedRecentChanges.php b/includes/api/ApiFeedRecentChanges.php index a2641ee646..bb68d5aed7 100644 --- a/includes/api/ApiFeedRecentChanges.php +++ b/includes/api/ApiFeedRecentChanges.php @@ -40,15 +40,16 @@ class ApiFeedRecentChanges extends ApiBase { * as an RSS/Atom feed. */ public function execute() { - global $wgFeed, $wgFeedClasses; + $config = $this->getConfig(); $this->params = $this->extractRequestParams(); - if ( !$wgFeed ) { + if ( !$config->get( 'Feed' ) ) { $this->dieUsage( 'Syndication feeds are not available', 'feed-unavailable' ); } - if ( !isset( $wgFeedClasses[$this->params['feedformat']] ) ) { + $feedClasses = $config->get( 'FeedClasses' ); + if ( !isset( $feedClasses[$this->params['feedformat']] ) ) { $this->dieUsage( 'Invalid subscription feed type', 'feed-invalid' ); } @@ -110,8 +111,8 @@ class ApiFeedRecentChanges extends ApiBase { } public function getAllowedParams() { - global $wgFeedClasses, $wgAllowCategorizedRecentChanges, $wgFeedLimit; - $feedFormatNames = array_keys( $wgFeedClasses ); + $config = $this->getConfig(); + $feedFormatNames = array_keys( $config->get( 'FeedClasses' ) ); $ret = array( 'feedformat' => array( @@ -133,7 +134,7 @@ class ApiFeedRecentChanges extends ApiBase { 'limit' => array( ApiBase::PARAM_DFLT => 50, ApiBase::PARAM_MIN => 1, - ApiBase::PARAM_MAX => $wgFeedLimit, + ApiBase::PARAM_MAX => $config->get( 'FeedLimit' ), ApiBase::PARAM_TYPE => 'integer', ), 'from' => array( @@ -157,7 +158,7 @@ class ApiFeedRecentChanges extends ApiBase { 'showlinkedto' => false, ); - if ( $wgAllowCategorizedRecentChanges ) { + if ( $config->get( 'AllowCategorizedRecentChanges' ) ) { $ret += array( 'categories' => array( ApiBase::PARAM_TYPE => 'string', diff --git a/includes/api/ApiFeedWatchlist.php b/includes/api/ApiFeedWatchlist.php index 64c3eec120..983b6a81f2 100644 --- a/includes/api/ApiFeedWatchlist.php +++ b/includes/api/ApiFeedWatchlist.php @@ -50,16 +50,16 @@ class ApiFeedWatchlist extends ApiBase { * Wrap the result as an RSS/Atom feed. */ public function execute() { - global $wgFeed, $wgFeedClasses, $wgFeedLimit, $wgSitename, $wgLanguageCode; - + $config = $this->getConfig(); + $feedClasses = $config->get( 'FeedClasses' ); try { $params = $this->extractRequestParams(); - if ( !$wgFeed ) { + if ( !$config->get( 'Feed' ) ) { $this->dieUsage( 'Syndication feeds are not available', 'feed-unavailable' ); } - if ( !isset( $wgFeedClasses[$params['feedformat']] ) ) { + if ( !isset( $feedClasses[$params['feedformat']] ) ) { $this->dieUsage( 'Invalid subscription feed type', 'feed-invalid' ); } @@ -75,7 +75,7 @@ class ApiFeedWatchlist extends ApiBase { 'wlprop' => 'title|user|comment|timestamp|ids', 'wldir' => 'older', // reverse order - from newest to oldest 'wlend' => $endTime, // stop at this time - 'wllimit' => min( 50, $wgFeedLimit ) + 'wllimit' => min( 50, $this->getConfig()->get( 'FeedLimit' ) ) ); if ( $params['wlowner'] !== null ) { @@ -122,10 +122,10 @@ class ApiFeedWatchlist extends ApiBase { $msg = wfMessage( 'watchlist' )->inContentLanguage()->text(); - $feedTitle = $wgSitename . ' - ' . $msg . ' [' . $wgLanguageCode . ']'; + $feedTitle = $this->getConfig()->get( 'Sitename' ) . ' - ' . $msg . ' [' . $this->getConfig()->get( 'LanguageCode' ) . ']'; $feedUrl = SpecialPage::getTitleFor( 'Watchlist' )->getFullURL(); - $feed = new $wgFeedClasses[$params['feedformat']] ( + $feed = new $feedClasses[$params['feedformat']] ( $feedTitle, htmlspecialchars( $msg ), $feedUrl @@ -137,14 +137,14 @@ class ApiFeedWatchlist extends ApiBase { $this->getMain()->setCacheMaxAge( 0 ); // @todo FIXME: Localise brackets - $feedTitle = $wgSitename . ' - Error - ' . + $feedTitle = $this->getConfig()->get( 'Sitename' ) . ' - Error - ' . wfMessage( 'watchlist' )->inContentLanguage()->text() . - ' [' . $wgLanguageCode . ']'; + ' [' . $this->getConfig()->get( 'LanguageCode' ) . ']'; $feedUrl = SpecialPage::getTitleFor( 'Watchlist' )->getFullURL(); $feedFormat = isset( $params['feedformat'] ) ? $params['feedformat'] : 'rss'; $msg = wfMessage( 'watchlist' )->inContentLanguage()->escaped(); - $feed = new $wgFeedClasses[$feedFormat] ( $feedTitle, $msg, $feedUrl ); + $feed = new $feedClasses[$feedFormat] ( $feedTitle, $msg, $feedUrl ); if ( $e instanceof UsageException ) { $errorCode = $e->getCodeString(); @@ -205,8 +205,7 @@ class ApiFeedWatchlist extends ApiBase { } public function getAllowedParams( $flags = 0 ) { - global $wgFeedClasses; - $feedFormatNames = array_keys( $wgFeedClasses ); + $feedFormatNames = array_keys( $this->getConfig()->get( 'FeedClasses' ) ); $ret = array( 'feedformat' => array( ApiBase::PARAM_DFLT => 'rss', diff --git a/includes/api/ApiFormatBase.php b/includes/api/ApiFormatBase.php index 8954abc090..03a6843a99 100644 --- a/includes/api/ApiFormatBase.php +++ b/includes/api/ApiFormatBase.php @@ -154,9 +154,9 @@ abstract class ApiFormatBase extends ApiBase { $this->getMain()->getRequest()->response()->header( "Content-Type: $mime; charset=utf-8" ); //Set X-Frame-Options API results (bug 39180) - global $wgApiFrameOptions; - if ( $wgApiFrameOptions ) { - $this->getMain()->getRequest()->response()->header( "X-Frame-Options: $wgApiFrameOptions" ); + $apiFrameOptions = $this->getConfig()->get( 'ApiFrameOptions' ); + if ( $apiFrameOptions ) { + $this->getMain()->getRequest()->response()->header( "X-Frame-Options: $apiFrameOptions" ); } if ( $isHtml ) { diff --git a/includes/api/ApiImport.php b/includes/api/ApiImport.php index 1d960c98a2..3144fc15ad 100644 --- a/includes/api/ApiImport.php +++ b/includes/api/ApiImport.php @@ -98,8 +98,6 @@ class ApiImport extends ApiBase { } public function getAllowedParams() { - global $wgImportSources; - return array( 'token' => array( ApiBase::PARAM_TYPE => 'string', @@ -110,7 +108,7 @@ class ApiImport extends ApiBase { ApiBase::PARAM_TYPE => 'upload', ), 'interwikisource' => array( - ApiBase::PARAM_TYPE => $wgImportSources + ApiBase::PARAM_TYPE => $this->getConfig()->get( 'ImportSources' ), ), 'interwikipage' => null, 'fullhistory' => false, diff --git a/includes/api/ApiLogin.php b/includes/api/ApiLogin.php index 6336e81699..f818c5facb 100644 --- a/includes/api/ApiLogin.php +++ b/includes/api/ApiLogin.php @@ -79,8 +79,6 @@ class ApiLogin extends ApiBase { $loginForm = new LoginForm(); $loginForm->setContext( $context ); - global $wgCookiePrefix, $wgPasswordAttemptThrottle; - $authRes = $loginForm->authenticateUserData(); switch ( $authRes ) { case LoginForm::SUCCESS: @@ -100,14 +98,14 @@ class ApiLogin extends ApiBase { $result['lguserid'] = intval( $user->getId() ); $result['lgusername'] = $user->getName(); $result['lgtoken'] = $user->getToken(); - $result['cookieprefix'] = $wgCookiePrefix; + $result['cookieprefix'] = $this->getConfig()->get( 'CookiePrefix' ); $result['sessionid'] = session_id(); break; case LoginForm::NEED_TOKEN: $result['result'] = 'NeedToken'; $result['token'] = $loginForm->getLoginToken(); - $result['cookieprefix'] = $wgCookiePrefix; + $result['cookieprefix'] = $this->getConfig()->get( 'CookiePrefix' ); $result['sessionid'] = session_id(); break; @@ -149,7 +147,8 @@ class ApiLogin extends ApiBase { case LoginForm::THROTTLED: $result['result'] = 'Throttled'; - $result['wait'] = intval( $wgPasswordAttemptThrottle['seconds'] ); + $throttle = $this->getConfig()->get( 'PasswordAttemptThrottle' ); + $result['wait'] = intval( $throttle['seconds'] ); break; case LoginForm::USER_BLOCKED: diff --git a/includes/api/ApiMain.php b/includes/api/ApiMain.php index df56735439..84db9edc17 100644 --- a/includes/api/ApiMain.php +++ b/includes/api/ApiMain.php @@ -186,12 +186,12 @@ class ApiMain extends ApiBase { } } - global $wgAPIModules, $wgAPIFormatModules; + $config = $this->getConfig(); $this->mModuleMgr = new ApiModuleManager( $this ); $this->mModuleMgr->addModules( self::$Modules, 'action' ); - $this->mModuleMgr->addModules( $wgAPIModules, 'action' ); + $this->mModuleMgr->addModules( $config->get( 'APIModules' ), 'action' ); $this->mModuleMgr->addModules( self::$Formats, 'format' ); - $this->mModuleMgr->addModules( $wgAPIFormatModules, 'format' ); + $this->mModuleMgr->addModules( $config->get( 'APIFormatModules' ), 'format' ); $this->mResult = new ApiResult( $this ); $this->mEnableWrite = $enableWrite; @@ -465,8 +465,6 @@ class ApiMain extends ApiBase { * @return bool False if the caller should abort (403 case), true otherwise (all other cases) */ protected function handleCORS() { - global $wgCrossSiteAJAXdomains, $wgCrossSiteAJAXdomainExceptions; - $originParam = $this->getParameter( 'origin' ); // defaults to null if ( $originParam === null ) { // No origin parameter, nothing to do @@ -494,10 +492,11 @@ class ApiMain extends ApiBase { return false; } + $config = $this->getConfig(); $matchOrigin = self::matchOrigin( $originParam, - $wgCrossSiteAJAXdomains, - $wgCrossSiteAJAXdomainExceptions + $config->get( 'CrossSiteAJAXdomains' ), + $config->get( 'CrossSiteAJAXdomainExceptions' ) ); if ( $matchOrigin ) { @@ -554,29 +553,29 @@ class ApiMain extends ApiBase { } protected function sendCacheHeaders() { - global $wgUseXVO, $wgVaryOnXFP; $response = $this->getRequest()->response(); $out = $this->getOutput(); - if ( $wgVaryOnXFP ) { + $config = $this->getConfig(); + + if ( $config->get( 'VaryOnXFP' ) ) { $out->addVaryHeader( 'X-Forwarded-Proto' ); } if ( $this->mCacheMode == 'private' ) { $response->header( 'Cache-Control: private' ); - return; } + $useXVO = $config->get( 'UseXVO' ); if ( $this->mCacheMode == 'anon-public-user-private' ) { $out->addVaryHeader( 'Cookie' ); $response->header( $out->getVaryHeader() ); - if ( $wgUseXVO ) { + if ( $useXVO ) { $response->header( $out->getXVO() ); if ( $out->haveCacheVaryCookies() ) { // Logged in, mark this request private $response->header( 'Cache-Control: private' ); - return; } // Logged out, send normal public headers below @@ -591,7 +590,7 @@ class ApiMain extends ApiBase { // Send public headers $response->header( $out->getVaryHeader() ); - if ( $wgUseXVO ) { + if ( $useXVO ) { $response->header( $out->getXVO() ); } @@ -644,8 +643,6 @@ class ApiMain extends ApiBase { * @return string */ protected function substituteResultWithError( $e ) { - global $wgShowHostnames; - $result = $this->getResult(); // Printer may not be initialized if the extractRequestParams() fails for the main module @@ -669,6 +666,8 @@ class ApiMain extends ApiBase { // Update raw mode flag for the selected printer. $result->setRawMode( $this->mPrinter->getNeedsRawData() ); + $config = $this->getConfig(); + if ( $e instanceof UsageException ) { // User entered incorrect parameters - print usage screen $errMessage = $e->getMessageArray(); @@ -678,9 +677,8 @@ class ApiMain extends ApiBase { ApiResult::setContent( $errMessage, $this->makeHelpMsg() ); } } else { - global $wgShowSQLErrors, $wgShowExceptionDetails; // Something is seriously wrong - if ( ( $e instanceof DBQueryError ) && !$wgShowSQLErrors ) { + if ( ( $e instanceof DBQueryError ) && !$config->get( 'ShowSQLErrors' ) ) { $info = 'Database query error'; } else { $info = "Exception Caught: {$e->getMessage()}"; @@ -692,7 +690,7 @@ class ApiMain extends ApiBase { ); ApiResult::setContent( $errMessage, - $wgShowExceptionDetails ? "\n\n{$e->getTraceAsString()}\n\n" : '' + $config->get( 'ShowExceptionDetails' ) ? "\n\n{$e->getTraceAsString()}\n\n" : '' ); } @@ -707,7 +705,7 @@ class ApiMain extends ApiBase { if ( !is_null( $requestid ) ) { $result->addValue( null, 'requestid', $requestid ); } - if ( $wgShowHostnames ) { + if ( $config->get( 'ShowHostnames' ) ) { // servedby is especially useful when debugging errors $result->addValue( null, 'servedby', wfHostName() ); } @@ -725,8 +723,6 @@ class ApiMain extends ApiBase { * @return array */ protected function setupExecuteAction() { - global $wgShowHostnames; - // First add the id to the top element $result = $this->getResult(); $requestid = $this->getParameter( 'requestid' ); @@ -734,7 +730,7 @@ class ApiMain extends ApiBase { $result->addValue( null, 'requestid', $requestid ); } - if ( $wgShowHostnames ) { + if ( $this->getConfig()->get( 'ShowHostnames' ) ) { $servedby = $this->getParameter( 'servedby' ); if ( $servedby ) { $result->addValue( null, 'servedby', wfHostName() ); @@ -792,7 +788,6 @@ class ApiMain extends ApiBase { protected function checkMaxLag( $module, $params ) { if ( $module->shouldCheckMaxlag() && isset( $params['maxlag'] ) ) { // Check for maxlag - global $wgShowHostnames; $maxLag = $params['maxlag']; list( $host, $lag ) = wfGetLB()->getMaxLag(); if ( $lag > $maxLag ) { @@ -801,7 +796,7 @@ class ApiMain extends ApiBase { $response->header( 'Retry-After: ' . max( intval( $maxLag ), 5 ) ); $response->header( 'X-Database-Lag: ' . intval( $lag ) ); - if ( $wgShowHostnames ) { + if ( $this->getConfig()->get( 'ShowHostnames' ) ) { $this->dieUsage( "Waiting for $host: $lag seconds lagged", 'maxlag' ); } @@ -1057,8 +1052,7 @@ class ApiMain extends ApiBase { * @param bool $isError */ protected function printResult( $isError ) { - global $wgDebugAPI; - if ( $wgDebugAPI !== false ) { + if ( $this->getConfig()->get( 'DebugAPI' ) !== false ) { $this->setWarning( 'SECURITY WARNING: $wgDebugAPI is enabled' ); } @@ -1257,20 +1251,22 @@ class ApiMain extends ApiBase { * @return string */ public function makeHelpMsg() { - global $wgMemc, $wgAPICacheHelpTimeout; + global $wgMemc; $this->setHelp(); // Get help text from cache if present $key = wfMemcKey( 'apihelp', $this->getModuleName(), str_replace( ' ', '_', SpecialVersion::getVersion( 'nodb' ) ) ); - if ( $wgAPICacheHelpTimeout > 0 ) { + + $cacheHelpTimeout = $this->getConfig()->get( 'APICacheHelpTimeout' ); + if ( $cacheHelpTimeout > 0 ) { $cached = $wgMemc->get( $key ); if ( $cached ) { return $cached; } } $retval = $this->reallyMakeHelpMsg(); - if ( $wgAPICacheHelpTimeout > 0 ) { - $wgMemc->set( $key, $retval, $wgAPICacheHelpTimeout ); + if ( $cacheHelpTimeout > 0 ) { + $wgMemc->set( $key, $retval, $cacheHelpTimeout ); } return $retval; diff --git a/includes/api/ApiOpenSearch.php b/includes/api/ApiOpenSearch.php index 68b62af571..7fb045e3b2 100644 --- a/includes/api/ApiOpenSearch.php +++ b/includes/api/ApiOpenSearch.php @@ -45,7 +45,6 @@ class ApiOpenSearch extends ApiBase { } public function execute() { - global $wgEnableOpenSearchSuggest, $wgSearchSuggestCacheExpiry; $params = $this->extractRequestParams(); $search = $params['search']; $limit = $params['limit']; @@ -53,11 +52,11 @@ class ApiOpenSearch extends ApiBase { $suggest = $params['suggest']; // Some script that was loaded regardless of wgEnableOpenSearchSuggest, likely cached. - if ( $suggest && !$wgEnableOpenSearchSuggest ) { + if ( $suggest && !$this->getConfig()->get( 'EnableOpenSearchSuggest' ) ) { $searches = array(); } else { // Open search results may be stored for a very long time - $this->getMain()->setCacheMaxAge( $wgSearchSuggestCacheExpiry ); + $this->getMain()->setCacheMaxAge( $this->getConfig()->get( 'SearchSuggestCacheExpiry' ) ); $this->getMain()->setCacheMode( 'public' ); $searcher = new StringPrefixSearch; @@ -70,12 +69,10 @@ class ApiOpenSearch extends ApiBase { } public function getAllowedParams() { - global $wgOpenSearchDefaultLimit; - return array( 'search' => null, 'limit' => array( - ApiBase::PARAM_DFLT => $wgOpenSearchDefaultLimit, + ApiBase::PARAM_DFLT => $this->getConfig()->get( 'OpenSearchDefaultLimit' ), ApiBase::PARAM_TYPE => 'limit', ApiBase::PARAM_MIN => 1, ApiBase::PARAM_MAX => 100, diff --git a/includes/api/ApiParse.php b/includes/api/ApiParse.php index fcba5b5f74..a276117387 100644 --- a/includes/api/ApiParse.php +++ b/includes/api/ApiParse.php @@ -574,9 +574,9 @@ class ApiParse extends ApiBase { 'and will be removed in MediaWiki 1.24. Use "prop=langlinks" ' . 'to generate your own HTML.' ); - global $wgContLang, $wgHideInterlanguageLinks; + global $wgContLang; - if ( $wgHideInterlanguageLinks || count( $languages ) == 0 ) { + if ( $this->getConfig()->get( 'HideInterlanguageLinks' ) || count( $languages ) == 0 ) { return ''; } diff --git a/includes/api/ApiProtect.php b/includes/api/ApiProtect.php index 27f0f1eecc..ffbf01b1bf 100644 --- a/includes/api/ApiProtect.php +++ b/includes/api/ApiProtect.php @@ -29,7 +29,6 @@ */ class ApiProtect extends ApiBase { public function execute() { - global $wgRestrictionLevels; $params = $this->extractRequestParams(); $pageObj = $this->getTitleOrPageId( $params, 'fromdbmaster' ); @@ -74,7 +73,7 @@ class ApiProtect extends ApiBase { if ( !in_array( $p[0], $restrictionTypes ) && $p[0] != 'create' ) { $this->dieUsageMsg( array( 'protect-invalidaction', $p[0] ) ); } - if ( !in_array( $p[1], $wgRestrictionLevels ) && $p[1] != 'all' ) { + if ( !in_array( $p[1], $this->getConfig()->get( 'RestrictionLevels' ) ) && $p[1] != 'all' ) { $this->dieUsageMsg( array( 'protect-invalidlevel', $p[1] ) ); } diff --git a/includes/api/ApiPurge.php b/includes/api/ApiPurge.php index e5d6a3c0cd..981dc18f03 100644 --- a/includes/api/ApiPurge.php +++ b/includes/api/ApiPurge.php @@ -54,17 +54,16 @@ class ApiPurge extends ApiBase { if ( $forceLinkUpdate || $forceRecursiveLinkUpdate ) { if ( !$this->getUser()->pingLimiter( 'linkpurge' ) ) { - global $wgEnableParserCache; - $popts = $page->makeParserOptions( 'canonical' ); # Parse content; note that HTML generation is only needed if we want to cache the result. $content = $page->getContent( Revision::RAW ); + $enableParserCache = $this->getConfig()->get( 'EnableParserCache' ); $p_result = $content->getParserOutput( $title, $page->getLatest(), $popts, - $wgEnableParserCache + $enableParserCache ); # Update the links tables @@ -74,7 +73,7 @@ class ApiPurge extends ApiBase { $r['linkupdate'] = ''; - if ( $wgEnableParserCache ) { + if ( $enableParserCache ) { $pcache = ParserCache::singleton(); $pcache->save( $p_result, $page, $popts ); } diff --git a/includes/api/ApiQuery.php b/includes/api/ApiQuery.php index fc115b8993..a2f4121e2c 100644 --- a/includes/api/ApiQuery.php +++ b/includes/api/ApiQuery.php @@ -131,13 +131,13 @@ class ApiQuery extends ApiBase { $this->mModuleMgr = new ApiModuleManager( $this ); // Allow custom modules to be added in LocalSettings.php - global $wgAPIPropModules, $wgAPIListModules, $wgAPIMetaModules; + $config = $this->getConfig(); $this->mModuleMgr->addModules( self::$QueryPropModules, 'prop' ); - $this->mModuleMgr->addModules( $wgAPIPropModules, 'prop' ); + $this->mModuleMgr->addModules( $config->get( 'APIPropModules' ), 'prop' ); $this->mModuleMgr->addModules( self::$QueryListModules, 'list' ); - $this->mModuleMgr->addModules( $wgAPIListModules, 'list' ); + $this->mModuleMgr->addModules( $config->get( 'APIListModules' ), 'list' ); $this->mModuleMgr->addModules( self::$QueryMetaModules, 'meta' ); - $this->mModuleMgr->addModules( $wgAPIMetaModules, 'meta' ); + $this->mModuleMgr->addModules( $config->get( 'APIMetaModules' ), 'meta' ); // Create PageSet that will process titles/pageids/revids/generator $this->mPageSet = new ApiPageSet( $this ); diff --git a/includes/api/ApiQueryAllImages.php b/includes/api/ApiQueryAllImages.php index 4266a8e43f..68d968f0b0 100644 --- a/includes/api/ApiQueryAllImages.php +++ b/includes/api/ApiQueryAllImages.php @@ -228,8 +228,7 @@ class ApiQueryAllImages extends ApiQueryGeneratorBase { } if ( !is_null( $params['mime'] ) ) { - global $wgMiserMode; - if ( $wgMiserMode ) { + if ( $this->getConfig()->get( 'MiserMode' ) ) { $this->dieUsage( 'MIME search disabled in Miser Mode', 'mimesearchdisabled' ); } diff --git a/includes/api/ApiQueryAllMessages.php b/includes/api/ApiQueryAllMessages.php index 8d4af0b0f3..d974281778 100644 --- a/includes/api/ApiQueryAllMessages.php +++ b/includes/api/ApiQueryAllMessages.php @@ -63,14 +63,13 @@ class ApiQueryAllMessages extends ApiQueryBase { if ( in_array( '*', $params['messages'] ) ) { $message_names = Language::getMessageKeysFor( $langObj->getCode() ); if ( $params['includelocal'] ) { - global $wgLanguageCode; $message_names = array_unique( array_merge( $message_names, // Pass in the content language code so we get local messages that have a // MediaWiki:msgkey page. We might theoretically miss messages that have no // MediaWiki:msgkey page but do have a MediaWiki:msgkey/lang page, but that's // just a stupid case. - MessageCache::singleton()->getAllMessageKeys( $wgLanguageCode ) + MessageCache::singleton()->getAllMessageKeys( $this->getConfig()->get( 'LanguageCode' ) ) ) ); } sort( $message_names ); diff --git a/includes/api/ApiQueryAllPages.php b/includes/api/ApiQueryAllPages.php index b283177859..a3ba5ab63e 100644 --- a/includes/api/ApiQueryAllPages.php +++ b/includes/api/ApiQueryAllPages.php @@ -225,8 +225,6 @@ class ApiQueryAllPages extends ApiQueryGeneratorBase { } public function getAllowedParams() { - global $wgRestrictionLevels; - return array( 'from' => null, 'continue' => null, @@ -255,7 +253,7 @@ class ApiQueryAllPages extends ApiQueryGeneratorBase { ApiBase::PARAM_ISMULTI => true ), 'prlevel' => array( - ApiBase::PARAM_TYPE => $wgRestrictionLevels, + ApiBase::PARAM_TYPE => $this->getConfig()->get( 'RestrictionLevels' ), ApiBase::PARAM_ISMULTI => true ), 'prfiltercascade' => array( diff --git a/includes/api/ApiQueryAllUsers.php b/includes/api/ApiQueryAllUsers.php index 42464efefb..e32104f87d 100644 --- a/includes/api/ApiQueryAllUsers.php +++ b/includes/api/ApiQueryAllUsers.php @@ -155,7 +155,6 @@ class ApiQueryAllUsers extends ApiQueryBase { } if ( $params['activeusers'] ) { - global $wgActiveUserDays; $this->addTables( 'recentchanges' ); $this->addJoinConds( array( 'recentchanges' => array( @@ -165,7 +164,7 @@ class ApiQueryAllUsers extends ApiQueryBase { $this->addFields( array( 'recentedits' => 'COUNT(*)' ) ); $this->addWhere( 'rc_log_type IS NULL OR rc_log_type != ' . $db->addQuotes( 'newusers' ) ); - $timestamp = $db->timestamp( wfTimestamp( TS_UNIX ) - $wgActiveUserDays * 24 * 3600 ); + $timestamp = $db->timestamp( wfTimestamp( TS_UNIX ) - $this->getConfig()->get( 'ActiveUserDays' ) * 24 * 3600 ); $this->addWhere( 'rc_timestamp >= ' . $db->addQuotes( $timestamp ) ); $this->addOption( 'GROUP BY', $userFieldToSort ); @@ -368,8 +367,6 @@ class ApiQueryAllUsers extends ApiQueryBase { } public function getParamDescription() { - global $wgActiveUserDays; - return array( 'from' => 'The user name to start enumerating from', 'to' => 'The user name to stop enumerating at', @@ -391,7 +388,7 @@ class ApiQueryAllUsers extends ApiQueryBase { ), 'limit' => 'How many total user names to return', 'witheditsonly' => 'Only list users who have made edits', - 'activeusers' => "Only list users active in the last {$wgActiveUserDays} days(s)" + 'activeusers' => "Only list users active in the last {$this->getConfig()->get( 'ActiveUserDays' )} days(s)" ); } diff --git a/includes/api/ApiQueryBase.php b/includes/api/ApiQueryBase.php index 01384c0a79..8e014dff95 100644 --- a/includes/api/ApiQueryBase.php +++ b/includes/api/ApiQueryBase.php @@ -321,8 +321,7 @@ abstract class ApiQueryBase extends ApiBase { ); $this->profileDBOut(); - global $wgAPIMaxDBRows; - if ( $rowcount > $wgAPIMaxDBRows ) { + if ( $rowcount > $this->getConfig()->get( 'APIMaxDBRows' ) ) { return false; } diff --git a/includes/api/ApiQueryBlocks.php b/includes/api/ApiQueryBlocks.php index 7d27a64ca5..d62e87d000 100644 --- a/includes/api/ApiQueryBlocks.php +++ b/includes/api/ApiQueryBlocks.php @@ -109,14 +109,14 @@ class ApiQueryBlocks extends ApiQueryBase { $this->addWhereFld( 'ipb_auto', 0 ); } if ( isset( $params['ip'] ) ) { - global $wgBlockCIDRLimit; + $blockCIDRLimit = $this->getConfig()->get( 'BlockCIDRLimit' ); if ( IP::isIPv4( $params['ip'] ) ) { $type = 'IPv4'; - $cidrLimit = $wgBlockCIDRLimit['IPv4']; + $cidrLimit = $blockCIDRLimit['IPv4']; $prefixLen = 0; } elseif ( IP::isIPv6( $params['ip'] ) ) { $type = 'IPv6'; - $cidrLimit = $wgBlockCIDRLimit['IPv6']; + $cidrLimit = $blockCIDRLimit['IPv6']; $prefixLen = 3; // IP::toHex output is prefixed with "v6-" } else { $this->dieUsage( 'IP parameter is not valid', 'param_ip' ); @@ -331,7 +331,7 @@ class ApiQueryBlocks extends ApiQueryBase { } public function getParamDescription() { - global $wgBlockCIDRLimit; + $blockCIDRLimit = $this->getConfig()->get( 'BlockCIDRLimit' ); $p = $this->getModulePrefix(); return array( @@ -343,7 +343,7 @@ class ApiQueryBlocks extends ApiQueryBase { 'ip' => array( 'Get all blocks applying to this IP or CIDR range, including range blocks.', "Cannot be used together with bkusers. CIDR ranges broader than " . - "IPv4/{$wgBlockCIDRLimit['IPv4']} or IPv6/{$wgBlockCIDRLimit['IPv6']} " . + "IPv4/{$blockCIDRLimit['IPv4']} or IPv6/{$blockCIDRLimit['IPv6']} " . "are not accepted" ), 'limit' => 'The maximum amount of blocks to list', @@ -427,18 +427,18 @@ class ApiQueryBlocks extends ApiQueryBase { } public function getPossibleErrors() { - global $wgBlockCIDRLimit; + $blockCIDRLimit = $this->getConfig()->get( 'BlockCIDRLimit' ); return array_merge( parent::getPossibleErrors(), $this->getRequireMaxOneParameterErrorMessages( array( 'users', 'ip' ) ), array( array( 'code' => 'cidrtoobroad', - 'info' => "IPv4 CIDR ranges broader than /{$wgBlockCIDRLimit['IPv4']} are not accepted" + 'info' => "IPv4 CIDR ranges broader than /{$blockCIDRLimit['IPv4']} are not accepted" ), array( 'code' => 'cidrtoobroad', - 'info' => "IPv6 CIDR ranges broader than /{$wgBlockCIDRLimit['IPv6']} are not accepted" + 'info' => "IPv6 CIDR ranges broader than /{$blockCIDRLimit['IPv6']} are not accepted" ), array( 'code' => 'param_ip', 'info' => 'IP parameter is not valid' ), array( 'code' => 'param_user', 'info' => 'User parameter may not be empty' ), diff --git a/includes/api/ApiQueryCategoryMembers.php b/includes/api/ApiQueryCategoryMembers.php index a3bc3b99f7..dc11071b0a 100644 --- a/includes/api/ApiQueryCategoryMembers.php +++ b/includes/api/ApiQueryCategoryMembers.php @@ -86,9 +86,8 @@ class ApiQueryCategoryMembers extends ApiQueryGeneratorBase { // Scanning large datasets for rare categories sucks, and I already told // how to have efficient subcategory access :-) ~~~~ (oh well, domas) - global $wgMiserMode; $miser_ns = array(); - if ( $wgMiserMode ) { + if ( $this->getConfig()->get( 'MiserMode' ) ) { $miser_ns = $params['namespace']; } else { $this->addWhereFld( 'page_namespace', $params['namespace'] ); @@ -339,7 +338,6 @@ class ApiQueryCategoryMembers extends ApiQueryGeneratorBase { } public function getParamDescription() { - global $wgMiserMode; $p = $this->getModulePrefix(); $desc = array( 'title' => "Which category to enumerate (required). Must include " . @@ -374,7 +372,7 @@ class ApiQueryCategoryMembers extends ApiQueryGeneratorBase { 'limit' => 'The maximum number of pages to return.', ); - if ( $wgMiserMode ) { + if ( $this->getConfig()->get( 'MiserMode' ) ) { $desc['namespace'] = array( $desc['namespace'], "NOTE: Due to \$wgMiserMode, using this may result in fewer than \"{$p}limit\" results", diff --git a/includes/api/ApiQueryExtLinksUsage.php b/includes/api/ApiQueryExtLinksUsage.php index 070681c299..33e8739e68 100644 --- a/includes/api/ApiQueryExtLinksUsage.php +++ b/includes/api/ApiQueryExtLinksUsage.php @@ -59,9 +59,8 @@ class ApiQueryExtLinksUsage extends ApiQueryGeneratorBase { $this->addOption( 'USE INDEX', 'el_index' ); $this->addWhere( 'page_id=el_from' ); - global $wgMiserMode; $miser_ns = array(); - if ( $wgMiserMode ) { + if ( $this->getConfig()->get( 'MiserMode' ) ) { $miser_ns = $params['namespace']; } else { $this->addWhereFld( 'page_namespace', $params['namespace'] ); @@ -209,7 +208,6 @@ class ApiQueryExtLinksUsage extends ApiQueryGeneratorBase { } public function getParamDescription() { - global $wgMiserMode; $p = $this->getModulePrefix(); $desc = array( 'prop' => array( @@ -230,7 +228,7 @@ class ApiQueryExtLinksUsage extends ApiQueryGeneratorBase { 'expandurl' => 'Expand protocol-relative URLs with the canonical protocol', ); - if ( $wgMiserMode ) { + if ( $this->getConfig()->get( 'MiserMode' ) ) { $desc['namespace'] = array( $desc['namespace'], "NOTE: Due to \$wgMiserMode, using this may result in fewer than \"{$p}limit\" results", diff --git a/includes/api/ApiQueryImageInfo.php b/includes/api/ApiQueryImageInfo.php index 5a82f19963..4b49a80a23 100644 --- a/includes/api/ApiQueryImageInfo.php +++ b/includes/api/ApiQueryImageInfo.php @@ -256,15 +256,13 @@ class ApiQueryImageInfo extends ApiQueryBase { * @return array Array of parameters for transform. */ protected function mergeThumbParams( $image, $thumbParams, $otherParams ) { - global $wgThumbLimits; - if ( !isset( $thumbParams['width'] ) && isset( $thumbParams['height'] ) ) { // We want to limit only by height in this situation, so pass the // image's full width as the limiting width. But some file types // don't have a width of their own, so pick something arbitrary so // thumbnailing the default icon works. if ( $image->getWidth() <= 0 ) { - $thumbParams['width'] = max( $wgThumbLimits ); + $thumbParams['width'] = max( $this->getConfig()->get( 'ThumbLimits' ) ); } else { $thumbParams['width'] = $image->getWidth(); } diff --git a/includes/api/ApiQueryInfo.php b/includes/api/ApiQueryInfo.php index f160791347..8b6886d4f8 100644 --- a/includes/api/ApiQueryInfo.php +++ b/includes/api/ApiQueryInfo.php @@ -57,21 +57,20 @@ class ApiQueryInfo extends ApiQueryBase { * @return void */ public function requestExtraData( $pageSet ) { - global $wgDisableCounters, $wgContentHandlerUseDB; - $pageSet->requestField( 'page_restrictions' ); // when resolving redirects, no page will have this field if ( !$pageSet->isResolvingRedirects() ) { $pageSet->requestField( 'page_is_redirect' ); } $pageSet->requestField( 'page_is_new' ); - if ( !$wgDisableCounters ) { + $config = $this->getConfig(); + if ( !$config->get( 'DisableCounters' ) ) { $pageSet->requestField( 'page_counter' ); } $pageSet->requestField( 'page_touched' ); $pageSet->requestField( 'page_latest' ); $pageSet->requestField( 'page_len' ); - if ( $wgContentHandlerUseDB ) { + if ( $config->get( 'ContentHandlerUseDB' ) ) { $pageSet->requestField( 'page_content_model' ); } } @@ -295,9 +294,7 @@ class ApiQueryInfo extends ApiQueryBase { : array(); $this->pageIsNew = $pageSet->getCustomField( 'page_is_new' ); - global $wgDisableCounters; - - if ( !$wgDisableCounters ) { + if ( !$this->getConfig()->get( 'DisableCounters' ) ) { $this->pageCounter = $pageSet->getCustomField( 'page_counter' ); } $this->pageTouched = $pageSet->getCustomField( 'page_touched' ); @@ -359,11 +356,9 @@ class ApiQueryInfo extends ApiQueryBase { $pageInfo['pagelanguage'] = $title->getPageLanguage()->getCode(); if ( $titleExists ) { - global $wgDisableCounters; - $pageInfo['touched'] = wfTimestamp( TS_ISO_8601, $this->pageTouched[$pageid] ); $pageInfo['lastrevid'] = intval( $this->pageLatest[$pageid] ); - $pageInfo['counter'] = $wgDisableCounters + $pageInfo['counter'] = $this->getConfig()->get( 'DisableCounters' ) ? '' : intval( $this->pageCounter[$pageid] ); $pageInfo['length'] = intval( $this->pageLength[$pageid] ); @@ -711,15 +706,14 @@ class ApiQueryInfo extends ApiQueryBase { * Get the count of watchers and put it in $this->watchers */ private function getWatcherInfo() { - global $wgUnwatchedPageThreshold; - if ( count( $this->everything ) == 0 ) { return; } $user = $this->getUser(); $canUnwatchedpages = $user->isAllowed( 'unwatchedpages' ); - if ( !$canUnwatchedpages && !is_int( $wgUnwatchedPageThreshold ) ) { + $unwatchedPageThreshold = $this->getConfig()->get( 'UnwatchedPageThreshold' ); + if ( !$canUnwatchedpages && !is_int( $unwatchedPageThreshold ) ) { return; } @@ -737,7 +731,7 @@ class ApiQueryInfo extends ApiQueryBase { ) ); $this->addOption( 'GROUP BY', array( 'wl_namespace', 'wl_title' ) ); if ( !$canUnwatchedpages ) { - $this->addOption( 'HAVING', "COUNT(*) >= $wgUnwatchedPageThreshold" ); + $this->addOption( 'HAVING', "COUNT(*) >= $unwatchedPageThreshold" ); } $res = $this->select( __METHOD__ ); diff --git a/includes/api/ApiQueryLogEvents.php b/includes/api/ApiQueryLogEvents.php index d74526bab4..3aad785dec 100644 --- a/includes/api/ApiQueryLogEvents.php +++ b/includes/api/ApiQueryLogEvents.php @@ -187,8 +187,7 @@ class ApiQueryLogEvents extends ApiQueryBase { $prefix = $params['prefix']; if ( !is_null( $prefix ) ) { - global $wgMiserMode; - if ( $wgMiserMode ) { + if ( $this->getConfig()->get( 'MiserMode' ) ) { $this->dieUsage( 'Prefix search disabled in Miser Mode', 'prefixsearchdisabled' ); } @@ -449,10 +448,12 @@ class ApiQueryLogEvents extends ApiQueryBase { return $vals; } + /** + * @return array + */ private function getAllowedLogActions() { - global $wgLogActions, $wgLogActionsHandlers; - - return array_keys( array_merge( $wgLogActions, $wgLogActionsHandlers ) ); + $config = $this->getConfig(); + return array_keys( array_merge( $config->get( 'LogActions' ), $config->get( 'LogActionsHandlers' ) ) ); } public function getCacheMode( $params ) { @@ -472,8 +473,7 @@ class ApiQueryLogEvents extends ApiQueryBase { } public function getAllowedParams( $flags = 0 ) { - global $wgLogTypes; - + $config = $this->getConfig(); return array( 'prop' => array( ApiBase::PARAM_ISMULTI => true, @@ -492,7 +492,7 @@ class ApiQueryLogEvents extends ApiQueryBase { ) ), 'type' => array( - ApiBase::PARAM_TYPE => $wgLogTypes + ApiBase::PARAM_TYPE => $config->get( 'LogTypes' ) ), 'action' => array( // validation on request is done in execute() @@ -567,8 +567,6 @@ class ApiQueryLogEvents extends ApiQueryBase { } public function getResultProperties() { - global $wgLogTypes; - return array( 'ids' => array( 'logid' => 'integer', @@ -580,7 +578,7 @@ class ApiQueryLogEvents extends ApiQueryBase { ), 'type' => array( 'type' => array( - ApiBase::PROP_TYPE => $wgLogTypes + ApiBase::PROP_TYPE => $this->getConfig()->get( 'LogTypes' ) ), 'action' => 'string' ), diff --git a/includes/api/ApiQueryProtectedTitles.php b/includes/api/ApiQueryProtectedTitles.php index 8f120c60fe..2cc18c5985 100644 --- a/includes/api/ApiQueryProtectedTitles.php +++ b/includes/api/ApiQueryProtectedTitles.php @@ -175,8 +175,6 @@ class ApiQueryProtectedTitles extends ApiQueryGeneratorBase { } public function getAllowedParams() { - global $wgRestrictionLevels; - return array( 'namespace' => array( ApiBase::PARAM_ISMULTI => true, @@ -184,7 +182,7 @@ class ApiQueryProtectedTitles extends ApiQueryGeneratorBase { ), 'level' => array( ApiBase::PARAM_ISMULTI => true, - ApiBase::PARAM_TYPE => array_diff( $wgRestrictionLevels, array( '' ) ) + ApiBase::PARAM_TYPE => array_diff( $this->getConfig()->get( 'RestrictionLevels' ), array( '' ) ) ), 'limit' => array( ApiBase::PARAM_DFLT => 10, @@ -246,8 +244,6 @@ class ApiQueryProtectedTitles extends ApiQueryGeneratorBase { } public function getResultProperties() { - global $wgRestrictionLevels; - return array( '' => array( 'ns' => 'namespace', @@ -277,7 +273,7 @@ class ApiQueryProtectedTitles extends ApiQueryGeneratorBase { ), 'level' => array( 'level' => array( - ApiBase::PROP_TYPE => array_diff( $wgRestrictionLevels, array( '' ) ) + ApiBase::PROP_TYPE => array_diff( $this->getConfig()->get( 'RestrictionLevels' ), array( '' ) ) ) ) ); diff --git a/includes/api/ApiQueryQueryPage.php b/includes/api/ApiQueryQueryPage.php index 45950e79e5..1a7f826a79 100644 --- a/includes/api/ApiQueryQueryPage.php +++ b/includes/api/ApiQueryQueryPage.php @@ -35,10 +35,10 @@ class ApiQueryQueryPage extends ApiQueryGeneratorBase { public function __construct( ApiQuery $query, $moduleName ) { parent::__construct( $query, $moduleName, 'qp' ); // Build mapping from special page names to QueryPage classes - global $wgAPIUselessQueryPages; + $uselessQueryPages = $this->getConfig()->get( 'APIUselessQueryPages' ); $this->qpMap = array(); foreach ( QueryPage::getPages() as $page ) { - if ( !in_array( $page[1], $wgAPIUselessQueryPages ) ) { + if ( !in_array( $page[1], $uselessQueryPages ) ) { $this->qpMap[$page[1]] = $page[0]; } } @@ -56,8 +56,6 @@ class ApiQueryQueryPage extends ApiQueryGeneratorBase { * @param ApiPageSet $resultPageSet */ public function run( $resultPageSet = null ) { - global $wgQueryCacheLimit; - $params = $this->extractRequestParams(); $result = $this->getResult(); @@ -77,7 +75,7 @@ class ApiQueryQueryPage extends ApiQueryGeneratorBase { if ( $ts ) { $r['cachedtimestamp'] = wfTimestamp( TS_ISO_8601, $ts ); } - $r['maxresults'] = $wgQueryCacheLimit; + $r['maxresults'] = $this->getConfig()->get( 'QueryCacheLimit' ); } } $result->addValue( array( 'query' ), $this->getModuleName(), $r ); diff --git a/includes/api/ApiQueryRecentChanges.php b/includes/api/ApiQueryRecentChanges.php index 1fb2a693b0..3067006c58 100644 --- a/includes/api/ApiQueryRecentChanges.php +++ b/includes/api/ApiQueryRecentChanges.php @@ -738,7 +738,6 @@ class ApiQueryRecentChanges extends ApiQueryGeneratorBase { } public function getResultProperties() { - global $wgLogTypes; $props = array( '' => array( 'type' => array( @@ -814,7 +813,7 @@ class ApiQueryRecentChanges extends ApiQueryGeneratorBase { ApiBase::PROP_NULLABLE => true ), 'logtype' => array( - ApiBase::PROP_TYPE => $wgLogTypes, + ApiBase::PROP_TYPE => $config->get( 'LogTypes' ), ApiBase::PROP_NULLABLE => true ), 'logaction' => array( diff --git a/includes/api/ApiQueryRevisions.php b/includes/api/ApiQueryRevisions.php index 50c3c7b6b0..78aa029648 100644 --- a/includes/api/ApiQueryRevisions.php +++ b/includes/api/ApiQueryRevisions.php @@ -624,10 +624,9 @@ class ApiQueryRevisions extends ApiQueryBase { } if ( $content && ( !is_null( $this->diffto ) || !is_null( $this->difftotext ) ) ) { - global $wgAPIMaxUncachedDiffs; static $n = 0; // Number of uncached diffs we've had - if ( $n < $wgAPIMaxUncachedDiffs ) { + if ( $n < $config->get( 'APIMaxUncachedDiffs' ) ) { $vals['diff'] = array(); $context = new DerivativeContext( $this->getContext() ); $context->setTitle( $title ); diff --git a/includes/api/ApiQuerySearch.php b/includes/api/ApiQuerySearch.php index d67fac2a9c..1c411134d8 100644 --- a/includes/api/ApiQuerySearch.php +++ b/includes/api/ApiQuerySearch.php @@ -257,8 +257,6 @@ class ApiQuerySearch extends ApiQueryGeneratorBase { } public function getAllowedParams() { - global $wgSearchType; - $params = array( 'search' => array( ApiBase::PARAM_TYPE => 'string', @@ -319,7 +317,7 @@ class ApiQuerySearch extends ApiQueryGeneratorBase { $alternatives[0] = self::BACKEND_NULL_PARAM; } $params['backend'] = array( - ApiBase::PARAM_DFLT => $wgSearchType, + ApiBase::PARAM_DFLT => $this->getConfig()->get( 'SearchType' ), ApiBase::PARAM_TYPE => $alternatives, ); } diff --git a/includes/api/ApiQuerySiteinfo.php b/includes/api/ApiQuerySiteinfo.php index 0a97d041c6..ca7cc21c8d 100644 --- a/includes/api/ApiQuerySiteinfo.php +++ b/includes/api/ApiQuerySiteinfo.php @@ -120,31 +120,34 @@ class ApiQuerySiteinfo extends ApiQueryBase { } protected function appendGeneralInfo( $property ) { - global $wgContLang, $wgDisableLangConversion, $wgDisableTitleConversion; + global $wgContLang; + + $config = $this->getConfig(); $data = array(); $mainPage = Title::newMainPage(); $data['mainpage'] = $mainPage->getPrefixedText(); $data['base'] = wfExpandUrl( $mainPage->getFullURL(), PROTO_CURRENT ); - $data['sitename'] = $GLOBALS['wgSitename']; + $data['sitename'] = $config->get( 'Sitename' ); // wgLogo can either be a relative or an absolute path // make sure we always return an absolute path - $data['logo'] = wfExpandUrl( $GLOBALS['wgLogo'], PROTO_RELATIVE ); + $data['logo'] = wfExpandUrl( $config->get( 'Logo' ), PROTO_RELATIVE ); + + $data['generator'] = "MediaWiki {$config->get( 'Version' )}"; - $data['generator'] = "MediaWiki {$GLOBALS['wgVersion']}"; $data['phpversion'] = phpversion(); $data['phpsapi'] = PHP_SAPI; - $data['dbtype'] = $GLOBALS['wgDBtype']; + $data['dbtype'] = $config->get( 'DBtype' ); $data['dbversion'] = $this->getDB()->getServerVersion(); $allowFrom = array( '' ); $allowException = true; - if ( !$GLOBALS['wgAllowExternalImages'] ) { - if ( $GLOBALS['wgEnableImageWhitelist'] ) { + if ( !$config->get( 'AllowExternalImages' ) ) { + if ( $config->get( 'EnableImageWhitelist' ) ) { $data['imagewhitelistenabled'] = ''; } - $allowFrom = $GLOBALS['wgAllowExternalImagesFrom']; + $allowFrom = $config->get( 'AllowExternalImagesFrom' ); $allowException = !empty( $allowFrom ); } if ( $allowException ) { @@ -152,11 +155,11 @@ class ApiQuerySiteinfo extends ApiQueryBase { $this->getResult()->setIndexedTagName( $data['externalimages'], 'prefix' ); } - if ( !$wgDisableLangConversion ) { + if ( !$config->get( 'DisableLangConversion' ) ) { $data['langconversion'] = ''; } - if ( !$wgDisableTitleConversion ) { + if ( !$config->get( 'DisableTitleConversion' ) ) { $data['titleconversion'] = ''; } @@ -177,22 +180,22 @@ class ApiQuerySiteinfo extends ApiQueryBase { $data['linktrail'] = ''; } - $git = SpecialVersion::getGitHeadSha1( $GLOBALS['IP'] ); + global $IP; + $git = SpecialVersion::getGitHeadSha1( $IP ); if ( $git ) { $data['git-hash'] = $git; $data['git-branch'] = SpecialVersion::getGitCurrentBranch( $GLOBALS['IP'] ); } else { - $svn = SpecialVersion::getSvnRevision( $GLOBALS['IP'] ); + $svn = SpecialVersion::getSvnRevision( $IP ); if ( $svn ) { $data['rev'] = $svn; } } // 'case-insensitive' option is reserved for future - $data['case'] = $GLOBALS['wgCapitalLinks'] ? 'first-letter' : 'case-sensitive'; - - $data['lang'] = $GLOBALS['wgLanguageCode']; + $data['case'] = $config->get( 'CapitalLinks' ) ? 'first-letter' : 'case-sensitive'; + $data['lang'] = $config->get( 'LanguageCode' ); $fallbacks = array(); foreach ( $wgContLang->getFallbackLanguages() as $code ) { @@ -222,12 +225,12 @@ class ApiQuerySiteinfo extends ApiQueryBase { $data['readonly'] = ''; $data['readonlyreason'] = wfReadOnlyReason(); } - if ( $GLOBALS['wgEnableWriteAPI'] ) { + if ( $config->get( 'EnableWriteAPI' ) ) { $data['writeapi'] = ''; } - $tz = $GLOBALS['wgLocaltimezone']; - $offset = $GLOBALS['wgLocalTZoffset']; + $tz = $config->get( 'Localtimezone' ); + $offset = $config->get( 'LocalTZoffset' ); if ( is_null( $tz ) ) { $tz = 'UTC'; $offset = 0; @@ -236,33 +239,34 @@ class ApiQuerySiteinfo extends ApiQueryBase { } $data['timezone'] = $tz; $data['timeoffset'] = intval( $offset ); - $data['articlepath'] = $GLOBALS['wgArticlePath']; - $data['scriptpath'] = $GLOBALS['wgScriptPath']; - $data['script'] = $GLOBALS['wgScript']; - $data['variantarticlepath'] = $GLOBALS['wgVariantArticlePath']; - $data['server'] = $GLOBALS['wgServer']; - $data['servername'] = $GLOBALS['wgServerName']; + $data['articlepath'] = $config->get( 'ArticlePath' ); + $data['scriptpath'] = $config->get( 'ScriptPath' ); + $data['script'] = $config->get( 'Script' ); + $data['variantarticlepath'] = $config->get( 'VariantArticlePath' ); + $data['server'] = $config->get( 'Server' ); + $data['servername'] = $config->get( 'ServerName' ); $data['wikiid'] = wfWikiID(); $data['time'] = wfTimestamp( TS_ISO_8601, time() ); - if ( $GLOBALS['wgMiserMode'] ) { + if ( $config->get( 'MiserMode' ) ) { $data['misermode'] = ''; } $data['maxuploadsize'] = UploadBase::getMaxUploadSize(); - $data['thumblimits'] = $GLOBALS['wgThumbLimits']; + $data['thumblimits'] = $config->get( 'ThumbLimits' ); $this->getResult()->setIndexedTagName( $data['thumblimits'], 'limit' ); $data['imagelimits'] = array(); $this->getResult()->setIndexedTagName( $data['imagelimits'], 'limit' ); - foreach ( $GLOBALS['wgImageLimits'] as $k => $limit ) { + foreach ( $config->get( 'ImageLimits' ) as $k => $limit ) { $data['imagelimits'][$k] = array( 'width' => $limit[0], 'height' => $limit[1] ); } - if ( !empty( $GLOBALS['wgFavicon'] ) ) { + $favicon = $config->get( 'Favicon' ); + if ( !empty( $favicon ) ) { // wgFavicon can either be a relative or an absolute path // make sure we always return an absolute path - $data['favicon'] = wfExpandUrl( $GLOBALS['wgFavicon'], PROTO_RELATIVE ); + $data['favicon'] = wfExpandUrl( $favicon, PROTO_RELATIVE ); } wfRunHooks( 'APIQuerySiteInfoGeneralInfo', array( $this, &$data ) ); @@ -309,8 +313,8 @@ class ApiQuerySiteinfo extends ApiQueryBase { } protected function appendNamespaceAliases( $property ) { - global $wgNamespaceAliases, $wgContLang; - $aliases = array_merge( $wgNamespaceAliases, $wgContLang->getNamespaceAliases() ); + global $wgContLang; + $aliases = array_merge( $this->getConfig()->get( 'NamespaceAliases' ), $wgContLang->getNamespaceAliases() ); $namespaces = $wgContLang->getNamespaces(); $data = array(); foreach ( $aliases as $title => $ns ) { @@ -415,11 +419,11 @@ class ApiQuerySiteinfo extends ApiQueryBase { } protected function appendDbReplLagInfo( $property, $includeAll ) { - global $wgShowHostnames; $data = array(); $lb = wfGetLB(); + $showHostnames = $this->getConfig()->get( 'ShowHostnames' ); if ( $includeAll ) { - if ( !$wgShowHostnames ) { + if ( !$showHostnames ) { $this->dieUsage( 'Cannot view all servers info unless $wgShowHostnames is true', 'includeAllDenied' @@ -436,7 +440,7 @@ class ApiQuerySiteinfo extends ApiQueryBase { } else { list( , $lag, $index ) = $lb->getMaxLag(); $data[] = array( - 'host' => $wgShowHostnames + 'host' => $showHostnames ? $lb->getServerName( $index ) : '', 'lag' => intval( $lag ) @@ -450,11 +454,10 @@ class ApiQuerySiteinfo extends ApiQueryBase { } protected function appendStatistics( $property ) { - global $wgDisableCounters; $data = array(); $data['pages'] = intval( SiteStats::pages() ); $data['articles'] = intval( SiteStats::articles() ); - if ( !$wgDisableCounters ) { + if ( !$this->getConfig()->get( 'DisableCounters' ) ) { $data['views'] = intval( SiteStats::views() ); } $data['edits'] = intval( SiteStats::edits() ); @@ -470,33 +473,32 @@ class ApiQuerySiteinfo extends ApiQueryBase { } protected function appendUserGroups( $property, $numberInGroup ) { - global $wgGroupPermissions, $wgAddGroups, $wgRemoveGroups; - global $wgGroupsAddToSelf, $wgGroupsRemoveFromSelf; + $config = $this->getConfig(); $data = array(); $result = $this->getResult(); - foreach ( $wgGroupPermissions as $group => $permissions ) { + foreach ( $config->get( 'GroupPermissions' ) as $group => $permissions ) { $arr = array( 'name' => $group, 'rights' => array_keys( $permissions, true ), ); if ( $numberInGroup ) { - global $wgAutopromote; + $autopromote = $config->get( 'Autopromote' ); if ( $group == 'user' ) { $arr['number'] = SiteStats::users(); // '*' and autopromote groups have no size - } elseif ( $group !== '*' && !isset( $wgAutopromote[$group] ) ) { + } elseif ( $group !== '*' && !isset( $autopromote[$group] ) ) { $arr['number'] = SiteStats::numberInGroup( $group ); } } $groupArr = array( - 'add' => $wgAddGroups, - 'remove' => $wgRemoveGroups, - 'add-self' => $wgGroupsAddToSelf, - 'remove-self' => $wgGroupsRemoveFromSelf + 'add' => $config->get( 'AddGroups' ), + 'remove' => $config->get( 'RemoveGroups' ), + 'add-self' => $config->get( 'GroupsAddToSelf' ), + 'remove-self' => $config->get( 'GroupsRemoveFromSelf' ) ); foreach ( $groupArr as $type => $rights ) { @@ -516,10 +518,8 @@ class ApiQuerySiteinfo extends ApiQueryBase { } protected function appendFileExtensions( $property ) { - global $wgFileExtensions; - $data = array(); - foreach ( array_unique( $wgFileExtensions ) as $ext ) { + foreach ( array_unique( $this->getConfig()->get( 'FileExtensions' ) ) as $ext ) { $data[] = array( 'ext' => $ext ); } $this->getResult()->setIndexedTagName( $data, 'fe' ); @@ -528,9 +528,8 @@ class ApiQuerySiteinfo extends ApiQueryBase { } protected function appendExtensions( $property ) { - global $wgExtensionCredits; $data = array(); - foreach ( $wgExtensionCredits as $type => $extensions ) { + foreach ( $this->getConfig()->get( 'ExtensionCredits' ) as $type => $extensions ) { foreach ( $extensions as $ext ) { $ret = array(); $ret['type'] = $type; @@ -611,10 +610,10 @@ class ApiQuerySiteinfo extends ApiQueryBase { } protected function appendRightsInfo( $property ) { - global $wgRightsPage, $wgRightsUrl, $wgRightsText; - $title = Title::newFromText( $wgRightsPage ); - $url = $title ? wfExpandUrl( $title->getFullURL(), PROTO_CURRENT ) : $wgRightsUrl; - $text = $wgRightsText; + $config = $this->getConfig(); + $title = Title::newFromText( $config->get( 'RightsPage' ) ); + $url = $title ? wfExpandUrl( $title->getFullURL(), PROTO_CURRENT ) : $config->get( 'RightsUrl' ); + $text = $config->get( 'RightsText' ); if ( !$text && $title ) { $text = $title->getPrefixedText(); } @@ -628,14 +627,12 @@ class ApiQuerySiteinfo extends ApiQueryBase { } protected function appendRestrictions( $property ) { - global $wgRestrictionTypes, $wgRestrictionLevels, - $wgCascadingRestrictionLevels, $wgSemiprotectedRestrictionLevels; - + $config = $this->getConfig(); $data = array( - 'types' => $wgRestrictionTypes, - 'levels' => $wgRestrictionLevels, - 'cascadinglevels' => $wgCascadingRestrictionLevels, - 'semiprotectedlevels' => $wgSemiprotectedRestrictionLevels, + 'types' => $config->get( 'RestrictionTypes' ), + 'levels' => $config->get( 'RestrictionLevels' ), + 'cascadinglevels' => $config->get( 'CascadingRestrictionLevels' ), + 'semiprotectedlevels' => $config->get( 'SemiprotectedRestrictionLevels' ), ); $this->getResult()->setIndexedTagName( $data['types'], 'type' ); @@ -709,9 +706,8 @@ class ApiQuerySiteinfo extends ApiQueryBase { } public function appendProtocols( $property ) { - global $wgUrlProtocols; // Make a copy of the global so we don't try to set the _element key of it - bug 45130 - $protocols = array_values( $wgUrlProtocols ); + $protocols = array_values( $this->getConfig()->get( 'UrlProtocols' ) ); $this->getResult()->setIndexedTagName( $protocols, 'p' ); return $this->getResult()->addValue( 'query', $property, $protocols ); @@ -726,15 +722,15 @@ class ApiQuerySiteinfo extends ApiQueryBase { } public function appendSubscribedHooks( $property ) { - global $wgHooks; - $myWgHooks = $wgHooks; + $hooks = $this->getConfig()->get( 'Hooks' ); + $myWgHooks = $hooks; ksort( $myWgHooks ); $data = array(); - foreach ( $myWgHooks as $hook => $hooks ) { + foreach ( $myWgHooks as $name => $subscribers ) { $arr = array( - 'name' => $hook, - 'subscribers' => array_map( array( 'SpecialVersion', 'arrayToString' ), $hooks ), + 'name' => $name, + 'subscribers' => array_map( array( 'SpecialVersion', 'arrayToString' ), $subscribers ), ); $this->getResult()->setIndexedTagName( $arr['subscribers'], 's' ); diff --git a/includes/api/ApiQueryUserContributions.php b/includes/api/ApiQueryUserContributions.php index 568ccb505c..24c4c205c4 100644 --- a/includes/api/ApiQueryUserContributions.php +++ b/includes/api/ApiQueryUserContributions.php @@ -517,8 +517,8 @@ class ApiQueryContributions extends ApiQueryBase { } public function getParamDescription() { - global $wgRCMaxAge; $p = $this->getModulePrefix(); + $RCMaxAge = $this->getConfig()->get( 'RCMaxAge' ); return array( 'limit' => 'The maximum number of contributions to return', @@ -548,7 +548,7 @@ class ApiQueryContributions extends ApiQueryBase { 'show' => array( "Show only items that meet thse criteria, e.g. non minor edits only: {$p}show=!minor", "NOTE: If {$p}show=patrolled or {$p}show=!patrolled is set, revisions older than", - "\$wgRCMaxAge ($wgRCMaxAge) won't be shown", + "\$wgRCMaxAge ($RCMaxAge) won't be shown", ), 'tag' => 'Only list revisions tagged with this tag', 'toponly' => 'Only list changes which are the latest revision', diff --git a/includes/api/ApiQueryUserInfo.php b/includes/api/ApiQueryUserInfo.php index e46baa6d6a..140f35a832 100644 --- a/includes/api/ApiQueryUserInfo.php +++ b/includes/api/ApiQueryUserInfo.php @@ -52,7 +52,6 @@ class ApiQueryUserInfo extends ApiQueryBase { } protected function getCurrentUserInfo() { - global $wgHiddenPrefs, $wgRCMaxAge; $user = $this->getUser(); $result = $this->getResult(); $vals = array(); @@ -122,7 +121,7 @@ class ApiQueryUserInfo extends ApiQueryBase { $vals['ratelimits'] = $this->getRateLimits(); } - if ( isset( $this->prop['realname'] ) && !in_array( 'realname', $wgHiddenPrefs ) ) { + if ( isset( $this->prop['realname'] ) && !in_array( 'realname', $this->getConfig()->get( 'HiddenPrefs' ) ) ) { $vals['realname'] = $user->getRealName(); } @@ -181,7 +180,6 @@ class ApiQueryUserInfo extends ApiQueryBase { } protected function getRateLimits() { - global $wgRateLimits; $user = $this->getUser(); if ( !$user->isPingLimitable() ) { return array(); // No limits @@ -205,7 +203,7 @@ class ApiQueryUserInfo extends ApiQueryBase { // Now get the actual limits $retval = array(); - foreach ( $wgRateLimits as $action => $limits ) { + foreach ( $this->getConfig()->get( 'RateLimits' ) as $action => $limits ) { foreach ( $categories as $cat ) { if ( isset( $limits[$cat] ) && !is_null( $limits[$cat] ) ) { $retval[$action][$cat]['hits'] = intval( $limits[$cat][0] ); diff --git a/includes/api/ApiQueryWatchlist.php b/includes/api/ApiQueryWatchlist.php index 837ad28431..506fb591bd 100644 --- a/includes/api/ApiQueryWatchlist.php +++ b/includes/api/ApiQueryWatchlist.php @@ -562,8 +562,6 @@ class ApiQueryWatchlist extends ApiQueryGeneratorBase { } public function getResultProperties() { - global $wgLogTypes; - return array( '' => array( 'type' => array( @@ -632,7 +630,7 @@ class ApiQueryWatchlist extends ApiQueryGeneratorBase { ApiBase::PROP_NULLABLE => true ), 'logtype' => array( - ApiBase::PROP_TYPE => $wgLogTypes, + ApiBase::PROP_TYPE => $this->getConfig()->get( 'LogTypes' ), ApiBase::PROP_NULLABLE => true ), 'logaction' => array( diff --git a/includes/api/ApiResult.php b/includes/api/ApiResult.php index 2719f123b9..7d0a15a9a5 100644 --- a/includes/api/ApiResult.php +++ b/includes/api/ApiResult.php @@ -314,15 +314,14 @@ class ApiResult extends ApiBase { * @since 1.21 int $flags replaced boolean $override */ public function addValue( $path, $name, $value, $flags = 0 ) { - global $wgAPIMaxResultSize; - $data = &$this->mData; if ( $this->mCheckingSize ) { $newsize = $this->mSize + self::size( $value ); - if ( $newsize > $wgAPIMaxResultSize ) { + $maxResultSize = $this->getConfig()->get( 'APIMaxResultSize' ); + if ( $newsize > $maxResultSize ) { $this->setWarning( "This result was truncated because it would otherwise be larger than the " . - "limit of {$wgAPIMaxResultSize} bytes" ); + "limit of {$maxResultSize} bytes" ); return false; } diff --git a/includes/api/ApiUpload.php b/includes/api/ApiUpload.php index 49306d7344..5e6c962d12 100644 --- a/includes/api/ApiUpload.php +++ b/includes/api/ApiUpload.php @@ -34,8 +34,6 @@ class ApiUpload extends ApiBase { protected $mParams; public function execute() { - global $wgEnableAsyncUploads; - // Check whether upload is enabled if ( !UploadBase::isEnabled() ) { $this->dieUsageMsg( 'uploaddisabled' ); @@ -47,7 +45,7 @@ class ApiUpload extends ApiBase { $this->mParams = $this->extractRequestParams(); $request = $this->getMain()->getRequest(); // Check if async mode is actually supported (jobs done in cli mode) - $this->mParams['async'] = ( $this->mParams['async'] && $wgEnableAsyncUploads ); + $this->mParams['async'] = ( $this->mParams['async'] && $this->getConfig()->get( 'EnableAsyncUploads' ) ); // Add the uploaded file to the params array $this->mParams['file'] = $request->getFileName( 'file' ); $this->mParams['chunk'] = $request->getFileName( 'chunk' ); @@ -471,8 +469,6 @@ class ApiUpload extends ApiBase { * Performs file verification, dies on error. */ protected function checkVerification( array $verification ) { - global $wgFileExtensions; - // @todo Move them to ApiBase's message map switch ( $verification['status'] ) { // Recoverable errors @@ -504,7 +500,7 @@ class ApiUpload extends ApiBase { case UploadBase::FILETYPE_BADTYPE: $extradata = array( 'filetype' => $verification['finalExt'], - 'allowed' => array_values( array_unique( $wgFileExtensions ) ) + 'allowed' => array_values( array_unique( $this->getConfig()->get( 'FileExtensions' ) ) ) ); $this->getResult()->setIndexedTagName( $extradata['allowed'], 'ext' ); @@ -666,8 +662,7 @@ class ApiUpload extends ApiBase { * Checks if asynchronous copy uploads are enabled and throws an error if they are not. */ protected function checkAsyncDownloadEnabled() { - global $wgAllowAsyncCopyUploads; - if ( !$wgAllowAsyncCopyUploads ) { + if ( !$this->getConfig()->get( 'AllowAsyncCopyUploads' ) ) { $this->dieUsage( 'Asynchronous copy uploads disabled', 'asynccopyuploaddisabled' ); } } -- 2.20.1