!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/vendor/barryvdh/laravel-debugbar/src/DataCollector/   drwxrwxrwx
Free 13.09 GB of 57.97 GB (22.59%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Barryvdh\Debugbar\DataCollector;

use 
Barryvdh\Debugbar\DataFormatter\SimpleFormatter;
use 
DebugBar\DataCollector\TimeDataCollector;
use 
Illuminate\Contracts\Events\Dispatcher;
use 
Illuminate\Support\Str;
use 
Symfony\Component\VarDumper\Cloner\VarCloner;

class 
EventCollector extends TimeDataCollector
{
    
/** @var Dispatcher */
    
protected $events;

    
/** @var Dispatcher */
    
protected $excludedEvents;

    
/** @var integer */
    
protected $previousTime;

    
/** @var bool */
    
protected $collectValues;

    public function 
__construct($requestStartTime null$collectValues false$excludedEvents = [])
    {
        
parent::__construct($requestStartTime);
        
$this->collectValues $collectValues;
        
$this->excludedEvents $excludedEvents;
        
$this->setDataFormatter(new SimpleFormatter());
    }

    public function 
onWildcardEvent($name null$data = [])
    {
        
$currentTime microtime(true);
        
$eventClass explode(':'$name)[0];

        foreach (
$this->excludedEvents as $excludedEvent) {
            if (
Str::is($excludedEvent$eventClass)) {
                return;
            }
        }

        if (! 
$this->collectValues) {
            
$this->addMeasure($name$currentTime$currentTime, [], null$eventClass);

            return;
        }

        
$params $this->prepareParams($data);

        
// Find all listeners for the current event
        
foreach ($this->events->getListeners($name) as $i => $listener) {
            
// Check if it's an object + method name
            
if (is_array($listener) && count($listener) > && is_object($listener[0])) {
                list(
$class$method) = $listener;

                
// Skip this class itself
                
if ($class instanceof static) {
                    continue;
                }

                
// Format the listener to readable format
                
$listener get_class($class) . '@' $method;

            
// Handle closures
            
} elseif ($listener instanceof \Closure) {
                
$reflector = new \ReflectionFunction($listener);

                
// Skip our own listeners
                
if ($reflector->getNamespaceName() == 'Barryvdh\Debugbar') {
                    continue;
                }

                
// Format the closure to a readable format
                
$filename ltrim(str_replace(base_path(), ''$reflector->getFileName()), '/');
                
$lines $reflector->getStartLine() . '-' $reflector->getEndLine();
                
$listener $reflector->getName() . ' (' $filename ':' $lines ')';
            } else {
                
// Not sure if this is possible, but to prevent edge cases
                
$listener $this->getDataFormatter()->formatVar($listener);
            }

            
$params['listeners.' $i] = $listener;
        }
        
$this->addMeasure($name$currentTime$currentTime$paramsnull$eventClass);
    }

    public function 
subscribe(Dispatcher $events)
    {
        
$this->events $events;
        
$events->listen('*', [$this'onWildcardEvent']);
    }

    protected function 
prepareParams($params)
    {
        
$data = [];
        foreach (
$params as $key => $value) {
            if (
is_object($value) && Str::is('Illuminate\*\Events\*'get_class($value))) {
                
$value =  $this->prepareParams(get_object_vars($value));
            }
            
$data[$key] = htmlentities($this->getDataFormatter()->formatVar($value), ENT_QUOTES'UTF-8'false);
        }

        return 
$data;
    }

    public function 
collect()
    {
        
$data parent::collect();
        
$data['nb_measures'] = $data['count'] = count($data['measures']);

        return 
$data;
    }

    public function 
getName()
    {
        return 
'event';
    }

    public function 
getWidgets()
    {
        return [
          
"events" => [
            
"icon" => "tasks",
            
"widget" => "PhpDebugBar.Widgets.TimelineWidget",
            
"map" => "event",
            
"default" => "{}",
          ],
          
'events:badge' => [
            
'map' => 'event.nb_measures',
            
'default' => 0,
          ],
        ];
    }
}

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