function confirmSubmission(&$paper, &$user, &$schedConf, &$conference, $mailTemplate = 'SUBMISSION_ACK')
 {
     // Update search index
     import('search.PaperSearchIndex');
     PaperSearchIndex::indexPaperMetadata($paper);
     PaperSearchIndex::indexPaperFiles($paper);
     // Send author notification email
     import('mail.PaperMailTemplate');
     $mail = new PaperMailTemplate($paper, $mailTemplate, null, null, null, null, false, true);
     $mail->setFrom($schedConf->getSetting('contactEmail'), $schedConf->getSetting('contactName'));
     if ($mail->isEnabled()) {
         $mail->addRecipient($user->getEmail(), $user->getFullName());
         // If necessary, BCC the acknowledgement to someone.
         if ($schedConf->getSetting('copySubmissionAckPrimaryContact')) {
             $mail->addBcc($schedConf->getSetting('contactEmail'), $schedConf->getSetting('contactName'));
         }
         if ($schedConf->getSetting('copySubmissionAckSpecified')) {
             $copyAddress = $schedConf->getSetting('copySubmissionAckAddress');
             if (!empty($copyAddress)) {
                 $mail->addBcc($copyAddress);
             }
         }
         $editAssignmentDao =& DAORegistry::getDAO('EditAssignmentDAO');
         $editAssignments =& $editAssignmentDao->getEditAssignmentsByPaperId($paper->getId());
         while ($editAssignment =& $editAssignments->next()) {
             $mail->addBcc($editAssignment->getDirectorEmail(), $editAssignment->getDirectorFullName());
             unset($editAssignment);
         }
         $submissionUrl = Request::url(null, null, 'author', 'submissionReview', $paper->getId());
         $submissionUrl = $submissionUrl . "?u=" . $user->getUserId();
         $mail->assignParams(array('authorName' => $user->getFullName(), 'authorUsername' => $user->getUsername(), 'editorialContactSignature' => $schedConf->getSetting('contactName') . "\n" . $conference->getConferenceTitle(), 'submissionUrl' => $submissionUrl));
         $mail->send();
     }
 }
Example #2
0
 /**
  * Blind CC the reviews to reviewers.
  * @param $paper object
  * @param $send boolean
  * @param $inhibitExistingEmail boolean
  * @return boolean true iff ready for redirect
  */
 function blindCcReviewsToReviewers($paper, $send = false, $inhibitExistingEmail = false)
 {
     $commentDao =& DAORegistry::getDAO('PaperCommentDAO');
     $reviewAssignmentDao =& DAORegistry::getDAO('ReviewAssignmentDAO');
     $userDao =& DAORegistry::getDAO('UserDAO');
     $conference =& Request::getConference();
     $comments =& $commentDao->getPaperComments($paper->getId(), COMMENT_TYPE_DIRECTOR_DECISION);
     $reviewAssignments =& $reviewAssignmentDao->getReviewAssignmentsByPaperId($paper->getId(), $paper->getCurrentStage());
     $commentsText = "";
     foreach ($comments as $comment) {
         $commentsText .= String::html2utf(strip_tags($comment->getComments())) . "\n\n";
     }
     $user =& Request::getUser();
     import('mail.PaperMailTemplate');
     $email = new PaperMailTemplate($paper, 'SUBMISSION_DECISION_REVIEWERS');
     if ($send && !$email->hasErrors() && !$inhibitExistingEmail) {
         HookRegistry::call('TrackDirectorAction::blindCcReviewsToReviewers', array(&$paper, &$reviewAssignments, &$email));
         $email->send();
         return true;
     } else {
         if ($inhibitExistingEmail || !Request::getUserVar('continued')) {
             $email->clearRecipients();
             foreach ($reviewAssignments as $reviewAssignment) {
                 if ($reviewAssignment->getDateCompleted() != null && !$reviewAssignment->getCancelled()) {
                     $reviewer =& $userDao->getUser($reviewAssignment->getReviewerId());
                     if (isset($reviewer)) {
                         $email->addBcc($reviewer->getEmail(), $reviewer->getFullName());
                     }
                 }
             }
             $paramArray = array('comments' => $commentsText, 'editorialContactSignature' => $user->getContactSignature());
             $email->assignParams($paramArray);
         }
         $email->displayEditForm(Request::url(null, null, null, 'blindCcReviewsToReviewers'), array('paperId' => $paper->getId()));
         return false;
     }
 }