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


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

namespace App\Http\Controllers\Customer;

use 
App\Http\Controllers\Controller;
use 
App\Models\Server;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\DB;
use 
Illuminate\Support\Str;

class 
ServerController extends Controller
{
    public function 
serverList(Request $request){
        
$page_no $request->page??0;
        
$no_of_data 20;
        
$offset = ($page_no $no_of_data) - $no_of_data;

        
$gateways=getAllSmsGateway();

        
$allGateways=collect([]);

        foreach (
getAllSmsGateway() as $gateway){
            
$allGateways->push(['name'=>$gateway'type'=>'sms']);
        }
        foreach (
getAllWhatsAppGateway() as $gateway){
            
$allGateways->push(['name'=>$gateway'type'=>'whatsapp']);
        }


        if (
$request->name){
            
$allGateways$allGateways->where('name''like''%' $request->name '%')->where('name'$request->name);
        }

        
$page=$request->page?$request->page:1;
        
$totalGateway=$allGateways->count();
        
$pageLimit=7;
        
$data['nextUrl']=route('customer.server.list',['page'=>$page+1]);
        
$data['preUrl']=route('customer.server.list',['page'=>$page-1]);
        
$data['totalPage']=ceil($totalGateway $pageLimit);

        
$data['gateways']=$allGateways->forPage($page$pageLimit);

        
$data['requestData']=$request->only('name','type');

        return 
view('customer.servers.server_list'$data);
    }

    public function 
getServerList( )
    {
        
$gateways getAllSmsGateway();

        
$allGateways collect([]);

        foreach (
getAllSmsGateway() as $gateway) {
            
$allGateways->push(['name' => $gateway'type' => 'sms']);
        }
        foreach (
getAllWhatsAppGateway() as $gateway) {
            
$allGateways->push(['name' => $gateway'type' => 'whatsapp']);
        }

        
$allGateways $allGateways;

        return 
datatables()->of($allGateways)
            ->
addColumn('name', function ($q) {
                
$name str_replace('_',' ',ucwords($q['name']));

                return 
$name;
            })
            ->
addColumn('contacts', function ($q) {
                
$type strtoupper($q['type']);

                return 
$type;
            })
            ->
addColumn('action', function ($q) {
                return 
'<a href="'.route('customer.server.add',[htmlentities($q['name'])]).'" class="btn btn-sm btn-primary">'.trans('customer.choose').'</a>';
            })
            ->
rawColumns([ 'action'])
            ->
toJson();
    }

    public function 
serverAdd($server){

        
$serverFields=servers_fields($server);
        
$server_name=$server;

        return 
view('customer.servers.server_add'compact('serverFields','server_name'));
    }

    public function 
storeServer(Request $request){
        
DB::beginTransaction();
        try{

            
$request->validate([
                
'title' => 'required|unique:servers',
            ]);

//           if (env("APP_DEMO")){
//               return redirect()->back()->withErrors(['error' => trans('admin.app_demo_message')]);
//           }

            
$serverFields=servers_fields($request->server_name);
            
$data=[];
            foreach (
$serverFields as $key=>$field){
                
$data[$field]=$request[$field];
            }

            
$days=[];
            if(
$request->offday){
                foreach (
$request->offday as $key=>$day){
                    
$days[]= strtolower($day);
                }
            }
            
$request['offdays']= json_encode($days);

            
$server=new Server();
            
$server->customer_id=auth('customer')->user()->id;
            
$server->title=$request->title;
            
$server->slug=Str::slug($request->title'-');
            
$server->name=$request->server_name;
            
$server->status=$request->status;
            
$server->value=json_encode($data);

            
$server->start_time=$request->start_time;
            
$server->end_time=$request->end_time;
            
$server->offdays=$request->offdays;
            
$server->message_limit=$request->message_limit;
            
$server->minute_limit=$request->minute_limit;
            
$server->send_limit=$request->send_limit;
            
$server->save();

            
DB::commit();
            return 
redirect()->route('customer.servers')->with('success'trans('customer.messages.server_added'));
        }catch(
\Exception $ex){
            
DB::rollBack();
            return  
redirect()->back()->withErrors(['error'=>$ex->getMessage()]);
        }

    }


    public function 
servers(){

        return 
view('customer.servers.server');
    }

    public function 
getAllServers(){

        
$servers=auth('customer')->user()->servers()->orderByDesc('created_at');

        return 
datatables()->of($servers)

            ->
addColumn('title',function($q){
                return 
$q->title;
            })
            ->
addColumn('name',function($q){
                return 
str_replace('_',' 'ucwords($q->name));
            })

            ->
addColumn('status',function($q){
                
$status='';
                if(
$q->status=='active') {
                    
$status '<b class="text-success font-weight-bold">Active</b>';
                }else{
                    
$status '<b class="text-danger font-weight-bold">Inactive</b>';
                }
                return 
$status;
            })

            ->
addColumn('action',function($q){
                return 
"<a class='btn btn-sm btn-info' href='".route('customer.server.edit',[$q->slug])."'>Edit</a> &nbsp; &nbsp;".
                    
'<button class="btn btn-sm btn-danger" data-message="Are you sure you want to delete this server?"
                                        data-action='
.route('customer.server.delete',['id'=>$q->id]).'
                                        data-input={"_method":"get"}
                                        data-toggle="modal" data-target="#modal-confirm">Delete</button>' 
;
            })

            ->
rawColumns(['action','status'])

            ->
toJson();

    }

    public function 
serverEdit($slug){
        
$serverServer::where('slug'$slug)->firstOrFail();

        
$data['serverFields']=servers_fields($server->name);
        
$data['server_name']=$server->name;
        
$data['fieldValue']=json_decode($server->valuetrue);
        
$data['offdays']=$server->offdays;
        
$data['server']=$server;

        return 
view('customer.servers.server_edit'$data);
    }


    public function 
serverUpdate($slugRequest $request){
        
DB::beginTransaction();
        try{

//           if (env("APP_DEMO")){
//               return redirect()->back()->withErrors(['error' => trans('admin.app_demo_message')]);
//           }

            
$server=Server::where('slug'$slug)->firstOrFail();
            
$request->validate([
                
'title' => 'required|unique:servers,title,' $server->id,
            ]);

            
$serverFields=servers_fields($request->server_name);
            
$data=[];
            foreach (
$serverFields as $key=>$field){
                
$data[$field]=$request[$field];
            }

            
$days=[];
            if(
$request->offday){
                foreach (
$request->offday as $key=>$day){
                    
$days[]= strtolower($day);
                }
            }
            
$request['offdays']= json_encode($days);
            
$server->title=$request->title;
            
$server->slug=Str::slug($request->title'-');
            
$server->name=$request->server_name;
            
$server->value=json_encode($data);
            
$server->status=$request->status;
            
$server->start_time=$request->start_time;
            
$server->end_time=$request->end_time;
            
$server->offdays=$request->offdays;
            
$server->message_limit=$request->message_limit;
            
$server->minute_limit=$request->minute_limit;
            
$server->send_limit=$request->send_limit;
            
$server->save();

            
DB::commit();
            return 
redirect()->route('customer.servers')->with('success'trans('customer.messages.server_updated'));
        }catch(
\Exception $ex){
            
DB::rollBack();
            return  
redirect()->back()->withErrors(['msg'=>$ex->getMessage()]);
        }

    }



    public function 
delete(Request $request)
    {
        try {
            
$server auth('customer')->user()->servers()->where('id'$request->id)->firstOrFail();

            
$server->delete();
            return 
redirect()->back()->with('success'trans('customer.messages.server_delete'));
        } catch (
\Exception $ex) {
            return 
redirect()->back()->withErrors(['msg' => $ex->getMessage()]);
        }
    }
}

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