Simplify ApiStashEdit::checkCache()
[lhc/web/wiklou.git] / includes / ServiceWiring.php
index 293e6eb..338f306 100644 (file)
@@ -37,6 +37,8 @@
  *      MediaWiki code base.
  */
 
+use MediaWiki\Interwiki\ClassicInterwikiLookup;
+use MediaWiki\Linker\LinkRendererFactory;
 use MediaWiki\MediaWikiServices;
 
 return [
@@ -59,6 +61,9 @@ return [
 
        'SiteStore' => function( MediaWikiServices $services ) {
                $rawSiteStore = new DBSiteStore( $services->getDBLoadBalancer() );
+               $rawSiteStore->setLanguageCodeMapping(
+                       $services->getMainConfig()->get( 'DummyLanguageCodes' ) ?: []
+               );
 
                // TODO: replace wfGetCache with a CacheFactory service.
                // TODO: replace wfIsHHVM with a capabilities service.
@@ -88,6 +93,19 @@ return [
                return $services->getConfigFactory()->makeConfig( 'main' );
        },
 
+       'InterwikiLookup' => function( MediaWikiServices $services ) {
+               global $wgContLang; // TODO: manage $wgContLang as a service
+               $config = $services->getMainConfig();
+               return new ClassicInterwikiLookup(
+                       $wgContLang,
+                       ObjectCache::getMainWANInstance(),
+                       $config->get( 'InterwikiExpiry' ),
+                       $config->get( 'InterwikiCache' ),
+                       $config->get( 'InterwikiScopes' ),
+                       $config->get( 'InterwikiFallbackSite' )
+               );
+       },
+
        'StatsdDataFactory' => function( MediaWikiServices $services ) {
                return new BufferingStatsdDataFactory(
                        rtrim( $services->getMainConfig()->get( 'StatsdMetricPrefix' ), '.' )
@@ -145,6 +163,22 @@ return [
                );
        },
 
+       'LinkRendererFactory' => function( MediaWikiServices $services ) {
+               return new LinkRendererFactory(
+                       $services->getTitleFormatter()
+               );
+       },
+
+       'LinkRenderer' => function( MediaWikiServices $services ) {
+               global $wgUser;
+
+               if ( defined( 'MW_NO_SESSION' ) ) {
+                       return $services->getLinkRendererFactory()->create();
+               } else {
+                       return $services->getLinkRendererFactory()->createForUser( $wgUser );
+               }
+       },
+
        'GenderCache' => function( MediaWikiServices $services ) {
                return new GenderCache();
        },