Merge branch 'bugfix/Add-support-for-command-line-arguments-in-the-format-arg-value-8472'

fixes #8472
This commit is contained in:
Alexander A. Klimov 2015-06-10 17:22:32 +02:00
commit 8f9f232137
6 changed files with 21 additions and 16 deletions

View File

@ -47,7 +47,12 @@ class Params
$noOptionFlag = true; $noOptionFlag = true;
} elseif (!$noOptionFlag && substr($argv[$i], 0, 2) === '--') { } elseif (!$noOptionFlag && substr($argv[$i], 0, 2) === '--') {
$key = substr($argv[$i], 2); $key = substr($argv[$i], 2);
if (! isset($argv[$i + 1]) || substr($argv[$i + 1], 0, 2) === '--') { $matches = array();
if (1 === preg_match(
'/(?<!.)([^=]+)=(.*)(?!.)/ms', $key, $matches
)) {
$this->params[$matches[1]] = $matches[2];
} elseif (! isset($argv[$i + 1]) || substr($argv[$i + 1], 0, 2) === '--') {
$this->params[$key] = true; $this->params[$key] = true;
} elseif (array_key_exists($key, $this->params)) { } elseif (array_key_exists($key, $this->params)) {
if (!is_array($this->params[$key])) { if (!is_array($this->params[$key])) {

View File

@ -20,7 +20,7 @@ class ConferenceCommand extends Command
* Use this command in case you feel that you should be friendly. Should * Use this command in case you feel that you should be friendly. Should
* be executed as follows: * be executed as follows:
* *
* icingacli monitoring conference welcome --watch 1 * icingacli monitoring conference welcome --watch=1
*/ */
public function welcomeAction() public function welcomeAction()
{ {

View File

@ -124,19 +124,19 @@ class ListCommand extends Command
* --verbose Show detailled output * --verbose Show detailled output
* --showsql Dump generated SQL query (DB backend only) * --showsql Dump generated SQL query (DB backend only)
* *
* --format <csv|json|<custom>> * --format=<csv|json|<custom>>
* Dump columns in the given format. <custom> format allows $column$ * Dump columns in the given format. <custom> format allows $column$
* placeholders, e.g. --format '$host$: $service$' * placeholders, e.g. --format='$host$: $service$'
* *
* --<column> [filter] * --<column>[=filter]
* Filter given column by optional filter. Boolean (1/0) columns are * Filter given column by optional filter. Boolean (1/0) columns are
* true if no filter value is given. * true if no filter value is given.
* *
* EXAMPLES * EXAMPLES
* *
* icingacli monitoring list --unhandled * icingacli monitoring list --unhandled
* icingacli monitoring list --host local* --service *disk* * icingacli monitoring list --host=local* --service=*disk*
* icingacli monitoring list --format '$host$: $service$' * icingacli monitoring list --format='$host$: $service$'
*/ */
public function statusAction() public function statusAction()
{ {

View File

@ -27,8 +27,8 @@ class NrpeCommand extends Command
* *
* EXAMPLE * EXAMPLE
* *
* icingacli monitoring nrpe 127.0.0.1 CheckMEM --ssl --MaxWarn 80% \ * icingacli monitoring nrpe 127.0.0.1 CheckMEM --ssl --MaxWarn=80% \
* --MaxCrit 90% --type physical * --MaxCrit=90% --type=physical
*/ */
public function checkAction() public function checkAction()
{ {

View File

@ -29,7 +29,7 @@ class ConfigCommand extends Command
* *
* icingacli setup config directory * icingacli setup config directory
* *
* icingacli setup config directory --mode 2775 --config /opt/icingaweb2/etc * icingacli setup config directory --mode=2775 --config=/opt/icingaweb2/etc
*/ */
public function directoryAction() public function directoryAction()
{ {
@ -96,7 +96,7 @@ class ConfigCommand extends Command
* *
* --path=<urlpath> The URL path to Icinga Web 2 [/icingaweb2] * --path=<urlpath> The URL path to Icinga Web 2 [/icingaweb2]
* *
* --root/--document-root=<directory> The directory from which the webserver will serve files [/path/to/icingaweb2/public] * --root|--document-root=<directory> The directory from which the webserver will serve files [/path/to/icingaweb2/public]
* *
* --config=<directory> Path to Icinga Web 2's configuration files [/etc/icingaweb2] * --config=<directory> Path to Icinga Web 2's configuration files [/etc/icingaweb2]
* *
@ -106,9 +106,9 @@ class ConfigCommand extends Command
* *
* icingacli setup config webserver apache * icingacli setup config webserver apache
* *
* icingacli setup config webserver apache --path /icingaweb2 --document-root /usr/share/icingaweb2/public --config=/etc/icingaweb2 * icingacli setup config webserver apache --path=/icingaweb2 --document-root=/usr/share/icingaweb2/public --config=/etc/icingaweb2
* *
* icingacli setup config webserver apache --file /etc/apache2/conf.d/icingaweb2.conf * icingacli setup config webserver apache --file=/etc/apache2/conf.d/icingaweb2.conf
* *
* icingacli setup config webserver nginx * icingacli setup config webserver nginx
*/ */

View File

@ -41,7 +41,7 @@ class PhpCommand extends Command
* *
* icingacli test php unit --verbose * icingacli test php unit --verbose
* icingacli test php unit --build * icingacli test php unit --build
* icingacli test php unit --include *SpecialTest * icingacli test php unit --include=*SpecialTest
*/ */
public function unitAction() public function unitAction()
{ {
@ -109,8 +109,8 @@ class PhpCommand extends Command
* *
* icingacli test php style --verbose * icingacli test php style --verbose
* icingacli test php style --build * icingacli test php style --build
* icingacli test php style --include path/to/your/file * icingacli test php style --include=path/to/your/file
* icingacli test php style --exclude *someFile* --exclude someOtherFile* * icingacli test php style --exclude=*someFile* --exclude=someOtherFile*
*/ */
public function styleAction() public function styleAction()
{ {