00001 <?php
00002
00015
00016
00017
00018 class SubmissionProofreadHandler extends ProofreaderHandler {
00019
00023 function submission($args) {
00024 $articleId = isset($args[0]) ? (int)$args[0] : 0;
00025
00026 list($journal, $submission) = SubmissionProofreadHandler::validate($articleId);
00027 parent::setupTemplate(true, $articleId);
00028
00029 $useProofreaders = $journal->getSetting('useProofreaders');
00030
00031 $authorDao = &DAORegistry::getDAO('AuthorDAO');
00032 $authors = $authorDao->getAuthorsByArticle($articleId);
00033
00034 ProofreaderAction::proofreaderProofreadingUnderway($submission);
00035 $useLayoutEditors = $journal->getSetting('useLayoutEditors');
00036
00037 $templateMgr = &TemplateManager::getManager();
00038
00039 $templateMgr->assign('useProofreaders', $useProofreaders);
00040 $templateMgr->assign_by_ref('authors', $authors);
00041 $templateMgr->assign_by_ref('submission', $submission);
00042 $templateMgr->assign_by_ref('proofAssignment', $submission->getProofAssignment());
00043 $templateMgr->assign('useLayoutEditors', $useLayoutEditors);
00044 $templateMgr->assign('helpTopicId', 'editorial.proofreadersRole.proofreading');
00045
00046 $publishedArticleDao =& DAORegistry::getDAO('PublishedArticleDAO');
00047 $publishedArticle =& $publishedArticleDao->getPublishedArticleByArticleId($submission->getArticleId());
00048 if ($publishedArticle) {
00049 $issueDao =& DAORegistry::getDAO('IssueDAO');
00050 $issue =& $issueDao->getIssueById($publishedArticle->getIssueId());
00051 $templateMgr->assign_by_ref('publishedArticle', $publishedArticle);
00052 $templateMgr->assign_by_ref('issue', $issue);
00053 }
00054
00055 $templateMgr->display('proofreader/submission.tpl');
00056 }
00057
00061 function completeProofreader($args) {
00062 $articleId = Request::getUserVar('articleId');
00063
00064 SubmissionProofreadHandler::validate($articleId);
00065 parent::setupTemplate(true);
00066
00067 if (ProofreaderAction::proofreadEmail($articleId,'PROOFREAD_COMPLETE', Request::getUserVar('send')?'':Request::url(null, 'proofreader', 'completeProofreader'))) {
00068 Request::redirect(null, null, 'submission', $articleId);
00069 }
00070 }
00071
00072 function viewMetadata($args) {
00073 $articleId = isset($args[0]) ? (int) $args[0] : 0;
00074 list($journal, $submission) = SubmissionProofreadHandler::validate($articleId);
00075 parent::setupTemplate(true, $articleId, 'summary');
00076
00077 ProofreaderAction::viewMetadata($submission, ROLE_ID_PROOFREADER);
00078 }
00079
00084 function validate($articleId) {
00085 parent::validate();
00086
00087 $isValid = false;
00088
00089 $journal = &Request::getJournal();
00090 $user = &Request::getUser();
00091
00092 $proofreaderDao = &DAORegistry::getDAO('ProofreaderSubmissionDAO');
00093 $submission = &$proofreaderDao->getSubmission($articleId, $journal->getJournalId());
00094
00095 if (isset($submission)) {
00096 $proofAssignment = &$submission->getProofAssignment();
00097 if ($proofAssignment->getProofreaderId() == $user->getUserId()) {
00098 $isValid = true;
00099 }
00100 }
00101
00102 if (!$isValid) {
00103 Request::redirect(null, Request::getRequestedPage());
00104 }
00105
00106 return array($journal, $submission);
00107 }
00108
00109
00110
00111
00112
00117 function downloadFile($args) {
00118 $articleId = isset($args[0]) ? $args[0] : 0;
00119 $fileId = isset($args[1]) ? $args[1] : 0;
00120 $revision = isset($args[2]) ? $args[2] : null;
00121
00122 list($journal, $submission) = SubmissionProofreadHandler::validate($articleId);
00123 if (!ProofreaderAction::downloadProofreaderFile($submission, $fileId, $revision)) {
00124 Request::redirect(null, null, 'submission', $articleId);
00125 }
00126 }
00127
00132 function proofGalley($args) {
00133 $articleId = isset($args[0]) ? (int) $args[0] : 0;
00134 $galleyId = isset($args[1]) ? (int) $args[1] : 0;
00135 list($journal, $submission) = SubmissionProofreadHandler::validate($articleId);
00136
00137 $templateMgr = &TemplateManager::getManager();
00138 $templateMgr->assign('articleId', $articleId);
00139 $templateMgr->assign('galleyId', $galleyId);
00140 $templateMgr->display('submission/layout/proofGalley.tpl');
00141 }
00142
00147 function proofGalleyTop($args) {
00148 $articleId = isset($args[0]) ? (int) $args[0] : 0;
00149 $galleyId = isset($args[1]) ? (int) $args[1] : 0;
00150 list($journal, $submission) = SubmissionProofreadHandler::validate($articleId);
00151
00152 $templateMgr = &TemplateManager::getManager();
00153 $templateMgr->assign('articleId', $articleId);
00154 $templateMgr->assign('galleyId', $galleyId);
00155 $templateMgr->assign('backHandler', 'submission');
00156 $templateMgr->display('submission/layout/proofGalleyTop.tpl');
00157 }
00158
00163 function proofGalleyFile($args) {
00164 $articleId = isset($args[0]) ? (int) $args[0] : 0;
00165 $galleyId = isset($args[1]) ? (int) $args[1] : 0;
00166 list($journal, $submission) = SubmissionProofreadHandler::validate($articleId);
00167
00168 $galleyDao = &DAORegistry::getDAO('ArticleGalleyDAO');
00169 $galley = &$galleyDao->getGalley($galleyId, $articleId);
00170
00171 import('file.ArticleFileManager');
00172
00173 if (isset($galley)) {
00174 if ($galley->isHTMLGalley()) {
00175 $templateMgr = &TemplateManager::getManager();
00176 $templateMgr->assign_by_ref('galley', $galley);
00177 if ($galley->isHTMLGalley() && $styleFile =& $galley->getStyleFile()) {
00178 $templateMgr->addStyleSheet(Request::url(null, 'article', 'viewFile', array(
00179 $articleId, $galleyId, $styleFile->getFileId()
00180 )));
00181 }
00182 $templateMgr->display('submission/layout/proofGalleyHTML.tpl');
00183
00184 } else {
00185
00186 SubmissionProofreadHandler::viewFile(array($articleId, $galley->getFileId()));
00187 }
00188 }
00189 }
00190
00195 function viewFile($args) {
00196 $articleId = isset($args[0]) ? $args[0] : 0;
00197 $fileId = isset($args[1]) ? $args[1] : 0;
00198 $revision = isset($args[2]) ? $args[2] : null;
00199
00200 list($journal, $submission) = SubmissionProofreadHandler::validate($articleId);
00201 if (!ProofreaderAction::viewFile($articleId, $fileId, $revision)) {
00202 Request::redirect(null, null, 'submission', $articleId);
00203 }
00204 }
00205
00206 }
00207
00208 ?>