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

/usr/share/php/PhpMyAdmin/SqlParser/Utils/   drwxr-xr-x
Free 13.25 GB of 57.97 GB (22.86%)
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.59 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/**
 * Routine utilities.
 */

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;

/**
 * Routine utilities.
 *
 * @category   Routines
 *
 * @license    https://www.gnu.org/licenses/gpl-2.0.txt GPL-2.0+
 */
class Routine
{
    
/**
     * Parses a parameter of a routine.
     *
     * @param string $param parameter's definition
     *
     * @return array
     */
    
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 array(
                
'',
                
'',
                
'',
                
'',
                
''
            
);
        }

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

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

    
/**
     * Parses a parameter of a routine.
     *
     * @param string $param parameter's definition
     *
     * @return array
     */
    
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 array(
                
'',
                
'',
                
'',
                
'',
                
''
            
);
        }

        
$param $param[0];

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

        return array(
            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
     */
    
public static function getParameters($statement)
    {
        
$retval = array(
            
'num' => 0,
            
'dir' => array(),
            
'name' => array(),
            
'type' => array(),
            
'length' => array(),
            
'length_arr' => array(),
            
'opts' => array()
        );

        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] = array();
                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 ::
 
[ 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.033 ]--