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(); } }
/** * 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; } }