!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/main_file/vendor/mtdowling/jmespath.php/src/   drwxrwxr-x
Free 13.14 GB of 57.97 GB (22.67%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     CompilerRuntime.php (2.56 KB)      -rw-rw-r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace JmesPath;

/**
 * Compiles JMESPath expressions to PHP source code and executes it.
 *
 * JMESPath file names are stored in the cache directory using the following
 * logic to determine the filename:
 *
 * 1. Start with the string "jmespath_"
 * 2. Append the MD5 checksum of the expression.
 * 3. Append ".php"
 */
class CompilerRuntime
{
    private 
$parser;
    private 
$compiler;
    private 
$cacheDir;
    private 
$interpreter;

    
/**
     * @param string|null $dir Directory used to store compiled PHP files.
     * @param Parser|null $parser JMESPath parser to utilize
     * @throws \RuntimeException if the cache directory cannot be created
     */
    
public function __construct($dir nullParser $parser null)
    {
        
$this->parser $parser ?: new Parser();
        
$this->compiler = new TreeCompiler();
        
$dir $dir ?: sys_get_temp_dir();

        if (!
is_dir($dir) && !mkdir($dir0755true)) {
            throw new 
\RuntimeException("Unable to create cache directory: $dir");
        }

        
$this->cacheDir realpath($dir);
        
$this->interpreter = new TreeInterpreter();
    }

    
/**
     * Returns data from the provided input that matches a given JMESPath
     * expression.
     *
     * @param string $expression JMESPath expression to evaluate
     * @param mixed  $data       Data to search. This data should be data that
     *                           is similar to data returned from json_decode
     *                           using associative arrays rather than objects.
     *
     * @return mixed Returns the matching data or null
     * @throws \RuntimeException
     */
    
public function __invoke($expression$data)
    {
        
$functionName 'jmespath_' md5($expression);

        if (!
function_exists($functionName)) {
            
$filename "{$this->cacheDir}/{$functionName}.php";
            if (!
file_exists($filename)) {
                
$this->compile($filename$expression$functionName);
            }
            require 
$filename;
        }

        return 
$functionName($this->interpreter$data);
    }

    private function 
compile($filename$expression$functionName)
    {
        
$code $this->compiler->visit(
            
$this->parser->parse($expression),
            
$functionName,
            
$expression
        
);

        if (!
file_put_contents($filename$code)) {
            throw new 
\RuntimeException(sprintf(
                
'Unable to write the compiled PHP code to: %s (%s)',
                
$filename,
                
var_export(error_get_last(), true)
            ));
        }
    }
}

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