plugin = $plugin; $this->staticPage = $staticPage; } /** * Handle index request (redirect to "view") * * @param array $args Arguments array. * @param PKPRequest $request Request object. */ public function index($args, $request) { $request->redirect(null, null, 'view', $request->getRequestedOp()); } /** * Handle view page request (redirect to "view") * * @param array $args Arguments array. * @param PKPRequest $request Request object. */ public function view($args, $request) { $path = array_shift($args); $context = $request->getContext(); // Ensure that if we're previewing, the current user is a manager or admin. $roles = $this->getAuthorizedContextObject(Application::ASSOC_TYPE_USER_ROLES); if (!$this->staticPage->getId() && count(array_intersect([Role::ROLE_ID_MANAGER, Role::ROLE_ID_SITE_ADMIN], $roles)) == 0) { fatalError('The current user is not permitted to preview.'); } // Assign the template vars needed and display $templateMgr = TemplateManager::getManager($request); $this->setupTemplate($request); $templateMgr->assign('title', $this->staticPage->getLocalizedTitle()); $vars = []; if ($context) { $vars = [ '{$contactName}' => $context->getData('contactName'), '{$contactEmail}' => $context->getData('contactEmail'), '{$supportName}' => $context->getData('supportName'), '{$supportPhone}' => $context->getData('supportPhone'), '{$supportEmail}' => $context->getData('supportEmail'), ]; } $templateMgr->assign('content', strtr($this->staticPage->getLocalizedContent(), $vars)); $templateMgr->display($this->plugin->getTemplateResource('content.tpl')); } }