Open Journal Systems  3.3.0
RestrictedSiteAccessPolicy.inc.php
1 <?php
16 import('lib.pkp.classes.security.authorization.AuthorizationPolicy');
17 
20  var $_router;
21 
23  var $_request;
24 
30  function __construct($request) {
31  parent::__construct('user.authorization.restrictedSiteAccess');
32  $this->_request = $request;
33  $this->_router = $request->getRouter();
34  }
35 
36  //
37  // Implement template methods from AuthorizationPolicy
38  //
42  function applies() {
43  $context = $this->_router->getContext($this->_request);
44  return ( $context && $context->getData('restrictSiteAccess'));
45  }
46 
50  function effect() {
51  if (is_a($this->_router, 'PKPPageRouter')) {
52  $page = $this->_router->getRequestedPage($this->_request);
53  } else {
54  $page = null;
55  }
56 
57  if (Validation::isLoggedIn() || in_array($page, $this->_getLoginExemptions())) {
58  return AUTHORIZATION_PERMIT;
59  } else {
60  return AUTHORIZATION_DENY;
61  }
62  }
63 
64  //
65  // Private helper method
66  //
73  function _getLoginExemptions() {
74  return array('user', 'login', 'help', 'header', 'sidebar', 'payment');
75  }
76 }
77 
78 
Validation\isLoggedIn
static isLoggedIn()
Definition: Validation.inc.php:376
RestrictedSiteAccessPolicy\$_router
$_router
Definition: RestrictedSiteAccessPolicy.inc.php:23
RestrictedSiteAccessPolicy
Policy enforcing restricted site access when the context contains such a setting.
Definition: RestrictedSiteAccessPolicy.inc.php:18
RestrictedSiteAccessPolicy\_getLoginExemptions
_getLoginExemptions()
Definition: RestrictedSiteAccessPolicy.inc.php:79
RestrictedSiteAccessPolicy\applies
applies()
Definition: RestrictedSiteAccessPolicy.inc.php:48
RestrictedSiteAccessPolicy\$_request
$_request
Definition: RestrictedSiteAccessPolicy.inc.php:29
AuthorizationPolicy
Class to represent an authorization policy.
Definition: AuthorizationPolicy.inc.php:31
RestrictedSiteAccessPolicy\__construct
__construct($request)
Definition: RestrictedSiteAccessPolicy.inc.php:36
RestrictedSiteAccessPolicy\effect
effect()
Definition: RestrictedSiteAccessPolicy.inc.php:56