16 import(
'lib.pkp.classes.form.Form');
17 import(
'lib.pkp.classes.submission.SubmissionFile');
29 parent::__construct($template);
30 $this->_submissionId = (int)$submissionId;
55 $this->
setData(
'submissionId', $this->_submissionId);
72 function execute($stageSubmissionFiles, $fileStage =
null) {
73 $selectedFiles = (array)$this->
getData(
'selectedFiles');
75 $submissionFiles = $submissionFileDao->getLatestRevisions($this->
getSubmissionId());
77 foreach ($submissionFiles as $submissionFile) {
79 $isViewable = in_array(
80 $submissionFile->getFileId(),
85 if ($this->
fileExistsInStage($submissionFile, $stageSubmissionFiles, $fileStage)) {
87 if ($isViewable != $submissionFile->getViewable()) {
88 $submissionFile->setViewable($isViewable);
89 $submissionFileDao->updateObject($submissionFile);
91 } elseif ($isViewable) {
94 $context = $request->getContext();
95 $submissionFile = $this->
importFile($context, $submissionFile, $fileStage);
106 protected function fileExistsInStage($submissionFile, $stageSubmissionFiles, $fileStage) {
107 if (!isset($stageSubmissionFiles[$submissionFile->getFileId()]))
return false;
108 foreach ($stageSubmissionFiles[$submissionFile->getFileId()] as $stageFile) {
109 if ($stageFile->getFileStage() == $submissionFile->getFileStage() && $stageFile->getFileStage() == $fileStage)
return true;
121 protected function importFile($context, $submissionFile, $fileStage) {
123 import(
'lib.pkp.classes.file.SubmissionFileManager');
126 $fileId = $submissionFile->getFileId();
127 $revision = $submissionFile->getRevision();
128 list($newFileId, $newRevision) = $submissionFileManager->copyFileToFileStage($fileId, $revision, $fileStage,
null,
true);
129 return $submissionFileDao->getRevision($newFileId, $newRevision);