Open Monograph Press  3.3.0
SubmissionFilesUploadConfirmationForm.inc.php
1 <?php
2 
17 import('lib.pkp.controllers.wizard.fileUpload.form.PKPSubmissionFilesUploadBaseForm');
18 
32  function __construct($request, $submissionId, $stageId, $fileStage,
33  $reviewRound, $revisedFileId = null, $assocType = null, $assocId = null, $uploadedFile = null) {
34 
35  // Initialize class.
36  parent::__construct(
37  $request, 'controllers/wizard/fileUpload/form/fileUploadConfirmationForm.tpl',
38  $submissionId, $stageId, $fileStage, false, $reviewRound, $revisedFileId, $assocType, $assocId
39  );
40 
41  if (is_a($uploadedFile, 'SubmissionFile')) {
42  $this->setData('uploadedFile', $uploadedFile);
43  }
44  }
45 
46 
47  //
48  // Implement template methods from Form
49  //
53  function readInputData() {
54  $this->readUserVars(array('uploadedFileId'));
55  return parent::readInputData();
56  }
57 
63  function execute(...$functionArgs) {
64  // Retrieve the file ids of the revised and the uploaded files.
65  $revisedFileId = $this->getRevisedFileId();
66  $uploadedFileId = (int)$this->getData('uploadedFileId');
67  if ($revisedFileId == $uploadedFileId) fatalError('The revised file id and the uploaded file id cannot be the same!');
68 
69  parent::execute(...$functionArgs);
70 
71  // Assign the new file as the latest revision of the old file.
72  $submissionFileDao = DAORegistry::getDAO('SubmissionFileDAO'); /* @var $submissionFileDao SubmissionFileDAO */
73  $submissionId = $this->getData('submissionId');
74  $fileStage = $this->getData('fileStage');
75  $newFileLatestRevision = $submissionFileDao->getLatestRevision($uploadedFileId, $fileStage, $submissionId);
76  // detach the latest attached revision, because the file returned here will then be attached
77  import('controllers.api.file.ManageFileApiHandler');
78  $mangeFileApiHandler = new ManageFileApiHandler();
79  $mangeFileApiHandler->detachEntities($newFileLatestRevision, $newFileLatestRevision->getSubmissionId(), $this->getStageId());
80  if ($revisedFileId) {
81  // The file was revised; update revision information
82  return $submissionFileDao->setAsLatestRevision($revisedFileId, $uploadedFileId, $submissionId, $fileStage);
83  } else {
84  // This is a new upload, not a revision; don't do anything.
85  return $newFileLatestRevision;
86  }
87  }
88 }
89 
90 
PKPSubmissionFilesUploadBaseForm
Form for adding/editing a submission file.
Definition: PKPSubmissionFilesUploadBaseForm.inc.php:20
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
Form\setData
setData($key, $value=null)
Definition: Form.inc.php:229
Form\readUserVars
readUserVars($vars)
Definition: Form.inc.php:378
Form\getData
getData($key)
Definition: Form.inc.php:220
SubmissionFilesUploadConfirmationForm\readInputData
readInputData()
Definition: SubmissionFilesUploadConfirmationForm.inc.php:53
PKPSubmissionFilesUploadBaseForm\getRevisedFileId
getRevisedFileId()
Definition: PKPSubmissionFilesUploadBaseForm.inc.php:117
ManageFileApiHandler
Class defining an AJAX API for file manipulation.
Definition: ManageFileApiHandler.inc.php:20
SubmissionFilesUploadConfirmationForm\__construct
__construct($request, $submissionId, $stageId, $fileStage, $reviewRound, $revisedFileId=null, $assocType=null, $assocId=null, $uploadedFile=null)
Definition: SubmissionFilesUploadConfirmationForm.inc.php:32
SubmissionFilesUploadConfirmationForm\execute
execute(... $functionArgs)
Definition: SubmissionFilesUploadConfirmationForm.inc.php:63
SubmissionFilesUploadConfirmationForm
Form for adding/editing a submission file.
Definition: SubmissionFilesUploadConfirmationForm.inc.php:19
fatalError
if(!function_exists('import')) fatalError($reason)
Definition: functions.inc.php:32