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