00001 <?php
00002
00015
00016
00017
00018 class SubmissionCopyeditHandler extends CopyeditorHandler {
00019
00020 function submission($args) {
00021 $articleId = $args[0];
00022 list($journal, $submission) = SubmissionCopyeditHandler::validate($articleId);
00023 parent::setupTemplate(true, $articleId);
00024
00025 CopyeditorAction::copyeditUnderway($submission);
00026
00027 $useLayoutEditors = $journal->getSetting('useLayoutEditors');
00028
00029 $templateMgr = &TemplateManager::getManager();
00030
00031 $templateMgr->assign_by_ref('submission', $submission);
00032 $templateMgr->assign_by_ref('copyeditor', $submission->getCopyeditor());
00033 $templateMgr->assign_by_ref('initialCopyeditFile', $submission->getInitialCopyeditFile());
00034 $templateMgr->assign_by_ref('editorAuthorCopyeditFile', $submission->getEditorAuthorCopyeditFile());
00035 $templateMgr->assign_by_ref('finalCopyeditFile', $submission->getFinalCopyeditFile());
00036 $templateMgr->assign_by_ref('proofAssignment', $submission->getProofAssignment());
00037 $templateMgr->assign('useLayoutEditors', $useLayoutEditors);
00038 $templateMgr->assign('helpTopicId', 'editorial.copyeditorsRole.copyediting');
00039 $templateMgr->display('copyeditor/submission.tpl');
00040 }
00041
00042 function completeCopyedit($args) {
00043 $articleId = Request::getUserVar('articleId');
00044 list($journal, $submission) = SubmissionCopyeditHandler::validate($articleId);
00045 parent::setupTemplate($articleId);
00046
00047 if (CopyeditorAction::completeCopyedit($submission, Request::getUserVar('send'))) {
00048 Request::redirect(null, null, 'submission', $articleId);
00049 }
00050 }
00051
00052 function completeFinalCopyedit($args) {
00053 $articleId = Request::getUserVar('articleId');
00054 list($journal, $submission) = SubmissionCopyeditHandler::validate($articleId);
00055 parent::setupTemplate(true, $articleId);
00056
00057 if (CopyeditorAction::completeFinalCopyedit($submission, Request::getUserVar('send'))) {
00058 Request::redirect(null, null, 'submission', $articleId);
00059 }
00060 }
00061
00062 function uploadCopyeditVersion() {
00063 $articleId = Request::getUserVar('articleId');
00064 list($journal, $submission) = SubmissionCopyeditHandler::validate($articleId);
00065
00066 $copyeditStage = Request::getUserVar('copyeditStage');
00067 CopyeditorAction::uploadCopyeditVersion($submission, $copyeditStage);
00068
00069 Request::redirect(null, null, 'submission', $articleId);
00070 }
00071
00072
00073
00074
00075
00080 function downloadFile($args) {
00081 $articleId = isset($args[0]) ? $args[0] : 0;
00082 $fileId = isset($args[1]) ? $args[1] : 0;
00083 $revision = isset($args[2]) ? $args[2] : null;
00084
00085 list($journal, $submission) = SubmissionCopyeditHandler::validate($articleId);
00086 if (!CopyeditorAction::downloadCopyeditorFile($submission, $fileId, $revision)) {
00087 Request::redirect(null, null, 'submission', $articleId);
00088 }
00089 }
00090
00095 function viewFile($args) {
00096 $articleId = isset($args[0]) ? $args[0] : 0;
00097 $fileId = isset($args[1]) ? $args[1] : 0;
00098 $revision = isset($args[2]) ? $args[2] : null;
00099
00100 list($journal, $submission) = SubmissionCopyeditHandler::validate($articleId);
00101 if (!CopyeditorAction::viewFile($articleId, $fileId, $revision)) {
00102 Request::redirect(null, null, 'submission', $articleId);
00103 }
00104 }
00105
00106
00107
00108
00109
00115 function validate($articleId) {
00116 parent::validate();
00117
00118 $copyeditorSubmissionDao = &DAORegistry::getDAO('CopyeditorSubmissionDAO');
00119 $journal = &Request::getJournal();
00120 $user = &Request::getUser();
00121
00122 $isValid = true;
00123
00124 $copyeditorSubmission = &$copyeditorSubmissionDao->getCopyeditorSubmission($articleId, $user->getUserId());
00125
00126 if ($copyeditorSubmission == null) {
00127 $isValid = false;
00128 } else if ($copyeditorSubmission->getJournalId() != $journal->getJournalId()) {
00129 $isValid = false;
00130 } else {
00131 if ($copyeditorSubmission->getCopyeditorId() != $user->getUserId()) {
00132 $isValid = false;
00133 }
00134 }
00135
00136 if (!$isValid) {
00137 Request::redirect(null, Request::getRequestedPage());
00138 }
00139
00140 return array($journal, $copyeditorSubmission);
00141 }
00142
00143
00144
00145
00146
00150 function authorProofreadingComplete($args) {
00151 $articleId = Request::getUserVar('articleId');
00152 list($journal, $submission) = SubmissionCopyeditHandler::validate($articleId);
00153 parent::setupTemplate(true, $articleId);
00154
00155 $send = Request::getUserVar('send') ? true : false;
00156
00157 import('submission.proofreader.ProofreaderAction');
00158
00159 if (ProofreaderAction::proofreadEmail($articleId,'PROOFREAD_AUTHOR_COMPLETE', $send?'':Request::url(null, 'copyeditor', 'authorProofreadingComplete', 'send'))) {
00160 Request::redirect(null, null, 'submission', $articleId);
00161 }
00162 }
00163
00168 function proofGalley($args) {
00169 $articleId = isset($args[0]) ? (int) $args[0] : 0;
00170 $galleyId = isset($args[1]) ? (int) $args[1] : 0;
00171 list($journal, $submission) = SubmissionCopyeditHandler::validate($articleId);
00172
00173 $templateMgr = &TemplateManager::getManager();
00174 $templateMgr->assign('articleId', $articleId);
00175 $templateMgr->assign('galleyId', $galleyId);
00176 $templateMgr->display('submission/layout/proofGalley.tpl');
00177 }
00178
00183 function proofGalleyTop($args) {
00184 $articleId = isset($args[0]) ? (int) $args[0] : 0;
00185 $galleyId = isset($args[1]) ? (int) $args[1] : 0;
00186 list($journal, $submission) = SubmissionCopyeditHandler::validate($articleId);
00187
00188 $templateMgr = &TemplateManager::getManager();
00189 $templateMgr->assign('articleId', $articleId);
00190 $templateMgr->assign('galleyId', $galleyId);
00191 $templateMgr->assign('backHandler', 'submission');
00192 $templateMgr->display('submission/layout/proofGalleyTop.tpl');
00193 }
00194
00199 function proofGalleyFile($args) {
00200 $articleId = isset($args[0]) ? (int) $args[0] : 0;
00201 $galleyId = isset($args[1]) ? (int) $args[1] : 0;
00202 list($journal, $submission) = SubmissionCopyeditHandler::validate($articleId);
00203
00204 $galleyDao = &DAORegistry::getDAO('ArticleGalleyDAO');
00205 $galley = &$galleyDao->getGalley($galleyId, $articleId);
00206
00207 import('file.ArticleFileManager');
00208
00209 if (isset($galley)) {
00210 if ($galley->isHTMLGalley()) {
00211 $templateMgr = &TemplateManager::getManager();
00212 $templateMgr->assign_by_ref('galley', $galley);
00213 if ($galley->isHTMLGalley() && $styleFile =& $galley->getStyleFile()) {
00214 $templateMgr->addStyleSheet(Request::url(null, 'article', 'viewFile', array(
00215 $articleId, $galleyId, $styleFile->getFileId()
00216 )));
00217 }
00218 $templateMgr->display('submission/layout/proofGalleyHTML.tpl');
00219
00220 } else {
00221
00222 SubmissionCopyeditHandler::viewFile(array($articleId, $galley->getFileId()));
00223 }
00224 }
00225 }
00226
00230 function viewMetadata($args) {
00231 $articleId = $args[0];
00232 list($journal, $submission) = SubmissionCopyeditHandler::validate($articleId);
00233 parent::setupTemplate(true, $articleId, 'editing');
00234
00235 CopyeditorAction::viewMetadata($submission, ROLE_ID_COPYEDITOR);
00236 }
00237
00238 function saveMetadata() {
00239 $articleId = Request::getUserVar('articleId');
00240 list($journal, $submission) = SubmissionCopyeditHandler::validate($articleId);
00241 parent::setupTemplate(true, $articleId);
00242
00243 if (CopyeditorAction::saveMetadata($submission)) {
00244 Request::redirect(null, null, 'submission', $articleId);
00245 }
00246 }
00247
00251 function removeCoverPage($args) {
00252 $articleId = isset($args[0]) ? (int)$args[0] : 0;
00253 $formLocale = $args[1];
00254 list($journal, $submission) = SubmissionCopyeditHandler::validate($articleId);
00255
00256 import('file.PublicFileManager');
00257 $publicFileManager = &new PublicFileManager();
00258 $publicFileManager->removeJournalFile($journal->getJournalId(),$submission->getFileName($formLocale));
00259 $submission->setFileName('', $formLocale);
00260 $submission->setOriginalFileName('', $formLocale);
00261 $submission->setWidth('', $formLocale);
00262 $submission->setHeight('', $formLocale);
00263
00264 $articleDao = &DAORegistry::getDAO('ArticleDAO');
00265 $articleDao->updateArticle($submission);
00266
00267 Request::redirect(null, null, 'viewMetadata', $articleId);
00268 }
00269
00270 }
00271 ?>