X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FServiceWiring.php;h=b30726415e1c604e0ac14cd08f38875daa60ea6a;hb=308e6427aef169a575a339e6a8e0558d29403a1d;hp=9073de1c0eac01ef684f91f0a0b78e731708097d;hpb=c19031b21f2bf27be3206e050df585b059882dac;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index 9073de1c0e..b30726415e 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -39,10 +39,12 @@ use Liuggio\StatsdClient\Factory\StatsdDataFactoryInterface; use MediaWiki\Auth\AuthManager; +use MediaWiki\BadFileLookup; use MediaWiki\Block\BlockManager; use MediaWiki\Block\BlockRestrictionStore; use MediaWiki\Config\ConfigRepository; use MediaWiki\Config\ServiceOptions; +use MediaWiki\FileBackend\FSFile\TempFSFileFactory; use MediaWiki\Http\HttpRequestFactory; use MediaWiki\Interwiki\ClassicInterwikiLookup; use MediaWiki\Interwiki\InterwikiLookup; @@ -50,6 +52,7 @@ use MediaWiki\Linker\LinkRenderer; use MediaWiki\Linker\LinkRendererFactory; use MediaWiki\Logger\LoggerFactory; use MediaWiki\MediaWikiServices; +use MediaWiki\Page\MovePageFactory; use MediaWiki\Permissions\PermissionManager; use MediaWiki\Preferences\PreferencesFactory; use MediaWiki\Preferences\DefaultPreferencesFactory; @@ -67,6 +70,7 @@ use MediaWiki\Storage\BlobStoreFactory; use MediaWiki\Storage\NameTableStoreFactory; use MediaWiki\Storage\SqlBlobStore; use MediaWiki\Storage\PageEditStash; +use Wikimedia\ObjectFactory; return [ 'ActorMigration' => function ( MediaWikiServices $services ) : ActorMigration { @@ -75,6 +79,17 @@ return [ ); }, + 'BadFileLookup' => function ( MediaWikiServices $services ) : BadFileLookup { + return new BadFileLookup( + function () { + return wfMessage( 'bad_image_list' )->inContentLanguage()->plain(); + }, + $services->getLocalServerObjectCache(), + $services->getRepoGroup(), + $services->getTitleParser() + ); + }, + 'BlobStore' => function ( MediaWikiServices $services ) : BlobStore { return $services->getService( '_SqlBlobStore' ); }, @@ -97,7 +112,8 @@ return [ BlockManager::$constructorOptions, $services->getMainConfig() ), $context->getUser(), - $context->getRequest() + $context->getRequest(), + $services->getPermissionManager() ); }, @@ -215,7 +231,12 @@ return [ }, 'GenderCache' => function ( MediaWikiServices $services ) : GenderCache { - return new GenderCache( $services->getNamespaceInfo() ); + $nsInfo = $services->getNamespaceInfo(); + // Database layer may be disabled, so processing without database connection + $dbLoadBalancer = $services->isServiceDisabled( 'DBLoadBalancer' ) + ? null + : $services->getDBLoadBalancer(); + return new GenderCache( $nsInfo, $dbLoadBalancer ); }, 'HttpRequestFactory' => @@ -262,9 +283,10 @@ return [ }, 'LocalServerObjectCache' => function ( MediaWikiServices $services ) : BagOStuff { + $config = $services->getMainConfig(); $cacheId = \ObjectCache::detectLocalServerCache(); - return \ObjectCache::newFromId( $cacheId ); + return \ObjectCache::newFromParams( $config->get( 'ObjectCaches' )[$cacheId] ); }, 'MagicWordFactory' => function ( MediaWikiServices $services ) : MagicWordFactory { @@ -314,6 +336,20 @@ return [ ); }, + 'MessageCache' => function ( MediaWikiServices $services ) : MessageCache { + $mainConfig = $services->getMainConfig(); + return new MessageCache( + $services->getMainWANObjectCache(), + ObjectCache::getInstance( $mainConfig->get( 'MessageCacheType' ) ), + $mainConfig->get( 'UseLocalMessageCache' ) + ? $services->getLocalServerObjectCache() + : new EmptyBagOStuff(), + $mainConfig->get( 'UseDatabaseMessages' ), + $mainConfig->get( 'MsgCacheExpiry' ), + $services->getContentLanguage() + ); + }, + 'MimeAnalyzer' => function ( MediaWikiServices $services ) : MimeAnalyzer { $logger = LoggerFactory::getInstance( 'Mime' ); $mainConfig = $services->getMainConfig(); @@ -372,6 +408,17 @@ return [ return new MimeAnalyzer( $params ); }, + 'MovePageFactory' => function ( MediaWikiServices $services ) : MovePageFactory { + return new MovePageFactory( + new ServiceOptions( MovePageFactory::$constructorOptions, $services->getMainConfig() ), + $services->getDBLoadBalancer(), + $services->getNamespaceInfo(), + $services->getWatchedItemStore(), + $services->getPermissionManager(), + $services->getRepoGroup() + ); + }, + 'NamespaceInfo' => function ( MediaWikiServices $services ) : NamespaceInfo { return new NamespaceInfo( new ServiceOptions( NamespaceInfo::$constructorOptions, $services->getMainConfig() ) ); @@ -385,6 +432,10 @@ return [ ); }, + 'ObjectFactory' => function ( MediaWikiServices $services ) : ObjectFactory { + return new ObjectFactory( $services ); + }, + 'OldRevisionImporter' => function ( MediaWikiServices $services ) : OldRevisionImporter { return new ImportableOldRevisionImporter( true, @@ -464,17 +515,12 @@ return [ }, 'PermissionManager' => function ( MediaWikiServices $services ) : PermissionManager { - $config = $services->getMainConfig(); return new PermissionManager( + new ServiceOptions( + PermissionManager::$constructorOptions, $services->getMainConfig() + ), $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() ); }, @@ -683,6 +729,10 @@ return [ ); }, + 'TempFSFileFactory' => function ( MediaWikiServices $services ) : TempFSFileFactory { + return new TempFSFileFactory( $services->getMainConfig()->get( 'TmpDirectory' ) ); + }, + 'TitleFormatter' => function ( MediaWikiServices $services ) : TitleFormatter { return $services->getService( '_MediaWikiTitleCodec' ); },