15 import(
'lib.pkp.classes.security.authorization.DataObjectRequiredPolicy');
29 function __construct($request, &$args, $submissionParameterName =
'submissionId', $operations =
null) {
30 parent::__construct($request, $args, $submissionParameterName,
'user.authorization.invalidPublishedSubmission', $operations);
31 $this->context = $request->getContext();
42 if (!$submissionId)
return AUTHORIZATION_DENY;
45 $submission =
Services::get(
'submission')->getByUrlPath($submissionId, $this->context->getId());
46 if (!$submission && ctype_digit((
string) $submissionId)) {
47 $submission =
Services::get(
'submission')->get($submissionId);
49 if (!$submission || $submission->getData(
'status') !== STATUS_PUBLISHED)
return AUTHORIZATION_DENY;
53 return AUTHORIZATION_PERMIT;
62 $router = $this->_request->getRouter();
64 case is_a($router,
'PKPPageRouter'):
65 if ( ctype_digit((
string) $this->_request->getUserVar($this->_parameterName)) ) {
67 return (
int) $this->_request->getUserVar($this->_parameterName);
68 }
else if (isset($this->_args[0])) {
70 return $this->_args[0];
75 return parent::getDataObjectId($lookOnlyByParameterName);