00001 <?php
00002
00015
00016
00017
00018 import('pages.layoutEditor.SubmissionLayoutHandler');
00019
00020 class SubmissionCommentsHandler extends LayoutEditorHandler {
00021
00025 function viewLayoutComments($args) {
00026 LayoutEditorHandler::validate();
00027 LayoutEditorHandler::setupTemplate(true);
00028
00029 $articleId = $args[0];
00030
00031 list($journal, $submission) = SubmissionLayoutHandler::validate($articleId);
00032 LayoutEditorAction::viewLayoutComments($submission);
00033
00034 }
00035
00039 function postLayoutComment() {
00040 LayoutEditorHandler::validate();
00041 LayoutEditorHandler::setupTemplate(true);
00042
00043 $articleId = Request::getUserVar('articleId');
00044
00045
00046 $emailComment = Request::getUserVar('saveAndEmail') != null ? true : false;
00047
00048 list($journal, $submission) = SubmissionLayoutHandler::validate($articleId);
00049 if (LayoutEditorAction::postLayoutComment($submission, $emailComment)) {
00050 LayoutEditorAction::viewLayoutComments($submission);
00051 }
00052
00053 }
00054
00058 function viewProofreadComments($args) {
00059 LayoutEditorHandler::validate();
00060 LayoutEditorHandler::setupTemplate(true);
00061
00062 $articleId = $args[0];
00063
00064 list($journal, $submission) = SubmissionLayoutHandler::validate($articleId);
00065 LayoutEditorAction::viewProofreadComments($submission);
00066
00067 }
00068
00072 function postProofreadComment() {
00073 LayoutEditorHandler::validate();
00074 LayoutEditorHandler::setupTemplate(true);
00075
00076 $articleId = Request::getUserVar('articleId');
00077
00078
00079 $emailComment = Request::getUserVar('saveAndEmail') != null ? true : false;
00080
00081 list($journal, $submission) = SubmissionLayoutHandler::validate($articleId);
00082 if (LayoutEditorAction::postProofreadComment($submission, $emailComment)) {
00083 LayoutEditorAction::viewProofreadComments($submission);
00084 }
00085
00086 }
00087
00091 function editComment($args) {
00092 LayoutEditorHandler::validate();
00093 LayoutEditorHandler::setupTemplate(true);
00094
00095 $articleId = $args[0];
00096 $commentId = $args[1];
00097
00098 list($journal, $submission) = SubmissionLayoutHandler::validate($articleId);
00099 list($comment) = SubmissionCommentsHandler::validate($commentId);
00100 LayoutEditorAction::editComment($submission, $comment);
00101
00102 }
00103
00107 function saveComment() {
00108 LayoutEditorHandler::validate();
00109 LayoutEditorHandler::setupTemplate(true);
00110
00111 $articleId = Request::getUserVar('articleId');
00112 $commentId = Request::getUserVar('commentId');
00113
00114
00115 $emailComment = Request::getUserVar('saveAndEmail') != null ? true : false;
00116
00117 list($journal, $submission) = SubmissionLayoutHandler::validate($articleId);
00118 list($comment) = SubmissionCommentsHandler::validate($commentId);
00119 LayoutEditorAction::saveComment($submission, $comment, $emailComment);
00120
00121
00122 if ($comment->getCommentType() == COMMENT_TYPE_LAYOUT) {
00123 Request::redirect(null, null, 'viewLayoutComments', $articleId);
00124 } else if ($comment->getCommentType() == COMMENT_TYPE_PROOFREAD) {
00125 Request::redirect(null, null, 'viewProofreadComments', $articleId);
00126 }
00127 }
00128
00132 function deleteComment($args) {
00133 LayoutEditorHandler::validate();
00134 LayoutEditorHandler::setupTemplate(true);
00135
00136 $articleId = $args[0];
00137 $commentId = $args[1];
00138
00139 list($journal, $submission) = SubmissionLayoutHandler::validate($articleId);
00140 list($comment) = SubmissionCommentsHandler::validate($commentId);
00141 LayoutEditorAction::deleteComment($commentId);
00142
00143
00144 if ($comment->getCommentType() == COMMENT_TYPE_LAYOUT) {
00145 Request::redirect(null, null, 'viewLayoutComments', $articleId);
00146 } else if ($comment->getCommentType() == COMMENT_TYPE_PROOFREAD) {
00147 Request::redirect(null, null, 'viewProofreadComments', $articleId);
00148 }
00149 }
00150
00151
00152
00153
00154
00158 function validate($commentId) {
00159 parent::validate();
00160
00161 $isValid = true;
00162
00163 $articleCommentDao = &DAORegistry::getDAO('ArticleCommentDAO');
00164 $user = &Request::getUser();
00165
00166 $comment = &$articleCommentDao->getArticleCommentById($commentId);
00167
00168 if ($comment == null) {
00169 $isValid = false;
00170
00171 } else if ($comment->getAuthorId() != $user->getUserId()) {
00172 $isValid = false;
00173 }
00174
00175 if (!$isValid) {
00176 Request::redirect(null, Request::getRequestedPage());
00177 }
00178 return array($comment);
00179 }
00180 }
00181 ?>