Open Journal Systems  3.3.0
SubmissionFileAuthorEditorPolicy.inc.php
1 <?php
17 import('lib.pkp.classes.security.authorization.internal.SubmissionFileBaseAccessPolicy');
18 
23  public function effect() {
24  $request = $this->getRequest();
25 
26  // Get the submission file.
27  $submissionFile = $this->getSubmissionFile($request);
28  if (!is_a($submissionFile, 'SubmissionFile')) return AUTHORIZATION_DENY;
29 
30  // Allow if this is not a file submitted with a review
31  if ($submissionFile->getFileStage() != SUBMISSION_FILE_REVIEW_ATTACHMENT) return AUTHORIZATION_PERMIT;
32 
33  // Deny if the user is assigned as an author to any stage, and this file is
34  // attached to a blind review
35  $userRoles = $this->getAuthorizedContextObject(ASSOC_TYPE_ACCESSIBLE_WORKFLOW_STAGES);
36  foreach ($userRoles as $stageRoles) {
37  if (in_array(ROLE_ID_AUTHOR, $stageRoles)) {
38  $reviewAssignmentDao = DAORegistry::getDAO('ReviewAssignmentDAO'); /* @var $reviewAssignmentDao ReviewAssignmentDAO */
39  $reviewAssignment = $reviewAssignmentDao->getById((int) $submissionFile->getAssocId());
40  if ($reviewAssignment && $reviewAssignment->getReviewMethod() != SUBMISSION_REVIEW_METHOD_OPEN){
41  return AUTHORIZATION_DENY;
42  }
43  break;
44  }
45  }
46 
47  return AUTHORIZATION_PERMIT;
48  }
49 }
SubmissionFileAuthorEditorPolicy
Submission file policy to ensure that an editor is denied access to blind review files when they are ...
Definition: SubmissionFileAuthorEditorPolicy.inc.php:19
SubmissionFileBaseAccessPolicy\getSubmissionFile
getSubmissionFile($request)
Definition: SubmissionFileBaseAccessPolicy.inc.php:67
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
SubmissionFileBaseAccessPolicy
Abstract class for submission file access policies.
Definition: SubmissionFileBaseAccessPolicy.inc.php:18
AuthorizationPolicy\getAuthorizedContextObject
& getAuthorizedContextObject($assocType)
Definition: AuthorizationPolicy.inc.php:117
SubmissionFileBaseAccessPolicy\getRequest
getRequest()
Definition: SubmissionFileBaseAccessPolicy.inc.php:102
SubmissionFileAuthorEditorPolicy\effect
effect()
Definition: SubmissionFileAuthorEditorPolicy.inc.php:23