MOON
Server: Apache
System: Linux e2e-78-16.ssdcloudindia.net 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
User: imensosw (1005)
PHP: 8.0.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/imensosw/www/imenso.co/dev/arabeasy/app/Chat.php
<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use DB;
use Illuminate\Support\Facades\Auth;

class Chat extends Authenticatable
{
    use Notifiable;
    public $table = "chat";
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    public static function updateNotificationByDocumentId($user_id,$user_type,$document_id,$chat_id=false)
    {
         if($chat_id!=false)
         {
            $data=array('user_id'=>$user_id,'chat_id'=>$chat_id,'document_id'=>$document_id,'user_type'=>$user_type,'created_at'=>date('Y-m-d H:i:s'),'updated_at'=>date('Y-m-d H:i:s'));
               DB::table('chat_notification_status')->insert($data); 
         }
         else
         {
             $notification=DB::select('select id from chat where buyer_documents_id="'.$document_id.'" and id not in(select chat_id from chat_notification_status where user_id="'.$user_id.'" and document_id="'.$document_id.'" and user_type="'.$user_type.'")');
             for($i=0;$i<count($notification);$i++)
             {
              
              $data=array('user_id'=>$user_id,'chat_id'=>$notification[$i]->id,'document_id'=>$document_id,'user_type'=>$user_type,'created_at'=>date('Y-m-d H:i:s'),'updated_at'=>date('Y-m-d H:i:s'));
               DB::table('chat_notification_status')->insert($data);
             }
         }
       
    }

    public static function  chatNotificationCountByDocumentUserId($document_id)
    {
         $user_type="a"; $user_id=0;
        if(Auth::guard('translator')->check())
        {
           $user_id=Auth::guard('translator')->user()->id;
           $user_type="t";
        }
        else if(Auth::guard('client')->check())
        {
           $user_id=Auth::guard('client')->user()->id;
           $user_type="c";
        }
        else if(Auth::guard('admin')->check())
        {
            $user_type="a";
            $user_id=1;
        }
        if($user_id)
        {
          $id=110;
        $notification=DB::select('select count(id) as cnt from chat where id >110  and buyer_documents_id="'.$document_id.'" and id not in(select chat_id from chat_notification_status where user_id="'.$user_id.'" and document_id="'.$document_id.'" and user_type="'.$user_type.'")');
        
        return $notification[0]->cnt;
        }
        else
        {
            return 0;
        }
    }
   
}