MediaWiki master
UserGroupManagerFactory.php
Go to the documentation of this file.
1<?php
7namespace MediaWiki\User;
8
15
24
28 private $instances = [];
29
42 public function __construct(
43 private readonly ServiceOptions $options,
44 private readonly ReadOnlyMode $readOnlyMode,
45 private readonly ILBFactory $dbLoadBalancerFactory,
46 private readonly HookContainer $hookContainer,
47 private readonly JobQueueGroupFactory $jobQueueGroupFactory,
48 private readonly TempUserConfig $tempUserConfig,
49 private readonly UserFactory $userFactory,
50 private readonly UserRequirementsConditionCheckerFactory $userRequirementsConditionCheckerFactory,
51 private readonly RestrictedUserGroupConfigReader $restrictedUserGroupConfigReader,
52 private readonly array $clearCacheCallbacks = [],
53 ) {
54 }
55
61 if ( is_string( $wikiId ) && $this->dbLoadBalancerFactory->getLocalDomainID() === $wikiId ) {
62 $wikiId = UserIdentity::LOCAL;
63 }
64 $key = (string)$wikiId;
65 if ( !isset( $this->instances[$key] ) ) {
66 $this->instances[$key] = new UserGroupManager(
67 $this->options,
68 $this->readOnlyMode,
69 $this->dbLoadBalancerFactory,
70 $this->hookContainer,
71 $this->jobQueueGroupFactory->makeJobQueueGroup( $wikiId ),
72 $this->tempUserConfig,
73 $this->userFactory,
74 $this->userRequirementsConditionCheckerFactory,
75 $this->restrictedUserGroupConfigReader,
76 $this->clearCacheCallbacks,
77 $wikiId
78 );
79 }
80 return $this->instances[$key];
81 }
82}
if(!defined('MW_SETUP_CALLBACK'))
Definition WebStart.php:69
A class for passing options to services.
Factory for JobQueueGroup objects.
A helper class to read the restricted user groups configuration for a given wiki.
Create User objects.
Factory service for UserGroupManager instances.
__construct(private readonly ServiceOptions $options, private readonly ReadOnlyMode $readOnlyMode, private readonly ILBFactory $dbLoadBalancerFactory, private readonly HookContainer $hookContainer, private readonly JobQueueGroupFactory $jobQueueGroupFactory, private readonly TempUserConfig $tempUserConfig, private readonly UserFactory $userFactory, private readonly UserRequirementsConditionCheckerFactory $userRequirementsConditionCheckerFactory, private readonly RestrictedUserGroupConfigReader $restrictedUserGroupConfigReader, private readonly array $clearCacheCallbacks=[],)
getUserGroupManager( $wikiId=UserIdentity::LOCAL)
Manage user group memberships.
Determine whether a site is currently in read-only mode.
const LOCAL
Wiki ID value to use with instances that are defined relative to the local wiki.
Interface for temporary user creation config and name matching.
Manager of ILoadBalancer objects and, indirectly, IDatabase connections.