16 import(
'lib.pkp.classes.submission.form.PKPSubmissionSubmitStep4Form');
36 parent::execute(...$functionParams);
42 import(
'classes.mail.ArticleMailTemplate');
47 $router = $request->getRouter();
48 if ($mail->isEnabled()) {
50 $mail->setFrom($this->context->getData(
'contactEmail'), $this->context->getData(
'contactName'));
51 $authorMail->setFrom($this->context->getData(
'contactEmail'), $this->context->getData(
'contactName'));
53 $user = $request->getUser();
55 if (!isset($primaryAuthor)) {
57 $primaryAuthor = $authors[0];
59 $mail->addRecipient($user->getEmail(), $user->getFullName());
61 if ($user->getEmail() != $primaryAuthor->getEmail()) {
62 $authorMail->addRecipient($primaryAuthor->getEmail(), $primaryAuthor->getFullName());
67 foreach ($assignedAuthors as $author) {
68 $authorEmail = $author->getEmail();
71 if ($authorEmail != $primaryAuthor->getEmail() && $authorEmail != $user->getEmail()) {
72 $authorMail->addRecipient($author->getEmail(), $author->getFullName());
75 $mail->bccAssignedSubEditors(
$submission->getId(), WORKFLOW_STAGE_ID_PRODUCTION);
78 $canAuthorPublish =
"";
79 import(
'classes.core.Services');
81 $primaryLocale =
$context->getPrimaryLocale();
82 $allowedLocales =
$context->getSupportedLocales();
85 $listErrors .=
'<ul class="plain">';
86 foreach ($errors as $error) {
87 $listErrors .=
'<li>' . $error .
'</li>';
89 $listErrors .=
'</ul>';
90 $canAuthorPublish = __(
'author.submit.publishRequirements') . $listErrors;
93 $canAuthorPublish = __(
'author.submit.authorCanNotPublish');
95 if ($canAuthorPublish ==
""){
96 $canAuthorPublish = __(
'author.submit.authorCanPublish');
99 $mail->assignParams(array(
100 'authorName' => $user->getFullName(),
101 'authorUsername' => $user->getUsername(),
102 'editorialContactSignature' =>
$context->getData(
'contactName'),
103 'canAuthorPublish' => $canAuthorPublish,
104 'submissionUrl' => $router->url($request,
null,
'authorDashboard',
'submission',
$submission->getId()),
107 $authorMail->assignParams(array(
108 'submitterName' => $user->getFullName(),
109 'editorialContactSignature' =>
$context->getData(
'contactName'),
112 if (!$mail->send($request)) {
113 import(
'classes.notification.NotificationManager');
115 $notificationMgr->createTrivialNotification($request->getUser()->getId(), NOTIFICATION_TYPE_ERROR, array(
'contents' => __(
'email.compose.error')));
118 $recipients = $authorMail->getRecipients();
119 if (!empty($recipients)) {
120 if (!$authorMail->send($request)) {
121 import(
'classes.notification.NotificationManager');
123 $notificationMgr->createTrivialNotification($request->getUser()->getId(), NOTIFICATION_TYPE_ERROR, array(
'contents' => __(
'email.compose.error')));
129 import(
'classes.log.SubmissionEventLogEntry');
130 import(
'lib.pkp.classes.log.SubmissionLog');