00001 <?php
00002
00015
00016
00017
00018 import('submission.layoutEditor.LayoutEditorAction');
00019
00020 class LayoutEditorHandler extends Handler {
00024 function index() {
00025 LayoutEditorHandler::validate();
00026 LayoutEditorHandler::setupTemplate();
00027
00028 $templateMgr = &TemplateManager::getManager();
00029 $templateMgr->assign('helpTopicId', 'editorial.layoutEditorsRole');
00030 $templateMgr->display('layoutEditor/index.tpl');
00031 }
00032
00036 function submissions($args) {
00037 LayoutEditorHandler::validate();
00038 LayoutEditorHandler::setupTemplate(true);
00039
00040 $journal = &Request::getJournal();
00041 $user = &Request::getUser();
00042 $layoutEditorSubmissionDao = &DAORegistry::getDAO('LayoutEditorSubmissionDAO');
00043
00044 $page = isset($args[0]) ? $args[0] : '';
00045 switch($page) {
00046 case 'completed':
00047 $active = false;
00048 break;
00049 default:
00050 $page = 'active';
00051 $active = true;
00052 }
00053
00054
00055 $searchField = Request::getUserVar('searchField');
00056 $dateSearchField = Request::getUserVar('dateSearchField');
00057 $searchMatch = Request::getUserVar('searchMatch');
00058 $search = Request::getUserVar('search');
00059
00060 $fromDate = Request::getUserDateVar('dateFrom', 1, 1);
00061 if ($fromDate !== null) $fromDate = date('Y-m-d H:i:s', $fromDate);
00062 $toDate = Request::getUserDateVar('dateTo', 32, 12, null, 23, 59, 59);
00063 if ($toDate !== null) $toDate = date('Y-m-d H:i:s', $toDate);
00064
00065 $rangeInfo = Handler::getRangeInfo('submissions');
00066 $submissions = $layoutEditorSubmissionDao->getSubmissions($user->getUserId(), $journal->getJournalId(), $searchField, $searchMatch, $search, $dateSearchField, $fromDate, $toDate, $active, $rangeInfo);
00067
00068 $templateMgr = &TemplateManager::getManager();
00069 $templateMgr->assign('pageToDisplay', $page);
00070 $templateMgr->assign_by_ref('submissions', $submissions);
00071
00072
00073 $duplicateParameters = array(
00074 'searchField', 'searchMatch', 'search',
00075 'dateFromMonth', 'dateFromDay', 'dateFromYear',
00076 'dateToMonth', 'dateToDay', 'dateToYear',
00077 'dateSearchField'
00078 );
00079 foreach ($duplicateParameters as $param)
00080 $templateMgr->assign($param, Request::getUserVar($param));
00081
00082 $templateMgr->assign('dateFrom', $fromDate);
00083 $templateMgr->assign('dateTo', $toDate);
00084 $templateMgr->assign('fieldOptions', Array(
00085 SUBMISSION_FIELD_TITLE => 'article.title',
00086 SUBMISSION_FIELD_AUTHOR => 'user.role.author',
00087 SUBMISSION_FIELD_EDITOR => 'user.role.editor'
00088 ));
00089 $templateMgr->assign('dateFieldOptions', Array(
00090 SUBMISSION_FIELD_DATE_SUBMITTED => 'submissions.submitted',
00091 SUBMISSION_FIELD_DATE_COPYEDIT_COMPLETE => 'submissions.copyeditComplete',
00092 SUBMISSION_FIELD_DATE_LAYOUT_COMPLETE => 'submissions.layoutComplete',
00093 SUBMISSION_FIELD_DATE_PROOFREADING_COMPLETE => 'submissions.proofreadingComplete'
00094 ));
00095
00096 import('issue.IssueAction');
00097 $issueAction = &new IssueAction();
00098 $templateMgr->register_function('print_issue_id', array($issueAction, 'smartyPrintIssueId'));
00099 $templateMgr->assign('helpTopicId', 'editorial.layoutEditorsRole.submissions');
00100 $templateMgr->display('layoutEditor/submissions.tpl');
00101 }
00102
00106 function futureIssues() {
00107 parent::validate();
00108 $journal = &Request::getJournal();
00109 $issueDao = &DAORegistry::getDAO('IssueDAO');
00110 $rangeInfo = Handler::getRangeInfo('issues');
00111 $templateMgr = &TemplateManager::getManager();
00112 $templateMgr->assign_by_ref('issues', $issueDao->getUnpublishedIssues($journal->getJournalId(), $rangeInfo));
00113 $templateMgr->assign('helpTopicId', 'publishing.index');
00114 $templateMgr->display('layoutEditor/futureIssues.tpl');
00115 }
00116
00117 function issueData($args) {
00118 import('pages.editor.EditorHandler');
00119 EditorHandler::issueData($args);
00120 }
00121
00122 function issueToc($args) {
00123 import('pages.editor.EditorHandler');
00124 EditorHandler::issueToc($args);
00125 }
00126
00127 function resetSectionOrder($args) {
00128 import('pages.editor.EditorHandler');
00129 EditorHandler::resetSectionOrder($args);
00130 }
00131
00132 function updateIssueToc($args) {
00133 import('pages.editor.EditorHandler');
00134 EditorHandler::updateIssueToc($args);
00135 }
00136
00137 function moveSectionToc($args) {
00138 import('pages.editor.EditorHandler');
00139 EditorHandler::moveSectionToc($args);
00140 }
00141
00142 function moveArticleToc($args) {
00143 import('pages.editor.EditorHandler');
00144 EditorHandler::moveArticleToc($args);
00145 }
00146
00147 function editIssue($args) {
00148 import('pages.editor.EditorHandler');
00149 EditorHandler::editIssue($args);
00150 }
00151
00152 function removeIssueCoverPage($args) {
00153 import('pages.editor.EditorHandler');
00154 EditorHandler::removeIssueCoverPage($args);
00155 }
00156
00157 function removeStyleFile($args) {
00158 import('pages.editor.EditorHandler');
00159 EditorHandler::removeStyleFile($args);
00160 }
00161
00166 function validate() {
00167 parent::validate();
00168 $journal = &Request::getJournal();
00169 if (!isset($journal) || !Validation::isLayoutEditor($journal->getJournalId())) {
00170 Validation::redirectLogin();
00171 }
00172 }
00173
00178 function setupTemplate($subclass = false, $articleId = 0, $parentPage = null) {
00179 $templateMgr = &TemplateManager::getManager();
00180 $pageHierarchy = $subclass ? array(array(Request::url(null, 'user'), 'navigation.user'), array(Request::url(null, 'layoutEditor'), 'user.role.layoutEditor'))
00181 : array(array(Request::url(null, 'user'), 'navigation.user'));
00182
00183 import('submission.sectionEditor.SectionEditorAction');
00184 $submissionCrumb = SectionEditorAction::submissionBreadcrumb($articleId, $parentPage, 'layoutEditor');
00185 if (isset($submissionCrumb)) {
00186 $pageHierarchy = array_merge($pageHierarchy, $submissionCrumb);
00187 }
00188 $templateMgr->assign('pageHierarchy', $pageHierarchy);
00189 }
00190
00195 function instructions($args) {
00196 import('submission.proofreader.ProofreaderAction');
00197 if (!isset($args[0]) || !LayoutEditorAction::instructions($args[0], array('layout', 'proof', 'referenceLinking'))) {
00198 Request::redirect(null, Request::getRequestedPage());
00199 }
00200 }
00201
00202 function viewMetadata($args) {
00203 import('pages.layoutEditor.SubmissionLayoutHandler');
00204 SubmissionLayoutHandler::viewMetadata($args);
00205 }
00206
00207
00208
00209
00210
00211
00212 function submission($args) {
00213 import('pages.layoutEditor.SubmissionLayoutHandler');
00214 SubmissionLayoutHandler::submission($args);
00215 }
00216
00217 function submissionEditing($args) {
00218 import('pages.layoutEditor.SubmissionLayoutHandler');
00219 SubmissionLayoutHandler::submission($args);
00220 }
00221
00222 function completeAssignment($args) {
00223 import('pages.layoutEditor.SubmissionLayoutHandler');
00224 SubmissionLayoutHandler::completeAssignment($args);
00225 }
00226
00227 function uploadLayoutFile() {
00228 import('pages.layoutEditor.SubmissionLayoutHandler');
00229 SubmissionLayoutHandler::uploadLayoutFile();
00230 }
00231
00232 function editGalley($args) {
00233 import('pages.layoutEditor.SubmissionLayoutHandler');
00234 SubmissionLayoutHandler::editGalley($args);
00235 }
00236
00237 function saveGalley($args) {
00238 import('pages.layoutEditor.SubmissionLayoutHandler');
00239 SubmissionLayoutHandler::saveGalley($args);
00240 }
00241
00242 function deleteGalley($args) {
00243 import('pages.layoutEditor.SubmissionLayoutHandler');
00244 SubmissionLayoutHandler::deleteGalley($args);
00245 }
00246
00247 function orderGalley() {
00248 import('pages.layoutEditor.SubmissionLayoutHandler');
00249 SubmissionLayoutHandler::orderGalley();
00250 }
00251
00252 function proofGalley($args) {
00253 import('pages.layoutEditor.SubmissionLayoutHandler');
00254 SubmissionLayoutHandler::proofGalley($args);
00255 }
00256
00257 function proofGalleyTop($args) {
00258 import('pages.layoutEditor.SubmissionLayoutHandler');
00259 SubmissionLayoutHandler::proofGalleyTop($args);
00260 }
00261
00262 function proofGalleyFile($args) {
00263 import('pages.layoutEditor.SubmissionLayoutHandler');
00264 SubmissionLayoutHandler::proofGalleyFile($args);
00265 }
00266
00267 function editSuppFile($args) {
00268 import('pages.layoutEditor.SubmissionLayoutHandler');
00269 SubmissionLayoutHandler::editSuppFile($args);
00270 }
00271
00272 function saveSuppFile($args) {
00273 import('pages.layoutEditor.SubmissionLayoutHandler');
00274 SubmissionLayoutHandler::saveSuppFile($args);
00275 }
00276
00277 function deleteSuppFile($args) {
00278 import('pages.layoutEditor.SubmissionLayoutHandler');
00279 SubmissionLayoutHandler::deleteSuppFile($args);
00280 }
00281
00282 function orderSuppFile() {
00283 import('pages.layoutEditor.SubmissionLayoutHandler');
00284 SubmissionLayoutHandler::orderSuppFile();
00285 }
00286
00287 function downloadFile($args) {
00288 import('pages.layoutEditor.SubmissionLayoutHandler');
00289 SubmissionLayoutHandler::downloadFile($args);
00290 }
00291
00292 function viewFile($args) {
00293 import('pages.layoutEditor.SubmissionLayoutHandler');
00294 SubmissionLayoutHandler::viewFile($args);
00295 }
00296
00297 function downloadLayoutTemplate($args) {
00298 import('pages.layoutEditor.SubmissionLayoutHandler');
00299 SubmissionLayoutHandler::downloadLayoutTemplate($args);
00300 }
00301
00302 function deleteArticleImage($args) {
00303 import('pages.layoutEditor.SubmissionLayoutHandler');
00304 SubmissionLayoutHandler::deleteArticleImage($args);
00305 }
00306
00307
00308
00309
00310
00311 function layoutEditorProofreadingComplete($args) {
00312 import('pages.layoutEditor.SubmissionLayoutHandler');
00313 SubmissionLayoutHandler::layoutEditorProofreadingComplete($args);
00314 }
00315
00316
00317
00318
00319
00320
00321 function viewLayoutComments($args) {
00322 import('pages.layoutEditor.SubmissionCommentsHandler');
00323 SubmissionCommentsHandler::viewLayoutComments($args);
00324 }
00325
00326 function postLayoutComment() {
00327 import('pages.layoutEditor.SubmissionCommentsHandler');
00328 SubmissionCommentsHandler::postLayoutComment();
00329 }
00330
00331 function viewProofreadComments($args) {
00332 import('pages.layoutEditor.SubmissionCommentsHandler');
00333 SubmissionCommentsHandler::viewProofreadComments($args);
00334 }
00335
00336 function postProofreadComment() {
00337 import('pages.layoutEditor.SubmissionCommentsHandler');
00338 SubmissionCommentsHandler::postProofreadComment();
00339 }
00340
00341 function editComment($args) {
00342 import('pages.layoutEditor.SubmissionCommentsHandler');
00343 SubmissionCommentsHandler::editComment($args);
00344 }
00345
00346 function saveComment() {
00347 import('pages.layoutEditor.SubmissionCommentsHandler');
00348 SubmissionCommentsHandler::saveComment();
00349 }
00350
00351 function deleteComment($args) {
00352 import('pages.layoutEditor.SubmissionCommentsHandler');
00353 SubmissionCommentsHandler::deleteComment($args);
00354 }
00355
00356 }
00357
00358 ?>