!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/smabpro.picotech.app/public_html/vendor/livewire/livewire/src/   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:     EventBus.php (2.38 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace Livewire;

class 
EventBus
{
    protected 
$listeners = [];
    protected 
$listenersAfter = [];
    protected 
$listenersBefore = [];

    function 
boot()
    {
        
app()->singleton($this::class);
    }

    function 
on($name$callback) {
        if (! isset(
$this->listeners[$name])) $this->listeners[$name] = [];

        
$this->listeners[$name][] = $callback;

        return fn() => 
$this->off($name$callback);
    }

    function 
before($name$callback) {
        if (! isset(
$this->listenersBefore[$name])) $this->listenersBefore[$name] = [];

        
$this->listenersBefore[$name][] = $callback;

        return fn() => 
$this->off($name$callback);
    }

    function 
after($name$callback) {
        if (! isset(
$this->listenersAfter[$name])) $this->listenersAfter[$name] = [];

        
$this->listenersAfter[$name][] = $callback;

        return fn() => 
$this->off($name$callback);
    }

    function 
off($name$callback) {
        
$index array_search($callback$this->listeners[$name] ?? []);
        
$indexAfter array_search($callback$this->listenersAfter[$name] ?? []);
        
$indexBefore array_search($callback$this->listenersBefore[$name] ?? []);

        if (
$index !== false) unset($this->listeners[$name][$index]);
        elseif (
$indexAfter !== false) unset($this->listenersAfter[$name][$indexAfter]);
        elseif (
$indexBefore !== false) unset($this->listenersBefore[$name][$indexBefore]);
    }

    function 
trigger($name, ...$params) {
        
$middlewares = [];

        
$listeners array_merge(
            (
$this->listenersBefore[$name] ?? []),
            (
$this->listeners[$name] ?? []),
            (
$this->listenersAfter[$name] ?? []),
        );

        foreach (
$listeners as $callback) {
            
$result $callback(...$params);

            if (
$result) {
                
$middlewares[] = $result;
            }
        }

        return function (&
$forward null, ...$extras) use ($middlewares) {
            foreach (
$middlewares as $finisher) {
                if (
$finisher === null) continue;

                
$finisher is_array($finisher) ? last($finisher) : $finisher;

                
$result $finisher($forward, ...$extras);

                
// Only overwrite previous "forward" if something is returned from the callback.
                
$forward $result ?? $forward;
            }

            return 
$forward;
        };
    }
}

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