!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.68 (Linux) PHP/7.4.33. PHP/7.4.33 

uname -a: Linux bjb2293782.nichost.ru 6.6.151-1.el8.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Aug 10
11:16:02 MSK 2026 x86_64
 

uid=12584(bjb2293782) gid=12584(bjb2293782) groups=12584(bjb2293782)  

Safe-mode: OFF (not secure)

/usr/share/php/Composer/Package/   drwxr-xr-x
Free 60.27 GB of 99.95 GB (60.3%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     Package.php (16.63 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?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\Package;

use 
Composer\Package\Version\VersionParser;
use 
Composer\Pcre\Preg;
use 
Composer\Util\ComposerMirror;

/**
 * Core package definitions that are needed to resolve dependencies and install packages
 *
 * @author Nils Adermann <naderman@naderman.de>
 *
 * @phpstan-import-type AutoloadRules from PackageInterface
 * @phpstan-import-type DevAutoloadRules from PackageInterface
 */
class Package extends BasePackage
{
    
/** @var string */
    
protected $type;
    
/** @var ?string */
    
protected $targetDir;
    
/** @var 'source'|'dist'|null */
    
protected $installationSource;
    
/** @var ?string */
    
protected $sourceType;
    
/** @var ?string */
    
protected $sourceUrl;
    
/** @var ?string */
    
protected $sourceReference;
    
/** @var ?list<array{url: non-empty-string, preferred: bool}> */
    
protected $sourceMirrors;
    
/** @var ?non-empty-string */
    
protected $distType;
    
/** @var ?non-empty-string */
    
protected $distUrl;
    
/** @var ?string */
    
protected $distReference;
    
/** @var ?string */
    
protected $distSha1Checksum;
    
/** @var ?list<array{url: non-empty-string, preferred: bool}> */
    
protected $distMirrors;
    
/** @var string */
    
protected $version;
    
/** @var string */
    
protected $prettyVersion;
    
/** @var ?\DateTimeInterface */
    
protected $releaseDate;
    
/** @var mixed[] */
    
protected $extra = [];
    
/** @var string[] */
    
protected $binaries = [];
    
/** @var bool */
    
protected $dev;
    
/**
     * @var string
     * @phpstan-var 'stable'|'RC'|'beta'|'alpha'|'dev'
     */
    
protected $stability;
    
/** @var ?string */
    
protected $notificationUrl;

    
/** @var array<string, Link> */
    
protected $requires = [];
    
/** @var array<string, Link> */
    
protected $conflicts = [];
    
/** @var array<string, Link> */
    
protected $provides = [];
    
/** @var array<string, Link> */
    
protected $replaces = [];
    
/** @var array<string, Link> */
    
protected $devRequires = [];
    
/** @var array<string, string> */
    
protected $suggests = [];
    
/**
     * @var array
     * @phpstan-var AutoloadRules
     */
    
protected $autoload = [];
    
/**
     * @var array
     * @phpstan-var DevAutoloadRules
     */
    
protected $devAutoload = [];
    
/** @var string[] */
    
protected $includePaths = [];
    
/** @var bool */
    
protected $isDefaultBranch false;
    
/** @var mixed[] */
    
protected $transportOptions = [];

    
/**
     * Creates a new in memory package.
     *
     * @param string $name          The package's name
     * @param string $version       The package's version
     * @param string $prettyVersion The package's non-normalized version
     */
    
public function __construct(string $namestring $versionstring $prettyVersion)
    {
        
parent::__construct($name);

        
$this->version $version;
        
$this->prettyVersion $prettyVersion;

        
$this->stability VersionParser::parseStability($version);
        
$this->dev $this->stability === 'dev';
    }

    
/**
     * @inheritDoc
     */
    
public function isDev(): bool
    
{
        return 
$this->dev;
    }

    public function 
setType(string $type): void
    
{
        
$this->type $type;
    }

    
/**
     * @inheritDoc
     */
    
public function getType(): string
    
{
        return 
$this->type ?: 'library';
    }

    
/**
     * @inheritDoc
     */
    
public function getStability(): string
    
{
        return 
$this->stability;
    }

    public function 
setTargetDir(?string $targetDir): void
    
{
        
$this->targetDir $targetDir;
    }

    
/**
     * @inheritDoc
     */
    
public function getTargetDir(): ?string
    
{
        if (
null === $this->targetDir) {
            return 
null;
        }

        return 
ltrim(Preg::replace('{ (?:^|[\\\\/]+) \.\.? (?:[\\\\/]+|$) (?:\.\.? (?:[\\\\/]+|$) )*}x''/'$this->targetDir), '/');
    }

    
/**
     * @param mixed[] $extra
     */
    
public function setExtra(array $extra): void
    
{
        
$this->extra $extra;
    }

    
/**
     * @inheritDoc
     */
    
public function getExtra(): array
    {
        return 
$this->extra;
    }

    
/**
     * @param string[] $binaries
     */
    
public function setBinaries(array $binaries): void
    
{
        
$this->binaries $binaries;
    }

    
/**
     * @inheritDoc
     */
    
public function getBinaries(): array
    {
        return 
$this->binaries;
    }

    
/**
     * @inheritDoc
     */
    
public function setInstallationSource(?string $type): void
    
{
        
$this->installationSource $type;
    }

    
/**
     * @inheritDoc
     */
    
public function getInstallationSource(): ?string
    
{
        return 
$this->installationSource;
    }

    public function 
setSourceType(?string $type): void
    
{
        
$this->sourceType $type;
    }

    
/**
     * @inheritDoc
     */
    
public function getSourceType(): ?string
    
{
        return 
$this->sourceType;
    }

    public function 
setSourceUrl(?string $url): void
    
{
        
$this->sourceUrl $url;
    }

    
/**
     * @inheritDoc
     */
    
public function getSourceUrl(): ?string
    
{
        return 
$this->sourceUrl;
    }

    public function 
setSourceReference(?string $reference): void
    
{
        
$this->sourceReference $reference;
    }

    
/**
     * @inheritDoc
     */
    
public function getSourceReference(): ?string
    
{
        return 
$this->sourceReference;
    }

    public function 
setSourceMirrors(?array $mirrors): void
    
{
        
$this->sourceMirrors $mirrors;
    }

    
/**
     * @inheritDoc
     */
    
public function getSourceMirrors(): ?array
    {
        return 
$this->sourceMirrors;
    }

    
/**
     * @inheritDoc
     */
    
public function getSourceUrls(): array
    {
        return 
$this->getUrls($this->sourceUrl$this->sourceMirrors$this->sourceReference$this->sourceType'source');
    }

    
/**
     * @param string $type
     */
    
public function setDistType(?string $type): void
    
{
        
$this->distType $type === '' null $type;
    }

    
/**
     * @inheritDoc
     */
    
public function getDistType(): ?string
    
{
        return 
$this->distType;
    }

    
/**
     * @param string|null $url
     */
    
public function setDistUrl(?string $url): void
    
{
        
$this->distUrl $url === '' null $url;
    }

    
/**
     * @inheritDoc
     */
    
public function getDistUrl(): ?string
    
{
        return 
$this->distUrl;
    }

    
/**
     * @param string $reference
     */
    
public function setDistReference(?string $reference): void
    
{
        
$this->distReference $reference;
    }

    
/**
     * @inheritDoc
     */
    
public function getDistReference(): ?string
    
{
        return 
$this->distReference;
    }

    
/**
     * @param string $sha1checksum
     */
    
public function setDistSha1Checksum(?string $sha1checksum): void
    
{
        
$this->distSha1Checksum $sha1checksum;
    }

    
/**
     * @inheritDoc
     */
    
public function getDistSha1Checksum(): ?string
    
{
        return 
$this->distSha1Checksum;
    }

    public function 
setDistMirrors(?array $mirrors): void
    
{
        
$this->distMirrors $mirrors;
    }

    
/**
     * @inheritDoc
     */
    
public function getDistMirrors(): ?array
    {
        return 
$this->distMirrors;
    }

    
/**
     * @inheritDoc
     */
    
public function getDistUrls(): array
    {
        return 
$this->getUrls($this->distUrl$this->distMirrors$this->distReference$this->distType'dist');
    }

    
/**
     * @inheritDoc
     */
    
public function getTransportOptions(): array
    {
        return 
$this->transportOptions;
    }

    
/**
     * @inheritDoc
     */
    
public function setTransportOptions(array $options): void
    
{
        
$this->transportOptions $options;
    }

    
/**
     * @inheritDoc
     */
    
public function getVersion(): string
    
{
        return 
$this->version;
    }

    
/**
     * @inheritDoc
     */
    
public function getPrettyVersion(): string
    
{
        return 
$this->prettyVersion;
    }

    public function 
setReleaseDate(?\DateTimeInterface $releaseDate): void
    
{
        
$this->releaseDate $releaseDate;
    }

    
/**
     * @inheritDoc
     */
    
public function getReleaseDate(): ?\DateTimeInterface
    
{
        return 
$this->releaseDate;
    }

    
/**
     * Set the required packages
     *
     * @param array<string, Link> $requires A set of package links
     */
    
public function setRequires(array $requires): void
    
{
        if (isset(
$requires[0])) { // @phpstan-ignore-line
            
$requires $this->convertLinksToMap($requires'setRequires');
        }

        
$this->requires $requires;
    }

    
/**
     * @inheritDoc
     */
    
public function getRequires(): array
    {
        return 
$this->requires;
    }

    
/**
     * Set the conflicting packages
     *
     * @param array<string, Link> $conflicts A set of package links
     */
    
public function setConflicts(array $conflicts): void
    
{
        if (isset(
$conflicts[0])) { // @phpstan-ignore-line
            
$conflicts $this->convertLinksToMap($conflicts'setConflicts');
        }

        
$this->conflicts $conflicts;
    }

    
/**
     * @inheritDoc
     * @return array<string, Link>
     */
    
public function getConflicts(): array
    {
        return 
$this->conflicts;
    }

    
/**
     * Set the provided virtual packages
     *
     * @param array<string, Link> $provides A set of package links
     */
    
public function setProvides(array $provides): void
    
{
        if (isset(
$provides[0])) { // @phpstan-ignore-line
            
$provides $this->convertLinksToMap($provides'setProvides');
        }

        
$this->provides $provides;
    }

    
/**
     * @inheritDoc
     * @return array<string, Link>
     */
    
public function getProvides(): array
    {
        return 
$this->provides;
    }

    
/**
     * Set the packages this one replaces
     *
     * @param array<string, Link> $replaces A set of package links
     */
    
public function setReplaces(array $replaces): void
    
{
        if (isset(
$replaces[0])) { // @phpstan-ignore-line
            
$replaces $this->convertLinksToMap($replaces'setReplaces');
        }

        
$this->replaces $replaces;
    }

    
/**
     * @inheritDoc
     * @return array<string, Link>
     */
    
public function getReplaces(): array
    {
        return 
$this->replaces;
    }

    
/**
     * Set the recommended packages
     *
     * @param array<string, Link> $devRequires A set of package links
     */
    
public function setDevRequires(array $devRequires): void
    
{
        if (isset(
$devRequires[0])) { // @phpstan-ignore-line
            
$devRequires $this->convertLinksToMap($devRequires'setDevRequires');
        }

        
$this->devRequires $devRequires;
    }

    
/**
     * @inheritDoc
     */
    
public function getDevRequires(): array
    {
        return 
$this->devRequires;
    }

    
/**
     * Set the suggested packages
     *
     * @param array<string, string> $suggests A set of package names/comments
     */
    
public function setSuggests(array $suggests): void
    
{
        
$this->suggests $suggests;
    }

    
/**
     * @inheritDoc
     */
    
public function getSuggests(): array
    {
        return 
$this->suggests;
    }

    
/**
     * Set the autoload mapping
     *
     * @param array $autoload Mapping of autoloading rules
     *
     * @phpstan-param AutoloadRules $autoload
     */
    
public function setAutoload(array $autoload): void
    
{
        
$this->autoload $autoload;
    }

    
/**
     * @inheritDoc
     */
    
public function getAutoload(): array
    {
        return 
$this->autoload;
    }

    
/**
     * Set the dev autoload mapping
     *
     * @param array $devAutoload Mapping of dev autoloading rules
     *
     * @phpstan-param DevAutoloadRules $devAutoload
     */
    
public function setDevAutoload(array $devAutoload): void
    
{
        
$this->devAutoload $devAutoload;
    }

    
/**
     * @inheritDoc
     */
    
public function getDevAutoload(): array
    {
        return 
$this->devAutoload;
    }

    
/**
     * Sets the list of paths added to PHP's include path.
     *
     * @param string[] $includePaths List of directories.
     */
    
public function setIncludePaths(array $includePaths): void
    
{
        
$this->includePaths $includePaths;
    }

    
/**
     * @inheritDoc
     */
    
public function getIncludePaths(): array
    {
        return 
$this->includePaths;
    }

    
/**
     * Sets the notification URL
     */
    
public function setNotificationUrl(string $notificationUrl): void
    
{
        
$this->notificationUrl $notificationUrl;
    }

    
/**
     * @inheritDoc
     */
    
public function getNotificationUrl(): ?string
    
{
        return 
$this->notificationUrl;
    }

    public function 
setIsDefaultBranch(bool $defaultBranch): void
    
{
        
$this->isDefaultBranch $defaultBranch;
    }

    
/**
     * @inheritDoc
     */
    
public function isDefaultBranch(): bool
    
{
        return 
$this->isDefaultBranch;
    }

    
/**
     * @inheritDoc
     */
    
public function setSourceDistReferences(string $reference): void
    
{
        
$this->setSourceReference($reference);

        
// only bitbucket, github and gitlab have auto generated dist URLs that easily allow replacing the reference in the dist URL
        // TODO generalize this a bit for self-managed/on-prem versions? Some kind of replace token in dist urls which allow this?
        
if (
            
$this->getDistUrl() !== null
            
&& Preg::isMatch('{^https?://(?:(?:www\.)?bitbucket\.org|(api\.)?github\.com|(?:www\.)?gitlab\.com)/}i'$this->getDistUrl())
        ) {
            
$this->setDistReference($reference);
            
$this->setDistUrl(Preg::replace('{(?<=/|sha=)[a-f0-9]{40}(?=/|$)}i'$reference$this->getDistUrl()));
        } elseif (
$this->getDistReference()) { // update the dist reference if there was one, but if none was provided ignore it
            
$this->setDistReference($reference);
        }
    }

    
/**
     * Replaces current version and pretty version with passed values.
     * It also sets stability.
     *
     * @param string $version       The package's normalized version
     * @param string $prettyVersion The package's non-normalized version
     */
    
public function replaceVersion(string $versionstring $prettyVersion): void
    
{
        
$this->version $version;
        
$this->prettyVersion $prettyVersion;

        
$this->stability VersionParser::parseStability($version);
        
$this->dev $this->stability === 'dev';
    }

    
/**
     * @param mixed[]|null $mirrors
     *
     * @return list<non-empty-string>
     *
     * @phpstan-param list<array{url: non-empty-string, preferred: bool}>|null $mirrors
     */
    
protected function getUrls(?string $url, ?array $mirrors, ?string $ref, ?string $typestring $urlType): array
    {
        if (!
$url) {
            return [];
        }

        if (
$urlType === 'dist' && false !== strpos($url'%')) {
            
$url ComposerMirror::processUrl($url$this->name$this->version$ref$type$this->prettyVersion);
        }

        
$urls = [$url];
        if (
$mirrors) {
            foreach (
$mirrors as $mirror) {
                if (
$urlType === 'dist') {
                    
$mirrorUrl ComposerMirror::processUrl($mirror['url'], $this->name$this->version$ref$type$this->prettyVersion);
                } elseif (
$urlType === 'source' && $type === 'git') {
                    
$mirrorUrl ComposerMirror::processGitUrl($mirror['url'], $this->name$url$type);
                } elseif (
$urlType === 'source' && $type === 'hg') {
                    
$mirrorUrl ComposerMirror::processHgUrl($mirror['url'], $this->name$url$type);
                } else {
                    continue;
                }
                if (!\
in_array($mirrorUrl$urls)) {
                    
$func $mirror['preferred'] ? 'array_unshift' 'array_push';
                    
$func($urls$mirrorUrl);
                }
            }
        }

        return 
$urls;
    }

    
/**
     * @param  array<int, Link> $links
     * @return array<string, Link>
     */
    
private function convertLinksToMap(array $linksstring $source): array
    {
        
trigger_error('Package::'.$source.' must be called with a map of lowercased package name => Link object, got a indexed array, this is deprecated and you should fix your usage.');
        
$newLinks = [];
        foreach (
$links as $link) {
            
$newLinks[$link->getTarget()] = $link;
        }

        return 
$newLinks;
    }
}

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