X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FServiceWiring.php;h=e371b5a5c8f54c9850df9d6dad3de7e729efcc67;hb=6cfb2e3d7a2b96d5041312fcec88248bb46573d7;hp=9b064ce703511f8d3e92b83c2b556c08efdacb74;hpb=34d2b3aa238754621462cfaa10aa45c7751bf9a8;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index 9b064ce703..b6500a41dc 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -82,6 +82,7 @@ return [ 'BlobStoreFactory' => function ( MediaWikiServices $services ) : BlobStoreFactory { return new BlobStoreFactory( $services->getDBLoadBalancerFactory(), + $services->getExternalStoreAccess(), $services->getMainWANObjectCache(), new ServiceOptions( BlobStoreFactory::$constructorOptions, $services->getMainConfig() ), @@ -90,19 +91,13 @@ return [ }, 'BlockManager' => function ( MediaWikiServices $services ) : BlockManager { - $config = $services->getMainConfig(); $context = RequestContext::getMain(); return new BlockManager( + new ServiceOptions( + BlockManager::$constructorOptions, $services->getMainConfig() + ), $context->getUser(), - $context->getRequest(), - $config->get( 'ApplyIpBlocksToXff' ), - $config->get( 'CookieSetOnAutoblock' ), - $config->get( 'CookieSetOnIpBlock' ), - $config->get( 'DnsBlacklistUrls' ), - $config->get( 'EnableDnsBlacklist' ), - $config->get( 'ProxyList' ), - $config->get( 'ProxyWhitelist' ), - $config->get( 'SoftBlockRanges' ) + $context->getRequest() ); }, @@ -200,11 +195,22 @@ return [ return new EventRelayerGroup( $services->getMainConfig()->get( 'EventRelayerConfig' ) ); }, + 'ExternalStoreAccess' => function ( MediaWikiServices $services ) : ExternalStoreAccess { + return new ExternalStoreAccess( + $services->getExternalStoreFactory(), + LoggerFactory::getInstance( 'ExternalStore' ) + ); + }, + 'ExternalStoreFactory' => function ( MediaWikiServices $services ) : ExternalStoreFactory { $config = $services->getMainConfig(); + $writeStores = $config->get( 'DefaultExternalStore' ); return new ExternalStoreFactory( - $config->get( 'ExternalStores' ) + $config->get( 'ExternalStores' ), + ( $writeStores !== false ) ? (array)$writeStores : [], + $services->getDBLoadBalancer()->getLocalDomainID(), + LoggerFactory::getInstance( 'ExternalStore' ) ); }, @@ -416,15 +422,25 @@ return [ }, 'ParserFactory' => function ( MediaWikiServices $services ) : ParserFactory { - return new ParserFactory( + $options = new ServiceOptions( Parser::$constructorOptions, + // 'class' and 'preprocessorClass' $services->getMainConfig()->get( 'ParserConf' ), + // Make sure to have defaults in case someone overrode ParserConf with something silly + [ 'class' => Parser::class, + 'preprocessorClass' => Parser::getDefaultPreprocessorClass() ], + // Plus a buch of actual config options + $services->getMainConfig() + ); + + return new ParserFactory( + $options, $services->getMagicWordFactory(), $services->getContentLanguage(), wfUrlProtocols(), $services->getSpecialPageFactory(), - $services->getMainConfig(), $services->getLinkRendererFactory(), - $services->getNamespaceInfo() + $services->getNamespaceInfo(), + LoggerFactory::getInstance( 'Parser' ) ); }, @@ -450,10 +466,14 @@ return [ $config = $services->getMainConfig(); return new PermissionManager( $services->getSpecialPageFactory(), + $services->getRevisionLookup(), $config->get( 'WhitelistRead' ), $config->get( 'WhitelistReadRegexp' ), $config->get( 'EmailConfirmToEdit' ), $config->get( 'BlockDisablesLogin' ), + $config->get( 'GroupPermissions' ), + $config->get( 'RevokePermissions' ), + $config->get( 'AvailableRights' ), $services->getNamespaceInfo() ); }, @@ -475,8 +495,8 @@ return [ 'ProxyLookup' => function ( MediaWikiServices $services ) : ProxyLookup { $mainConfig = $services->getMainConfig(); return new ProxyLookup( - $mainConfig->get( 'SquidServers' ), - $mainConfig->get( 'SquidServersNoPurge' ) + $mainConfig->get( 'CdnServers' ), + $mainConfig->get( 'CdnServersNoPurge' ) ); },