JFIF  x x C         C     "        } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz        w !1AQ aq"2B #3Rbr{ gilour

File "MessageController.php"

Full Path: /var/www/laravel_filter/app/Http/Controllers/MessageController.php
File size: 2.11 KB
MIME-type: text/x-php
Charset: utf-8

<?php

namespace App\Http\Controllers;

use Auth;
use App\Models\User;
use App\Models\Message;
use App\Models\Setting;
use App\Events\LiveChat;
use Illuminate\Http\Request;
use Modules\Service\Entities\Service;

class MessageController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth:web');
    }

    public function load_chat_box($id){
        $buyer = Auth::guard('web')->user();

        $provider = User::find($id);

        $messages =  Message::with('service')->where(['buyer_id' => $buyer->id, 'provider_id' => $id])->get();

        Message::where(['buyer_id' => $buyer->id, 'provider_id' => $id])->update(['buyer_read_msg' => 1]);

        return view('chat_box')->with(['messages' => $messages, 'buyer' => $buyer, 'provider' => $provider]);

    }

    public function send_message_to_provider(Request $request){

        $buyer = Auth::guard('web')->user();

        $message = new Message();
        $message->provider_id = $request->provider_id;
        $message->buyer_id = $buyer->id;
        $message->message = $request->message;
        $message->provider_read_msg = 0;
        $message->buyer_read_msg = 1;
        $message->send_by = 'buyer';
        $message->service_id = $request->service_id ? $request->service_id : 0;
        $message->save();

        $provider = User::find($request->provider_id);

        $messages =  Message::with('service')->where(['provider_id' => $provider->id, 'buyer_id' => $buyer->id])->get();


        $short_message = $message->message;
        if($request->service_id){
            $service = Service::find($request->service_id);
            if($service){
                $short_message = $service->title;
            }
        }

        $short_message = substr($short_message, 0, 30);

        $data = array([
            'buyer_id' => $buyer->id,
            'message_id' => $message->id,
            'string' => $short_message
        ]);

        substr($message->message, 0, 4);

        event(new LiveChat($provider, $data));

        return view('chat_box')->with(['messages' => $messages, 'provider' => $provider, 'buyer' => $buyer]);


    }
}