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


Viewing file:     ExcludeList.php (5.64 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php declare(strict_types=1);
/*
 * This file is part of PHPUnit.
 *
 * (c) Sebastian Bergmann <sebastian@phpunit.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace PHPUnit\Util;

use const 
DIRECTORY_SEPARATOR;
use function 
class_exists;
use function 
defined;
use function 
dirname;
use function 
is_dir;
use function 
realpath;
use function 
sprintf;
use function 
strpos;
use function 
sys_get_temp_dir;
use 
Composer\Autoload\ClassLoader;
use 
DeepCopy\DeepCopy;
use 
Doctrine\Instantiator\Instantiator;
use 
PharIo\Manifest\Manifest;
use 
PharIo\Version\Version as PharIoVersion;
use 
PhpParser\Parser;
use 
PHPUnit\Framework\TestCase;
use 
ReflectionClass;
use 
SebastianBergmann\CliParser\Parser as CliParser;
use 
SebastianBergmann\CodeCoverage\CodeCoverage;
use 
SebastianBergmann\CodeUnit\CodeUnit;
use 
SebastianBergmann\CodeUnitReverseLookup\Wizard;
use 
SebastianBergmann\Comparator\Comparator;
use 
SebastianBergmann\Complexity\Calculator;
use 
SebastianBergmann\Diff\Diff;
use 
SebastianBergmann\Environment\Runtime;
use 
SebastianBergmann\Exporter\Exporter;
use 
SebastianBergmann\FileIterator\Facade as FileIteratorFacade;
use 
SebastianBergmann\GlobalState\Snapshot;
use 
SebastianBergmann\Invoker\Invoker;
use 
SebastianBergmann\LinesOfCode\Counter;
use 
SebastianBergmann\ObjectEnumerator\Enumerator;
use 
SebastianBergmann\RecursionContext\Context;
use 
SebastianBergmann\ResourceOperations\ResourceOperations;
use 
SebastianBergmann\Template\Template;
use 
SebastianBergmann\Timer\Timer;
use 
SebastianBergmann\Type\TypeName;
use 
SebastianBergmann\Version;
use 
TheSeer\Tokenizer\Tokenizer;

/**
 * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
 */
final class ExcludeList
{
    
/**
     * @var array<string,int>
     */
    
private const EXCLUDED_CLASS_NAMES = [
        
// composer
        
ClassLoader::class => 1,

        
// doctrine/instantiator
        
Instantiator::class => 1,

        
// myclabs/deepcopy
        
DeepCopy::class => 1,

        
// nikic/php-parser
        
Parser::class => 1,

        
// phar-io/manifest
        
Manifest::class => 1,

        
// phar-io/version
        
PharIoVersion::class => 1,

        
// phpdocumentor/type-resolver
        
Type::class => 1,

        
// phpunit/phpunit
        
TestCase::class => 2,

        
// phpunit/php-code-coverage
        
CodeCoverage::class => 1,

        
// phpunit/php-file-iterator
        
FileIteratorFacade::class => 1,

        
// phpunit/php-invoker
        
Invoker::class => 1,

        
// phpunit/php-text-template
        
Template::class => 1,

        
// phpunit/php-timer
        
Timer::class => 1,

        
// sebastian/cli-parser
        
CliParser::class => 1,

        
// sebastian/code-unit
        
CodeUnit::class => 1,

        
// sebastian/code-unit-reverse-lookup
        
Wizard::class => 1,

        
// sebastian/comparator
        
Comparator::class => 1,

        
// sebastian/complexity
        
Calculator::class => 1,

        
// sebastian/diff
        
Diff::class => 1,

        
// sebastian/environment
        
Runtime::class => 1,

        
// sebastian/exporter
        
Exporter::class => 1,

        
// sebastian/global-state
        
Snapshot::class => 1,

        
// sebastian/lines-of-code
        
Counter::class => 1,

        
// sebastian/object-enumerator
        
Enumerator::class => 1,

        
// sebastian/recursion-context
        
Context::class => 1,

        
// sebastian/resource-operations
        
ResourceOperations::class => 1,

        
// sebastian/type
        
TypeName::class => 1,

        
// sebastian/version
        
Version::class => 1,

        
// theseer/tokenizer
        
Tokenizer::class => 1,
    ];

    
/**
     * @var string[]
     */
    
private static $directories = [];

    
/**
     * @var bool
     */
    
private static $initialized false;

    public static function 
addDirectory(string $directory): void
    
{
        if (!
is_dir($directory)) {
            throw new 
Exception(
                
sprintf(
                    
'"%s" is not a directory',
                    
$directory,
                ),
            );
        }

        
self::$directories[] = realpath($directory);
    }

    
/**
     * @throws Exception
     *
     * @return string[]
     */
    
public function getExcludedDirectories(): array
    {
        
$this->initialize();

        return 
self::$directories;
    }

    
/**
     * @throws Exception
     */
    
public function isExcluded(string $file): bool
    
{
        if (
defined('PHPUNIT_TESTSUITE')) {
            return 
false;
        }

        
$this->initialize();

        foreach (
self::$directories as $directory) {
            if (
strpos($file$directory) === 0) {
                return 
true;
            }
        }

        return 
false;
    }

    
/**
     * @throws Exception
     */
    
private function initialize(): void
    
{
        if (
self::$initialized) {
            return;
        }

        foreach (
self::EXCLUDED_CLASS_NAMES as $className => $parent) {
            if (!
class_exists($className)) {
                continue;
            }

            
$directory = (new ReflectionClass($className))->getFileName();

            for (
$i 0$i $parent$i++) {
                
$directory dirname($directory);
            }

            
self::$directories[] = $directory;
        }

        
// Hide process isolation workaround on Windows.
        
if (DIRECTORY_SEPARATOR === '\\') {
            
// tempnam() prefix is limited to first 3 chars.
            // @see https://php.net/manual/en/function.tempnam.php
            
self::$directories[] = sys_get_temp_dir() . '\\PHP';
        }

        
self::$initialized true;
    }
}

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