MediaWiki master
BlockRestrictionStoreFactory.php
Go to the documentation of this file.
1<?php
7namespace MediaWiki\Block;
8
11
18 private LBFactory $loadBalancerFactory;
19
21 private array $storeCache = [];
22
23 public function __construct( LBFactory $loadBalancerFactory ) {
24 $this->loadBalancerFactory = $loadBalancerFactory;
25 }
26
27 public function getBlockRestrictionStore( string|false $wikiId = WikiAwareEntity::LOCAL ): BlockRestrictionStore {
28 if ( is_string( $wikiId ) && $this->loadBalancerFactory->getLocalDomainID() === $wikiId ) {
29 $wikiId = WikiAwareEntity::LOCAL;
30 }
31
32 $storeCacheKey = $wikiId === WikiAwareEntity::LOCAL ? 'LOCAL' : 'crosswikistore-' . $wikiId;
33 if ( !isset( $this->storeCache[$storeCacheKey] ) ) {
34 $this->storeCache[$storeCacheKey] = new BlockRestrictionStore(
35 $this->loadBalancerFactory,
36 $wikiId
37 );
38 }
39 return $this->storeCache[$storeCacheKey];
40 }
41}
if(!defined('MW_SETUP_CALLBACK'))
Definition WebStart.php:69
getBlockRestrictionStore(string|false $wikiId=WikiAwareEntity::LOCAL)
Marker interface for entities aware of the wiki they belong to.