X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2FServiceWiring.php;h=c55fc689cc02a878e21074ef04cbc3dcce193844;hp=b1cdc819e74c448ec6ecd04b07de528327010db6;hb=20865b4a6fcfa1c82a1d25d4ab63b40b9268a35d;hpb=2dc4c97a00ca9b7d20f0104b3d975e8dbdb0a18e diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index b1cdc819e7..c55fc689cc 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; @@ -133,8 +134,8 @@ return [ return new CryptHKDF( $secret, $config->get( 'HKDFAlgorithm' ), $cache, $context ); }, - 'CryptRand' => function () : CryptRand { - return new CryptRand(); + 'DateFormatterFactory' => function () : DateFormatterFactory { + return new DateFormatterFactory; }, 'DBLoadBalancer' => function ( MediaWikiServices $services ) : Wikimedia\Rdbms\LoadBalancer { @@ -203,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() + ); } }, @@ -329,6 +330,10 @@ return [ return new MimeAnalyzer( $params ); }, + 'NamespaceInfo' => function ( MediaWikiServices $services ) : NamespaceInfo { + return new NamespaceInfo( $services->getMainConfig() ); + }, + 'NameTableStoreFactory' => function ( MediaWikiServices $services ) : NameTableStoreFactory { return new NameTableStoreFactory( $services->getDBLoadBalancerFactory(), @@ -367,7 +372,9 @@ return [ $services->getContentLanguage(), wfUrlProtocols(), $services->getSpecialPageFactory(), - $services->getMainConfig() + $services->getMainConfig(), + $services->getLinkRendererFactory(), + $services->getNamespaceInfo() ); }, @@ -389,6 +396,18 @@ 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' ), + $services->getNamespaceInfo() + ); + }, + 'PreferencesFactory' => function ( MediaWikiServices $services ) : PreferencesFactory { $factory = new DefaultPreferencesFactory( $services->getMainConfig(), @@ -417,6 +436,7 @@ return [ }, 'ResourceLoader' => function ( MediaWikiServices $services ) : ResourceLoader { + global $IP; $config = $services->getMainConfig(); $rl = new ResourceLoader( @@ -424,6 +444,7 @@ return [ LoggerFactory::getInstance( 'resourceloader' ) ); $rl->addSource( $config->get( 'ResourceLoaderSources' ) ); + $rl->register( include "$IP/resources/Resources.php" ); return $rl; }, @@ -553,8 +574,13 @@ return [ }, 'SpecialPageFactory' => function ( MediaWikiServices $services ) : SpecialPageFactory { + $config = $services->getMainConfig(); + $options = []; + foreach ( SpecialPageFactory::$constructorOptions as $key ) { + $options[$key] = $config->get( $key ); + } return new SpecialPageFactory( - $services->getMainConfig(), + $options, $services->getContentLanguage() ); },