config->getSystemValueBool('gs.enabled', false); } #[Override] public function onlyInternalFederation(): bool { // if global scale is disabled federation works always globally $gsEnabled = $this->isGlobalScaleEnabled(); if ($gsEnabled === false) { return false; } $enabled = $this->config->getSystemValueString('gs.federation', 'internal'); return $enabled === 'internal'; } #[Override] public function isPrimary(): bool { return $this->isGlobalScaleEnabled() && ($this->config->getSystemValueString('gss.mode', 'slave') === 'master' || $this->config->getSystemValueString('gss.mode', 'slave') === 'primary'); } #[Override] public function isSecondary(): bool { return $this->isGlobalScaleEnabled() && ($this->config->getSystemValueString('gss.mode', 'slave') === 'slave' || $this->config->getSystemValueString('gss.mode', 'slave') === 'secondary'); } #[Override] public function isPrimaryAdmin(string $userId): bool { return in_array($userId, $this->config->getSystemValue('gss.master.admin', [])) || in_array($userId, $this->config->getSystemValue('gss.primary.admin', [])); } }