addPolicy(new PKPSiteAccessPolicy($request, $operations, PKPSiteAccessPolicy::SITE_ACCESS_ALL_ROLES)); // User must be logged in $this->addPolicy(new UserRequiredPolicy($request)); return parent::authorize($request, $args, $roleAssignments); } /** * Display user profile tabset. * * @param array $args * @param PKPRequest $request */ public function profile($args, $request) { $context = $request->getContext(); if (!$context) { $user = $request->getUser(); $contextDao = Application::getContextDAO(); $workingContexts = $contextDao->getAvailable($user ? $user->getId() : null); [$firstContext, $secondContext] = [$workingContexts->next(), $workingContexts->next()]; if ($firstContext && !$secondContext) { $request->redirect($firstContext->getPath(), 'user', 'profile', null, $args); } } if ($anchor = array_shift($args)) { // Some requests will try to specify a tab name in the args. Redirect // to use this as an anchor name instead. $request->redirect(null, null, null, null, null, $anchor); } $this->setupTemplate($request); $templateMgr = TemplateManager::getManager($request); $templateMgr->assign([ 'pageTitle' => __('user.profile'), ]); $templateMgr->display('user/profile.tpl'); } }