function waivePublicationFee($args)
 {
     $articleId = (int) array_shift($args);
     $markAsPaid = Request::getUserVar('markAsPaid');
     $sendToScheduling = Request::getUserVar('sendToScheduling') ? true : false;
     list($journal, $submission) = SubmissionEditHandler::validate($articleId, SECTION_EDITOR_ACCESS_EDIT);
     import('payment.ojs.OJSPaymentManager');
     $paymentManager =& OJSPaymentManager::getManager();
     $user =& Request::getUser();
     $queuedPayment =& $paymentManager->createQueuedPayment($journal->getJournalId(), PAYMENT_TYPE_PUBLICATION, $markAsPaid ? $submission->getUserId() : $user->getUserId(), $articleId, $markAsPaid ? $journal->getSetting('publicationFee') : 0, $markAsPaid ? $journal->getSetting('currency') : '');
     $queuedPaymentId = $paymentManager->queuePayment($queuedPayment);
     // Since this is a waiver, fulfill the payment immediately
     $paymentManager->fulfillQueuedPayment($queuedPayment, $markAsPaid ? 'ManualPayment' : 'Waiver');
     if ($sendToScheduling) {
         Request::redirect(null, null, 'submissionEditing', array($articleId), null, 'scheduling');
     } else {
         Request::redirect(null, null, 'submission', array($articleId));
     }
 }
 function waivePublicationFee($args)
 {
     import('pages.sectionEditor.SubmissionEditHandler');
     SubmissionEditHandler::waivePublicationFee($args);
 }
 /**
  * Delete comment.
  */
 function deleteComment($args, $request)
 {
     $paperId = (int) array_shift($args);
     $commentId = (int) array_shift($args);
     $this->addCheck(new HandlerValidatorSubmissionComment($this, $commentId));
     $this->validate($request);
     $comment =& $this->comment;
     $submissionEditHandler = new SubmissionEditHandler();
     $submissionEditHandler->validate($request, $paperId);
     $paperDao = DAORegistry::getDAO('PaperDAO');
     $submission =& $paperDao->getPaper($paperId);
     TrackDirectorAction::deleteComment($commentId);
     // Redirect back to initial comments page
     if ($comment->getCommentType() == COMMENT_TYPE_PEER_REVIEW) {
         $request->redirect(null, null, null, 'viewPeerReviewComments', array($paperId, $comment->getAssocId()));
     } else {
         if ($comment->getCommentType() == COMMENT_TYPE_DIRECTOR_DECISION) {
             $request->redirect(null, null, null, 'viewDirectorDecisionComments', $paperId);
         }
     }
 }
 /**
  * Delete comment.
  */
 function deleteComment($args)
 {
     $articleId = $args[0];
     $commentId = $args[1];
     $this->addCheck(new HandlerValidatorSubmissionComment($this, $commentId));
     $this->validate();
     $comment =& $this->comment;
     $this->setupTemplate(true);
     $submissionEditHandler = new SubmissionEditHandler();
     $submissionEditHandler->validate($articleId);
     $submission =& $submissionEditHandler->submission;
     SectionEditorAction::deleteComment($commentId);
     // Redirect back to initial comments page
     if ($comment->getCommentType() == COMMENT_TYPE_PEER_REVIEW) {
         Request::redirect(null, null, 'viewPeerReviewComments', array($articleId, $comment->getAssocId()));
     } else {
         if ($comment->getCommentType() == COMMENT_TYPE_EDITOR_DECISION) {
             Request::redirect(null, null, 'viewEditorDecisionComments', $articleId);
         } else {
             if ($comment->getCommentType() == COMMENT_TYPE_COPYEDIT) {
                 Request::redirect(null, null, 'viewCopyeditComments', $articleId);
             } else {
                 if ($comment->getCommentType() == COMMENT_TYPE_LAYOUT) {
                     Request::redirect(null, null, 'viewLayoutComments', $articleId);
                 } else {
                     if ($comment->getCommentType() == COMMENT_TYPE_PROOFREAD) {
                         Request::redirect(null, null, 'viewProofreadComments', $articleId);
                     }
                 }
             }
         }
     }
 }
 /**
  * Delete comment.
  */
 function deleteComment($args)
 {
     SectionEditorHandler::validate();
     SectionEditorHandler::setupTemplate(true);
     $articleId = $args[0];
     $commentId = $args[1];
     list($journal, $submission) = SubmissionEditHandler::validate($articleId);
     list($comment) = SubmissionCommentsHandler::validate($commentId);
     SectionEditorAction::deleteComment($commentId);
     // Redirect back to initial comments page
     if ($comment->getCommentType() == COMMENT_TYPE_PEER_REVIEW) {
         Request::redirect(null, null, 'viewPeerReviewComments', array($articleId, $comment->getAssocId()));
     } else {
         if ($comment->getCommentType() == COMMENT_TYPE_EDITOR_DECISION) {
             Request::redirect(null, null, 'viewEditorDecisionComments', $articleId);
         } else {
             if ($comment->getCommentType() == COMMENT_TYPE_COPYEDIT) {
                 Request::redirect(null, null, 'viewCopyeditComments', $articleId);
             } else {
                 if ($comment->getCommentType() == COMMENT_TYPE_LAYOUT) {
                     Request::redirect(null, null, 'viewLayoutComments', $articleId);
                 } else {
                     if ($comment->getCommentType() == COMMENT_TYPE_PROOFREAD) {
                         Request::redirect(null, null, 'viewProofreadComments', $articleId);
                     }
                 }
             }
         }
     }
 }