!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)

/uploads/script/vendor/composer/composer/src/Composer/Repository/   drwxr-xr-x
Free 13.18 GB of 57.97 GB (22.74%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

/*
 * This file is part of Composer.
 *
 * (c) Nils Adermann <naderman@naderman.de>
 *     Jordi Boggiano <j.boggiano@seld.be>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Composer\Repository;

use 
Composer\Package\PackageInterface;
use 
Composer\Package\BasePackage;

/**
 * Filters which packages are seen as canonical on this repo by loadPackages
 *
 * @author Jordi Boggiano <j.boggiano@seld.be>
 */
class FilterRepository implements RepositoryInterface
{
    private 
$only = array();
    private 
$exclude = array();
    private 
$canonical true;
    private 
$repo;

    public function 
__construct(RepositoryInterface $repo, array $options)
    {
        if (isset(
$options['only'])) {
            if (!
is_array($options['only'])) {
                throw new 
\InvalidArgumentException('"only" key for repository '.$repo->getRepoName().' should be an array');
            }
            
$this->only '{^'.implode('|'array_map(function ($val) {
                return 
BasePackage::packageNameToRegexp($val'%s');
            }, 
$options['only'])) .'$}iD';
        }
        if (isset(
$options['exclude'])) {
            if (!
is_array($options['exclude'])) {
                throw new 
\InvalidArgumentException('"exclude" key for repository '.$repo->getRepoName().' should be an array');
            }
            
$this->exclude '{^'.implode('|'array_map(function ($val) {
                return 
BasePackage::packageNameToRegexp($val'%s');
            }, 
$options['exclude'])) .'$}iD';
        }
        if (
$this->exclude && $this->only) {
            throw new 
\InvalidArgumentException('Only one of "only" and "exclude" can be specified for repository '.$repo->getRepoName());
        }
        if (isset(
$options['canonical'])) {
            if (!
is_bool($options['canonical'])) {
                throw new 
\InvalidArgumentException('"canonical" key for repository '.$repo->getRepoName().' should be a boolean');
            }
            
$this->canonical $options['canonical'];
        }

        
$this->repo $repo;
    }

    public function 
getRepoName()
    {
        return 
$this->repo->getRepoName();
    }

    
/**
     * Returns the wrapped repositories
     *
     * @return RepositoryInterface
     */
    
public function getRepository()
    {
        return 
$this->repo;
    }

    
/**
     * {@inheritdoc}
     */
    
public function hasPackage(PackageInterface $package)
    {
        return 
$this->repo->hasPackage($package);
    }

    
/**
     * {@inheritdoc}
     */
    
public function findPackage($name$constraint)
    {
        if (!
$this->isAllowed($name)) {
            return 
null;
        }

        return 
$this->repo->findPackage($name$constraint);
    }

    
/**
     * {@inheritdoc}
     */
    
public function findPackages($name$constraint null)
    {
        if (!
$this->isAllowed($name)) {
            return array();
        }

        return 
$this->repo->findPackages($name$constraint);
    }

    
/**
     * {@inheritDoc}
     */
    
public function loadPackages(array $packageMap, array $acceptableStabilities, array $stabilityFlags, array $alreadyLoaded = array())
    {
        foreach (
$packageMap as $name => $constraint) {
            if (!
$this->isAllowed($name)) {
                unset(
$packageMap[$name]);
            }
        }

        if (!
$packageMap) {
            return array(
'namesFound' => array(), 'packages' => array());
        }

        
$result $this->repo->loadPackages($packageMap$acceptableStabilities$stabilityFlags$alreadyLoaded);
        if (!
$this->canonical) {
            
$result['namesFound'] = array();
        }

        return 
$result;
    }

    
/**
     * {@inheritdoc}
     */
    
public function search($query$mode 0$type null)
    {
        
$result = array();

        foreach (
$this->repo->search($query$mode$type) as $package) {
            if (
$this->isAllowed($package['name'])) {
                
$result[] = $package;
            }
        }

        return 
$result;
    }

    
/**
     * {@inheritdoc}
     */
    
public function getPackages()
    {
        
$result = array();
        foreach (
$this->repo->getPackages() as $package) {
            if (
$this->isAllowed($package->getName())) {
                
$result[] = $package;
            }
        }

        return 
$result;
    }

    
/**
     * {@inheritdoc}
     */
    
public function getProviders($packageName)
    {
        
$result = array();
        foreach (
$this->repo->getProviders($packageName) as $provider) {
            if (
$this->isAllowed($provider['name'])) {
                
$result[] = $provider;
            }
        }

        return 
$result;
    }

    
/**
     * {@inheritdoc}
     */
    
public function removePackage(PackageInterface $package)
    {
        return 
$this->repo->removePackage($package);
    }

    
/**
     * {@inheritdoc}
     */
    
public function count()
    {
        if (
$this->repo->count() > 0) {
            return 
count($this->getPackages());
        }

        return 
0;
    }

    private function 
isAllowed($name)
    {
        if (!
$this->only && !$this->exclude) {
            return 
true;
        }

        if (
$this->only) {
            return (bool) 
preg_match($this->only$name);
        }

        return !
preg_match($this->exclude$name);
    }
}

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