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;
}
}
}