X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2FServiceWiring.php;h=a89619f2738de51b61c2a5506b2122692500a8a8;hp=575970d23f2596e7288d28dd58f1d87957e83860;hb=7babd362babcbf7f20adb8e12edb4f4bc1d4249f;hpb=51615ecf47528d1011ce6fefb1544073a07bdebc diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index 575970d23f..a89619f273 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -37,11 +37,14 @@ * 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; @@ -163,6 +166,11 @@ return [ $services->getReadOnlyMode() ); $store->setStatsdDataFactory( $services->getStatsdDataFactory() ); + + if ( $services->getMainConfig()->get( 'ReadOnlyWatchedItemStore' ) ) { + $store = new NoWriteWatchedItemStore( $store ); + } + return $store; }, @@ -450,46 +458,6 @@ return [ return $factory; }, - 'RevisionStore' => function ( MediaWikiServices $services ) { - /** @var SqlBlobStore $blobStore */ - $blobStore = $services->getService( '_SqlBlobStore' ); - - $store = new RevisionStore( - $services->getDBLoadBalancer(), - $blobStore, - $services->getMainWANObjectCache() - ); - - $config = $services->getMainConfig(); - $store->setContentHandlerUseDB( $config->get( 'ContentHandlerUseDB' ) ); - - return $store; - }, - - 'BlobStore' => function ( MediaWikiServices $services ) { - return $services->getService( '_SqlBlobStore' ); - }, - - '_SqlBlobStore' => function ( MediaWikiServices $services ) { - global $wgContLang; // TODO: manage $wgContLang as a service - - $store = new SqlBlobStore( - $services->getDBLoadBalancer(), - $services->getMainWANObjectCache() - ); - - $config = $services->getMainConfig(); - $store->setCompressRevisions( $config->get( 'CompressRevisions' ) ); - $store->setCacheExpiry( $config->get( 'RevisionCacheExpiry' ) ); - $store->setUseExternalStore( $config->get( 'DefaultExternalStore' ) !== false ); - - if ( $config->get( 'LegacyEncoding' ) ) { - $store->setLegacyEncoding( $config->get( 'LegacyEncoding' ), $wgContLang ); - } - - return $store; - }, - 'ExternalStoreFactory' => function ( MediaWikiServices $services ) { $config = $services->getMainConfig(); @@ -514,28 +482,42 @@ return [ return $store; }, - 'BlobStore' => function ( MediaWikiServices $services ) { - return $services->getService( '_SqlBlobStore' ); + 'RevisionLookup' => function ( MediaWikiServices $services ) { + return $services->getRevisionStore(); }, - '_SqlBlobStore' => function ( MediaWikiServices $services ) { - global $wgContLang; // TODO: manage $wgContLang as a service + 'RevisionFactory' => function ( MediaWikiServices $services ) { + return $services->getRevisionStore(); + }, - $store = new SqlBlobStore( + 'BlobStoreFactory' => function ( MediaWikiServices $services ) { + global $wgContLang; + return new BlobStoreFactory( $services->getDBLoadBalancer(), - $services->getMainWANObjectCache() + $services->getMainWANObjectCache(), + $services->getMainConfig(), + $wgContLang ); + }, - $config = $services->getMainConfig(); - $store->setCompressBlobs( $config->get( 'CompressRevisions' ) ); - $store->setCacheExpiry( $config->get( 'RevisionCacheExpiry' ) ); - $store->setUseExternalStore( $config->get( 'DefaultExternalStore' ) !== false ); + 'BlobStore' => function ( MediaWikiServices $services ) { + return $services->getService( '_SqlBlobStore' ); + }, - if ( $config->get( 'LegacyEncoding' ) ) { - $store->setLegacyEncoding( $config->get( 'LegacyEncoding' ), $wgContLang ); - } + '_SqlBlobStore' => function ( MediaWikiServices $services ) { + return $services->getBlobStoreFactory()->newSqlBlobStore(); + }, - return $store; + '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(); }, ///////////////////////////////////////////////////////////////////////////