diff --git a/lib/vendor/Symfony/Components/Console/Application.php b/lib/vendor/Symfony/Components/Console/Application.php index e26319be7..929bc6bc0 100644 --- a/lib/vendor/Symfony/Components/Console/Application.php +++ b/lib/vendor/Symfony/Components/Console/Application.php @@ -488,7 +488,7 @@ class Application { // namespace $namespace = ''; - if (false !== $pos = strpos($name, ':')) + if (false !== $pos = strrpos($name, ':')) { $namespace = $this->findNamespace(substr($name, 0, $pos)); $name = substr($name, $pos + 1); diff --git a/lib/vendor/Symfony/Components/Console/Command/Command.php b/lib/vendor/Symfony/Components/Console/Command/Command.php index bbde5f94e..b0e3d863a 100644 --- a/lib/vendor/Symfony/Components/Console/Command/Command.php +++ b/lib/vendor/Symfony/Components/Console/Command/Command.php @@ -276,7 +276,7 @@ class Command */ public function setName($name) { - if (false !== $pos = strpos($name, ':')) + if (false !== $pos = strrpos($name, ':')) { $namespace = substr($name, 0, $pos); $name = substr($name, $pos + 1); @@ -375,6 +375,28 @@ class Command return $this->help; } + /** + * Returns the processed help for the command replacing the %command.name% and + * %command.full_name% patterns with the real values dynamically. + * + * @return string The processed help for the command + */ + public function getProcessedHelp() + { + $name = $this->namespace.':'.$this->name; + + $placeholders = array( + '%command.name%', + '%command.full_name%' + ); + $replacements = array( + $name, + $_SERVER['PHP_SELF'].' '.$name + ); + + return str_replace($placeholders, $replacements, $this->getHelp()); + } + /** * Sets the aliases for the command. * @@ -457,7 +479,7 @@ class Command $messages[] = $this->definition->asText(); - if ($help = $this->getHelp()) + if ($help = $this->getProcessedHelp()) { $messages[] = 'Help:'; $messages[] = ' '.implode("\n ", explode("\n", $help))."\n"; diff --git a/lib/vendor/Symfony/Components/Console/Input/ArgvInput.php b/lib/vendor/Symfony/Components/Console/Input/ArgvInput.php index a140219bf..7a78003f7 100644 --- a/lib/vendor/Symfony/Components/Console/Input/ArgvInput.php +++ b/lib/vendor/Symfony/Components/Console/Input/ArgvInput.php @@ -70,7 +70,7 @@ class ArgvInput extends Input protected function parse() { $this->parsed = $this->tokens; - while ($token = array_shift($this->parsed)) + while (null !== ($token = array_shift($this->parsed))) { if ('--' === substr($token, 0, 2)) {