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

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/uploads/script/app/Http/Controllers/Seller/   drwxr-xr-x
Free 13.15 GB of 57.97 GB (22.69%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace App\Http\Controllers\Seller;

use 
App\Http\Controllers\Controller;
use 
Illuminate\Http\Request;
use 
Carbon\Carbon;
use 
Spatie\Analytics\Period;
use 
Auth;
use 
App\Order;
use 
App\Term;
use 
App\Domain;
use 
Analytics;
class 
DashboardController extends Controller
{
    public function 
dashboard()
    {
        
        return 
view('seller.dashboard');
    }

    public function 
order_statics($month)
    {
        
$month=Carbon::parse($month)->month;
        
$year=Carbon::parse(date('Y'))->year;
        
$user_id=Auth::id();

        
$total_orders=Order::where('user_id',$user_id)->whereMonth('created_at''=',$month)->whereYear('created_at''=',$year)->count();
        
$total_pending=Order::where('user_id',$user_id)->whereMonth('created_at''=',$month)->whereYear('created_at''=',$year)->where('status','pending')->count();
        
$total_completed=Order::where('user_id',$user_id)->whereMonth('created_at''=',$month)->whereYear('created_at''=',$year)->where('status','completed')->count();
        
$total_processing1=Order::where('user_id',$user_id)->whereMonth('created_at''=',$month)->whereYear('created_at''=',$year)->where('status','processing')->count();
        
$total_processing2=Order::where('user_id',$user_id)->whereMonth('created_at''=',$month)->whereYear('created_at''=',$year)->where('status','ready-for-pickup')->count();
        
$total_processing=$total_processing1+$total_processing2;
        
        
$data['total_orders']=number_format($total_orders);
        
$data['total_pending']=number_format($total_pending);
        
$data['total_completed']=number_format($total_completed);
        
$data['total_processing']=number_format($total_processing);

        return 
response()->json($data);
    }

    public function 
staticData()
    {
        
$user_id=Auth::id();
        
$year=Carbon::parse(date('Y'))->year;
        
$today=Carbon::today();


        
$totalEarnings=Order::where('user_id',$user_id)->where('payment_status',1)->where('status','completed')->whereYear('created_at''=',$year)->sum('total');
        
$totalEarnings=amount_format($totalEarnings);

        
$totalSales=Order::where('user_id',$user_id)->where('status','completed')->whereYear('created_at''=',$year)->count();
        
$totalSales=number_format($totalSales);
        
$storage_size=folderSize('uploads/'.$user_id);

        
$today_sale_amount Order::where('user_id',$user_id)->where('status','!=','canceled')->whereDate('created_at'$today)->sum('total');
        
$today_sale_amount=amount_format($today_sale_amount,'sign');

        
$today_orders Order::where('user_id',$user_id)->whereDate('created_at'$today)->count();
        
$today_orders=number_format($today_orders);


        
$yesterday_sale_amount Order::where('user_id',$user_id)->where('status','!=','canceled')->whereDate('created_at'Carbon::yesterday())->sum('total');
        
$yesterday_sale_amount=amount_format($yesterday_sale_amount,'sign');


        
$previous_week strtotime("-1 week +1 day");
        
$start_week strtotime("last sunday midnight",$previous_week);
        
$end_week strtotime("next saturday",$start_week);
        
$start_week date("Y-m-d",$start_week);
        
$end_week date("Y-m-d",$end_week);


        
$lastweek_sale_amount Order::where('user_id',$user_id)->where('status','=','completed')->whereDate('created_at''>'Carbon::now()->subDays(7))->sum('total');
        
$lastweek_sale_amount=amount_format($lastweek_sale_amount,'sign');

        
$lastmonth_sale_amount Order::where('user_id',$user_id)->where('status','=','completed')->whereMonth('created_at''='Carbon::now()->subMonth()->month)->sum('total');
        
$lastmonth_sale_amount=amount_format($lastmonth_sale_amount,'sign');

        
$thismonth_sale_amount Order::where('user_id',$user_id)->where('status','=','completed')->whereMonth('created_at'date('m'))
        ->
whereYear('created_at'date('Y'))->sum('total');
        
$thismonth_sale_amount=amount_format($thismonth_sale_amount,'sign');

        
$orders=Order::where('user_id',$user_id)->whereYear('created_at''=',$year)->orderBy('id''asc')->selectRaw('year(created_at) year, monthname(created_at) month, count(*) sales')
                ->
groupBy('year''month')
                ->
get();

        
$earnings=Order::where('user_id',$user_id)->whereYear('created_at''=',$year)->where('status','completed')->orderBy('id''asc')->selectRaw('year(created_at) year, monthname(created_at) month, sum(total) total')
                ->
groupBy('year''month')
                ->
get();
        
$posts=Term::where('user_id',Auth::id())->where('type','!=','page')->count();
        
$pages=Term::where('user_id',Auth::id())->where('type','page')->count();
        
        
$data['totalEarnings']=$totalEarnings;
        
$data['totalSales']=$totalSales;
        
$data['storage_size']=$storage_size.'MB';
        
$data['today_sale_amount']=$today_sale_amount;
        
$data['today_orders']=$today_orders;
        
$data['yesterday_sale_amount']=$yesterday_sale_amount;
        
$data['lastweek_sale_amount']=$lastweek_sale_amount;
        
$data['lastmonth_sale_amount']=$lastmonth_sale_amount;
        
$data['thismonth_sale_amount']=$thismonth_sale_amount;
        
$data['orders']=$orders;
        
$data['earnings']=$earnings;
        
$data['products']=$posts;
        
$data['pages']=$pages;
        
$data['storage_used']=(float)str_replace(','''$storage_size);

        
$plan_info=Domain::where('user_id',Auth::id())->first();
        
        
$plan_data=json_decode($plan_info->data);
        
$plan=Auth::user()->user_plan->plan_info->name ?? '';
        
$product_limit=$plan_data->product_limit;
        
$storage=$plan_data->storage;
        
$will_expired=$plan_info->will_expire;

        
$data['plan_name']=$plan;
        
$data['product_limit']=$product_limit;
        
$data['storage']=$storage;
        
        if (
$will_expired == null) {
            
$expire "Expired";
        }
        else{
            
$expire Carbon::parse($will_expired)->format('F d, Y');
        }
        
$data['will_expired']=$expire;
    
        return 
response()->json($data);
    }

    public function 
perfomance($period)
    {
        
$user_id=Auth::id();

        if (
$period != 365) {
            
$earnings=Order::where('user_id',$user_id)->whereDate('created_at''>'Carbon::now()->subDays($period))->where('status','!=','canceled')->orderBy('id''asc')->selectRaw('year(created_at) year, date(created_at) date, sum(total) total')->groupBy('year','date')->get();
        }
        else{
            
$earnings=Order::where('user_id',$user_id)->whereDate('created_at''>'Carbon::now()->subDays($period))->where('status','!=','canceled')->orderBy('id''asc')->selectRaw('year(created_at) year, monthname(created_at) month, sum(total) total')->groupBy('year','month')->get();
        }
       
        
        return 
response()->json($earnings);        
    }


    public function 
google_analytics($days)
    {
        
        if (
file_exists('uploads/'.Auth::id().'/service-account-credentials.json')) {
            
$info=google_analytics_for_user();
            
            
\Config::set('analytics.view_id'$info['view_id']);
            
\Config::set('analytics.service_account_credentials_json'$info['service_account_credentials_json']);

            
$data['TotalVisitorsAndPageViews']=$this->fetchTotalVisitorsAndPageViews($days);
            
$data['MostVisitedPages']=$this->fetchMostVisitedPages($days);
            
$data['Referrers']=$this->fetchTopReferrers($days);
            
$data['fetchUserTypes']=$this->fetchUserTypes($days);
            
$data['TopBrowsers']=$this->fetchTopBrowsers($days);
        }
        else{
            
$data['TotalVisitorsAndPageViews']=[];
            
$data['MostVisitedPages']=[];
            
$data['Referrers']=[];
            
$data['fetchUserTypes']=[];
            
$data['TopBrowsers']=[];
        }
        
        
        return 
response()->json($data);
    }

    public function 
getCountries($period)
    {
        return 
$country \Analytics::performQuery(Period::days($period),'ga:sessions',['dimensions'=>'ga:country','dimension'=>'ga:latitude','dimension'=>'ga:longitude','sort'=>'-ga:sessions']);
        
        
$resultcollect($country['rows'] ?? [])->map(function (array $dateRow) {
            return [
                
'country' =>  $dateRow[0],
                
'sessions' => (int) $dateRow[1],
            ];
        });
        
        return 
$result;
    }

    

    public function 
fetchTotalVisitorsAndPageViews($period)
    {
        
        return 
Analytics::fetchTotalVisitorsAndPageViews(Period::days($period))->map(function($data)
        {
            
$row['date']=$data['date']->format('Y-m-d');
            
$row['visitors']=$data['visitors'];
            
$row['pageViews']=$data['pageViews'];
            return 
$row;
        });
                
    }
    public function 
fetchMostVisitedPages($period)
    {
        return 
\Analytics::fetchMostVisitedPages(Period::days($period));
        
    }

    public function 
fetchTopReferrers($period)
    {
        return 
\Analytics::fetchTopReferrers(Period::days($period));
        
    }

    public function 
fetchUserTypes($period)
    {
        return 
\Analytics::fetchUserTypes(Period::days($period));
        
    }

    public function 
fetchTopBrowsers($period)
    {
        return 
\Analytics::fetchTopBrowsers(Period::days($period));
        
    }

}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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

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