16 import(
'lib.pkp.classes.submission.form.PKPSubmissionSubmitStep4Form');
31 parent::execute(...$functionParams);
34 import(
'classes.mail.MonographMailTemplate');
36 $authorMail =
new MonographMailTemplate($this->submission,
'SUBMISSION_ACK_NOT_USER',
null,
null,
false);
40 $router = $request->getRouter();
41 if ($mail->isEnabled()) {
43 $mail->setFrom($this->context->getData(
'contactEmail'), $this->context->getData(
'contactName'));
44 $authorMail->setFrom($this->context->getData(
'contactEmail'), $this->context->getData(
'contactName'));
46 $user = $request->getUser();
47 $primaryAuthor = $this->submission->getPrimaryAuthor();
48 if (!isset($primaryAuthor)) {
49 $authors = $this->submission->getAuthors();
50 $primaryAuthor = $authors[0];
52 $mail->addRecipient($user->getEmail(), $user->getFullName());
54 if ($user->getEmail() != $primaryAuthor->getEmail()) {
55 $authorMail->addRecipient($primaryAuthor->getEmail(), $primaryAuthor->getFullName());
58 $assignedAuthors = $this->submission->getAuthors();
60 foreach ($assignedAuthors as $author) {
61 $authorEmail = $author->getEmail();
64 if ($authorEmail != $primaryAuthor->getEmail() && $authorEmail != $user->getEmail()) {
65 $authorMail->addRecipient($author->getEmail(), $author->getFullName());
68 $mail->bccAssignedSeriesEditors($this->submissionId, WORKFLOW_STAGE_ID_SUBMISSION);
70 $mail->assignParams(array(
71 'authorName' => $user->getFullName(),
72 'authorUsername' => $user->getUsername(),
73 'editorialContactSignature' =>
$context->getData(
'contactName') .
"\n" .
$context->getLocalizedName(),
74 'submissionUrl' => $router->url($request,
null,
'authorDashboard',
'submission', $this->submissionId),
77 $authorMail->assignParams(array(
78 'submitterName' => $user->getFullName(),
79 'editorialContactSignature' =>
$context->getData(
'contactName') .
"\n" .
$context->getLocalizedName(),
82 if (!$mail->send($request)) {
83 import(
'classes.notification.NotificationManager');
85 $notificationMgr->createTrivialNotification($request->getUser()->getId(), NOTIFICATION_TYPE_ERROR, array(
'contents' => __(
'email.compose.error')));
88 $recipients = $authorMail->getRecipients();
89 if (!empty($recipients)) {
90 if (!$authorMail->send($request)) {
91 import(
'classes.notification.NotificationManager');
93 $notificationMgr->createTrivialNotification($request->getUser()->getId(), NOTIFICATION_TYPE_ERROR, array(
'contents' => __(
'email.compose.error')));
99 import(
'lib.pkp.classes.log.SubmissionLog');
100 import(
'classes.log.SubmissionEventLogEntry');
101 SubmissionLog::logEvent($request, $this->submission, SUBMISSION_LOG_SUBMISSION_SUBMIT,
'submission.event.submissionSubmitted');