25 $this->_outFile = sys_get_temp_dir() .
'/markupBatch.out';
32 return file_exists($this->_outFile);
41 if (file_exists($this->_outFile)) {
42 throw new Exception(__(
'plugins.generic.markup.file-exists', array(
'file' => $this->_outFile)));
45 file_put_contents($this->_outFile, serialize($data));
54 file_put_contents($this->_outFile, serialize($data), LOCK_EX);
63 $content = file_get_contents($this->_outFile);
64 return unserialize($content);
73 if (file_exists($this->_outFile)) {
74 unlink($this->_outFile);
86 public function errorHandler($errno, $errstr, $errfile, $errline) {
104 $submissions = $submissionDao->getByContextId($contextId);
105 import(
'lib.pkp.classes.file.SubmissionFileManager');
106 $validFileExtensions = array(
'pdf',
'doc',
'docx',
'xml');
107 $pdfGalleyFileId =
null;
108 $pdfProductionReadyFileId =
null;
109 $xmlProductionReadyFileId =
null;
111 import(
'lib.pkp.classes.submission.SubmissionFile');
116 $fileStageNames = array(
117 SUBMISSION_FILE_SUBMISSION => __(
'submission.submit.submissionFiles'),
118 SUBMISSION_FILE_REVIEW_FILE => __(
'reviewer.submission.reviewFiles'),
119 SUBMISSION_FILE_COPYEDIT => __(
'submission.copyedited'),
120 SUBMISSION_FILE_PROOF => __(
'submission.pageProofs'),
121 SUBMISSION_FILE_PRODUCTION_READY => __(
'editor.submission.production.productionReadyFiles'),
122 SUBMISSION_FILE_ATTACHMENT => __(
'grid.reviewAttachments.title'),
123 SUBMISSION_FILE_FAIR_COPY =>
'SUBMISSION_FILE_FAIR_COPY',
124 SUBMISSION_FILE_QUERY => __(
'submission.queries.attachedFiles'),
125 SUBMISSION_FILE_REVIEW_ATTACHMENT => __(
'grid.reviewAttachments.title'),
126 SUBMISSION_FILE_REVIEW_REVISION => __(
'editor.submission.revisions'),
127 SUBMISSION_FILE_PUBLIC =>
'SUBMISSION_FILE_PUBLIC',
130 while ($submission = $submissions->next()) {
131 $pdfGalleyFileId =
null;
133 if ($submission->getSubmissionProgress() != 0) {
136 $hasXmlInProductionReady =
false;
138 'id' => $submission->getId(),
139 'stage' => $submission->getStageId(),
140 'title' => $submission->getFullTitle($locale),
144 $submissionFiles = $submissionFileDao->getBySubmissionId($submission->getId());
145 foreach ($submissionFiles as $submissionFile) {
146 $genre = $genreDao->getById($submissionFile->getGenreId());
147 $fileStage = $submissionFile->getFileStage();
148 $fileExtension = strtolower($submissionFile->getExtension());
149 if (!$genre || (intval($genre->getCategory()) != GENRE_CATEGORY_DOCUMENT))
151 if (!in_array($fileExtension, $validFileExtensions))
154 if (($fileExtension ==
'xml') && ($fileStage == SUBMISSION_FILE_PRODUCTION_READY)) {
155 $hasXmlInProductionReady =
true;
159 if ($fileExtension ==
'pdf') {
160 if ($fileStage == SUBMISSION_FILE_PROOF) {
161 $pdfGalleyFileId = $submissionFile->getFileId();
163 if ($fileStage == SUBMISSION_FILE_PRODUCTION_READY) {
164 $pdfProductionReadyFileId = $submissionFile->getFileId();
167 if (in_array($fileExtension, array(
'doc',
'docx'))) {
168 if ($fileStage == SUBMISSION_FILE_PRODUCTION_READY) {
169 $xmlProductionReadyFileId = $submissionFile->getFileId();
172 $sMetadata[
'files'][] = array(
173 'fileId' => $submissionFile->getFileId(),
174 'filename' => $submissionFile->getName($locale),
175 'fileStage' => $fileStageNames[$fileStage],
180 $defaultSubmissionFileId = 0;
181 if (!$hasXmlInProductionReady) {
182 if (!is_null($pdfGalleyFileId)) {
183 $defaultSubmissionFileId = $pdfGalleyFileId;
185 elseif (!is_null($pdfProductionReadyFileId)) {
186 $defaultSubmissionFileId = $pdfProductionReadyFileId;
188 elseif (!is_null($xmlProductionReadyFileId)) {
189 $defaultSubmissionFileId = $xmlProductionReadyFileId;
192 $defaultSubmissionFileId = 0;
195 $sMetadata[
'defaultSubmissionFileId'] = $defaultSubmissionFileId;
196 $sMetadata[
'pdfGalleyFileId'] = $pdfGalleyFileId;
197 $sMetadata[
'pdfProductionReadyFileId'] = $pdfProductionReadyFileId;
198 $sMetadata[
'xmlProductionReadyFileId'] = $xmlProductionReadyFileId;
199 $metadata[] = $sMetadata;