!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/laravel/lumen-framework/src/Routing/   drwxr-xr-x
Free 13.21 GB of 57.97 GB (22.8%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Laravel\Lumen\Routing;

use 
Illuminate\Support\Arr;

class 
Router
{
    
/**
     * The application instance.
     *
     * @var \Laravel\Lumen\Application
     */
    
public $app;

    
/**
     * The route group attribute stack.
     *
     * @var array
     */
    
protected $groupStack = [];

    
/**
     * All of the routes waiting to be registered.
     *
     * @var array
     */
    
protected $routes = [];

    
/**
     * All of the named routes and URI pairs.
     *
     * @var array
     */
    
public $namedRoutes = [];

    
/**
     * Router constructor.
     *
     * @param  \Laravel\Lumen\Application  $app
     */
    
public function __construct($app)
    {
        
$this->app $app;
    }

    
/**
     * Register a set of routes with a set of shared attributes.
     *
     * @param  array  $attributes
     * @param  \Closure  $callback
     * @return void
     */
    
public function group(array $attributes\Closure $callback)
    {
        if (isset(
$attributes['middleware']) && is_string($attributes['middleware'])) {
            
$attributes['middleware'] = explode('|'$attributes['middleware']);
        }

        
$this->updateGroupStack($attributes);

        
$callback($this);

        
array_pop($this->groupStack);
    }

    
/**
     * Update the group stack with the given attributes.
     *
     * @param  array  $attributes
     * @return void
     */
    
protected function updateGroupStack(array $attributes)
    {
        if (! empty(
$this->groupStack)) {
            
$attributes $this->mergeWithLastGroup($attributes);
        }

        
$this->groupStack[] = $attributes;
    }

    
/**
     * Merge the given group attributes.
     *
     * @param  array  $new
     * @param  array  $old
     * @return array
     */
    
public function mergeGroup($new$old)
    {
        
$new['namespace'] = static::formatUsesPrefix($new$old);

        
$new['prefix'] = static::formatGroupPrefix($new$old);

        if (isset(
$new['domain'])) {
            unset(
$old['domain']);
        }

        if (isset(
$old['as'])) {
            
$new['as'] = $old['as'].(isset($new['as']) ? '.'.$new['as'] : '');
        }

        if (isset(
$old['suffix']) && ! isset($new['suffix'])) {
            
$new['suffix'] = $old['suffix'];
        }

        return 
array_merge_recursive(Arr::except($old, ['namespace''prefix''as''suffix']), $new);
    }

    
/**
     * Merge the given group attributes with the last added group.
     *
     * @param  array  $new
     * @return array
     */
    
protected function mergeWithLastGroup($new)
    {
        return 
$this->mergeGroup($newend($this->groupStack));
    }

    
/**
     * Format the uses prefix for the new group attributes.
     *
     * @param  array  $new
     * @param  array  $old
     * @return string|null
     */
    
protected static function formatUsesPrefix($new$old)
    {
        if (isset(
$new['namespace'])) {
            return isset(
$old['namespace']) && strpos($new['namespace'], '\\') !== 0
                
trim($old['namespace'], '\\').'\\'.trim($new['namespace'], '\\')
                : 
trim($new['namespace'], '\\');
        }

        return 
$old['namespace'] ?? null;
    }

    
/**
     * Format the prefix for the new group attributes.
     *
     * @param  array  $new
     * @param  array  $old
     * @return string|null
     */
    
protected static function formatGroupPrefix($new$old)
    {
        
$oldPrefix $old['prefix'] ?? null;

        if (isset(
$new['prefix'])) {
            return 
trim($oldPrefix ?? '''/').'/'.trim($new['prefix'], '/');
        }

        return 
$oldPrefix;
    }

    
/**
     * Add a route to the collection.
     *
     * @param  array|string  $method
     * @param  string  $uri
     * @param  mixed  $action
     * @return void
     */
    
public function addRoute($method$uri$action)
    {
        
$action $this->parseAction($action);

        
$attributes null;

        if (
$this->hasGroupStack()) {
            
$attributes $this->mergeWithLastGroup([]);
        }

        if (isset(
$attributes) && is_array($attributes)) {
            if (isset(
$attributes['prefix'])) {
                
$uri trim($attributes['prefix'], '/').'/'.trim($uri'/');
            }

            if (isset(
$attributes['suffix'])) {
                
$uri trim($uri'/').rtrim($attributes['suffix'], '/');
            }

            
$action $this->mergeGroupAttributes($action$attributes);
        }

        
$uri '/'.trim($uri'/');

        if (isset(
$action['as'])) {
            
$this->namedRoutes[$action['as']] = $uri;
        }

        if (
is_array($method)) {
            foreach (
$method as $verb) {
                
$this->routes[$verb.$uri] = ['method' => $verb'uri' => $uri'action' => $action];
            }
        } else {
            
$this->routes[$method.$uri] = ['method' => $method'uri' => $uri'action' => $action];
        }
    }

    
/**
     * Parse the action into an array format.
     *
     * @param  mixed  $action
     * @return array
     */
    
protected function parseAction($action)
    {
        if (
is_string($action)) {
            return [
'uses' => $action];
        } elseif (! 
is_array($action)) {
            return [
$action];
        }

        if (isset(
$action['middleware']) && is_string($action['middleware'])) {
            
$action['middleware'] = explode('|'$action['middleware']);
        }

        return 
$action;
    }

    
/**
     * Determine if the router currently has a group stack.
     *
     * @return bool
     */
    
public function hasGroupStack()
    {
        return ! empty(
$this->groupStack);
    }

    
/**
     * Merge the group attributes into the action.
     *
     * @param  array  $action
     * @param  array  $attributes
     * @return array
     */
    
protected function mergeGroupAttributes(array $action, array $attributes)
    {
        
$namespace $attributes['namespace'] ?? null;
        
$middleware $attributes['middleware'] ?? null;
        
$as $attributes['as'] ?? null;

        return 
$this->mergeNamespaceGroup(
            
$this->mergeMiddlewareGroup(
                
$this->mergeAsGroup($action$as),
                
$middleware),
            
$namespace
        
);
    }

    
/**
     * Merge the namespace group into the action.
     *
     * @param  array  $action
     * @param  string  $namespace
     * @return array
     */
    
protected function mergeNamespaceGroup(array $action$namespace null)
    {
        if (isset(
$namespace$action['uses'])) {
            
$action['uses'] = $this->prependGroupNamespace($action['uses'], $namespace);
        }

        return 
$action;
    }

    
/**
     * Prepend the namespace onto the use clause.
     *
     * @param  string  $class
     * @param  string  $namespace
     * @return string
     */
    
protected function prependGroupNamespace($class$namespace null)
    {
        return 
$namespace !== null && strpos($class'\\') !== 0
            
$namespace.'\\'.$class $class;
    }

    
/**
     * Merge the middleware group into the action.
     *
     * @param  array  $action
     * @param  array  $middleware
     * @return array
     */
    
protected function mergeMiddlewareGroup(array $action$middleware null)
    {
        if (isset(
$middleware)) {
            if (isset(
$action['middleware'])) {
                
$action['middleware'] = array_merge($middleware$action['middleware']);
            } else {
                
$action['middleware'] = $middleware;
            }
        }

        return 
$action;
    }

    
/**
     * Merge the as group into the action.
     *
     * @param  array  $action
     * @param  string  $as
     * @return array
     */
    
protected function mergeAsGroup(array $action$as null)
    {
        if (isset(
$as) && ! empty($as)) {
            if (isset(
$action['as'])) {
                
$action['as'] = $as.'.'.$action['as'];
            } else {
                
$action['as'] = $as;
            }
        }

        return 
$action;
    }

    
/**
     * Register a route with the application.
     *
     * @param  string  $uri
     * @param  mixed  $action
     * @return $this
     */
    
public function head($uri$action)
    {
        
$this->addRoute('HEAD'$uri$action);

        return 
$this;
    }

    
/**
     * Register a route with the application.
     *
     * @param  string  $uri
     * @param  mixed  $action
     * @return $this
     */
    
public function get($uri$action)
    {
        
$this->addRoute('GET'$uri$action);

        return 
$this;
    }

    
/**
     * Register a route with the application.
     *
     * @param  string  $uri
     * @param  mixed  $action
     * @return $this
     */
    
public function post($uri$action)
    {
        
$this->addRoute('POST'$uri$action);

        return 
$this;
    }

    
/**
     * Register a route with the application.
     *
     * @param  string  $uri
     * @param  mixed  $action
     * @return $this
     */
    
public function put($uri$action)
    {
        
$this->addRoute('PUT'$uri$action);

        return 
$this;
    }

    
/**
     * Register a route with the application.
     *
     * @param  string  $uri
     * @param  mixed  $action
     * @return $this
     */
    
public function patch($uri$action)
    {
        
$this->addRoute('PATCH'$uri$action);

        return 
$this;
    }

    
/**
     * Register a route with the application.
     *
     * @param  string  $uri
     * @param  mixed  $action
     * @return $this
     */
    
public function delete($uri$action)
    {
        
$this->addRoute('DELETE'$uri$action);

        return 
$this;
    }

    
/**
     * Register a route with the application.
     *
     * @param  string  $uri
     * @param  mixed  $action
     * @return $this
     */
    
public function options($uri$action)
    {
        
$this->addRoute('OPTIONS'$uri$action);

        return 
$this;
    }

    
/**
     * Get the raw routes for the application.
     *
     * @return array
     */
    
public function getRoutes()
    {
        return 
$this->routes;
    }
}

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