public function onJournalIndexPostCreate(JournalItemEvent $itemEvent) { $getMailEvent = $this->ojsMailer->getEventByName(JournalIndexEvents::POST_CREATE, null, $itemEvent->getItem()->getJournal()); if (!$getMailEvent) { return; } $mailUsers = array_merge($this->ojsMailer->getJournalRelatedUsers(), $this->ojsMailer->getAdminUsers()); /** @var User $user */ foreach ($mailUsers as $user) { $transformParams = ['index' => (string) $itemEvent->getItem(), 'done.by' => $this->ojsMailer->currentUser()->getUsername(), 'receiver.username' => $user->getUsername(), 'receiver.fullName' => $user->getFullName(), 'journal' => (string) $itemEvent->getItem()->getJournal()]; $template = $this->ojsMailer->transformTemplate($getMailEvent->getTemplate(), $transformParams); $this->ojsMailer->sendToUser($user, $getMailEvent->getSubject(), $template); } }