Merge "Services: Convert LocalisationCache's static to a const now HHVM is gone"...
[lhc/web/wiklou.git] / includes / ServiceWiring.php
index 83847d8..f6d0ec0 100644 (file)
@@ -107,7 +107,7 @@ return [
                        $services->getDBLoadBalancerFactory(),
                        $services->getExternalStoreAccess(),
                        $services->getMainWANObjectCache(),
-                       new ServiceOptions( BlobStoreFactory::$constructorOptions,
+                       new ServiceOptions( BlobStoreFactory::CONSTRUCTOR_OPTIONS,
                                $services->getMainConfig() ),
                        $services->getContentLanguage()
                );
@@ -116,7 +116,7 @@ return [
        'BlockManager' => function ( MediaWikiServices $services ) : BlockManager {
                return new BlockManager(
                        new ServiceOptions(
-                               BlockManager::$constructorOptions, $services->getMainConfig()
+                               BlockManager::CONSTRUCTOR_OPTIONS, $services->getMainConfig()
                        ),
                        $services->getPermissionManager(),
                        LoggerFactory::getInstance( 'BlockManager' )
@@ -287,6 +287,36 @@ return [
                );
        },
 
+       'LocalisationCache' => function ( MediaWikiServices $services ) : LocalisationCache {
+               $conf = $services->getMainConfig()->get( 'LocalisationCacheConf' );
+
+               $logger = LoggerFactory::getInstance( 'localisation' );
+
+               $store = LocalisationCache::getStoreFromConf(
+                       $conf, $services->getMainConfig()->get( 'CacheDirectory' ) );
+               $logger->debug( 'LocalisationCache: using store ' . get_class( $store ) );
+
+               return new $conf['class'](
+                       new ServiceOptions(
+                               LocalisationCache::CONSTRUCTOR_OPTIONS,
+                               // 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()
+                       ),
+                       $store,
+                       $logger,
+                       [ function () use ( $services ) {
+                               $services->getResourceLoader()->getMessageBlobStore()->clear();
+                       } ]
+               );
+       },
+
        'LocalServerObjectCache' => function ( MediaWikiServices $services ) : BagOStuff {
                $config = $services->getMainConfig();
                $cacheId = ObjectCache::detectLocalServerCache();
@@ -521,6 +551,17 @@ return [
                );
        },
 
+       'PasswordReset' => function ( MediaWikiServices $services ) : PasswordReset {
+               $options = new ServiceOptions( PasswordReset::CONSTRUCTOR_OPTIONS, $services->getMainConfig() );
+               return new PasswordReset(
+                       $options,
+                       AuthManager::singleton(),
+                       $services->getPermissionManager(),
+                       $services->getDBLoadBalancer(),
+                       LoggerFactory::getInstance( 'authentication' )
+               );
+       },
+
        'PerDbNameStatsdDataFactory' =>
        function ( MediaWikiServices $services ) : StatsdDataFactoryInterface {
                $config = $services->getMainConfig();
@@ -534,7 +575,7 @@ return [
        'PermissionManager' => function ( MediaWikiServices $services ) : PermissionManager {
                return new PermissionManager(
                        new ServiceOptions(
-                               PermissionManager::$constructorOptions, $services->getMainConfig()
+                               PermissionManager::CONSTRUCTOR_OPTIONS, $services->getMainConfig()
                        ),
                        $services->getSpecialPageFactory(),
                        $services->getRevisionLookup(),
@@ -545,7 +586,7 @@ return [
        'PreferencesFactory' => function ( MediaWikiServices $services ) : PreferencesFactory {
                $factory = new DefaultPreferencesFactory(
                        new ServiceOptions(
-                               DefaultPreferencesFactory::$constructorOptions, $services->getMainConfig() ),
+                               DefaultPreferencesFactory::CONSTRUCTOR_OPTIONS, $services->getMainConfig() ),
                        $services->getContentLanguage(),
                        AuthManager::singleton(),
                        $services->getLinkRendererFactory()->create(),