userSession->getUser(); $userId = $user->getUid(); $locales = $this->languageFactory->findAvailableLocales(); $defaultProfile = $this->config->getAppValue(Application::APP_ID, 'defaultProfile', 'HOME'); $supportedNetworks = $this->socialApiService->getSupportedNetworks(); // allow users to retrieve avatars from social networks (default: yes) $syncAllowedByAdmin = $this->config->getAppValue(Application::APP_ID, 'allowSocialSync', 'yes'); // automated background syncs for social avatars (default: no) $bgSyncEnabledByUser = $this->config->getUserValue($userId, Application::APP_ID, 'enableSocialSync', 'no'); $circleVersion = $this->appManager->getAppVersion('circles'); $isContactsInteractionEnabled = $this->appManager->isEnabledForUser('contactsinteraction') === true; $isCirclesEnabled = $this->appManager->isEnabledForUser('circles') === true; // if circles is not installed, we use 0.0.0 $isCircleVersionCompatible = $this->compareVersion->isCompatible($circleVersion ? $circleVersion : '0.0.0', 22); // Check whether group sharing is enabled or not $isGroupSharingEnabled = $this->groupSharingService->isGroupSharingAllowed($user); $talkVersion = $this->appManager->getAppVersion('spreed'); $isTalkEnabled = $this->appManager->isEnabledForUser('spreed') === true; $isTalkVersionCompatible = $this->compareVersion->isCompatible($talkVersion ? $talkVersion : '0.0.0', 2); $this->initialStateService->provideInitialState(Application::APP_ID, 'isGroupSharingEnabled', $isGroupSharingEnabled); $this->initialStateService->provideInitialState(Application::APP_ID, 'locales', $locales); $this->initialStateService->provideInitialState(Application::APP_ID, 'defaultProfile', $defaultProfile); $this->initialStateService->provideInitialState(Application::APP_ID, 'supportedNetworks', $supportedNetworks); $this->initialStateService->provideInitialState(Application::APP_ID, 'allowSocialSync', $syncAllowedByAdmin); $this->initialStateService->provideInitialState(Application::APP_ID, 'enableSocialSync', $bgSyncEnabledByUser); $this->initialStateService->provideInitialState(Application::APP_ID, 'isContactsInteractionEnabled', $isContactsInteractionEnabled); $this->initialStateService->provideInitialState(Application::APP_ID, 'isCirclesEnabled', $isCirclesEnabled && $isCircleVersionCompatible); $this->initialStateService->provideInitialState(Application::APP_ID, 'isTalkEnabled', $isTalkEnabled && $isTalkVersionCompatible); Util::addStyle(Application::APP_ID, 'contacts-main'); Util::addScript(Application::APP_ID, 'contacts-main'); return new TemplateResponse(Application::APP_ID, 'main'); } }