!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/queuepro/vendor/laravel/framework/src/Illuminate/Filesystem/   drwxrwxr-x
Free 13.26 GB of 57.97 GB (22.88%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     FilesystemManager.php (9.86 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace Illuminate\Filesystem;

use 
Aws\S3\S3Client;
use 
Closure;
use 
Illuminate\Contracts\Filesystem\Factory as FactoryContract;
use 
Illuminate\Support\Arr;
use 
InvalidArgumentException;
use 
League\Flysystem\AwsS3V3\AwsS3V3Adapter as S3Adapter;
use 
League\Flysystem\AwsS3V3\PortableVisibilityConverter as AwsS3PortableVisibilityConverter;
use 
League\Flysystem\Filesystem as Flysystem;
use 
League\Flysystem\FilesystemAdapter as FlysystemAdapter;
use 
League\Flysystem\Ftp\FtpAdapter;
use 
League\Flysystem\Ftp\FtpConnectionOptions;
use 
League\Flysystem\Local\LocalFilesystemAdapter as LocalAdapter;
use 
League\Flysystem\PhpseclibV3\SftpAdapter;
use 
League\Flysystem\PhpseclibV3\SftpConnectionProvider;
use 
League\Flysystem\UnixVisibility\PortableVisibilityConverter;
use 
League\Flysystem\Visibility;

/**
 * @mixin \Illuminate\Contracts\Filesystem\Filesystem
 */
class FilesystemManager implements FactoryContract
{
    
/**
     * The application instance.
     *
     * @var \Illuminate\Contracts\Foundation\Application
     */
    
protected $app;

    
/**
     * The array of resolved filesystem drivers.
     *
     * @var array
     */
    
protected $disks = [];

    
/**
     * The registered custom driver creators.
     *
     * @var array
     */
    
protected $customCreators = [];

    
/**
     * Create a new filesystem manager instance.
     *
     * @param  \Illuminate\Contracts\Foundation\Application  $app
     * @return void
     */
    
public function __construct($app)
    {
        
$this->app $app;
    }

    
/**
     * Get a filesystem instance.
     *
     * @param  string|null  $name
     * @return \Illuminate\Contracts\Filesystem\Filesystem
     */
    
public function drive($name null)
    {
        return 
$this->disk($name);
    }

    
/**
     * Get a filesystem instance.
     *
     * @param  string|null  $name
     * @return \Illuminate\Contracts\Filesystem\Filesystem
     */
    
public function disk($name null)
    {
        
$name $name ?: $this->getDefaultDriver();

        return 
$this->disks[$name] = $this->get($name);
    }

    
/**
     * Get a default cloud filesystem instance.
     *
     * @return \Illuminate\Contracts\Filesystem\Filesystem
     */
    
public function cloud()
    {
        
$name $this->getDefaultCloudDriver();

        return 
$this->disks[$name] = $this->get($name);
    }

    
/**
     * Build an on-demand disk.
     *
     * @param  string|array  $config
     * @return \Illuminate\Contracts\Filesystem\Filesystem
     */
    
public function build($config)
    {
        return 
$this->resolve('ondemand'is_array($config) ? $config : [
            
'driver' => 'local',
            
'root' => $config,
        ]);
    }

    
/**
     * Attempt to get the disk from the local cache.
     *
     * @param  string  $name
     * @return \Illuminate\Contracts\Filesystem\Filesystem
     */
    
protected function get($name)
    {
        return 
$this->disks[$name] ?? $this->resolve($name);
    }

    
/**
     * Resolve the given disk.
     *
     * @param  string  $name
     * @param  array|null  $config
     * @return \Illuminate\Contracts\Filesystem\Filesystem
     *
     * @throws \InvalidArgumentException
     */
    
protected function resolve($name$config null)
    {
        
$config $config ?? $this->getConfig($name);

        if (empty(
$config['driver'])) {
            throw new 
InvalidArgumentException("Disk [{$name}] does not have a configured driver.");
        }

        
$name $config['driver'];

        if (isset(
$this->customCreators[$name])) {
            return 
$this->callCustomCreator($config);
        }

        
$driverMethod 'create'.ucfirst($name).'Driver';

        if (! 
method_exists($this$driverMethod)) {
            throw new 
InvalidArgumentException("Driver [{$name}] is not supported.");
        }

        return 
$this->{$driverMethod}($config);
    }

    
/**
     * Call a custom driver creator.
     *
     * @param  array  $config
     * @return \Illuminate\Contracts\Filesystem\Filesystem
     */
    
protected function callCustomCreator(array $config)
    {
        return 
$this->customCreators[$config['driver']]($this->app$config);
    }

    
/**
     * Create an instance of the local driver.
     *
     * @param  array  $config
     * @return \Illuminate\Contracts\Filesystem\Filesystem
     */
    
public function createLocalDriver(array $config)
    {
        
$visibility PortableVisibilityConverter::fromArray(
            
$config['permissions'] ?? [],
            
$config['directory_visibility'] ?? $config['visibility'] ?? Visibility::PRIVATE
        );

        
$links = ($config['links'] ?? null) === 'skip'
            
LocalAdapter::SKIP_LINKS
            
LocalAdapter::DISALLOW_LINKS;

        
$adapter = new LocalAdapter(
            
$config['root'], $visibility$config['lock'] ?? LOCK_EX$links
        
);

        return new 
FilesystemAdapter($this->createFlysystem($adapter$config), $adapter$config);
    }

    
/**
     * Create an instance of the ftp driver.
     *
     * @param  array  $config
     * @return \Illuminate\Contracts\Filesystem\Filesystem
     */
    
public function createFtpDriver(array $config)
    {
        
$adapter = new FtpAdapter(FtpConnectionOptions::fromArray($config));

        return new 
FilesystemAdapter($this->createFlysystem($adapter$config), $adapter$config);
    }

    
/**
     * Create an instance of the sftp driver.
     *
     * @param  array  $config
     * @return \Illuminate\Contracts\Filesystem\Filesystem
     */
    
public function createSftpDriver(array $config)
    {
        
$provider SftpConnectionProvider::fromArray($config);

        
$root $config['root'] ?? '/';

        
$visibility PortableVisibilityConverter::fromArray(
            
$config['permissions'] ?? []
        );

        
$adapter = new SftpAdapter($provider$root$visibility);

        return new 
FilesystemAdapter($this->createFlysystem($adapter$config), $adapter$config);
    }

    
/**
     * Create an instance of the Amazon S3 driver.
     *
     * @param  array  $config
     * @return \Illuminate\Contracts\Filesystem\Cloud
     */
    
public function createS3Driver(array $config)
    {
        
$s3Config $this->formatS3Config($config);

        
$root = (string) ($s3Config['root'] ?? '');

        
$visibility = new AwsS3PortableVisibilityConverter(
            
$config['visibility'] ?? Visibility::PUBLIC
        );

        
$streamReads $s3Config['stream_reads'] ?? false;

        
$client = new S3Client($s3Config);

        
$adapter = new S3Adapter($client$s3Config['bucket'], $root$visibilitynull, [], $streamReads);

        return new 
AwsS3V3Adapter(
            
$this->createFlysystem($adapter$config), $adapter$s3Config$client
        
);
    }

    
/**
     * Format the given S3 configuration with the default options.
     *
     * @param  array  $config
     * @return array
     */
    
protected function formatS3Config(array $config)
    {
        
$config += ['version' => 'latest'];

        if (! empty(
$config['key']) && ! empty($config['secret'])) {
            
$config['credentials'] = Arr::only($config, ['key''secret''token']);
        }

        return 
$config;
    }

    
/**
     * Create a Flysystem instance with the given adapter.
     *
     * @param  \League\Flysystem\FilesystemAdapter  $adapter
     * @param  array  $config
     * @return \League\Flysystem\FilesystemOperator
     */
    
protected function createFlysystem(FlysystemAdapter $adapter, array $config)
    {
        return new 
Flysystem($adapterArr::only($config, [
            
'directory_visibility',
            
'disable_asserts',
            
'temporary_url',
            
'url',
            
'visibility',
        ]));
    }

    
/**
     * Set the given disk instance.
     *
     * @param  string  $name
     * @param  mixed  $disk
     * @return $this
     */
    
public function set($name$disk)
    {
        
$this->disks[$name] = $disk;

        return 
$this;
    }

    
/**
     * Get the filesystem connection configuration.
     *
     * @param  string  $name
     * @return array
     */
    
protected function getConfig($name)
    {
        return 
$this->app['config']["filesystems.disks.{$name}"] ?: [];
    }

    
/**
     * Get the default driver name.
     *
     * @return string
     */
    
public function getDefaultDriver()
    {
        return 
$this->app['config']['filesystems.default'];
    }

    
/**
     * Get the default cloud driver name.
     *
     * @return string
     */
    
public function getDefaultCloudDriver()
    {
        return 
$this->app['config']['filesystems.cloud'] ?? 's3';
    }

    
/**
     * Unset the given disk instances.
     *
     * @param  array|string  $disk
     * @return $this
     */
    
public function forgetDisk($disk)
    {
        foreach ((array) 
$disk as $diskName) {
            unset(
$this->disks[$diskName]);
        }

        return 
$this;
    }

    
/**
     * Disconnect the given disk and remove from local cache.
     *
     * @param  string|null  $name
     * @return void
     */
    
public function purge($name null)
    {
        
$name $name ?? $this->getDefaultDriver();

        unset(
$this->disks[$name]);
    }

    
/**
     * Register a custom driver creator Closure.
     *
     * @param  string  $driver
     * @param  \Closure  $callback
     * @return $this
     */
    
public function extend($driverClosure $callback)
    {
        
$this->customCreators[$driver] = $callback;

        return 
$this;
    }

    
/**
     * Set the application instance used by the manager.
     *
     * @param  \Illuminate\Contracts\Foundation\Application  $app
     * @return $this
     */
    
public function setApplication($app)
    {
        
$this->app $app;

        return 
$this;
    }

    
/**
     * Dynamically call the default driver instance.
     *
     * @param  string  $method
     * @param  array  $parameters
     * @return mixed
     */
    
public function __call($method$parameters)
    {
        return 
$this->disk()->$method(...$parameters);
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.014 ]--