/home/techb158/ileadtechnology.com/vendor/composer/composer/src/Composer/Command
NameSizeModeActions
AboutCommand.php11720644editdlrm
ArchiveCommand.php67910644editdlrm
BaseCommand.php53170644editdlrm
BaseDependencyCommand.php101870644editdlrm
CheckPlatformReqsCommand.php59640644editdlrm
ClearCacheCommand.php21590644editdlrm
ConfigCommand.php301590644editdlrm
CreateProjectCommand.php195350644editdlrm
DependsCommand.php13960644editdlrm
DiagnoseCommand.php291060644editdlrm
DumpAutoloadCommand.php38390644editdlrm
ExecCommand.php36240644editdlrm
FundCommand.php37310644editdlrm
GlobalCommand.php36520644editdlrm
HomeCommand.php54860644editdlrm
InitCommand.php328030644editdlrm
InstallCommand.php66510644editdlrm
LicensesCommand.php57590644editdlrm
OutdatedCommand.php39130644editdlrm
ProhibitsCommand.php14220644editdlrm
RemoveCommand.php80760644editdlrm
RequireCommand.php136910644editdlrm
RunScriptCommand.php54860644editdlrm
ScriptAliasCommand.php20030644editdlrm
SearchCommand.php30690644editdlrm
SelfUpdateCommand.php244970644editdlrm
ShowCommand.php495650644editdlrm
StatusCommand.php86860644editdlrm
SuggestsCommand.php53560644editdlrm
UpdateCommand.php111540644editdlrm
ValidateCommand.php72670644editdlrm
Edit: /home/techb158/ileadtechnology.com/vendor/composer/composer/src/Composer/Command/HomeCommand.php (5486B)
* Jordi Boggiano * * 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 */ 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( <<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('Package '.$packageName.' not found'); } if (!$handled) { $return = 1; $io->writeError(''.($input->getOption('homepage') ? 'Invalid or missing homepage' : 'Invalid or missing repository URL').' for '.$packageName.''); } } 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('%s', $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()); } }