���Root Mod By V1rus_Alfa
User / IP
:
216.73.217.78
Host / Server
:
195.214.235.115 / npln.ir
System
:
Linux damavand.pws-dns.net 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Command
|
Upload
|
Mass Deface
|
Create
:
/
home2
/
cutunixc
/
repositories
/
cutunix-shot
/
app
/
Livewire
/
Admin
/
Pages
/
Chat
/
Viewing: Show.php
<?php namespace App\Livewire\Admin\Pages\Chat; use Livewire\Component; use Livewire\WithPagination; use App\Models\Message; use App\Models\Order; use App\Models\Factor; use App\Models\OrderLog; use App\Models\OrderStatus; use App\Models\PaymentServices; use Illuminate\Support\Facades\Auth; use function App\Helpers\DateNow; use Masmerise\Toaster\Toastable; use function App\Helpers\sendSms; use Livewire\WithFileUploads; use Illuminate\Filesystem\Filesystem; use function App\Helpers\uploadFile; use function App\Helpers\destroyFile; use function App\Helpers\pathReturn; use App\Helpers\HelperClass\GeneralUse; use ZipArchive; use App\Utils\Paginate; class Show extends Component { protected $listeners = ['refreshMulti' => '$refresh' ]; use Toastable; use WithFileUploads; use WithPagination; public $file; public $search = ''; public $message_id; public $msg; public $status; public $user; public $order_id; public $order; public $title; public $user_id; public $perPage = 15; public $perPageUser = 10; public function changeStatus() { Order::where('id',$this->order_id)->update([ 'status_services'=>$this->status ]); OrderLog::create([ 'text'=>$this->status, 'text_em'=>$this->order->status_em_services, 'date_show'=>DateNow('add_day_s',0), 'type'=>'services', 'user_id'=>auth()->user()->id, 'order_id'=>$this->order_id, ]); if($this->order->user && $this->order->user->device_token){ $title_push='وضعیت سفارش شما تغییر داده شد'; $body='وضعیت سفارش شماره '.$this->order->number.' به '.$this->status.' تغییر داده شد'; GeneralUse::send_push_massage([$this->order->user->device_token],$title_push,$body); } $this->success(' وضعیت سفارش با موفقیت تغییر گردید '); } public function close_order() { Order::where('id',$this->order_id)->update([ 'close'=>'admin' ]); $this->success('سفارش بسته شد'); return $this->dispatch('refreshMulti'); } public function delete_message($id) { Message::where('id',$id)->delete(); $this->success( 'پیام با موفقیت حذف گردید '); return $this->dispatch('refreshMulti'); } public function edit_message($item) { $this->msg=$item['msg']; $this->message_id=$item['id']; } public function loadMore() { $this->perPage += 10; } public function loadMoreUser() { $this->perPageUser += 10; } public function delete_order() { Order::where('id',$this->order_id)->delete(); Message::where('order_id',$this->order_id)->delete(); Factor::where('order_id',$this->order_id)->delete(); PaymentServices::where('order_id',$this->order_id)->delete(); OrderLog::where('order_id',$this->order_id)->delete(); return $this->dispatch('refreshMulti'); } public function set_id($item ) { $this->msg=''; $this->message_id=''; $this->order_id=$item['order_id'] ; $this->order= Order::where('id',$this->order_id)->first() ; $this->user_id=$item['order']['user_id']; $this->status= $this->order->status_services; if ($item['sender']){ $this->user=$item['sender']; }else { $this->user=$item['receptor']; } $this->perPage = 15; $this->dispatch('scrollDown'); } public function updatedfile( ) { $this->validate([ 'file.*' => 'mimes:heic,jpeg,jpg,png,pdf,xlsx,xls,txt,docx,mp4,ogg,mp3,dwg,dxf,zip|max:30720', ]); $this->dispatch('startLoading'); foreach ($this->file as $value) { $msg=uploadFile($value); $this->sendMessage('file',$msg); } } public function sendMessage($type=null,$value=null) { $msg=$this->msg; $mims='text'; if($value){ $msg=$value; } if($type != 'text'){ $explode=explode('.',env('FILE_URL').$msg); if(count($explode) > 0){ $mims=$explode[count($explode)-1]; } } if($msg){ if($this->message_id){ Message::where('id',$this->message_id)->update([ 'msg'=>$msg, 'date_show'=>DateNow('add_day_s',0), ]); $this->message_id=''; }else{ $message=Message::create([ 'msg'=>$msg, 'type'=>$type, 'mims'=>$mims, 'date_show'=>DateNow('add_day_s',0), 'status'=>'admin', 'class'=>'order', 'sender_id'=>auth()->user()->id, 'receptor_id'=>$this->user_id, 'order_id'=>$this->order_id ]); } $this->msg=''; if($this->order->user && $this->order->user->device_token){ $title='پیام جدید'; $body='شما یک پیام جدید در سفارش شماره '.$this->order->number.' دارید '; GeneralUse::send_push_massage([$this->order->user->device_token],$title,$body); } $this->dispatch('endLoading'); } } public function render() { $messages=[]; if($this->user_id){ $messages=Message::where('class','order')->where('order_id',$this->order_id) ->latest()->paginate($this->perPage); $messages=$messages->setCollection($messages->getCollection()->reverse()); Message::where('class','order')->where('status','user')->where('order_id',$this->order_id)->where(function($q) { $q->where(function($a) { $a->where('sender_id',$this->user_id); })->orWhere(function($b) { $b->Where('receptor_id',$this->user_id); }); })->update([ 'seen'=>'yes' ]); } if(auth()->user()->canAny(['admin','secretary'])){ $users=Message::where('class','order') ->with('order','sender','receptor')->has('order') ->when($this->search,function($q){ $q->whereHas('sender',function($q){ $q->where('first_name', 'like', '%'.$this->search.'%')->orWhere('last_name', 'like', '%'.$this->search.'%')->orWhere('mobile', 'like', '%'.$this->search.'%'); }); })->orderBy('messages.id','desc')->get()->unique('order_id')->toArray(); }elseif(auth()->user()->can( 'manager_order') ){ $users=Message::where('class','order') ->with('order','sender','receptor')->has('order')->when($this->search,function($q){ $q->whereHas('sender',function($q){ $q->where('first_name', 'like', '%'.$this->search.'%')->orWhere('last_name', 'like', '%'.$this->search.'%')->orWhere('mobile', 'like', '%'.$this->search.'%'); }); })->whereHas('order',function($q){ $q->where('services_id',auth()->user()->parent); })->orderBy('messages.id','desc')->get()->unique('order_id')->toArray(); }else{ $users=Message::where('class','order') ->with('order','sender','receptor')->has('order')->when($this->search,function($q){ $q->whereHas('sender',function($q){ $q->where('first_name', 'like', '%'.$this->search.'%')->orWhere('last_name', 'like', '%'.$this->search.'%')->orWhere('mobile', 'like', '%'.$this->search.'%'); }); })->whereHas('order',function($q){ $q->where('services_id',auth()->user()->id); })->orderBy('messages.id','desc')->get()->unique('order_id')->toArray(); } $users = Paginate::paginate($users,$this->perPageUser); $all_status=OrderStatus::orderby('sort','asc')->get(); $data=['users'=> $users,'all_status'=> $all_status,'messages'=> $messages]; return view('livewire.admin.pages.chat.show',$data)->layoutData(['page_name' => 'chat_message']); } }
Coded With 💗 by
0x6ick Mod By V1rus_Alfa