• Main Page
  • Modules
  • Classes
  • Files
  • File List

classes/security/authorization/internal/MonographFileAssignedReviewerAccessPolicy.inc.php

00001 <?php
00016 import('classes.security.authorization.internal.MonographFileBaseAccessPolicy');
00017 
00018 class MonographFileAssignedReviewerAccessPolicy extends MonographFileBaseAccessPolicy {
00023    function MonographFileAssignedReviewerAccessPolicy(&$request, $fileIdAndRevision = null) {
00024       parent::MonographFileBaseAccessPolicy($request, $fileIdAndRevision);
00025    }
00026 
00027 
00028    //
00029    // Implement template methods from AuthorizationPolicy
00030    //
00034    function effect() {
00035       $request =& $this->getRequest();
00036 
00037       // Get the user
00038       $user =& $request->getUser();
00039       if (!is_a($user, 'PKPUser')) return AUTHORIZATION_DENY;
00040 
00041       // Get the monograph file
00042       $monographFile =& $this->getMonographFile($request);
00043       if (!is_a($monographFile, 'MonographFile')) return AUTHORIZATION_DENY;
00044 
00045       $reviewAssignmentDao =& DAORegistry::getDAO('ReviewAssignmentDAO');
00046       $reviewAssignments =& $reviewAssignmentDao->getByUserId($user->getId());
00047       $foundValid = false;
00048       foreach ($reviewAssignments as $reviewAssignment) {
00049          if (!$reviewAssignment->getDateConfirmed()) continue;
00050 
00051          if (
00052             $monographFile->getSubmissionId() == $reviewAssignment->getSubmissionId() &&
00053             $monographFile->getFileStage() == MONOGRAPH_FILE_REVIEW_FILE &&
00054             $monographFile->getViewable()
00055          ) {
00056             $foundValid = true;
00057          }
00058       }
00059 
00060       // Check if the uploader is the current user.
00061       if ($foundValid) {
00062          return AUTHORIZATION_PERMIT;
00063       } else {
00064          return AUTHORIZATION_DENY;
00065       }
00066    }
00067 }
00068 
00069 ?>

Generated on Mon Sep 17 2012 13:58:55 for Open Monograph Press by  doxygen 1.7.1