X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2FServiceWiring.php;h=cccb5e733ffc949474ae62bc4a99df0253f5321c;hp=e5f891e312183e756a76c21d027ae56aa0efd2c5;hb=a38af7ba26579bb3004f673e44d39710887763aa;hpb=06825cbeaeed8fdee45260bf268d2e4744fbb2e1 diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index e5f891e312..cccb5e733f 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -46,6 +46,7 @@ use MediaWiki\Linker\LinkRenderer; use MediaWiki\Linker\LinkRendererFactory; use MediaWiki\Logger\LoggerFactory; use MediaWiki\MediaWikiServices; +use MediaWiki\Permissions\PermissionManager; use MediaWiki\Preferences\PreferencesFactory; use MediaWiki\Preferences\DefaultPreferencesFactory; use MediaWiki\Revision\MainSlotRoleHandler; @@ -149,7 +150,10 @@ return [ $lbConf = MWLBFactory::applyDefaultConfig( $mainConfig->get( 'LBFactoryConf' ), $mainConfig, - $services->getConfiguredReadOnlyMode() + $services->getConfiguredReadOnlyMode(), + $services->getLocalServerObjectCache(), + $services->getMainObjectStash(), + $services->getMainWANObjectCache() ); $class = MWLBFactory::getLBFactoryClass( $lbConf ); @@ -200,12 +204,12 @@ return [ }, 'LinkRenderer' => function ( MediaWikiServices $services ) : LinkRenderer { - global $wgUser; - if ( defined( 'MW_NO_SESSION' ) ) { return $services->getLinkRendererFactory()->create(); } else { - return $services->getLinkRendererFactory()->createForUser( $wgUser ); + return $services->getLinkRendererFactory()->createForUser( + RequestContext::getMain()->getUser() + ); } }, @@ -386,6 +390,16 @@ return [ ); }, + 'PermissionManager' => function ( MediaWikiServices $services ) : PermissionManager { + $config = $services->getMainConfig(); + return new PermissionManager( + $services->getSpecialPageFactory(), + $config->get( 'WhitelistRead' ), + $config->get( 'WhitelistReadRegexp' ), + $config->get( 'EmailConfirmToEdit' ), + $config->get( 'BlockDisablesLogin' ) ); + }, + 'PreferencesFactory' => function ( MediaWikiServices $services ) : PreferencesFactory { $factory = new DefaultPreferencesFactory( $services->getMainConfig(), @@ -414,10 +428,15 @@ return [ }, 'ResourceLoader' => function ( MediaWikiServices $services ) : ResourceLoader { - return new ResourceLoader( - $services->getMainConfig(), + $config = $services->getMainConfig(); + + $rl = new ResourceLoader( + $config, LoggerFactory::getInstance( 'resourceloader' ) ); + $rl->addSource( $config->get( 'ResourceLoaderSources' ) ); + + return $rl; }, 'RevisionFactory' => function ( MediaWikiServices $services ) : RevisionFactory { @@ -489,14 +508,10 @@ return [ }, 'SiteLookup' => function ( MediaWikiServices $services ) : SiteLookup { - $cacheFile = $services->getMainConfig()->get( 'SitesCacheFile' ); - - if ( $cacheFile !== false ) { - return new FileBasedSiteLookup( $cacheFile ); - } else { - // Use the default SiteStore as the SiteLookup implementation for now - return $services->getSiteStore(); - } + // Use SiteStore as the SiteLookup as well. This was originally separated + // to allow for a cacheable read-only interface (using FileBasedSiteLookup), + // but this was never used. SiteStore has caching (see below). + return $services->getSiteStore(); }, 'SiteStore' => function ( MediaWikiServices $services ) : SiteStore {