diff options
Diffstat (limited to 'library/symfony/process/ExecutableFinder.php')
-rw-r--r-- | library/symfony/process/ExecutableFinder.php | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/library/symfony/process/ExecutableFinder.php b/library/symfony/process/ExecutableFinder.php deleted file mode 100644 index fa11cb6e4..000000000 --- a/library/symfony/process/ExecutableFinder.php +++ /dev/null @@ -1,90 +0,0 @@ -<?php - -/* - * This file is part of the Symfony package. - * - * (c) Fabien Potencier <fabien@symfony.com> - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process; - -/** - * Generic executable finder. - * - * @author Fabien Potencier <fabien@symfony.com> - * @author Johannes M. Schmitt <schmittjoh@gmail.com> - */ -class ExecutableFinder -{ - private $suffixes = array('.exe', '.bat', '.cmd', '.com'); - - /** - * Replaces default suffixes of executable. - * - * @param array $suffixes - */ - public function setSuffixes(array $suffixes) - { - $this->suffixes = $suffixes; - } - - /** - * Adds new possible suffix to check for executable. - * - * @param string $suffix - */ - public function addSuffix($suffix) - { - $this->suffixes[] = $suffix; - } - - /** - * Finds an executable by name. - * - * @param string $name The executable name (without the extension) - * @param string $default The default to return if no executable is found - * @param array $extraDirs Additional dirs to check into - * - * @return string The executable path or default value - */ - public function find($name, $default = null, array $extraDirs = array()) - { - if (ini_get('open_basedir')) { - $searchPath = explode(PATH_SEPARATOR, ini_get('open_basedir')); - $dirs = array(); - foreach ($searchPath as $path) { - // Silencing against https://bugs.php.net/69240 - if (@is_dir($path)) { - $dirs[] = $path; - } else { - if (basename($path) == $name && is_executable($path)) { - return $path; - } - } - } - } else { - $dirs = array_merge( - explode(PATH_SEPARATOR, getenv('PATH') ?: getenv('Path')), - $extraDirs - ); - } - - $suffixes = array(''); - if ('\\' === DIRECTORY_SEPARATOR) { - $pathExt = getenv('PATHEXT'); - $suffixes = $pathExt ? explode(PATH_SEPARATOR, $pathExt) : $this->suffixes; - } - foreach ($suffixes as $suffix) { - foreach ($dirs as $dir) { - if (is_file($file = $dir.DIRECTORY_SEPARATOR.$name.$suffix) && ('\\' === DIRECTORY_SEPARATOR || is_executable($file))) { - return $file; - } - } - } - - return $default; - } -} |