!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/Command/   drwxr-xr-x
Free 13.25 GB of 57.97 GB (22.85%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     FundCommand.php (4.52 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\Command;

use 
Composer\Package\CompletePackageInterface;
use 
Composer\Package\AliasPackage;
use 
Composer\Package\BasePackage;
use 
Composer\Semver\Constraint\MatchAllConstraint;
use 
Composer\Repository\CompositeRepository;
use 
Symfony\Component\Console\Input\InputInterface;
use 
Symfony\Component\Console\Output\OutputInterface;

/**
 * @author Nicolas Grekas <p@tchwork.com>
 * @author Jordi Boggiano <j.boggiano@seld.be>
 */
class FundCommand extends BaseCommand
{
    protected function 
configure()
    {
        
$this->setName('fund')
            ->
setDescription('Discover how to help fund the maintenance of your dependencies.')
        ;
    }

    protected function 
execute(InputInterface $inputOutputInterface $output)
    {
        
$composer $this->getComposer();

        
$repo $composer->getRepositoryManager()->getLocalRepository();
        
$remoteRepos = new CompositeRepository($composer->getRepositoryManager()->getRepositories());
        
$fundings = array();

        
$packagesToLoad = array();
        foreach (
$repo->getPackages() as $package) {
            if (
$package instanceof AliasPackage) {
                continue;
            }
            
$packagesToLoad[$package->getName()] = new MatchAllConstraint();
        }

        
// load all packages dev versions in parallel
        
$result $remoteRepos->loadPackages($packagesToLoad, array('dev' => BasePackage::STABILITY_DEV), array());

        
// collect funding data from default branches
        
foreach ($result['packages'] as $package) {
            if (
                !
$package instanceof AliasPackage
                
&& $package instanceof CompletePackageInterface
                
&& $package->isDefaultBranch()
                && 
$package->getFunding()
                && isset(
$packagesToLoad[$package->getName()])
            ) {
                
$fundings $this->insertFundingData($fundings$package);
                unset(
$packagesToLoad[$package->getName()]);
            }
        }

        
// collect funding from installed packages if none was found in the default branch above
        
foreach ($repo->getPackages() as $package) {
            if (
$package instanceof AliasPackage || !isset($packagesToLoad[$package->getName()])) {
                continue;
            }

            if (
$package instanceof CompletePackageInterface && $package->getFunding()) {
                
$fundings $this->insertFundingData($fundings$package);
            }
        }

        
ksort($fundings);

        
$io $this->getIO();

        if (
$fundings) {
            
$prev null;

            
$io->write('The following packages were found in your dependencies which publish funding information:');

            foreach (
$fundings as $vendor => $links) {
                
$io->write('');
                
$io->write(sprintf("<comment>%s</comment>"$vendor));
                foreach (
$links as $url => $packages) {
                    
$line sprintf('  <info>%s</info>'implode(', '$packages));

                    if (
$prev !== $line) {
                        
$io->write($line);
                        
$prev $line;
                    }

                    
$io->write(sprintf('    %s'$url));
                }
            }

            
$io->write("");
            
$io->write("Please consider following these links and sponsoring the work of package authors!");
            
$io->write("Thank you!");
        } else {
            
$io->write("No funding links were found in your package dependencies. This doesn't mean they don't need your support!");
        }

        return 
0;
    }

    private function 
insertFundingData(array $fundingsCompletePackageInterface $package)
    {
        foreach (
$package->getFunding() as $fundingOption) {
            list(
$vendor$packageName) = explode('/'$package->getPrettyName());
            
// ignore malformed funding entries
            
if (empty($fundingOption['url'])) {
                continue;
            }
            
$url $fundingOption['url'];
            if (!empty(
$fundingOption['type']) && $fundingOption['type'] === 'github' && preg_match('{^https://github.com/([^/]+)$}'$url$match)) {
                
$url 'https://github.com/sponsors/'.$match[1];
            }
            
$fundings[$vendor][$url][] = $packageName;
        }

        return 
$fundings;
    }
}

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