diff options
Diffstat (limited to 'lib/Controller/PageController.php')
-rw-r--r-- | lib/Controller/PageController.php | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php index d885d6b7..c789ecc7 100644 --- a/lib/Controller/PageController.php +++ b/lib/Controller/PageController.php @@ -24,6 +24,7 @@ namespace OCA\Contacts\Controller; +use OC\App\CompareVersion; use OCP\App\IAppManager; use OCP\AppFramework\Controller; use OCP\AppFramework\Http\TemplateResponse; @@ -56,13 +57,17 @@ class PageController extends Controller { /** @var IAppManager */ private $appManager; + /** @var CompareVersion */ + private $compareVersion; + public function __construct(IRequest $request, IConfig $config, IInitialStateService $initialStateService, IFactory $languageFactory, IUserSession $userSession, SocialApiService $socialApiService, - IAppManager $appManager) { + IAppManager $appManager, + CompareVersion $compareVersion) { parent::__construct(Application::APP_ID, $request); $this->config = $config; @@ -71,6 +76,7 @@ class PageController extends Controller { $this->userSession = $userSession; $this->socialApiService = $socialApiService; $this->appManager = $appManager; + $this->compareVersion = $compareVersion; } /** @@ -95,13 +101,17 @@ class PageController extends Controller { // automated background syncs for social avatars (default: no) $bgSyncEnabledByUser = $this->config->getUserValue($userId, Application::APP_ID, 'enableSocialSync', 'no'); + $isContactsInteractionEnabled = $this->appManager->isEnabledForUser('contactsinteraction') === true; + $isCirclesEnabled = $this->appManager->isEnabledForUser('circles') === true; + $isCircleVersionCompatible = $this->compareVersion->isCompatible($this->appManager->getAppVersion('circles'), 22); + $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', $this->appManager->isEnabledForUser('contactsinteraction') === true); - $this->initialStateService->provideInitialState(Application::APP_ID, 'isCirclesEnabled', $this->appManager->isEnabledForUser('circles') === true); + $this->initialStateService->provideInitialState(Application::APP_ID, 'isContactsInteractionEnabled', $isContactsInteractionEnabled); + $this->initialStateService->provideInitialState(Application::APP_ID, 'isCirclesEnabled', $isCirclesEnabled && $isCircleVersionCompatible); Util::addScript(Application::APP_ID, 'contacts-main'); Util::addStyle(Application::APP_ID, 'contacts'); |