!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.07 GB of 57.97 GB (22.56%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Barryvdh\Debugbar\DataCollector;

use 
DebugBar\DataCollector\TimeDataCollector;
use 
DebugBar\DataFormatter\HasDataFormatter;
use 
Illuminate\Cache\Events\{
    
CacheFlushed,
    
CacheFlushFailed,
    
CacheFlushing,
    
CacheHit,
    
CacheMissed,
    
ForgettingKey,
    
KeyForgetFailed,
    
KeyForgotten,
    
KeyWriteFailed,
    
KeyWritten,
    
RetrievingKey,
    
WritingKey,
};
use 
Illuminate\Events\Dispatcher;

class 
CacheCollector extends TimeDataCollector
{
    use 
HasDataFormatter;

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

    
/** @var array */
    
protected $eventStarts = [];

    
/** @var array */
    
protected $classMap = [
        
CacheHit::class => ['hit'RetrievingKey::class],
        
CacheMissed::class => ['missed'RetrievingKey::class],
        
CacheFlushed::class => ['flushed'CacheFlushing::class],
        
CacheFlushFailed::class => ['flush_failed'CacheFlushing::class],
        
KeyWritten::class => ['written'WritingKey::class],
        
KeyWriteFailed::class => ['write_failed'WritingKey::class],
        
KeyForgotten::class => ['forgotten'ForgettingKey::class],
        
KeyForgetFailed::class => ['forget_failed'ForgettingKey::class],
    ];

    public function 
__construct($requestStartTime$collectValues)
    {
        
parent::__construct($requestStartTime);

        
$this->collectValues $collectValues;
    }

    public function 
onCacheEvent($event)
    {
        
$class get_class($event);
        
$params get_object_vars($event);
        
$label $this->classMap[$class][0];

        if (isset(
$params['value'])) {
            if (
$this->collectValues) {
                if (
$this->isHtmlVarDumperUsed()) {
                    
$params['value'] = $this->getVarDumper()->renderVar($params['value']);
                } else {
                    
$params['value'] = htmlspecialchars($this->getDataFormatter()->formatVar($params['value']));
                }
            } else {
                unset(
$params['value']);
            }
        }

        if (!empty(
$params['key'] ?? null) && in_array($label, ['hit''written'])) {
            
$params['delete'] = route('debugbar.cache.delete', [
                
'key' => urlencode($params['key']),
                
'tags' => !empty($params['tags']) ? json_encode($params['tags']) : '',
            ]);
        }

        
$time microtime(true);
        
$startHashKey $this->getEventHash($this->classMap[$class][1] ?? ''$params);
        
$startTime $this->eventStarts[$startHashKey] ?? $time;
        
$this->addMeasure($label "\t" . ($params['key'] ?? ''), $startTime$time$params);
    }

    public function 
onStartCacheEvent($event)
    {
        
$startHashKey $this->getEventHash(get_class($event), get_object_vars($event));
        
$this->eventStarts[$startHashKey] = microtime(true);
    }

    private function 
getEventHash(string $class, array $params): string
    
{
        unset(
$params['value']);

        return 
$class ':' substr(hash('sha256'json_encode($params)), 012);
    }

    public function 
subscribe(Dispatcher $dispatcher)
    {
        foreach (
array_keys($this->classMap) as $eventClass) {
            
$dispatcher->listen($eventClass, [$this'onCacheEvent']);
        }

        
$startEvents array_unique(array_filter(array_map(
            fn (
$values) => $values[1] ?? null,
            
array_values($this->classMap)
        )));

        foreach (
$startEvents as $eventClass) {
            
$dispatcher->listen($eventClass, [$this'onStartCacheEvent']);
        }
    }

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

        return 
$data;
    }

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

    public function 
getWidgets()
    {
        return [
          
'cache' => [
            
'icon' => 'clipboard',
            
'widget' => 'PhpDebugBar.Widgets.LaravelCacheWidget',
            
'map' => 'cache',
            
'default' => '{}',
          ],
          
'cache:badge' => [
            
'map' => 'cache.nb_measures',
            
'default' => 'null',
          ],
        ];
    }
}

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