���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
/
app
/
Http
/
Controllers
/
api
/
v1
/
Viewing: AppController.php
<?php namespace App\Http\Controllers\api\v1; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use function App\Helpers\error_response; use function App\Helpers\success_response; use Illuminate\Support\Facades\Auth; use function App\Helpers\DateNow; use function App\Helpers\dateConvert; use function App\Helpers\sendSms; use function App\Helpers\uploadFile; use Illuminate\Support\Facades\Validator; use Illuminate\Filesystem\Filesystem; use App\Models\User; use App\Models\State; use App\Models\City; use App\Models\Slider; use App\Models\Application; use App\Models\Product; use App\Models\Message; use App\Models\Ticket; use App\Models\Config; use App\Models\Link; use App\Models\AppVersion; use App\Models\UserMarketer; use Carbon\Carbon; class AppController extends Controller { public function all_config(Request $request) { $user=User::where('id',auth()->user()->id)->with('state','city')->first(); if($user->has_app == false){ User::where('id',auth()->user()->id)->update([ 'has_app'=>true ]); } $persian_expire_date=''; if($user->expire_date){ $persian_expire_date= dateConvert($user->expire_date,'format'); } $user['persian_expire_date']=$persian_expire_date; //get-all-link-footer $links=Link::get(); //check-has-message $message=Message::where('class','order')->where('status','admin')->where('seen','no')->Where('receptor_id',auth()->user()->id)->latest()->first(); $has_message=''; if($message){ $has_message='has_message'; } //check-has-ticket $ticket=Message::where('class','ticket')->where('status','admin')->where('seen','no')->Where('receptor_id',auth()->user()->id)->latest()->first(); $has_ticket=''; if($ticket){ $has_ticket='has_ticket'; } //version-app $version=AppVersion::where('status','true')->first(); //payment_price $config=Config::where('key','payment_price') ->where('type','unix')->first(); $payment_price=$config->value; //payment_link $payment_link='https://app.cutunix.com/payment/zarinpal?user_id='.auth()->user()->id.'&mobile='.auth()->user()->mobile; $analyze_link=null; if($request->token){ $analyze_link='https://analyze.cutunix.com?token='.$request->token; } //check-exp-payment $exp_payment='true'; $number_expire_date=0; $payment='true'; $config_payment=Config::where('type','unix')->where('key','payment_cutunix')->first(); if($config_payment && $config_payment->value == 'true'){ $exp_payment='false'; $payment='false'; if(Carbon::today()->toDateString() <= auth()->user()->expire_date){ $exp_payment='true'; } //check-payment if(auth()->user()->payment == 'true'){ $payment='true'; } } if($exp_payment == 'true'){ $number_expire_date=Carbon::parse(Carbon::now())->diff(auth()->user()->expire_date)->format('%d'); } $data=['analyze_link'=>$analyze_link,'number_expire_date'=>$number_expire_date,'payment'=>$payment,'exp_payment'=>$exp_payment,'version'=>$version,'user'=>$user,'links'=>$links,'payment_price'=>$payment_price,'payment_link'=>$payment_link,'has_message'=>$has_message,'has_ticket'=>$has_ticket]; return success_response($data); } public function verify_marketer(Request $request) { $validation=Validator::make($request->all(),[ 'code' => 'required', ]); if($validation->fails()){ return error_response($validation->messages()->first(),true,422); } $check=User::where('code',$request->code)->where('platform','cutunix')->first(); if($check){ $check_marketer=UserMarketer::where('marketer_id',$check->id)->where('user_id',auth()->user()->id)->first(); if(!$check_marketer){ $exp=DateNow('when',null,'year',1); User::where('id',auth()->user()->id)->update([ 'payment'=>'true', 'expire_date'=>$exp, ]); UserMarketer::create([ 'user_id'=>auth()->user()->id, 'marketer_id'=>$check->id ]); //set New Code $unique_code=rand(1,99999); do { if($unique_code){ $code=$unique_code; } $check_unique=User::where('code',$code)->first(); $unique_code= rand(1,99999); } while ($check_unique); //update marketer $check->update([ 'code'=>$unique_code ]); //send-sms sendSms($check->mobile,$unique_code,'marketerCode'); $data=['status'=> 'success']; return success_response($data); }else{ return error_response(' شما قبلا توسط این بازاریاب معرفی شده اید '); } }else{ return error_response(' کد معرف وارد شده وجود ندارد '); } } public function state() { $states=State::get(); $data=['states'=> $states]; return success_response($data); } public function city(Request $request) { $validation=Validator::make($request->all(),[ 'state_id' => 'required', ]); if($validation->fails()){ return error_response($validation->messages()->first(),true,422); } $cities=City::where('state_id',$request->state_id)->get(); $data=['cities'=> $cities]; return success_response($data); } public function slider(Request $request) { $sliders=Slider::with('images')->get(); $data=['sliders'=> $sliders]; return success_response($data); } public function app(Request $request) { $apps=Application::with('images')->get(); $data=['apps'=> $apps]; return success_response($data); } public function products(Request $request) { $products=Product::with('images','options','options.option')->when($request->name,function($q) use ($request){ $q->where('title', 'like', '%'.$request->name.'%'); })->paginate(5); $data=['products'=> $products]; return success_response($data); } public function product(Request $request) { $validation=Validator::make($request->all(),[ 'product_id' => 'required', ]); if($validation->fails()){ return error_response($validation->messages()->first(),true,422); } $product=Product::with('images','options','options.option')->where('id',$request->product_id)->first(); $data=['product'=> $product]; return success_response($data); } public function services(Request $request) { $services=User::where(function($q) use ($request){ $q->permission( 'services'); if(!$request->status){ $q->where('active','true'); } })->withCount('orders') ->when($request->name,function($q) use ($request){ $q->where(function($a) use ($request){ $a->where('first_name', 'like', '%'.$request->name.'%')->orwhere('last_name', 'like', '%'.$request->name.'%'); }); }) ->when($request->state_id,function($q) use ($request){ $q->where('state_id', $request->state_id); }) ->when($request->city_id,function($q) use ($request){ $q->where('city_id', $request->city_id); }) ->when($request->status,function($q) use ($request){ $q->where('active',$request->status); }) ->when($request->down,function($q) use ($request){ if($request->down == 'true'){ $q->orderBy('orders_count','asc'); } }) ->with('state','city')->paginate(10); $data=['services'=> $services]; return success_response($data); } public function single_services(Request $request) { $validation=Validator::make($request->all(),[ 'services_id' => 'required', ]); if($validation->fails()){ return error_response($validation->messages()->first(),true,422); } $single_services=User::permission( 'services')->with('machinery','prices','state','city')->where('id',$request->services_id)->first(); $data=['single_services'=> $single_services]; return success_response($data); } public function send_sms_admin() { $status=Config::where('key','sms_ticket')->where('type','unix')->first(); if($status && $status->value == 'true'){ $mobile=Config::where('key','sms_ticket_mobile')->where('type','unix')->first(); if($mobile){ sendSms($mobile->value,'.','ticketServices'); } } } public function add_ticket(Request $request,Filesystem $filesystem) { $validation=Validator::make($request->all(),[ 'type' => 'required|in:image,text,sound,video,file', 'msg' => 'required', 'title' => 'required', ]); if($validation->fails()){ return error_response($validation->messages()->first(),true,422); } $ticket=Ticket::create([ 'title'=>$request->title, 'user_id'=>auth()->user()->id ]); if($request->type != 'text'){ $validation=Validator::make($request->all(),[ 'msg' => 'mimes:jpeg,jpg,png,pdf,xlsx,xls,txt,docx,mp4,mp3|max:10240', ]); if($validation->fails()){ return error_response($validation->messages()->first(),true,422); } $msg=uploadFile($request->msg); $mims='text'; $explode=explode('.',env('FILE_URL').$msg); if(count($explode) > 0){ $mims=$explode[count($explode)-1]; } }else{ $msg=$request->msg; $mims=$request->type; } $message=Message::create([ 'msg'=>$msg, 'type'=>$request->type, 'mims'=>$mims, 'date_show'=>DateNow('add_day_s',0), 'status'=>'user', 'class'=>'ticket', 'seen'=>'no', 'ticket_id'=>$ticket->id, 'sender_id'=>auth()->user()->id ]); $this->send_sms_admin(); $data=['ticket'=> $ticket]; return success_response($data); } public function tickets(Request $request) { // Message::where('class','ticket')->where('status','admin')->where(function($q){ // $q->where(function($a) { // $a->where('sender_id',auth()->user()->id); // })->orWhere(function($b) { // $b->Where('receptor_id',auth()->user()->id); // }); // })->update([ // 'seen'=>'yes' // ]); $tickets=Ticket::where('user_id',auth()->user()->id)->with('sender','message')->latest()->paginate(10); $data=['tickets'=> $tickets]; return success_response($data); } public function send_message_ticket(Request $request,Filesystem $filesystem) { $validation=Validator::make($request->all(),[ 'type' => 'required|in:image,text,sound,video,file', 'msg' => 'required', 'ticket_id' => 'required', ]); if($validation->fails()){ return error_response($validation->messages()->first(),true,422); } $check=Message::where('sender_id',auth()->user()->id)->where('ticket_id',$request->ticket_id)->first(); if(!$check){ return error_response(' شماره تیکت ارسال شده وجود ندارد '); } if($request->type != 'text'){ $validation=Validator::make($request->all(),[ 'msg' => 'mimes:jpeg,jpg,png,pdf,xlsx,xls,txt,docx,mp4,mp3,dwg,dxf,m4a|max:10240', ]); if($validation->fails()){ return error_response($validation->messages()->first(),true,422); } $msg=uploadFile($request->msg); $mims='text'; $explode=explode('.',env('FILE_URL').$msg); if(count($explode) > 0){ $mims=$explode[count($explode)-1]; } }else{ $msg=$request->msg; $mims=$request->type; } Ticket::where('id',$request->ticket_id)->update([ 'status'=>'waiting' ]); $message=Message::create([ 'msg'=>$msg, 'type'=>$request->type, 'mims'=>$mims, 'date_show'=>DateNow('add_day_s',0), 'status'=>'user', 'class'=>'ticket', 'ticket_id'=>$request->ticket_id, 'sender_id'=>auth()->user()->id ]); $this->send_sms_admin(); $data=['message'=> $message]; return success_response($data); } public function messages(Request $request) { $validation=Validator::make($request->all(),[ 'ticket_id' => 'required', ]); if($validation->fails()){ return error_response($validation->messages()->first(),true,422); } $check=Message::where('sender_id',auth()->user()->id)->where('ticket_id',$request->ticket_id)->first(); if(!$check){ return error_response(' شماره تیکت ارسال شده وجود ندارد '); } $messages=Message::where('class','ticket')->where('ticket_id',$request->ticket_id)->where(function($q){ $q->where(function($a) { $a->where('sender_id',auth()->user()->id); })->orWhere(function($b) { $b->Where('receptor_id',auth()->user()->id); }); })->latest()->get(); Message::where('class','ticket')->where('status','admin')->where('ticket_id',$request->ticket_id)->update([ 'seen'=>'yes' ]); $data=['messages'=> $messages]; return success_response($data); } }
Coded With 💗 by
0x6ick Mod By V1rus_Alfa