diff --git a/includes/Html.php b/includes/Html.php index 1f1867aa592..397550731a4 100644 --- a/includes/Html.php +++ b/includes/Html.php @@ -594,7 +594,7 @@ class Html { $attrs = []; if ( $nonce !== null ) { $attrs['nonce'] = $nonce; - } elseif ( ContentSecurityPolicy::isNonceRequired( RequestContext::getMain()->getConfig() ) ) { + } elseif ( ContentSecurityPolicy::isNonceRequired( MediaWikiServices::getInstance()->getMainConfig() ) ) { wfWarn( "no nonce set on script. CSP will break it" ); } @@ -618,7 +618,7 @@ class Html { $attrs = [ 'src' => $url ]; if ( $nonce !== null ) { $attrs['nonce'] = $nonce; - } elseif ( ContentSecurityPolicy::isNonceRequired( RequestContext::getMain()->getConfig() ) ) { + } elseif ( ContentSecurityPolicy::isNonceRequired( MediaWikiServices::getInstance()->getMainConfig() ) ) { wfWarn( "no nonce set on script. CSP will break it" ); } diff --git a/includes/block/AbstractBlock.php b/includes/block/AbstractBlock.php index ffa2ab9cd6b..8bc0cbd2afb 100644 --- a/includes/block/AbstractBlock.php +++ b/includes/block/AbstractBlock.php @@ -277,8 +277,8 @@ abstract class AbstractBlock implements Block { * unsure (e.g. unrecognized right or unset property) */ public function appliesToRight( $right ) { - $config = RequestContext::getMain()->getConfig(); - $blockDisablesLogin = $config->get( MainConfigNames::BlockDisablesLogin ); + $blockDisablesLogin = MediaWikiServices::getInstance()->getMainConfig() + ->get( MainConfigNames::BlockDisablesLogin ); $res = null; switch ( $right ) { @@ -498,8 +498,9 @@ abstract class AbstractBlock implements Block { // This is a type of block which uses the ipb_allow_usertalk // flag. The flag can still be overridden by global configs. - $config = RequestContext::getMain()->getConfig(); - if ( !$config->get( MainConfigNames::BlockAllowsUTEdit ) ) { + if ( !MediaWikiServices::getInstance()->getMainConfig() + ->get( MainConfigNames::BlockAllowsUTEdit ) + ) { return true; } return !$this->isUsertalkEditAllowed(); diff --git a/includes/jobqueue/jobs/CategoryMembershipChangeJob.php b/includes/jobqueue/jobs/CategoryMembershipChangeJob.php index 7cff262cf12..e3e6c2c742c 100644 --- a/includes/jobqueue/jobs/CategoryMembershipChangeJob.php +++ b/includes/jobqueue/jobs/CategoryMembershipChangeJob.php @@ -185,7 +185,6 @@ class CategoryMembershipChangeJob extends Job { protected function notifyUpdatesForRevision( LBFactory $lbFactory, WikiPage $page, RevisionRecord $newRev ) { - $config = RequestContext::getMain()->getConfig(); $title = $page->getTitle(); // Get the new revision @@ -216,7 +215,7 @@ class CategoryMembershipChangeJob extends Job { $catMembChange = new CategoryMembershipChange( $title, $blc, $newRev ); $catMembChange->checkTemplateLinks(); - $batchSize = $config->get( MainConfigNames::UpdateRowsPerQuery ); + $batchSize = $services->getMainConfig()->get( MainConfigNames::UpdateRowsPerQuery ); $insertCount = 0; foreach ( $categoryInserts as $categoryName ) { diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php index 93c160374f3..3371436b513 100644 --- a/includes/page/WikiPage.php +++ b/includes/page/WikiPage.php @@ -3191,7 +3191,7 @@ class WikiPage implements Page, IDBAccessObject, PageRecord { return; } - $config = RequestContext::getMain()->getConfig(); + $config = MediaWikiServices::getInstance()->getMainConfig(); $params = [ 'isOpportunistic' => true, @@ -3216,7 +3216,8 @@ class WikiPage implements Page, IDBAccessObject, PageRecord { RefreshLinksJob::newPrioritized( $this->mTitle, $params ) ); } elseif ( !$config->get( MainConfigNames::MiserMode ) && - $parserOutput->hasReducedExpiry() ) { + $parserOutput->hasReducedExpiry() + ) { // Assume the output contains "dynamic" time/random based magic words. // Only update pages that expired due to dynamic content and NOT due to edits // to referenced templates/files. When the cache expires due to dynamic content, diff --git a/includes/session/PHPSessionHandler.php b/includes/session/PHPSessionHandler.php index c103e1adc7a..94136be8e2e 100644 --- a/includes/session/PHPSessionHandler.php +++ b/includes/session/PHPSessionHandler.php @@ -25,6 +25,7 @@ namespace MediaWiki\Session; use BagOStuff; use MediaWiki\MainConfigNames; +use MediaWiki\MediaWikiServices; use Psr\Log\LoggerInterface; use Psr\Log\NullLogger; use Wikimedia\AtEase\AtEase; @@ -58,7 +59,7 @@ class PHPSessionHandler implements \SessionHandlerInterface { protected function __construct( SessionManager $manager ) { $this->setEnableFlags( - \RequestContext::getMain()->getConfig()->get( MainConfigNames::PHPSessionHandling ) + MediaWikiServices::getInstance()->getMainConfig()->get( MainConfigNames::PHPSessionHandling ) ); $manager->setupPHPSessionHandler( $this ); } diff --git a/includes/session/SessionBackend.php b/includes/session/SessionBackend.php index e6c32cde4e2..f5ff5f3ab78 100644 --- a/includes/session/SessionBackend.php +++ b/includes/session/SessionBackend.php @@ -156,7 +156,8 @@ final class SessionBackend { SessionId $id, SessionInfo $info, CachedBagOStuff $store, LoggerInterface $logger, HookContainer $hookContainer, $lifetime ) { - $phpSessionHandling = \RequestContext::getMain()->getConfig()->get( MainConfigNames::PHPSessionHandling ); + $phpSessionHandling = MediaWikiServices::getInstance()->getMainConfig() + ->get( MainConfigNames::PHPSessionHandling ); $this->usePhpSessionHandling = $phpSessionHandling !== 'disable'; if ( $info->getUserInfo() && !$info->getUserInfo()->isVerified() ) { diff --git a/tests/phpunit/includes/ContentSecurityPolicyTest.php b/tests/phpunit/includes/ContentSecurityPolicyTest.php index 28a1b370812..cfce3a45acc 100644 --- a/tests/phpunit/includes/ContentSecurityPolicyTest.php +++ b/tests/phpunit/includes/ContentSecurityPolicyTest.php @@ -370,7 +370,7 @@ class ContentSecurityPolicyTest extends MediaWikiIntegrationTestCase { public function testCSPIsEnabled( $main, $reportOnly, $expected ) { $this->setMwGlobals( 'wgCSPReportOnlyHeader', $reportOnly ); $this->setMwGlobals( 'wgCSPHeader', $main ); - $res = ContentSecurityPolicy::isNonceRequired( RequestContext::getMain()->getConfig() ); + $res = ContentSecurityPolicy::isNonceRequired( $this->getServiceContainer()->getMainConfig() ); $this->assertSame( $expected, $res ); } diff --git a/tests/phpunit/includes/ResourceLoader/FileModuleTest.php b/tests/phpunit/includes/ResourceLoader/FileModuleTest.php index 06b9c006449..92fc122317b 100644 --- a/tests/phpunit/includes/ResourceLoader/FileModuleTest.php +++ b/tests/phpunit/includes/ResourceLoader/FileModuleTest.php @@ -9,7 +9,6 @@ use MediaWiki\ResourceLoader\FileModule; use MediaWiki\ResourceLoader\FilePath; use MediaWiki\ResourceLoader\ResourceLoader; use Psr\Container\ContainerInterface; -use RequestContext; use ResourceLoaderFileTestModule; use ResourceLoaderTestCase; use RuntimeException; @@ -640,7 +639,7 @@ class FileModuleTest extends ResourceLoaderTestCase { $nosemiScript = file_get_contents( "$basePath/script-nosemi.js" ); $vueComponentDebug = trim( file_get_contents( "$basePath/vue-component-output-debug.js.txt" ) ); $vueComponentNonDebug = trim( file_get_contents( "$basePath/vue-component-output-nondebug.js.txt" ) ); - $config = RequestContext::getMain()->getConfig(); + $config = \MediaWiki\MediaWikiServices::getInstance()->getMainConfig(); return [ [ $base + [ diff --git a/tests/phpunit/includes/auth/ConfirmLinkSecondaryAuthenticationProviderTest.php b/tests/phpunit/includes/auth/ConfirmLinkSecondaryAuthenticationProviderTest.php index 33b384b9686..9aa9beb9c75 100644 --- a/tests/phpunit/includes/auth/ConfirmLinkSecondaryAuthenticationProviderTest.php +++ b/tests/phpunit/includes/auth/ConfirmLinkSecondaryAuthenticationProviderTest.php @@ -141,7 +141,7 @@ class ConfirmLinkSecondaryAuthenticationProviderTest extends \MediaWikiIntegrati ->onlyMethods( [ 'allowsAuthenticationDataChange' ] ) ->setConstructorArgs( [ $request, - \RequestContext::getMain()->getConfig(), + $mwServices->getMainConfig(), $mwServices->getObjectFactory(), $mwServices->getHookContainer(), $mwServices->getReadOnlyMode(), diff --git a/tests/phpunit/includes/session/BotPasswordSessionProviderTest.php b/tests/phpunit/includes/session/BotPasswordSessionProviderTest.php index 1af7d2c1b82..cb6c1a80214 100644 --- a/tests/phpunit/includes/session/BotPasswordSessionProviderTest.php +++ b/tests/phpunit/includes/session/BotPasswordSessionProviderTest.php @@ -5,7 +5,6 @@ namespace MediaWiki\Session; use MediaWikiIntegrationTestCase; use MultiConfig; use Psr\Log\LogLevel; -use RequestContext; use Wikimedia\TestingAccessWrapper; /** @@ -45,7 +44,7 @@ class BotPasswordSessionProviderTest extends MediaWikiIntegrationTestCase { ] ); } $manager = new SessionManager( [ - 'config' => new MultiConfig( [ $this->config, RequestContext::getMain()->getConfig() ] ), + 'config' => new MultiConfig( [ $this->config, $this->getServiceContainer()->getMainConfig() ] ), 'logger' => new \Psr\Log\NullLogger, 'store' => new TestBagOStuff, ] ); diff --git a/tests/phpunit/includes/session/SessionManagerTest.php b/tests/phpunit/includes/session/SessionManagerTest.php index 3a9e074e826..bd3271acd0c 100644 --- a/tests/phpunit/includes/session/SessionManagerTest.php +++ b/tests/phpunit/includes/session/SessionManagerTest.php @@ -122,7 +122,7 @@ class SessionManagerTest extends MediaWikiIntegrationTestCase { $this->assertSame( $this->store, $manager->store ); $manager = TestingAccessWrapper::newFromObject( new SessionManager() ); - $this->assertSame( \RequestContext::getMain()->getConfig(), $manager->config ); + $this->assertSame( $this->getServiceContainer()->getMainConfig(), $manager->config ); $manager = TestingAccessWrapper::newFromObject( new SessionManager( [ 'config' => $this->config, diff --git a/tests/phpunit/includes/session/TestBagOStuff.php b/tests/phpunit/includes/session/TestBagOStuff.php index 2f6f025be5f..bbe2b2de408 100644 --- a/tests/phpunit/includes/session/TestBagOStuff.php +++ b/tests/phpunit/includes/session/TestBagOStuff.php @@ -4,7 +4,7 @@ namespace MediaWiki\Session; use CachedBagOStuff; use HashBagOStuff; -use RequestContext; +use MediaWiki\MediaWikiServices; /** * BagOStuff with utility functions for MediaWiki\\Session\\* testing @@ -55,7 +55,7 @@ class TestBagOStuff extends CachedBagOStuff { * @param array|mixed $blob Session metadata and data */ public function setRawSession( $id, $blob ) { - $expiry = RequestContext::getMain()->getConfig()->get( 'ObjectCacheSessionExpiry' ); + $expiry = MediaWikiServices::getInstance()->getMainConfig()->get( 'ObjectCacheSessionExpiry' ); $this->set( $this->makeKey( 'MWSession', $id ), $blob, $expiry ); } diff --git a/tests/phpunit/includes/user/BotPasswordTest.php b/tests/phpunit/includes/user/BotPasswordTest.php index 19986ebcd9a..00df1a99586 100644 --- a/tests/phpunit/includes/user/BotPasswordTest.php +++ b/tests/phpunit/includes/user/BotPasswordTest.php @@ -277,7 +277,7 @@ class BotPasswordTest extends MediaWikiIntegrationTestCase { ScopedCallback::consume( $reset ); // Now configure BotPasswordSessionProvider for further tests... - $mainConfig = RequestContext::getMain()->getConfig(); + $mainConfig = $this->getServiceContainer()->getMainConfig(); $config = new HashConfig( [ 'SessionProviders' => $mainConfig->get( 'SessionProviders' ) + [ MediaWiki\Session\BotPasswordSessionProvider::class => [ @@ -288,7 +288,7 @@ class BotPasswordTest extends MediaWikiIntegrationTestCase { ], ] ); $manager = new SessionManager( [ - 'config' => new MultiConfig( [ $config, RequestContext::getMain()->getConfig() ] ), + 'config' => new MultiConfig( [ $config, $mainConfig ] ), 'logger' => new Psr\Log\NullLogger, 'store' => new EmptyBagOStuff, ] ); diff --git a/tests/phpunit/structure/ApiStructureTest.php b/tests/phpunit/structure/ApiStructureTest.php index 3a38362c447..fab10f761fa 100644 --- a/tests/phpunit/structure/ApiStructureTest.php +++ b/tests/phpunit/structure/ApiStructureTest.php @@ -69,7 +69,7 @@ class ApiStructureTest extends MediaWikiIntegrationTestCase { // Set configuration variables $main->getContext()->setConfig( new MultiConfig( [ new HashConfig( $globals ), - RequestContext::getMain()->getConfig(), + $this->getServiceContainer()->getMainConfig(), ] ) ); foreach ( $globals as $k => $v ) { $this->setMwGlobals( "wg$k", $v );