X-Git-Url: https://git.cyclocoop.org/admin/?a=blobdiff_plain;f=includes%2FServiceWiring.php;h=b53011ff96e4d9d60e0f3c492568f10904c52d2c;hb=e7051c851cc23bf401018277fe75359e214bb34b;hp=21a66cde88d2ad6fc88f8736309434ca85db8ebb;hpb=358348d9bf90f0f1bacb64e5348936e7813108c3;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index 21a66cde88..b53011ff96 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -45,14 +45,16 @@ use MediaWiki\Block\BlockRestrictionStore; use MediaWiki\Config\ConfigRepository; use MediaWiki\Config\ServiceOptions; use MediaWiki\FileBackend\FSFile\TempFSFileFactory; +use MediaWiki\FileBackend\LockManager\LockManagerGroupFactory; use MediaWiki\Http\HttpRequestFactory; use MediaWiki\Interwiki\ClassicInterwikiLookup; use MediaWiki\Interwiki\InterwikiLookup; -use MediaWiki\Languages\LanguageNameUtils; use MediaWiki\Linker\LinkRenderer; use MediaWiki\Linker\LinkRendererFactory; use MediaWiki\Logger\LoggerFactory; use MediaWiki\MediaWikiServices; +use Wikimedia\Message\IMessageFormatterFactory; +use MediaWiki\Message\MessageFormatterFactory; use MediaWiki\Page\MovePageFactory; use MediaWiki\Permissions\PermissionManager; use MediaWiki\Preferences\PreferencesFactory; @@ -257,13 +259,6 @@ return [ ); }, - 'LanguageNameUtils' => function ( MediaWikiServices $services ) : LanguageNameUtils { - return new LanguageNameUtils( new ServiceOptions( - LanguageNameUtils::$constructorOptions, - $services->getMainConfig() - ) ); - }, - 'LinkCache' => function ( MediaWikiServices $services ) : LinkCache { return new LinkCache( $services->getTitleFormatter(), @@ -290,61 +285,19 @@ return [ ); }, - 'LocalisationCache' => function ( MediaWikiServices $services ) : LocalisationCache { - $conf = $services->getMainConfig()->get( 'LocalisationCacheConf' ); - - $logger = LoggerFactory::getInstance( 'localisation' ); - - // Figure out what class to use for the LCStore - $storeArg = []; - $storeArg['directory'] = - $conf['storeDirectory'] ?? $services->getMainConfig()->get( 'CacheDirectory' ); - - if ( !empty( $conf['storeClass'] ) ) { - $storeClass = $conf['storeClass']; - } elseif ( $conf['store'] === 'files' || $conf['store'] === 'file' || - ( $conf['store'] === 'detect' && $storeArg['directory'] ) - ) { - $storeClass = LCStoreCDB::class; - } elseif ( $conf['store'] === 'db' || $conf['store'] === 'detect' ) { - $storeClass = LCStoreDB::class; - $storeArg['server'] = $conf['storeServer'] ?? []; - } elseif ( $conf['store'] === 'array' ) { - $storeClass = LCStoreStaticArray::class; - } else { - throw new MWException( - 'Please set $wgLocalisationCacheConf[\'store\'] to something sensible.' - ); - } - $logger->debug( "LocalisationCache: using store $storeClass" ); - - return new $conf['class']( - new ServiceOptions( - LocalisationCache::$constructorOptions, - // Two of the options are stored in $wgLocalisationCacheConf - $conf, - // In case someone set that config variable and didn't reset all keys, set defaults. - [ - 'forceRecache' => false, - 'manualRecache' => false, - ], - // Some other options come from config itself - $services->getMainConfig() - ), - new $storeClass( $storeArg ), - $logger, - [ function () use ( $services ) { - $services->getResourceLoader()->getMessageBlobStore()->clear(); - } ], - $services->getLanguageNameUtils() - ); - }, - 'LocalServerObjectCache' => function ( MediaWikiServices $services ) : BagOStuff { $config = $services->getMainConfig(); - $cacheId = \ObjectCache::detectLocalServerCache(); + $cacheId = ObjectCache::detectLocalServerCache(); - return \ObjectCache::newFromParams( $config->get( 'ObjectCaches' )[$cacheId] ); + return ObjectCache::newFromParams( $config->get( 'ObjectCaches' )[$cacheId] ); + }, + + 'LockManagerGroupFactory' => function ( MediaWikiServices $services ) : LockManagerGroupFactory { + return new LockManagerGroupFactory( + WikiMap::getCurrentWikiDbDomain()->getId(), + $services->getMainConfig()->get( 'LockManagers' ), + $services->getDBLoadBalancerFactory() + ); }, 'MagicWordFactory' => function ( MediaWikiServices $services ) : MagicWordFactory { @@ -365,7 +318,7 @@ return [ "Cache type \"$id\" is not present in \$wgObjectCaches." ); } - return \ObjectCache::newFromParams( $mainConfig->get( 'ObjectCaches' )[$id] ); + return ObjectCache::newFromParams( $mainConfig->get( 'ObjectCaches' )[$id] ); }, 'MainWANObjectCache' => function ( MediaWikiServices $services ) : WANObjectCache { @@ -385,7 +338,7 @@ return [ } $params['store'] = $mainConfig->get( 'ObjectCaches' )[$objectCacheId]; - return \ObjectCache::newWANCacheFromParams( $params ); + return ObjectCache::newWANCacheFromParams( $params ); }, 'MediaHandlerFactory' => function ( MediaWikiServices $services ) : MediaHandlerFactory { @@ -403,11 +356,15 @@ return [ ? $services->getLocalServerObjectCache() : new EmptyBagOStuff(), $mainConfig->get( 'UseDatabaseMessages' ), - $mainConfig->get( 'MsgCacheExpiry' ), $services->getContentLanguage() ); }, + 'MessageFormatterFactory' => + function ( MediaWikiServices $services ) : IMessageFormatterFactory { + return new MessageFormatterFactory(); + }, + 'MimeAnalyzer' => function ( MediaWikiServices $services ) : MimeAnalyzer { $logger = LoggerFactory::getInstance( 'Mime' ); $mainConfig = $services->getMainConfig(); @@ -536,8 +493,7 @@ return [ // '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() ], + [ 'class' => Parser::class, 'preprocessorClass' => Preprocessor_Hash::class ], // Plus a buch of actual config options $services->getMainConfig() );