!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/notification/vendor/nikic/fast-route/src/RouteParser/   drwxr-xr-x
Free 13.18 GB of 57.97 GB (22.74%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace FastRoute\RouteParser;

use 
FastRoute\BadRouteException;
use 
FastRoute\RouteParser;

/**
 * Parses route strings of the following form:
 *
 * "/user/{name}[/{id:[0-9]+}]"
 */
class Std implements RouteParser
{
    const 
VARIABLE_REGEX = <<<'REGEX'
\{
    \s* ([a-zA-Z_][a-zA-Z0-9_-]*) \s*
    (?:
        : \s* ([^{}]*(?:\{(?-1)\}[^{}]*)*)
    )?
\}
REGEX;
    const 
DEFAULT_DISPATCH_REGEX '[^/]+';

    public function 
parse($route)
    {
        
$routeWithoutClosingOptionals rtrim($route']');
        
$numOptionals strlen($route) - strlen($routeWithoutClosingOptionals);

        
// Split on [ while skipping placeholders
        
$segments preg_split('~' self::VARIABLE_REGEX '(*SKIP)(*F) | \[~x'$routeWithoutClosingOptionals);
        if (
$numOptionals !== count($segments) - 1) {
            
// If there are any ] in the middle of the route, throw a more specific error message
            
if (preg_match('~' self::VARIABLE_REGEX '(*SKIP)(*F) | \]~x'$routeWithoutClosingOptionals)) {
                throw new 
BadRouteException('Optional segments can only occur at the end of a route');
            }
            throw new 
BadRouteException("Number of opening '[' and closing ']' does not match");
        }

        
$currentRoute '';
        
$routeDatas = [];
        foreach (
$segments as $n => $segment) {
            if (
$segment === '' && $n !== 0) {
                throw new 
BadRouteException('Empty optional part');
            }

            
$currentRoute .= $segment;
            
$routeDatas[] = $this->parsePlaceholders($currentRoute);
        }
        return 
$routeDatas;
    }

    
/**
     * Parses a route string that does not contain optional segments.
     *
     * @param string
     * @return mixed[]
     */
    
private function parsePlaceholders($route)
    {
        if (!
preg_match_all(
            
'~' self::VARIABLE_REGEX '~x'$route$matches,
            
PREG_OFFSET_CAPTURE PREG_SET_ORDER
        
)) {
            return [
$route];
        }

        
$offset 0;
        
$routeData = [];
        foreach (
$matches as $set) {
            if (
$set[0][1] > $offset) {
                
$routeData[] = substr($route$offset$set[0][1] - $offset);
            }
            
$routeData[] = [
                
$set[1][0],
                isset(
$set[2]) ? trim($set[2][0]) : self::DEFAULT_DISPATCH_REGEX
            
];
            
$offset $set[0][1] + strlen($set[0][0]);
        }

        if (
$offset !== strlen($route)) {
            
$routeData[] = substr($route$offset);
        }

        return 
$routeData;
    }
}

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