17 import(
'lib.pkp.classes.form.Form');
29 function __construct($request, $plugin, $submission) {
30 $this->_submission = $submission;
32 parent::__construct($plugin->getTemplateResource(
'TextureArticleGalley.tpl'));
41 $journal = $request->getJournal();
47 'editor.issues.galleyLocaleRequired'
49 function ($galleyLocale) use ($journal) {
50 return in_array($galleyLocale, $journal->getSupportedSubmissionLocaleNames());
60 function fetch($request) {
61 $journal = $request->getJournal();
64 $templateMgr->assign(array(
65 'supportedLocales' => $journal->getSupportedSubmissionLocaleNames(),
66 'submissionId' => $this->getSubmission()->getId(),
67 'stageId' => $request->getUserVar(
'stageId'),
68 'fileStage' => $request->getUserVar(
'fileStage'),
69 'fileId' => $request->getUserVar(
'fileId')
73 return parent::fetch($request);
94 function execute(...$functionArgs) {
96 $submissionId = $this->getSubmission()->getId();
100 $articleGalley = $articleGalleyDao->newDataObject();
101 $articleGalley->setSubmissionId($this->getSubmission()->getId());
102 $articleGalley->setLabel($this->
getData(
'label'));
103 $articleGalley->setLocale($this->
getData(
'galleyLocale'));
104 $newGalleyId = $articleGalleyDao->insertObject($articleGalley);
107 $fileStage = $this->
getData(
'fileStage');
108 $submissionFile = $submissionFileDao->getLatestRevision( $this->
getData(
'fileId'), $fileStage, $submissionId);
111 import(
'lib.pkp.classes.file.SubmissionFileManager');
113 $fileId = $submissionFile->getFileId();
114 $revision = $submissionFile->getRevision();
116 list($newFileId, $newRevision) = $submissionFileManager->copyFileToFileStage($fileId, $revision, $fileStage,
null,
true);
117 $newSubmissionFile = $submissionFileDao->getLatestRevision($newFileId, $fileStage, $submissionId);
118 $newSubmissionFile->setAssocType(ASSOC_TYPE_REPRESENTATION);
119 $newSubmissionFile->setAssocId($newGalleyId);
120 $newSubmissionFile->setFileStage(SUBMISSION_FILE_PROOF);
121 $submissionFileDao->updateObject($newSubmissionFile);
124 if ($articleGalley) {
125 $articleGalley->setFileId($newSubmissionFile->getFileId());
126 $articleGalleyDao->updateObject($articleGalley);
130 $dependentFiles = $submissionFileDao->getLatestRevisionsByAssocId(
131 ASSOC_TYPE_SUBMISSION_FILE,
132 $submissionFile->getFileId(),
133 $submissionFile->getSubmissionId(),
134 SUBMISSION_FILE_DEPENDENT
138 foreach ($dependentFiles as $dependentFile) {
139 $dependentFileId = $dependentFile->getFileId();
140 $dependentFileRevision = $dependentFile->getRevision();
141 $dependentFileStage = $dependentFile->getFileStage();
143 list($newDependentFileId, $newDependentFileRevision) = $submissionFileManager->copyFileToFileStage($dependentFileId, $dependentFileRevision, $dependentFileStage,
null,
true);
144 $newDependentFile = $submissionFileDao->getLatestRevision($newDependentFileId, SUBMISSION_FILE_DEPENDENT, $submissionId);
145 $newDependentFile->setAssocId($newFileId);
146 $submissionFileDao->updateObject($newDependentFile);
149 parent::execute(...$functionArgs);
151 return $articleGalley;
158 private function getSubmission() {