/** * Save review assignment * @param $request PKPRequest */ function execute() { // Get the list of available files for this review. $submissionFileDao = DAORegistry::getDAO('SubmissionFileDAO'); import('lib.pkp.classes.submission.SubmissionFile'); // File constants $submissionFiles = $submissionFileDao->getLatestRevisionsByReviewRound($this->_reviewRound, SUBMISSION_FILE_REVIEW_FILE); $selectedFiles = (array) $this->getData('selectedFiles'); // Revoke all, then grant selected. $reviewFilesDao = DAORegistry::getDAO('ReviewFilesDAO'); $reviewFilesDao->revokeByReviewId($this->_reviewAssignment->getId()); foreach ($submissionFiles as $submissionFile) { if (in_array($submissionFile->getFileId(), $selectedFiles)) { $reviewFilesDao->grant($this->_reviewAssignment->getId(), $submissionFile->getFileId()); } } }