15 import(
'lib.pkp.classes.security.authorization.AuthorizationPolicy');
57 function __construct($request, &$args, $parameterName, $message =
null, $operations =
null) {
58 parent::__construct($message);
59 $this->_request = $request;
60 assert(is_array($args));
61 $this->_args =& $args;
62 $this->_parameterName = $parameterName;
63 $this->_operations = $operations;
74 if (is_array($this->_operations) && !in_array($this->_request->getRequestedOp(), $this->_operations)) {
75 return AUTHORIZATION_PERMIT;
90 return AUTHORIZATION_DENY;
101 $router = $this->_request->getRouter();
103 case is_a($router,
'PKPPageRouter'):
104 if ( ctype_digit((
string) $this->_request->getUserVar($this->_parameterName)) ) {
106 return (
int) $this->_request->getUserVar($this->_parameterName);
107 }
else if (!$lookOnlyByParameterName && isset($this->_args[0]) && ctype_digit((
string) $this->_args[0])) {
109 return (
int) $this->_args[0];
113 case is_a($router,
'PKPComponentRouter'):
115 if (isset($this->_args[$this->_parameterName])
116 && ctype_digit((string) $this->_args[$this->_parameterName])) {
121 case is_a($router,
'APIRouter'):
122 $handler = $router->getHandler();
123 return $handler->getParameter($this->_parameterName);