Open Journal Systems  3.3.0
StaticPagesHandler.inc.php
1 <?php
2 
15 import('classes.handler.Handler');
16 
17 class StaticPagesHandler extends Handler {
19  static $plugin;
20 
22  static $staticPage;
23 
24 
29  static function setPlugin($plugin) {
30  self::$plugin = $plugin;
31  }
32 
37  static function setPage($staticPage) {
38  self::$staticPage = $staticPage;
39  }
40 
46  function index($args, $request) {
47  $request->redirect(null, null, 'view', $request->getRequestedOp());
48  }
49 
55  function view($args, $request) {
56  $path = array_shift($args);
57 
58  AppLocale::requireComponents(LOCALE_COMPONENT_PKP_COMMON, LOCALE_COMPONENT_APP_COMMON, LOCALE_COMPONENT_PKP_USER);
59  $context = $request->getContext();
60  $contextId = $context?$context->getId():CONTEXT_ID_NONE;
61 
62  // Ensure that if we're previewing, the current user is a manager or admin.
63  $roles = $this->getAuthorizedContextObject(ASSOC_TYPE_USER_ROLES);
64  if (!self::$staticPage->getId() && count(array_intersect(array(ROLE_ID_MANAGER, ROLE_ID_SITE_ADMIN), $roles))==0) {
65  fatalError('The current user is not permitted to preview.');
66  }
67 
68  // Assign the template vars needed and display
69  $templateMgr = TemplateManager::getManager($request);
70  $this->setupTemplate($request);
71  $templateMgr->assign('title', self::$staticPage->getLocalizedTitle());
72 
73  $vars = array();
74  if ($context) $vars = array(
75  '{$contactName}' => $context->getData('contactName'),
76  '{$contactEmail}' => $context->getData('contactEmail'),
77  '{$supportName}' => $context->getData('supportName'),
78  '{$supportPhone}' => $context->getData('supportPhone'),
79  '{$supportEmail}' => $context->getData('supportEmail'),
80  );
81  $templateMgr->assign('content', strtr(self::$staticPage->getLocalizedContent(), $vars));
82 
83  $templateMgr->display(self::$plugin->getTemplateResource('content.tpl'));
84  }
85 }
86 
AppLocale\requireComponents
static requireComponents()
Definition: env1/MockAppLocale.inc.php:56
PKPHandler\getId
getId()
Definition: PKPHandler.inc.php:107
StaticPagesHandler\view
view($args, $request)
Definition: StaticPagesHandler.inc.php:61
StaticPagesHandler\index
index($args, $request)
Definition: StaticPagesHandler.inc.php:52
PKPTemplateManager\getManager
static & getManager($request=null)
Definition: PKPTemplateManager.inc.php:1239
StaticPagesHandler
Definition: StaticPagesHandler.inc.php:17
PKPHandler\getAuthorizedContextObject
& getAuthorizedContextObject($assocType)
Definition: PKPHandler.inc.php:174
StaticPagesHandler\$staticPage
static $staticPage
Definition: StaticPagesHandler.inc.php:28
PKPHandler\setupTemplate
setupTemplate($request)
Definition: PKPHandler.inc.php:466
StaticPagesHandler\setPlugin
static setPlugin($plugin)
Definition: StaticPagesHandler.inc.php:35
StaticPagesHandler\$plugin
static $plugin
Definition: StaticPagesHandler.inc.php:22
StaticPagesHandler\setPage
static setPage($staticPage)
Definition: StaticPagesHandler.inc.php:43
fatalError
if(!function_exists('import')) fatalError($reason)
Definition: functions.inc.php:32
Handler
Base request handler application class.
Definition: Handler.inc.php:18