X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FServiceWiring.php;h=3e3c8971d7320ecb0eeb34db2af875ae1a8341e9;hb=9a37fb8e4851d13bfb208eb886c9947a7f21571c;hp=0d266fb7107ede6bb473fb193d4a60cba1d3caf0;hpb=07d0b2368516446c60593f2c021e9c2c7c032ce3;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index 0d266fb710..3e3c8971d7 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -37,14 +37,17 @@ * MediaWiki code base. */ +use MediaWiki\Auth\AuthManager; use MediaWiki\Interwiki\ClassicInterwikiLookup; use MediaWiki\Linker\LinkRendererFactory; use MediaWiki\Logger\LoggerFactory; use MediaWiki\MediaWikiServices; +use MediaWiki\Preferences\DefaultPreferencesFactory; use MediaWiki\Shell\CommandFactory; use MediaWiki\Storage\BlobStoreFactory; use MediaWiki\Storage\RevisionStore; use MediaWiki\Storage\SqlBlobStore; +use Wikimedia\ObjectFactory; return [ 'DBLoadBalancerFactory' => function ( MediaWikiServices $services ) { @@ -161,14 +164,24 @@ return [ $store = new WatchedItemStore( $services->getDBLoadBalancer(), new HashBagOStuff( [ 'maxKeys' => 100 ] ), - $services->getReadOnlyMode() + $services->getReadOnlyMode(), + $services->getMainConfig()->get( 'UpdateRowsPerQuery' ) ); $store->setStatsdDataFactory( $services->getStatsdDataFactory() ); + + if ( $services->getMainConfig()->get( 'ReadOnlyWatchedItemStore' ) ) { + $store = new NoWriteWatchedItemStore( $store ); + } + return $store; }, 'WatchedItemQueryService' => function ( MediaWikiServices $services ) { - return new WatchedItemQueryService( $services->getDBLoadBalancer() ); + return new WatchedItemQueryService( + $services->getDBLoadBalancer(), + $services->getCommentStore(), + $services->getActorMigration() + ); }, 'CryptRand' => function ( MediaWikiServices $services ) { @@ -387,8 +400,6 @@ return [ $id = 'apc'; } elseif ( function_exists( 'apcu_fetch' ) ) { $id = 'apcu'; - } elseif ( function_exists( 'xcache_get' ) && wfIniGetBool( 'xcache.var_size' ) ) { - $id = 'xcache'; } elseif ( function_exists( 'wincache_ucache_get' ) ) { $id = 'wincache'; } else { @@ -432,6 +443,29 @@ return [ ); }, + 'UploadRevisionImporter' => function ( MediaWikiServices $services ) { + return new ImportableUploadRevisionImporter( + $services->getMainConfig()->get( 'EnableUploads' ), + LoggerFactory::getInstance( 'UploadRevisionImporter' ) + ); + }, + + 'OldRevisionImporter' => function ( MediaWikiServices $services ) { + return new ImportableOldRevisionImporter( + true, + LoggerFactory::getInstance( 'OldRevisionImporter' ), + $services->getDBLoadBalancer() + ); + }, + + 'WikiRevisionOldRevisionImporterNoUpdates' => function ( MediaWikiServices $services ) { + return new ImportableOldRevisionImporter( + false, + LoggerFactory::getInstance( 'OldRevisionImporter' ), + $services->getDBLoadBalancer() + ); + }, + 'ShellCommandFactory' => function ( MediaWikiServices $services ) { $config = $services->getMainConfig(); @@ -466,15 +500,27 @@ return [ $store = new RevisionStore( $services->getDBLoadBalancer(), $blobStore, - $services->getMainWANObjectCache() + $services->getMainWANObjectCache(), + $services->getCommentStore(), + $services->getActorMigration() ); + $store->setLogger( LoggerFactory::getInstance( 'RevisionStore' ) ); + $config = $services->getMainConfig(); $store->setContentHandlerUseDB( $config->get( 'ContentHandlerUseDB' ) ); return $store; }, + 'RevisionLookup' => function ( MediaWikiServices $services ) { + return $services->getRevisionStore(); + }, + + 'RevisionFactory' => function ( MediaWikiServices $services ) { + return $services->getRevisionStore(); + }, + 'BlobStoreFactory' => function ( MediaWikiServices $services ) { global $wgContLang; return new BlobStoreFactory( @@ -493,6 +539,32 @@ return [ return $services->getBlobStoreFactory()->newSqlBlobStore(); }, + 'PreferencesFactory' => function ( MediaWikiServices $services ) { + global $wgContLang; + $authManager = AuthManager::singleton(); + $linkRenderer = $services->getLinkRendererFactory()->create(); + $config = $services->getMainConfig(); + return new DefaultPreferencesFactory( $config, $wgContLang, $authManager, $linkRenderer ); + }, + + 'HttpRequestFactory' => function ( MediaWikiServices $services ) { + return new \MediaWiki\Http\HttpRequestFactory(); + }, + + 'CommentStore' => function ( MediaWikiServices $services ) { + global $wgContLang; + return new CommentStore( + $wgContLang, + $services->getMainConfig()->get( 'CommentTableSchemaMigrationStage' ) + ); + }, + + 'ActorMigration' => function ( MediaWikiServices $services ) { + return new ActorMigration( + $services->getMainConfig()->get( 'ActorTableSchemaMigrationStage' ) + ); + }, + /////////////////////////////////////////////////////////////////////////// // NOTE: When adding a service here, don't forget to add a getter function // in the MediaWikiServices class. The convenience getter should just call