UnknownSec Bypass
403
:
/
mnt
/
lmsestudio-instance-vol002
/
lms_f6d79acfe91f
/
app
/
Helpers
/ [
drwxr-xr-x
]
Menu
Upload
Mass depes
Mass delete
Terminal
Info server
About
name :
NotifyModeration.php
<?php namespace EstudioLMS\Helpers; use EstudioLMS\Events\TicketNotification; use EstudioLMS\Helpers\GetDataRecords; use EstudioLMS\Repositories\Ticket\TicketMessageRepository; use EstudioLMS\Repositories\Ticket\TicketRepository; use EstudioLMS\Repositories\Auth\UserRepository; use Illuminate\Contracts\Auth\Guard; /** * Class NotifyModeration * @package Helpers */ class NotifyModeration { /** * @var UserRepository */ private $userRepository; /** * @var TicketRepository */ private $ticketRepository; /** * @var TicketMessageRepository */ private $ticketMessageRepository; /** * @var GetDataRecords */ private $dataRecords; /** * @var Guard */ private $auth; /** * NotifyModeration constructor. * @param UserRepository $userRepository * @param TicketRepository $ticketRepository * @param TicketMessageRepository $ticketMessageRepository * @param GetDataRecords $dataRecords * @param Guard $auth */ public function __construct( UserRepository $userRepository, TicketRepository $ticketRepository, TicketMessageRepository $ticketMessageRepository, GetDataRecords $dataRecords, Guard $auth ) { $this->userRepository = $userRepository; $this->ticketRepository = $ticketRepository; $this->ticketMessageRepository = $ticketMessageRepository; $this->dataRecords = $dataRecords; $this->auth = $auth; } /** * @param $courseId * @param int $typeId * @param null $moduleId * @param null $resourceTypeId * @param null $resourceId */ public function notifyModerationCreatedCourseResource($courseId, $typeId = 6, $moduleId = null, $resourceTypeId = null, $resourceId = null) { $GUID = md5(uniqid(rand(), true)); $admin = $this->userRepository->userByRole('superadmin'); $toId = $admin['id']; $course = $this->dataRecords->getCourseById($courseId); $module = $this->dataRecords->getModuleById($moduleId); $resourceType = $this->dataRecords->getResourceTypeById($resourceTypeId); $resource = $this->dataRecords->getResourceByResourceId($resourceTypeId, $resourceId); $subject = 'Novo(a) Questionário/Lição aguardando moderação'; $message = 'O professor ' . $this->auth->user()->name . ' criou um novo recurso do tipo '; $message .= $resourceType->title . ' no curso ' . $course->name . ' no módulo ' . $module->name . '.'; $message .= '<br> O novo recurso se chama: ' . $resource->title . ' e aguarda moderação.'; $message .= '<br> Acesse o gerenciador de recursos clicando <a href="'. route('admin.courses.lessons.index', $courseId) .'">aqui</a>'; $newTicket = [ 'GUID' => $GUID, 'ticket_type_id' => $typeId, 'course_id' => $courseId, 'module_id' => $moduleId, 'resource_type_id' => $resourceTypeId, 'resource_id' => $resourceId, 'ticket_status_id' => 1, 'subject' => $subject ]; $ticket = $this->ticketRepository->create($newTicket); $newMessage= [ 'ticket_id' => $ticket['id'], 'from_id' => $this->auth->user()['id'], 'to_id' => $toId, 'message' => $message, 'attachment' => null ]; $message = $this->ticketMessageRepository->create($newMessage); $showRoute = 'admin.ticket.show'; $notify = [ 'link' => route($showRoute, $ticket['GUID']), 'course_id' => $ticket['course_id'], 'from_id' => $message['from_id'], 'to_id' => $message['to_id'], 'message' => $message['message'], 'attachment' => !empty($message['attachment']) ? true : false, 'url' => route('index'), 'module_id' => $moduleId, 'resource_type_id' => $resourceTypeId, 'resource_id' => $resourceId ]; \Event::fire(new TicketNotification($notify, $ticket['ticket_type_id'], 'O', 'T')); } /** * @param $courseId * @param int $typeId * @param null $moduleId * @param null $resourceTypeId * @param null $resourceId */ public function notifyModerationEditedCourseResource($courseId, $typeId = 6, $moduleId = null, $resourceTypeId = null, $resourceId = null) { $exists = $this->ticketRepository->lookingForTicket($courseId, [8, 9], $moduleId, $resourceTypeId, $resourceId); $admin = $this->userRepository->userByRole('superadmin'); $toId = $admin['id']; $course = $this->dataRecords->getCourseById($courseId); $module = $this->dataRecords->getModuleById($moduleId); $resourceType = $this->dataRecords->getResourceTypeById($resourceTypeId); $resource = $this->dataRecords->getResourceByResourceId($resourceTypeId, $resourceId); $subject = 'Questionário/Lição editado aguardando moderação'; $message = 'O professor ' . $this->auth->user()->name . ' editou recurso do tipo '; $message .= $resourceType->title . ' no curso ' . $course->name . ' no módulo ' . $module->name . '.'; $message .= '<br> O recurso editado se chama: ' . $resource->title . ' e aguarda moderação.'; $message .= '<br> Acesse o gerenciador de recursos clicando <a href="'. route('admin.courses.lessons.index', $courseId) .'">aqui</a>'; if ($exists) { $newMessage = [ 'ticket_id' => $exists['id'], 'from_id' => $this->auth->user()['id'], 'to_id' => $toId, 'message' => $message, 'attachment' => false, ]; $message = $this->ticketMessageRepository->create($newMessage); $this->ticketRepository->update(['ticket_status_id' => 1], $exists['id']); $notify = [ 'link' => route('admin.ticket.show', $exists['GUID']), 'course_id' => $exists['course_id'], 'from_id' => $message['from_id'], 'to_id' => $message['to_id'], 'message' => $message['message'], 'attachment' => !empty($message['attachment']) ? true : false, 'url' => route('index') ]; \Event::fire(new TicketNotification($notify, $exists['ticket_type_id'], 'R', 'T')); } else { $this->notifyModerationCreatedCourseResource($courseId, $typeId, $moduleId, $resourceTypeId, $resourceId); } } }
Copyright © 2026 - UnknownSec