X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2FServiceWiring.php;h=6afabedde1a7e51e527d579c05931667c5361230;hp=4fec472ef46526477e2c1c56cb55d857ebb11c5d;hb=f7e1770fb832aa77bf4e16ce8cc815f2b24dd10d;hpb=ce079cf6ad79ca8d3360817f809b219d166f9153 diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index 4fec472ef4..6afabedde1 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -48,7 +48,8 @@ return [ $lbConf = MWLBFactory::applyDefaultConfig( $mainConfig->get( 'LBFactoryConf' ), - $mainConfig + $mainConfig, + $services->getConfiguredReadOnlyMode() ); $class = MWLBFactory::getLBFactoryClass( $lbConf ); @@ -71,8 +72,14 @@ return [ }, 'SiteLookup' => function( MediaWikiServices $services ) { - // Use the default SiteStore as the SiteLookup implementation for now - return $services->getSiteStore(); + $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(); + } }, 'ConfigFactory' => function( MediaWikiServices $services ) { @@ -149,7 +156,8 @@ return [ 'WatchedItemStore' => function( MediaWikiServices $services ) { $store = new WatchedItemStore( $services->getDBLoadBalancer(), - new HashBagOStuff( [ 'maxKeys' => 100 ] ) + new HashBagOStuff( [ 'maxKeys' => 100 ] ), + $services->getReadOnlyMode() ); $store->setStatsdDataFactory( $services->getStatsdDataFactory() ); return $store; @@ -398,6 +406,17 @@ return [ return $vrsClient; }, + 'ConfiguredReadOnlyMode' => function( MediaWikiServices $services ) { + return new ConfiguredReadOnlyMode( $services->getMainConfig() ); + }, + + 'ReadOnlyMode' => function( MediaWikiServices $services ) { + return new ReadOnlyMode( + $services->getConfiguredReadOnlyMode(), + $services->getDBLoadBalancer() + ); + }, + /////////////////////////////////////////////////////////////////////////// // NOTE: When adding a service here, don't forget to add a getter function // in the MediaWikiServices class. The convenience getter should just call