options = $options; $this->configuredReadOnlyMode = $configuredReadOnlyMode; $this->dbLoadBalancerFactory = $dbLoadBalancerFactory; $this->hookContainer = $hookContainer; $this->userEditTracker = $userEditTracker; $this->groupPermissionLookup = $groupPermissionsLookup; $this->jobQueueGroupFactory = $jobQueueGroupFactory; $this->logger = $logger; $this->tempUserConfig = $tempUserConfig; $this->clearCacheCallbacks = $clearCacheCallbacks; } /** * @param string|false $wikiId * @return UserGroupManager */ public function getUserGroupManager( $wikiId = UserIdentity::LOCAL ): UserGroupManager { if ( is_string( $wikiId ) && $this->dbLoadBalancerFactory->getLocalDomainID() === $wikiId ) { $wikiId = UserIdentity::LOCAL; } // TODO: Once UserRightsProxy is removed, cache the instance per wiki. return new UserGroupManager( $this->options, $this->configuredReadOnlyMode, $this->dbLoadBalancerFactory, $this->hookContainer, $this->userEditTracker, $this->groupPermissionLookup, $this->jobQueueGroupFactory->makeJobQueueGroup( $wikiId ), $this->logger, $this->tempUserConfig, $this->clearCacheCallbacks, $wikiId ); } }