userId = $UserId; $this->appName = $AppName; $this->appManager = $appManager; $this->eventDispatcher = $eventDispatcher; $this->initialState = $initialState; $this->userSession = $userSession; $this->config = $config; } /** * @NoAdminRequired * * @NoCSRFRequired */ public function main() { $user = $this->userSession->getUser(); if (null === $user) { return null; } // Scripts Util::addScript($this->appName, 'memories-main'); $this->eventDispatcher->dispatchTyped(new LoadSidebar()); $this->eventDispatcher->dispatchTyped(new LoadViewer()); // Configuration $uid = $user->getUid(); $timelinePath = \OCA\Memories\Util::getPhotosPath($this->config, $uid); $this->initialState->provideInitialState('timelinePath', $timelinePath); $this->initialState->provideInitialState('showHidden', $this->config->getUserValue( $uid, Application::APPNAME, 'showHidden', false )); // Apps enabled $this->initialState->provideInitialState('systemtags', true === $this->appManager->isEnabledForUser('systemtags')); $this->initialState->provideInitialState('recognize', true === $this->appManager->isEnabledForUser('recognize')); $this->initialState->provideInitialState('version', $this->appManager->getAppInfo('memories')['version']); $policy = new ContentSecurityPolicy(); $policy->addAllowedWorkerSrcDomain("'self'"); $policy->addAllowedScriptDomain("'self'"); $response = new TemplateResponse($this->appName, 'main'); $response->setContentSecurityPolicy($policy); return $response; } /** * @NoAdminRequired * * @NoCSRFRequired */ public function folder() { return $this->main(); } /** * @NoAdminRequired * * @NoCSRFRequired */ public function favorites() { return $this->main(); } /** * @NoAdminRequired * * @NoCSRFRequired */ public function videos() { return $this->main(); } /** * @NoAdminRequired * * @NoCSRFRequired */ public function archive() { return $this->main(); } /** * @NoAdminRequired * * @NoCSRFRequired */ public function thisday() { return $this->main(); } /** * @NoAdminRequired * * @NoCSRFRequired */ public function people() { return $this->main(); } /** * @NoAdminRequired * * @NoCSRFRequired */ public function tags() { return $this->main(); } }