!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)

/var/www/html/laravel-crm/packages/Webkul/Admin/src/Helpers/Reporting/   drwxrwxrwx
Free 13.13 GB of 57.97 GB (22.65%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Webkul\Admin\Helpers\Reporting;

use 
Illuminate\Support\Collection;
use 
Illuminate\Support\Facades\DB;
use 
Webkul\Contact\Repositories\PersonRepository;

class 
Person extends AbstractReporting
{
    
/**
     * Create a helper instance.
     *
     * @return void
     */
    
public function __construct(protected PersonRepository $personRepository)
    {
        
parent::__construct();
    }

    
/**
     * Retrieves total persons and their progress.
     */
    
public function getTotalPersonsProgress(): array
    {
        return [
            
'previous' => $previous $this->getTotalPersons($this->lastStartDate$this->lastEndDate),
            
'current'  => $current $this->getTotalPersons($this->startDate$this->endDate),
            
'progress' => $this->getPercentageChange($previous$current),
        ];
    }

    
/**
     * Retrieves total persons by date
     *
     * @param  \Carbon\Carbon  $startDate
     * @param  \Carbon\Carbon  $endDate
     */
    
public function getTotalPersons($startDate$endDate): int
    
{
        return 
$this->personRepository
            
->resetModel()
            ->
whereBetween('created_at', [$startDate$endDate])
            ->
count();
    }

    
/**
     * Gets top customers by revenue.
     *
     * @param  int  $limit
     */
    
public function getTopCustomersByRevenue($limit null): Collection
    
{
        
$tablePrefix DB::getTablePrefix();

        
$items $this->personRepository
            
->resetModel()
            ->
leftJoin('leads''persons.id''=''leads.person_id')
            ->
select('*''persons.id as id')
            ->
addSelect(DB::raw('SUM('.$tablePrefix.'leads.lead_value) as revenue'))
            ->
whereBetween('leads.closed_at', [$this->startDate$this->endDate])
            ->
having(DB::raw('SUM('.$tablePrefix.'leads.lead_value)'), '>'0)
            ->
groupBy('person_id')
            ->
orderBy('revenue''DESC')
            ->
limit($limit)
            ->
get();

        
$items $items->map(function ($item) {
            return [
                
'id'                => $item->id,
                
'name'              => $item->name,
                
'emails'            => $item->emails,
                
'contact_numbers'   => $item->contact_numbers,
                
'revenue'           => $item->revenue,
                
'formatted_revenue' => core()->formatBasePrice($item->revenue),
            ];
        });

        return 
$items;
    }
}

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