Fix HTMLFormField calling Message::setContext with null
[lhc/web/wiklou.git] / includes / ServiceWiring.php
index dc2c66b..b3de172 100644 (file)
 use MediaWiki\MediaWikiServices;
 
 return [
-       'DBLoadBalancerFactory' => function( MediaWikiServices $services ) {
-               // NOTE: Defining the LBFactory class via LBFactoryConf is supported for
-               // backwards compatibility. The preferred way would be to register a
-               // callback for DBLoadBalancerFactory that constructs the desired LBFactory
-               // directly.
-               $config = $services->getMainConfig()->get( 'LBFactoryConf' );
-
-               $class = LBFactory::getLBFactoryClass( $config );
-               if ( !isset( $config['readOnlyReason'] ) ) {
-                       // TODO: replace the global wfConfiguredReadOnlyReason() with a service.
-                       $config['readOnlyReason'] = wfConfiguredReadOnlyReason();
-               }
-
-               return new $class( $config );
-       },
-
-       'DBLoadBalancer' => function( MediaWikiServices $services ) {
-               // just return the default LB from the DBLoadBalancerFactory service
-               return $services->getDBLoadBalancerFactory()->getMainLB();
-       },
-
        'SiteStore' => function( MediaWikiServices $services ) {
-               $rawSiteStore = new DBSiteStore( $services->getDBLoadBalancer() );
+               $loadBalancer = wfGetLB(); // TODO: use LB from MediaWikiServices
+               $rawSiteStore = new DBSiteStore( $loadBalancer );
 
                // TODO: replace wfGetCache with a CacheFactory service.
                // TODO: replace wfIsHHVM with a capabilities service.
@@ -92,14 +72,28 @@ return [
                return $services->getConfigFactory()->makeConfig( 'main' );
        },
 
-       'WatchedItemStore' => function( MediaWikiServices $services ) {
-               $store = new WatchedItemStore(
-                       $services->getDBLoadBalancer(),
-                       new HashBagOStuff( [ 'maxKeys' => 100 ] )
+       'StatsdDataFactory' => function( MediaWikiServices $services ) {
+               return new BufferingStatsdDataFactory(
+                       rtrim( $services->getMainConfig()->get( 'StatsdMetricPrefix' ), '.' )
                );
-               $store->setStatsdDataFactory( RequestContext::getMain()->getStats() );
-               return $store;
-       }
+       },
+
+       'EventRelayerGroup' => function( MediaWikiServices $services ) {
+               return new EventRelayerGroup( $services->getMainConfig()->get( 'EventRelayerConfig' ) );
+       },
+
+       'SearchEngineFactory' => function( MediaWikiServices $services ) {
+               return new SearchEngineFactory( $services->getSearchEngineConfig() );
+       },
+
+       'SearchEngineConfig' => function( MediaWikiServices $services ) {
+               global $wgContLang;
+               return new SearchEngineConfig( $services->getMainConfig(), $wgContLang );
+       },
+
+       'SkinFactory' => function( MediaWikiServices $services ) {
+               return new SkinFactory();
+       },
 
        ///////////////////////////////////////////////////////////////////////////
        // NOTE: When adding a service here, don't forget to add a getter function