aboutsummaryrefslogtreecommitdiffstats
path: root/library/symfony/process/ProcessUtils.php
diff options
context:
space:
mode:
Diffstat (limited to 'library/symfony/process/ProcessUtils.php')
-rw-r--r--library/symfony/process/ProcessUtils.php115
1 files changed, 0 insertions, 115 deletions
diff --git a/library/symfony/process/ProcessUtils.php b/library/symfony/process/ProcessUtils.php
deleted file mode 100644
index 4f30b630d..000000000
--- a/library/symfony/process/ProcessUtils.php
+++ /dev/null
@@ -1,115 +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;
-
-use Symfony\Component\Process\Exception\InvalidArgumentException;
-
-/**
- * ProcessUtils is a bunch of utility methods.
- *
- * This class contains static methods only and is not meant to be instantiated.
- *
- * @author Martin HasoĊˆ <martin.hason@gmail.com>
- */
-class ProcessUtils
-{
- /**
- * This class should not be instantiated.
- */
- private function __construct()
- {
- }
-
- /**
- * Escapes a string to be used as a shell argument.
- *
- * @param string $argument The argument that will be escaped
- *
- * @return string The escaped argument
- */
- public static function escapeArgument($argument)
- {
- //Fix for PHP bug #43784 escapeshellarg removes % from given string
- //Fix for PHP bug #49446 escapeshellarg doesn't work on Windows
- //@see https://bugs.php.net/bug.php?id=43784
- //@see https://bugs.php.net/bug.php?id=49446
- if ('\\' === DIRECTORY_SEPARATOR) {
- if ('' === $argument) {
- return escapeshellarg($argument);
- }
-
- $escapedArgument = '';
- $quote = false;
- foreach (preg_split('/(")/', $argument, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE) as $part) {
- if ('"' === $part) {
- $escapedArgument .= '\\"';
- } elseif (self::isSurroundedBy($part, '%')) {
- // Avoid environment variable expansion
- $escapedArgument .= '^%"'.substr($part, 1, -1).'"^%';
- } else {
- // escape trailing backslash
- if ('\\' === substr($part, -1)) {
- $part .= '\\';
- }
- $quote = true;
- $escapedArgument .= $part;
- }
- }
- if ($quote) {
- $escapedArgument = '"'.$escapedArgument.'"';
- }
-
- return $escapedArgument;
- }
-
- return escapeshellarg($argument);
- }
-
- /**
- * Validates and normalizes a Process input.
- *
- * @param string $caller The name of method call that validates the input
- * @param mixed $input The input to validate
- *
- * @return string The validated input
- *
- * @throws InvalidArgumentException In case the input is not valid
- *
- * Passing an object as an input is deprecated since version 2.5 and will be removed in 3.0.
- */
- public static function validateInput($caller, $input)
- {
- if (null !== $input) {
- if (is_resource($input)) {
- return $input;
- }
- if (is_scalar($input)) {
- return (string) $input;
- }
- // deprecated as of Symfony 2.5, to be removed in 3.0
- if (is_object($input) && method_exists($input, '__toString')) {
- @trigger_error('Passing an object as an input is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED);
-
- return (string) $input;
- }
-
- throw new InvalidArgumentException(sprintf('%s only accepts strings or stream resources.', $caller));
- }
-
- return $input;
- }
-
- private static function isSurroundedBy($arg, $char)
- {
- return 2 < strlen($arg) && $char === $arg[0] && $char === $arg[strlen($arg) - 1];
- }
-}