!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/laravel-crm/vendor/phpunit/phpunit/src/Event/Dispatcher/   drwxrwxrwx
Free 13.15 GB of 57.97 GB (22.68%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     DirectDispatcher.php (3.64 KB)      -rw-rw-rw-
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\Event;

use const 
PHP_EOL;
use function 
array_key_exists;
use function 
dirname;
use function 
sprintf;
use function 
str_starts_with;
use 
Throwable;

/**
 * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
 *
 * @internal This class is not covered by the backward compatibility promise for PHPUnit
 */
final class DirectDispatcher implements SubscribableDispatcher
{
    private 
readonly TypeMap $typeMap;

    
/**
     * @psalm-var array<class-string, list<Subscriber>>
     */
    
private array $subscribers = [];

    
/**
     * @psalm-var list<Tracer\Tracer>
     */
    
private array $tracers = [];

    public function 
__construct(TypeMap $map)
    {
        
$this->typeMap $map;
    }

    public function 
registerTracer(Tracer\Tracer $tracer): void
    
{
        
$this->tracers[] = $tracer;
    }

    
/**
     * @throws MapError
     * @throws UnknownSubscriberTypeException
     */
    
public function registerSubscriber(Subscriber $subscriber): void
    
{
        if (!
$this->typeMap->isKnownSubscriberType($subscriber)) {
            throw new 
UnknownSubscriberTypeException(
                
sprintf(
                    
'Subscriber "%s" does not implement any known interface - did you forget to register it?',
                    
$subscriber::class,
                ),
            );
        }

        
$eventClassName $this->typeMap->map($subscriber);

        if (!
array_key_exists($eventClassName$this->subscribers)) {
            
$this->subscribers[$eventClassName] = [];
        }

        
$this->subscribers[$eventClassName][] = $subscriber;
    }

    
/**
     * @throws Throwable
     * @throws UnknownEventTypeException
     */
    
public function dispatch(Event $event): void
    
{
        
$eventClassName $event::class;

        if (!
$this->typeMap->isKnownEventType($event)) {
            throw new 
UnknownEventTypeException(
                
sprintf(
                    
'Unknown event type "%s"',
                    
$eventClassName,
                ),
            );
        }

        foreach (
$this->tracers as $tracer) {
            try {
                
$tracer->trace($event);
                
// @codeCoverageIgnoreStart
            
} catch (Throwable $t) {
                
$this->handleThrowable($t);
            }
            
// @codeCoverageIgnoreEnd
        
}

        if (!
array_key_exists($eventClassName$this->subscribers)) {
            return;
        }

        foreach (
$this->subscribers[$eventClassName] as $subscriber) {
            try {
                
$subscriber->notify($event);
            } catch (
Throwable $t) {
                
$this->handleThrowable($t);
            }
        }
    }

    
/**
     * @throws Throwable
     */
    
public function handleThrowable(Throwable $t): void
    
{
        if (
$this->isThrowableFromThirdPartySubscriber($t)) {
            
Facade::emitter()->testRunnerTriggeredWarning(
                
sprintf(
                    
'Exception in third-party event subscriber: %s%s%s',
                    
$t->getMessage(),
                    
PHP_EOL,
                    
$t->getTraceAsString(),
                ),
            );

            return;
        }

        
// @codeCoverageIgnoreStart
        
throw $t;
        
// @codeCoverageIgnoreEnd
    
}

    private function 
isThrowableFromThirdPartySubscriber(Throwable $t): bool
    
{
        return !
str_starts_with($t->getFile(), dirname(__DIR__2));
    }
}

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