'BlobStoreFactory' => function ( MediaWikiServices $services ) : BlobStoreFactory {
return new BlobStoreFactory(
$services->getDBLoadBalancerFactory(),
+ $services->getExternalStoreAccess(),
$services->getMainWANObjectCache(),
new ServiceOptions( BlobStoreFactory::$constructorOptions,
$services->getMainConfig() ),
},
'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()
);
},
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' )
);
},
},
'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()
);
$config->get( 'WhitelistReadRegexp' ),
$config->get( 'EmailConfirmToEdit' ),
$config->get( 'BlockDisablesLogin' ),
+ $config->get( 'GroupPermissions' ),
+ $config->get( 'RevokePermissions' ),
+ $config->get( 'AvailableRights' ),
$services->getNamespaceInfo()
);
},
'ProxyLookup' => function ( MediaWikiServices $services ) : ProxyLookup {
$mainConfig = $services->getMainConfig();
return new ProxyLookup(
- $mainConfig->get( 'SquidServers' ),
- $mainConfig->get( 'SquidServersNoPurge' )
+ $mainConfig->get( 'CdnServers' ),
+ $mainConfig->get( 'CdnServersNoPurge' )
);
},