OXIESEC PANEL
- Current Dir:
/
/
usr
/
share
/
php
/
Composer
/
Command
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
π
..
-
07/20/2024 06:32:22 AM
rwxr-xr-x
π
AboutCommand.php
1.1 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
ArchiveCommand.php
6.42 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
BaseCommand.php
4.51 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
BaseDependencyCommand.php
9.7 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
CheckPlatformReqsCommand.php
4.9 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
ClearCacheCommand.php
1.99 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
ConfigCommand.php
26.21 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
CreateProjectCommand.php
17.35 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
DependsCommand.php
1.29 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
DiagnoseCommand.php
25.52 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
DumpAutoloadCommand.php
3.21 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
ExecCommand.php
2.74 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
GlobalCommand.php
2.86 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
HomeCommand.php
5.29 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
InitCommand.php
28.09 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
InstallCommand.php
6.17 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
LicensesCommand.php
5.32 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
OutdatedCommand.php
3.44 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
ProhibitsCommand.php
1.31 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
RemoveCommand.php
6.81 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
RequireCommand.php
10.15 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
RunScriptCommand.php
4.82 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
ScriptAliasCommand.php
1.88 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
SearchCommand.php
2.86 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
SelfUpdateCommand.php
16.48 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
ShowCommand.php
37.82 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
StatusCommand.php
7.89 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
SuggestsCommand.php
5.1 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
UpdateCommand.php
10.82 KB
01/31/2018 03:28:18 PM
rw-r--r--
π
ValidateCommand.php
6.73 KB
01/31/2018 03:28:18 PM
rw-r--r--
Editing: HomeCommand.php
Close
<?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\Repository\RepositoryInterface; use Composer\Repository\ArrayRepository; use Composer\Repository\RepositoryFactory; use Composer\Util\Platform; use Composer\Util\ProcessExecutor; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; /** * @author Robert SchΓΆnthal <seroscho@googlemail.com> */ class HomeCommand extends BaseCommand { /** * {@inheritDoc} */ protected function configure() { $this ->setName('browse') ->setAliases(array('home')) ->setDescription('Opens the package\'s repository URL or homepage in your browser.') ->setDefinition(array( new InputArgument('packages', InputArgument::IS_ARRAY, 'Package(s) to browse to.'), new InputOption('homepage', 'H', InputOption::VALUE_NONE, 'Open the homepage instead of the repository URL.'), new InputOption('show', 's', InputOption::VALUE_NONE, 'Only show the homepage or repository URL.'), )) ->setHelp(<<<EOT The home command opens or shows a package's repository URL or homepage in your default browser. To open the homepage by default, use -H or --homepage. To show instead of open the repository or homepage URL, use -s or --show. EOT ); } /** * {@inheritDoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $repos = $this->initializeRepos(); $io = $this->getIO(); $return = 0; $packages = $input->getArgument('packages'); if (!$packages) { $io->writeError('No package specified, opening homepage for the root package'); $packages = array($this->getComposer()->getPackage()->getName()); } foreach ($packages as $packageName) { $handled = false; $packageExists = false; foreach ($repos as $repo) { foreach ($repo->findPackages($packageName) as $package) { $packageExists = true; if ($package instanceof CompletePackageInterface && $this->handlePackage($package, $input->getOption('homepage'), $input->getOption('show'))) { $handled = true; break 2; } } } if (!$packageExists) { $return = 1; $io->writeError('<warning>Package '.$packageName.' not found</warning>'); } if (!$handled) { $return = 1; $io->writeError('<warning>'.($input->getOption('homepage') ? 'Invalid or missing homepage' : 'Invalid or missing repository URL').' for '.$packageName.'</warning>'); } } return $return; } private function handlePackage(CompletePackageInterface $package, $showHomepage, $showOnly) { $support = $package->getSupport(); $url = isset($support['source']) ? $support['source'] : $package->getSourceUrl(); if (!$url || $showHomepage) { $url = $package->getHomepage(); } if (!$url || !filter_var($url, FILTER_VALIDATE_URL)) { return false; } if ($showOnly) { $this->getIO()->write(sprintf('<info>%s</info>', $url)); } else { $this->openBrowser($url); } return true; } /** * opens a url in your system default browser * * @param string $url */ private function openBrowser($url) { $url = ProcessExecutor::escape($url); $process = new ProcessExecutor($this->getIO()); if (Platform::isWindows()) { return $process->execute('start "web" explorer "' . $url . '"', $output); } $linux = $process->execute('which xdg-open', $output); $osx = $process->execute('which open', $output); if (0 === $linux) { $process->execute('xdg-open ' . $url, $output); } elseif (0 === $osx) { $process->execute('open ' . $url, $output); } else { $this->getIO()->writeError('No suitable browser opening command found, open yourself: ' . $url); } } /** * Initializes repositories * * Returns an array of repos in order they should be checked in * * @return RepositoryInterface[] */ private function initializeRepos() { $composer = $this->getComposer(false); if ($composer) { return array_merge( array(new ArrayRepository(array($composer->getPackage()))), // root package array($composer->getRepositoryManager()->getLocalRepository()), // installed packages $composer->getRepositoryManager()->getRepositories() // remotes ); } return RepositoryFactory::defaultRepos($this->getIO()); } }