X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/pie.php?a=blobdiff_plain;f=includes%2FServiceWiring.php;h=40e9f87f602ebf21c47602159afd23898033e454;hb=86c13ba3ad15f7ab4c567b30c2810fe36db102df;hp=e121898400d6a0193715649b6604bce57b1d144a;hpb=df115912224ea2b5343d56a3b33c60930c59eba3;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index e121898400..40e9f87f60 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; @@ -61,6 +62,7 @@ use MediaWiki\Storage\BlobStore; use MediaWiki\Storage\BlobStoreFactory; use MediaWiki\Storage\NameTableStoreFactory; use MediaWiki\Storage\SqlBlobStore; +use MediaWiki\Storage\PageEditStash; return [ 'ActorMigration' => function ( MediaWikiServices $services ) : ActorMigration { @@ -133,8 +135,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 { @@ -329,6 +331,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(), @@ -345,6 +351,20 @@ return [ ); }, + 'PageEditStash' => function ( MediaWikiServices $services ) : PageEditStash { + $config = $services->getMainConfig(); + + return new PageEditStash( + ObjectCache::getLocalClusterInstance(), + $services->getDBLoadBalancer(), + LoggerFactory::getInstance( 'StashEdit' ), + $services->getStatsdDataFactory(), + defined( 'MEDIAWIKI_JOB_RUNNER' ) || $config->get( 'CommandLineMode' ) + ? PageEditStash::INITIATOR_JOB_OR_CLI + : PageEditStash::INITIATOR_USER + ); + }, + 'Parser' => function ( MediaWikiServices $services ) : Parser { return $services->getParserFactory()->create(); }, @@ -367,7 +387,9 @@ return [ $services->getContentLanguage(), wfUrlProtocols(), $services->getSpecialPageFactory(), - $services->getMainConfig() + $services->getMainConfig(), + $services->getLinkRendererFactory(), + $services->getNamespaceInfo() ); }, @@ -389,6 +411,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,14 +451,25 @@ return [ }, 'ResourceLoader' => function ( MediaWikiServices $services ) : ResourceLoader { + global $IP; $config = $services->getMainConfig(); $rl = new ResourceLoader( $config, LoggerFactory::getInstance( 'resourceloader' ) ); + $rl->addSource( $config->get( 'ResourceLoaderSources' ) ); + // Core modules, then extension/skin modules + $rl->register( include "$IP/resources/Resources.php" ); + $rl->register( $config->get( 'ResourceModules' ) ); + Hooks::run( 'ResourceLoaderRegisterModules', [ &$rl ] ); + + if ( $config->get( 'EnableJavaScriptTest' ) === true ) { + $rl->registerTestModules(); + } + return $rl; }, @@ -553,8 +598,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() ); }, @@ -639,7 +689,8 @@ return [ $services->getContentLanguage(), $services->getGenderCache(), $services->getMainConfig()->get( 'LocalInterwikis' ), - $services->getInterwikiLookup() + $services->getInterwikiLookup(), + $services->getNamespaceInfo() ); },