X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2FStorage%2FBlobStoreFactory.php;h=c1371c93366ab93c3aef3a2e3fe89bc1c1abb474;hp=368ca485fb222bc577704a86b705ea7d685cf590;hb=f6633d9f46951e57e5c7060953194aeeb7522024;hpb=8b22883a66bcc7d54be7acb9898defa545751f86 diff --git a/includes/Storage/BlobStoreFactory.php b/includes/Storage/BlobStoreFactory.php index 368ca485fb..c1371c9336 100644 --- a/includes/Storage/BlobStoreFactory.php +++ b/includes/Storage/BlobStoreFactory.php @@ -24,6 +24,7 @@ use Language; use MediaWiki\Config\ServiceOptions; use WANObjectCache; use Wikimedia\Rdbms\ILBFactory; +use ExternalStoreAccess; /** * Service for instantiating BlobStores @@ -39,6 +40,11 @@ class BlobStoreFactory { */ private $lbFactory; + /** + * @var ExternalStoreAccess + */ + private $extStoreAccess; + /** * @var WANObjectCache */ @@ -55,12 +61,10 @@ class BlobStoreFactory { private $contLang; /** - * TODO Make this a const when HHVM support is dropped (T192166) - * * @var array * @since 1.34 */ - public static $constructorOptions = [ + public const CONSTRUCTOR_OPTIONS = [ 'CompressRevisions', 'DefaultExternalStore', 'LegacyEncoding', @@ -69,13 +73,15 @@ class BlobStoreFactory { public function __construct( ILBFactory $lbFactory, + ExternalStoreAccess $extStoreAccess, WANObjectCache $cache, ServiceOptions $options, Language $contLang ) { - $options->assertRequiredOptions( self::$constructorOptions ); + $options->assertRequiredOptions( self::CONSTRUCTOR_OPTIONS ); $this->lbFactory = $lbFactory; + $this->extStoreAccess = $extStoreAccess; $this->cache = $cache; $this->options = $options; $this->contLang = $contLang; @@ -84,27 +90,28 @@ class BlobStoreFactory { /** * @since 1.31 * - * @param bool|string $wikiId The ID of the target wiki database. Use false for the local wiki. + * @param bool|string $dbDomain The ID of the target wiki database. Use false for the local wiki. * * @return BlobStore */ - public function newBlobStore( $wikiId = false ) { - return $this->newSqlBlobStore( $wikiId ); + public function newBlobStore( $dbDomain = false ) { + return $this->newSqlBlobStore( $dbDomain ); } /** * @internal Please call newBlobStore and use the BlobStore interface. * - * @param bool|string $wikiId The ID of the target wiki database. Use false for the local wiki. + * @param bool|string $dbDomain The ID of the target wiki database. Use false for the local wiki. * * @return SqlBlobStore */ - public function newSqlBlobStore( $wikiId = false ) { - $lb = $this->lbFactory->getMainLB( $wikiId ); + public function newSqlBlobStore( $dbDomain = false ) { + $lb = $this->lbFactory->getMainLB( $dbDomain ); $store = new SqlBlobStore( $lb, + $this->extStoreAccess, $this->cache, - $wikiId + $dbDomain ); $store->setCompressBlobs( $this->options->get( 'CompressRevisions' ) );