/** * @EXT\Route( * "cursus/course/session/{session}/confirmation/mail/send", * name="claro_cursus_course_session_confirmation_mail_send", * options = {"expose"=true} * ) * @EXT\ParamConverter("authenticatedUser", options={"authenticatedUser" = true}) * * @param CourseSession $session */ public function courseSessionConfirmationMailSendAction(CourseSession $session) { $confirmationEmail = $this->cursusManager->getConfirmationEmail(); if (!is_null($confirmationEmail)) { $users = []; $sessionUsers = $session->getSessionUsers(); foreach ($sessionUsers as $sessionUser) { if ($sessionUser->getUserType() === 0) { $users[] = $sessionUser->getUser(); } } $course = $session->getCourse(); $startDate = $session->getStartDate(); $endDate = $session->getEndDate(); $title = $confirmationEmail->getTitle(); $content = $confirmationEmail->getContent(); $title = str_replace('%course%', $course->getTitle(), $title); $content = str_replace('%course%', $course->getTitle(), $content); $title = str_replace('%session%', $session->getName(), $title); $content = str_replace('%session%', $session->getName(), $content); if (!is_null($startDate)) { $title = str_replace('%start_date%', $session->getStartDate(), $title); $content = str_replace('%start_date%', $session->getStartDate(), $content); } if (!is_null($endDate)) { $title = str_replace('%end_date%', $session->getEndDate(), $title); $content = str_replace('%end_date%', $session->getEndDate(), $content); } $this->mailManager->send($title, $content, $users); } return new JsonResponse('success', 200); }