!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/classify.picotech.app/public_html/vendor/php-flasher/flasher-laravel/   drwxr-xr-x
Free 29.17 GB of 117.98 GB (24.73%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

/*
 * This file is part of the PHPFlasher package.
 * (c) Younes KHOUBZA <younes.khoubza@gmail.com>
 */

namespace Flasher\Laravel;

use 
Flasher\Laravel\Container\LaravelContainer;
use 
Flasher\Laravel\Middleware\FlasherMiddleware;
use 
Flasher\Laravel\Middleware\HttpKernelFlasherMiddleware;
use 
Flasher\Laravel\Middleware\HttpKernelSessionMiddleware;
use 
Flasher\Laravel\Middleware\SessionMiddleware;
use 
Flasher\Laravel\Storage\SessionBag;
use 
Flasher\Laravel\Support\Laravel;
use 
Flasher\Laravel\Support\ServiceProvider;
use 
Flasher\Laravel\Template\BladeTemplateEngine;
use 
Flasher\Laravel\Translation\Translator;
use 
Flasher\Prime\Config\Config;
use 
Flasher\Prime\Config\ConfigInterface;
use 
Flasher\Prime\Container\FlasherContainer;
use 
Flasher\Prime\EventDispatcher\EventDispatcher;
use 
Flasher\Prime\EventDispatcher\EventListener\PresetListener;
use 
Flasher\Prime\EventDispatcher\EventListener\TranslationListener;
use 
Flasher\Prime\Flasher;
use 
Flasher\Prime\FlasherInterface;
use 
Flasher\Prime\Http\RequestExtension;
use 
Flasher\Prime\Http\ResponseExtension;
use 
Flasher\Prime\Notification\Envelope;
use 
Flasher\Prime\Plugin\FlasherPlugin;
use 
Flasher\Prime\Response\Resource\ResourceManager;
use 
Flasher\Prime\Response\ResponseManager;
use 
Flasher\Prime\Storage\StorageBag;
use 
Flasher\Prime\Storage\StorageManager;
use 
Illuminate\Contracts\Config\Repository;
use 
Illuminate\Foundation\Application;
use 
Illuminate\Foundation\Http\Kernel;
use 
Illuminate\Routing\Router;
use 
Illuminate\Support\Facades\Blade;
use 
Livewire\Component;
use 
Livewire\LivewireManager;
use 
Livewire\Mechanisms\HandleComponents\ComponentContext;
use 
Livewire\Response;

/**
 * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
 */
final class FlasherServiceProvider extends ServiceProvider
{
    
/**
     * {@inheritdoc}
     */
    
public function afterBoot()
    {
        
FlasherContainer::init(new LaravelContainer());

        
$this->registerCommands();
        
$this->registerBladeDirective();
        
$this->registerBladeComponent();
        
$this->registerLivewire();
        
$this->registerTranslations();
        
$this->registerMiddlewares();
    }

    
/**
     * @{@inheritdoc}
     */
    
public function createPlugin()
    {
        return new 
FlasherPlugin();
    }

    
/**
     * {@inheritdoc}
     */
    
protected function afterRegister()
    {
        
$this->registerConfig();
        
$this->registerFlasher();
        
$this->registerResourceManager();
        
$this->registerResponseManager();
        
$this->registerStorageManager();
        
$this->registerEventDispatcher();
    }

    
/**
     * @return void
     */
    
private function registerCommands()
    {
        if (!
in_array(\PHP_SAPI, array('cli''phpdbg'))) {
            return;
        }

        
$this->commands(array(
            
'Flasher\Laravel\Command\InstallCommand'// flasher:install
        
));
    }

    
/**
     * @return void
     */
    
private function registerConfig()
    {
        
$this->app->singleton('flasher.config', function (Application $app) {
            
/** @var Repository $config */
            
$config $app->make('config');

            return new 
Config($config->get('flasher', array())); // @phpstan-ignore-line
        
});
    }

    
/**
     * @return void
     */
    
private function registerFlasher()
    {
        
$this->app->singleton('flasher', function (Application $app) {
            
$config $app->make('flasher.config');
            
$responseManager $app->make('flasher.response_manager');
            
$storageManager $app->make('flasher.storage_manager');

            return new 
Flasher($config->get('default'), $responseManager$storageManager); // @phpstan-ignore-line
        
});
        
$this->app->alias('flasher''Flasher\Prime\Flasher');
        
$this->app->bind('Flasher\Prime\FlasherInterface''flasher');
    }

    
/**
     * @return void
     */
    
private function registerResourceManager()
    {
        
$this->app->singleton('flasher.resource_manager', function (Application $app) {
            
$config $app->make('flasher.config');
            
$view $app->make('view');

            return new 
ResourceManager($config, new BladeTemplateEngine($view)); // @phpstan-ignore-line
        
});
    }

    
/**
     * @return void
     */
    
private function registerResponseManager()
    {
        
$this->app->singleton('flasher.response_manager', function (Application $app) {
            
$resourceManager $app->make('flasher.resource_manager');
            
$storageManager $app->make('flasher.storage_manager');
            
$eventDispatcher $app->make('flasher.event_dispatcher');

            return new 
ResponseManager($resourceManager$storageManager$eventDispatcher); // @phpstan-ignore-line
        
});
    }

    
/**
     * @return void
     */
    
private function registerStorageManager()
    {
        
$this->app->singleton('flasher.storage_manager', function (Application $app) {
            
$config $app->make('flasher.config');
            
$eventDispatcher $app->make('flasher.event_dispatcher');
            
$session $app->make('session');

            
/** @phpstan-ignore-next-line */
            
$storageBag = new StorageBag(new SessionBag($session));

            
$criteria $config->get('filter_criteria', array()); // @phpstan-ignore-line

            
return new StorageManager($storageBag$eventDispatcher$criteria); // @phpstan-ignore-line
        
});
    }

    
/**
     * @return void
     */
    
private function registerEventDispatcher()
    {
        
$this->app->singleton('flasher.event_dispatcher', function (Application $app) {
            
$eventDispatcher = new EventDispatcher();
            
$config $app->make('flasher.config');

            
/** @phpstan-ignore-next-line */
            
$translator = new Translator($app->make('translator'));

            
/** @phpstan-ignore-next-line */
            
$autoTranslate $config->get('auto_translate'true);

            
$translatorListener = new TranslationListener($translator$autoTranslate);
            
$eventDispatcher->addSubscriber($translatorListener);

            
$presetListener = new PresetListener($config->get('presets', array())); // @phpstan-ignore-line
            
$eventDispatcher->addSubscriber($presetListener);

            return 
$eventDispatcher;
        });
    }

    
/**
     * @return void
     */
    
private function registerTranslations()
    {
        
/** @var \Illuminate\Translation\Translator $translator */
        
$translator $this->app->make('translator');
        
$translator->addNamespace('flasher'__DIR__.'/Translation/lang');
    }

    
/**
     * @return void
     */
    
private function registerLivewire()
    {
        if (!
$this->app->bound('livewire')) {
            return;
        }

        
$livewire $this->app->make('livewire');
        if (!
$livewire instanceof LivewireManager) {
            return;
        }

        
// Livewire v3
        
if (method_exists($livewire'componentHook')) {
            
$livewire->listen('dehydrate', function (Component $componentComponentContext $context) {
                if (
$context->mounting || isset($context->effects['redirect'])) {
                    return;
                }

                
/** @var FlasherInterface $flasher */
                
$flasher app('flasher');

                
/** @var array{envelopes: Envelope[]} $data */
                
$data $flasher->render(array(), 'array');

                if (
\count($data['envelopes']) > 0) {
                    
$data['context']['livewire'] = array(
                        
'id' => $component->getId(),
                        
'name' => $component->getName(),
                    );

                    
$dispatches = isset($context->effects['dispatches']) ? $context->effects['dispatches'] : [];
                    
$dispatches[] = array('name' => 'flasher:render''params' => $data);

                    
$context->addEffect('dispatches'$dispatches);
                }
            });

            return;
        }

        
$livewire->listen('component.dehydrate.subsequent', function (Component $componentResponse $response) {
            if (isset(
$response->effects['redirect'])) {
                return;
            }

            
/** @var FlasherInterface $flasher */
            
$flasher app('flasher');

            
/** @var array{envelopes: Envelope[]} $data */
            
$data $flasher->render(array(), 'array');

            if (
\count($data['envelopes']) > 0) {
                
$data['context']['livewire'] = array(
                    
'id' => $component->id,
                    
'name' => $response->fingerprint['name'],
                );

                
$response->effects['dispatches'][] = array(
                    
'event' => 'flasher:render',
                    
'data' => $data,
                );
            }
        });
    }

    
/**
     * @return void
     */
    
private function registerBladeDirective()
    {
        
Blade::extend(function ($view) {
            
$pattern '/(?<!\w)(\s*)@flasher_(livewire_)?render(\(.*?\))?/';

            if (!
preg_match($pattern$view)) {
                return 
$view;
            }

            @
trigger_error('Since php-flasher/flasher-laravel v1.6.0: Using @flasher_render or @flasher_livewire_render is deprecated and will be removed in v2.0. PHPFlasher will render notification automatically'\E_USER_DEPRECATED);

            return 
preg_replace($pattern''$view);
        });
    }

    
/**
     * @return void
     */
    
private function registerBladeComponent()
    {
        if (
Laravel::isVersion('7.0''<=')) {
            return;
        }

        
Blade::component('flasher''Flasher\Laravel\Component\FlasherComponent');
    }

    
/**
     * @return void
     */
    
private function registerMiddlewares()
    {
        
$this->registerSessionMiddleware();
        
$this->registerFlasherMiddleware();
    }

    
/**
     * @return void
     */
    
private function registerFlasherMiddleware()
    {
        
/** @var ConfigInterface $config */
        
$config $this->app->make('flasher.config');

        if (!
$config->get('auto_render'true)) {
            return;
        }

        
$this->app->singleton('Flasher\Laravel\Middleware\FlasherMiddleware', function (Application $app) {
            
/** @var FlasherInterface $flasher */
            
$flasher $app->make('flasher');

            return new 
FlasherMiddleware(new ResponseExtension($flasher));
        });

        
$this->appendMiddlewareToWebGroup('Flasher\Laravel\Middleware\FlasherMiddleware');

        if (
method_exists($this->app'middleware')) {
            
$this->app->middleware(new HttpKernelFlasherMiddleware($this->app)); // @phpstan-ignore-line
        
}
    }

    
/**
     * @return void
     */
    
private function registerSessionMiddleware()
    {
        
/** @var ConfigInterface $config */
        
$config $this->app->make('flasher.config');

        if (!
$config->get('flash_bag.enabled'true)) {
            return;
        }

        
$this->app->singleton('Flasher\Laravel\Middleware\SessionMiddleware', function (Application $app) {
            
/** @var ConfigInterface $config */
            
$config $app->make('flasher.config');
            
$mapping $config->get('flash_bag.mapping', array());
            
$flasher $app->make('flasher');

            return new 
SessionMiddleware(new RequestExtension($flasher$mapping)); // @phpstan-ignore-line
        
});

        
$this->appendMiddlewareToWebGroup('Flasher\Laravel\Middleware\SessionMiddleware');

        if (
method_exists($this->app'middleware')) {
            
$this->app->middleware(new HttpKernelSessionMiddleware($this->app)); // @phpstan-ignore-line
        
}
    }

    
/**
     * @param string $middleware
     *
     * @return void
     */
    
private function appendMiddlewareToWebGroup($middleware)
    {
        if (!
$this->app->bound($middleware)) {
            return;
        }

        
/** @var Router $router */
        
$router $this->app->make('router');
        if (
method_exists($router'pushMiddlewareToGroup')) {
            
$router->pushMiddlewareToGroup('web'$middleware);

            return;
        }

        if (!
$this->app->bound('Illuminate\Contracts\Http\Kernel')) {
            return;
        }

        
/** @var Kernel $kernel */
        
$kernel $this->app->make('Illuminate\Contracts\Http\Kernel');

        if (
method_exists($kernel'appendMiddlewareToGroup')) {
            
$kernel->appendMiddlewareToGroup('web'$middleware);

            return;
        }

        if (
method_exists($kernel'pushMiddleware')) {
            
$kernel->pushMiddleware($middleware);
        }
    }
}

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