UnknownSec Bypass
403
:
/
mnt
/
lmsestudio-instance-vol002
/
lms_cde040c36613
/
app
/
Handlers
/
Events
/ [
drwxr-xr-x
]
Menu
Upload
Mass depes
Mass delete
Terminal
Info server
About
name :
SendTicketNotify.php
<?php namespace EstudioLMS\Handlers\Events; use EstudioLMS\Events\TicketNotification; use EstudioLMS\Exceptions\Handler; use EstudioLMS\Helpers\ConfigurationsHelper; use EstudioLMS\Repositories\Auth\UserRepository; use EstudioLMS\Repositories\Courses\Course\CourseRepository; use Illuminate\Contracts\Mail\Mailer; use MailLog; /** * Class SendTicketNotify * @package EstudioLMS\Handlers\Events */ class SendTicketNotify { /** * @var Mailer */ private $mail; /** * @var ConfigurationsHelper */ private $configurationsHelper; /** * @var CourseRepository */ private $courseRepository; /** * @var UserRepository */ private $userRepository; /** * Create the event handler. * * @param Mailer $mail * @param ConfigurationsHelper $configurationsHelper * @param CourseRepository $courseRepository * @param UserRepository $userRepository */ public function __construct( Mailer $mail, ConfigurationsHelper $configurationsHelper, CourseRepository $courseRepository, UserRepository $userRepository ) { $this->mail = $mail; $this->configurationsHelper = $configurationsHelper; $this->courseRepository = $courseRepository; $this->userRepository = $userRepository; } /** * Handle the event. * * @param TicketNotification $event * @return void */ public function handle(TicketNotification $event) { $this->configurationsHelper->overridesMailConfiguration(); $ticketInfo = $event->grabData(); $ticketType = $event->notificationType(); $ticketNew = $event->notificationNew(); $ticketUserType = $event->notificationUserType(); $receiver = $this->configurationsHelper->grabReceiverMailData(); $sender = $this->configurationsHelper->grabSenderMailData(); $userType = ''; switch ($ticketUserType) { case 'S' : $userType = trans('ambiente_ticket.userStudent'); break; case 'T' : $userType = trans('ambiente_ticket.userTeacher'); break; case 'A' : $userType = trans('ambiente_ticket.userAdmin'); break; } $from = $this->userRepository->find($ticketInfo['from_id']); $to = $this->userRepository->find($ticketInfo['to_id']); switch ($ticketType) { case 1 : // Doubts in the course $course = $this->courseRepository->find($ticketInfo['course_id']); if ($ticketNew == 'O') { $subject = trans('ambiente_ticket.ticketNewSubject'); $content = trans('ambiente_ticket.ticketNewContentCourse', [ 'type' => $userType, 'from' => $from['name'], 'course' => $course['name'] ] ); } elseif ($ticketNew == 'R') { $subject = trans('ambiente_ticket.ticketReplySubject'); $content = trans('ambiente_ticket.ticketReplyContentCourse', [ 'type' => $userType, 'from' => $from['name'], 'course' => $course['name'] ] ); } else { $subject = trans('ambiente_ticket.ticketCloseSubject'); $content = trans('ambiente_ticket.ticketCloseContentCourse', [ 'type' => $userType, 'from' => $from['name'], 'course' => $course['name'] ] ); } break; default: // Others if ($ticketType == 2) { $ticketLabel = trans('ambiente_ticket.ticketLabelFinancial'); } elseif ($ticketType == 3) { $ticketLabel = trans('ambiente_ticket.ticketLabelAdmin'); } elseif ($ticketType == 4) { $ticketLabel = trans('ambiente_ticket.ticketLabelComplaints'); } elseif ($ticketType == 5) { $ticketLabel = trans('ambiente_ticket.ticketLabelSuggestions'); } elseif ($ticketType == 6) { $ticketLabel = trans('ambiente_ticket.ticketLabelNewCourse'); } elseif ($ticketType == 7) { $ticketLabel = trans('ambiente_ticket.ticketLabelEditedCourse'); } elseif ($ticketType == 8) { $ticketLabel = trans('ambiente_ticket.ticketLabelNewResource'); } elseif ($ticketType == 9) { $ticketLabel = trans('ambiente_ticket.ticketLabelEditedResource'); } else { $ticketLabel = ''; } if ($ticketNew == 'O') { $subject = trans('ambiente_ticket.ticketNewSubject'); $content = trans('ambiente_ticket.ticketNewContentFinancial', [ 'type' => $userType, 'from' => $from['name'], 'ticketLabel' => $ticketLabel ] ); } elseif ($ticketNew == 'R') { $subject = trans('ambiente_ticket.ticketReplySubject'); $content = trans('ambiente_ticket.ticketReplyContentFinancial', [ 'type' => $userType, 'from' => $from['name'], 'ticketLabel' => $ticketLabel ] ); } else { $subject = trans('ambiente_ticket.ticketCloseSubject'); $content = trans('ambiente_ticket.ticketCloseContentFinancial', [ 'type' => $userType, 'from' => $from['name'], 'ticketLabel' => $ticketLabel ] ); } MailLog::write($ticketUserType); if ($ticketUserType == 'T' || $ticketUserType == 'S') { $adminsMail = $this->userRepository->admins(); } break; } if (isset($adminsMail)) { foreach ($adminsMail as $sendMail) { $email = [ 'subject' => $subject, 'content' => $content, 'link' => trans('ambiente_ticket.ticketLink', ['link' => $ticketInfo['link']]), 'to' => $sendMail['email'], 'name' => $sendMail['name'] ]; try { $this->mail ->send('emails.ticket', ['email' => $email], function ($msg) use ($email, $receiver, $sender) { $msg->subject($email['subject']); $msg->to($email['to'], $email['name']); $mesg->from($sender->sender_email, $sender->sender_name); }); } catch (\Exception $e) { app(Handler::class)->report($e); } } } else { $email = [ 'subject' => $subject, 'content' => $content, 'link' => trans('ambiente_ticket.ticketLink', ['link' => $ticketInfo['link']]), 'to' => $to['email'], 'name' => $to['name'] ]; try { $this->mail ->send('emails.ticket', ['email' => $email], function ($message) use ($email, $receiver, $sender) { $message->subject($email['subject']); $message->to($email['to'], $email['name']); $message->from($sender->sender_email, $receiver->sender_name); $message->replyTo($receiver->sender_email, $receiver->sender_name); }); } catch (\Exception $e) { app(Handler::class)->report($e); } } } }
Copyright © 2026 - UnknownSec