X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FServiceWiring.php;h=5131917d945fbd62af129df207574cb16660280d;hb=45a6a7ad6771ed4c94f7a9c568ffeeca4935ca87;hp=0ab5f6d3d8f3ef86ed5ba2d65990c60718031290;hpb=50457372ff6fef64374cee03e61e75d5b0fdd5aa;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index 0ab5f6d3d8..5131917d94 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -45,6 +45,7 @@ use MediaWiki\MediaWikiServices; use MediaWiki\Preferences\DefaultPreferencesFactory; use MediaWiki\Shell\CommandFactory; use MediaWiki\Storage\BlobStoreFactory; +use MediaWiki\Storage\NameTableStore; use MediaWiki\Storage\RevisionStore; use MediaWiki\Storage\SqlBlobStore; use Wikimedia\ObjectFactory; @@ -60,7 +61,10 @@ return [ ); $class = MWLBFactory::getLBFactoryClass( $lbConf ); - return new $class( $lbConf ); + $instance = new $class( $lbConf ); + MWLBFactory::setSchemaAliases( $instance ); + + return $instance; }, 'DBLoadBalancer' => function ( MediaWikiServices $services ) { @@ -164,7 +168,8 @@ return [ $store = new WatchedItemStore( $services->getDBLoadBalancer(), new HashBagOStuff( [ 'maxKeys' => 100 ] ), - $services->getReadOnlyMode() + $services->getReadOnlyMode(), + $services->getMainConfig()->get( 'UpdateRowsPerQuery' ) ); $store->setStatsdDataFactory( $services->getStatsdDataFactory() ); @@ -178,7 +183,8 @@ return [ 'WatchedItemQueryService' => function ( MediaWikiServices $services ) { return new WatchedItemQueryService( $services->getDBLoadBalancer(), - $services->getCommentStore() + $services->getCommentStore(), + $services->getActorMigration() ); }, @@ -441,6 +447,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(); @@ -475,7 +504,9 @@ return [ $store = new RevisionStore( $services->getDBLoadBalancer(), $blobStore, - $services->getMainWANObjectCache() + $services->getMainWANObjectCache(), + $services->getCommentStore(), + $services->getActorMigration() ); $store->setLogger( LoggerFactory::getInstance( 'RevisionStore' ) ); @@ -512,6 +543,35 @@ return [ return $services->getBlobStoreFactory()->newSqlBlobStore(); }, + 'ContentModelStore' => function ( MediaWikiServices $services ) { + return new NameTableStore( + $services->getDBLoadBalancer(), + $services->getMainWANObjectCache(), + LoggerFactory::getInstance( 'NameTableSqlStore' ), + 'content_models', + 'model_id', + 'model_name' + /** + * No strtolower normalization is added to the service as there are examples of + * extensions that do not stick to this assumption. + * - extensions/examples/DataPages define( 'CONTENT_MODEL_XML_DATA','XML_DATA' ); + * - extensions/Scribunto define( 'CONTENT_MODEL_SCRIBUNTO', 'Scribunto' ); + */ + ); + }, + + 'SlotRoleStore' => function ( MediaWikiServices $services ) { + return new NameTableStore( + $services->getDBLoadBalancer(), + $services->getMainWANObjectCache(), + LoggerFactory::getInstance( 'NameTableSqlStore' ), + 'slot_roles', + 'role_id', + 'role_name', + 'strtolower' + ); + }, + 'PreferencesFactory' => function ( MediaWikiServices $services ) { global $wgContLang; $authManager = AuthManager::singleton(); @@ -530,7 +590,13 @@ return [ $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