!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/psy/psysh/src/Command/ListCommand/   drwxr-xr-x
Free 28.55 GB of 117.98 GB (24.2%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

/*
 * This file is part of Psy Shell.
 *
 * (c) 2012-2023 Justin Hileman
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Psy\Command\ListCommand;

use 
Psy\Reflection\ReflectionNamespace;
use 
Symfony\Component\Console\Input\InputInterface;

/**
 * Constant Enumerator class.
 */
class ConstantEnumerator extends Enumerator
{
    
// Because `Json` is ugly.
    
private static $categoryLabels = [
        
'libxml'   => 'libxml',
        
'openssl'  => 'OpenSSL',
        
'pcre'     => 'PCRE',
        
'sqlite3'  => 'SQLite3',
        
'curl'     => 'cURL',
        
'dom'      => 'DOM',
        
'ftp'      => 'FTP',
        
'gd'       => 'GD',
        
'gmp'      => 'GMP',
        
'iconv'    => 'iconv',
        
'json'     => 'JSON',
        
'ldap'     => 'LDAP',
        
'mbstring' => 'mbstring',
        
'odbc'     => 'ODBC',
        
'pcntl'    => 'PCNTL',
        
'pgsql'    => 'pgsql',
        
'posix'    => 'POSIX',
        
'mysqli'   => 'mysqli',
        
'soap'     => 'SOAP',
        
'exif'     => 'EXIF',
        
'sysvmsg'  => 'sysvmsg',
        
'xml'      => 'XML',
        
'xsl'      => 'XSL',
    ];

    
/**
     * {@inheritdoc}
     */
    
protected function listItems(InputInterface $input\Reflector $reflector null$target null): array
    {
        
// if we have a reflector, ensure that it's a namespace reflector
        
if (($target !== null || $reflector !== null) && !$reflector instanceof ReflectionNamespace) {
            return [];
        }

        
// only list constants if we are specifically asked
        
if (!$input->getOption('constants')) {
            return [];
        }

        
$user $input->getOption('user');
        
$internal $input->getOption('internal');
        
$category $input->getOption('category');

        if (
$category) {
            
$category \strtolower($category);

            if (
$category === 'internal') {
                
$internal true;
                
$category null;
            } elseif (
$category === 'user') {
                
$user true;
                
$category null;
            }
        }

        
$ret = [];

        if (
$user) {
            
$ret['User Constants'] = $this->getConstants('user');
        }

        if (
$internal) {
            
$ret['Internal Constants'] = $this->getConstants('internal');
        }

        if (
$category) {
            
$caseCategory \array_key_exists($categoryself::$categoryLabels) ? self::$categoryLabels[$category] : \ucfirst($category);
            
$label $caseCategory.' Constants';
            
$ret[$label] = $this->getConstants($category);
        }

        if (!
$user && !$internal && !$category) {
            
$ret['Constants'] = $this->getConstants();
        }

        if (
$reflector !== null) {
            
$prefix \strtolower($reflector->getName()).'\\';

            foreach (
$ret as $key => $names) {
                foreach (
\array_keys($names) as $name) {
                    if (
\strpos(\strtolower($name), $prefix) !== 0) {
                        unset(
$ret[$key][$name]);
                    }
                }
            }
        }

        return 
\array_map([$this'prepareConstants'], \array_filter($ret));
    }

    
/**
     * Get defined constants.
     *
     * Optionally restrict constants to a given category, e.g. "date". If the
     * category is "internal", include all non-user-defined constants.
     *
     * @param string $category
     *
     * @return array
     */
    
protected function getConstants(string $category null): array
    {
        if (!
$category) {
            return 
\get_defined_constants();
        }

        
$consts \get_defined_constants(true);

        if (
$category === 'internal') {
            unset(
$consts['user']);

            return 
\array_merge(...\array_values($consts));
        }

        foreach (
$consts as $key => $value) {
            if (
\strtolower($key) === $category) {
                return 
$value;
            }
        }

        return [];
    }

    
/**
     * Prepare formatted constant array.
     *
     * @param array $constants
     *
     * @return array
     */
    
protected function prepareConstants(array $constants): array
    {
        
// My kingdom for a generator.
        
$ret = [];

        
$names \array_keys($constants);
        
\natcasesort($names);

        foreach (
$names as $name) {
            if (
$this->showItem($name)) {
                
$ret[$name] = [
                    
'name'  => $name,
                    
'style' => self::IS_CONSTANT,
                    
'value' => $this->presentRef($constants[$name]),
                ];
            }
        }

        return 
$ret;
    }
}

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