00001 <?php
00002
00015
00016
00017
00018 import('pages.sectionEditor.SubmissionEditHandler');
00019
00020 class SubmissionCommentsHandler extends SectionEditorHandler {
00021
00025 function viewPeerReviewComments($args) {
00026 SectionEditorHandler::validate();
00027 SectionEditorHandler::setupTemplate(true);
00028
00029 $articleId = $args[0];
00030 $reviewId = $args[1];
00031
00032 list($journal, $submission) = SubmissionEditHandler::validate($articleId);
00033 SectionEditorAction::viewPeerReviewComments($submission, $reviewId);
00034
00035 }
00036
00040 function postPeerReviewComment() {
00041 SectionEditorHandler::validate();
00042 SectionEditorHandler::setupTemplate(true);
00043
00044 $articleId = Request::getUserVar('articleId');
00045 $reviewId = Request::getUserVar('reviewId');
00046
00047
00048 $emailComment = Request::getUserVar('saveAndEmail') != null ? true : false;
00049
00050 list($journal, $submission) = SubmissionEditHandler::validate($articleId);
00051 if (SectionEditorAction::postPeerReviewComment($submission, $reviewId, $emailComment)) {
00052 SectionEditorAction::viewPeerReviewComments($submission, $reviewId);
00053 }
00054
00055 }
00056
00060 function viewEditorDecisionComments($args) {
00061 SectionEditorHandler::validate();
00062 SectionEditorHandler::setupTemplate(true);
00063
00064 $articleId = $args[0];
00065
00066 list($journal, $submission) = SubmissionEditHandler::validate($articleId);
00067 SectionEditorAction::viewEditorDecisionComments($submission);
00068
00069 }
00070
00074 function postEditorDecisionComment() {
00075 SectionEditorHandler::validate();
00076 SectionEditorHandler::setupTemplate(true);
00077
00078 $articleId = Request::getUserVar('articleId');
00079
00080
00081 $emailComment = Request::getUserVar('saveAndEmail') != null ? true : false;
00082
00083 list($journal, $submission) = SubmissionEditHandler::validate($articleId);
00084 if (SectionEditorAction::postEditorDecisionComment($submission, $emailComment)) {
00085 SectionEditorAction::viewEditorDecisionComments($submission);
00086 }
00087
00088 }
00089
00093 function blindCcReviewsToReviewers($args = array()) {
00094 $articleId = Request::getUserVar('articleId');
00095 list($journal, $submission) = SubmissionEditHandler::validate($articleId);
00096
00097 $send = Request::getUserVar('send')?true:false;
00098 $inhibitExistingEmail = Request::getUserVar('blindCcReviewers')?true:false;
00099
00100 if (!$send) parent::setupTemplate(true, $articleId, 'editing');
00101 if (SectionEditorAction::blindCcReviewsToReviewers($submission, $send, $inhibitExistingEmail)) {
00102 Request::redirect(null, null, 'submissionReview', $articleId);
00103 }
00104 }
00105
00109 function viewCopyeditComments($args) {
00110 SectionEditorHandler::validate();
00111 SectionEditorHandler::setupTemplate(true);
00112
00113 $articleId = $args[0];
00114
00115 list($journal, $submission) = SubmissionEditHandler::validate($articleId);
00116 SectionEditorAction::viewCopyeditComments($submission);
00117
00118 }
00119
00123 function postCopyeditComment() {
00124 SectionEditorHandler::validate();
00125 SectionEditorHandler::setupTemplate(true);
00126
00127 $articleId = Request::getUserVar('articleId');
00128
00129
00130 $emailComment = Request::getUserVar('saveAndEmail') != null ? true : false;
00131
00132 list($journal, $submission) = SubmissionEditHandler::validate($articleId);
00133 if (SectionEditorAction::postCopyeditComment($submission, $emailComment)) {
00134 SectionEditorAction::viewCopyeditComments($submission);
00135 }
00136
00137 }
00138
00142 function viewLayoutComments($args) {
00143 SectionEditorHandler::validate();
00144 SectionEditorHandler::setupTemplate(true);
00145
00146 $articleId = $args[0];
00147
00148 list($journal, $submission) = SubmissionEditHandler::validate($articleId);
00149 SectionEditorAction::viewLayoutComments($submission);
00150
00151 }
00152
00156 function postLayoutComment() {
00157 SectionEditorHandler::validate();
00158 SectionEditorHandler::setupTemplate(true);
00159
00160 $articleId = Request::getUserVar('articleId');
00161
00162
00163 $emailComment = Request::getUserVar('saveAndEmail') != null ? true : false;
00164
00165 list($journal, $submission) = SubmissionEditHandler::validate($articleId);
00166 if (SectionEditorAction::postLayoutComment($submission, $emailComment)) {
00167 SectionEditorAction::viewLayoutComments($submission);
00168 }
00169
00170 }
00171
00175 function viewProofreadComments($args) {
00176 SectionEditorHandler::validate();
00177 SectionEditorHandler::setupTemplate(true);
00178
00179 $articleId = $args[0];
00180
00181 list($journal, $submission) = SubmissionEditHandler::validate($articleId);
00182 SectionEditorAction::viewProofreadComments($submission);
00183
00184 }
00185
00189 function postProofreadComment() {
00190 SectionEditorHandler::validate();
00191 SectionEditorHandler::setupTemplate(true);
00192
00193 $articleId = Request::getUserVar('articleId');
00194
00195
00196 $emailComment = Request::getUserVar('saveAndEmail') != null ? true : false;
00197
00198 list($journal, $submission) = SubmissionEditHandler::validate($articleId);
00199 if (SectionEditorAction::postProofreadComment($submission, $emailComment)) {
00200 SectionEditorAction::viewProofreadComments($submission);
00201 }
00202
00203 }
00204
00208 function emailEditorDecisionComment() {
00209 $articleId = (int) Request::getUserVar('articleId');
00210 list($journal, $submission) = SubmissionEditHandler::validate($articleId);
00211
00212 parent::setupTemplate(true);
00213 if (SectionEditorAction::emailEditorDecisionComment($submission, Request::getUserVar('send'))) {
00214 if (Request::getUserVar('blindCcReviewers')) {
00215 SubmissionCommentsHandler::blindCcReviewsToReviewers();
00216 } else {
00217 Request::redirect(null, null, 'submissionReview', array($articleId));
00218 }
00219 }
00220 }
00221
00225 function editComment($args) {
00226 SectionEditorHandler::validate();
00227 SectionEditorHandler::setupTemplate(true);
00228
00229 $articleId = $args[0];
00230 $commentId = $args[1];
00231
00232 list($journal, $submission) = SubmissionEditHandler::validate($articleId);
00233 list($comment) = SubmissionCommentsHandler::validate($commentId);
00234
00235 if ($comment->getCommentType() == COMMENT_TYPE_EDITOR_DECISION) {
00236
00237 Request::redirect(null, Request::getRequestedPage());
00238 }
00239
00240 SectionEditorAction::editComment($submission, $comment);
00241
00242 }
00243
00247 function saveComment() {
00248 SectionEditorHandler::validate();
00249 SectionEditorHandler::setupTemplate(true);
00250
00251 $articleId = Request::getUserVar('articleId');
00252 $commentId = Request::getUserVar('commentId');
00253
00254
00255 $emailComment = Request::getUserVar('saveAndEmail') != null ? true : false;
00256
00257 list($journal, $submission) = SubmissionEditHandler::validate($articleId);
00258 list($comment) = SubmissionCommentsHandler::validate($commentId);
00259
00260 if ($comment->getCommentType() == COMMENT_TYPE_EDITOR_DECISION) {
00261
00262 Request::redirect(null, Request::getRequestedPage());
00263 }
00264
00265
00266 SectionEditorAction::saveComment($submission, $comment, $emailComment);
00267
00268 $articleCommentDao = &DAORegistry::getDAO('ArticleCommentDAO');
00269 $comment = &$articleCommentDao->getArticleCommentById($commentId);
00270
00271
00272 if ($comment->getCommentType() == COMMENT_TYPE_PEER_REVIEW) {
00273 Request::redirect(null, null, 'viewPeerReviewComments', array($articleId, $comment->getAssocId()));
00274 } else if ($comment->getCommentType() == COMMENT_TYPE_EDITOR_DECISION) {
00275 Request::redirect(null, null, 'viewEditorDecisionComments', $articleId);
00276 } else if ($comment->getCommentType() == COMMENT_TYPE_COPYEDIT) {
00277 Request::redirect(null, null, 'viewCopyeditComments', $articleId);
00278 } else if ($comment->getCommentType() == COMMENT_TYPE_LAYOUT) {
00279 Request::redirect(null, null, 'viewLayoutComments', $articleId);
00280 } else if ($comment->getCommentType() == COMMENT_TYPE_PROOFREAD) {
00281 Request::redirect(null, null, 'viewProofreadComments', $articleId);
00282 }
00283 }
00284
00288 function deleteComment($args) {
00289 SectionEditorHandler::validate();
00290 SectionEditorHandler::setupTemplate(true);
00291
00292 $articleId = $args[0];
00293 $commentId = $args[1];
00294
00295 list($journal, $submission) = SubmissionEditHandler::validate($articleId);
00296 list($comment) = SubmissionCommentsHandler::validate($commentId);
00297 SectionEditorAction::deleteComment($commentId);
00298
00299
00300 if ($comment->getCommentType() == COMMENT_TYPE_PEER_REVIEW) {
00301 Request::redirect(null, null, 'viewPeerReviewComments', array($articleId, $comment->getAssocId()));
00302 } else if ($comment->getCommentType() == COMMENT_TYPE_EDITOR_DECISION) {
00303 Request::redirect(null, null, 'viewEditorDecisionComments', $articleId);
00304 } else if ($comment->getCommentType() == COMMENT_TYPE_COPYEDIT) {
00305 Request::redirect(null, null, 'viewCopyeditComments', $articleId);
00306 } else if ($comment->getCommentType() == COMMENT_TYPE_LAYOUT) {
00307 Request::redirect(null, null, 'viewLayoutComments', $articleId);
00308 } else if ($comment->getCommentType() == COMMENT_TYPE_PROOFREAD) {
00309 Request::redirect(null, null, 'viewProofreadComments', $articleId);
00310 }
00311
00312 }
00313
00314
00315
00316
00317
00321 function validate($commentId) {
00322 parent::validate();
00323
00324 $articleCommentDao = &DAORegistry::getDAO('ArticleCommentDAO');
00325 $user = &Request::getUser();
00326
00327 $comment = &$articleCommentDao->getArticleCommentById($commentId);
00328
00329 if (
00330 $comment == null ||
00331 $comment->getAuthorId() != $user->getUserId()
00332 ) {
00333 Request::redirect(null, Request::getRequestedPage());
00334 }
00335
00336 return array($comment);
00337 }
00338 }
00339 ?>