From 5218701a4ac1507c472c2bddaca9941f4a4af1d7 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Wed, 13 Jun 2012 10:49:41 +0200 Subject: Improve getopt feature for command line scripts --- program/include/clisetup.php | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to 'program/include/clisetup.php') diff --git a/program/include/clisetup.php b/program/include/clisetup.php index c947570f2..039020bdc 100644 --- a/program/include/clisetup.php +++ b/program/include/clisetup.php @@ -5,7 +5,7 @@ | program/include/clisetup.php | | | | This file is part of the Roundcube Webmail client | - | Copyright (C) 2010, The Roundcube Dev Team | + | Copyright (C) 2010-2012, The Roundcube Dev Team | | | | Licensed under the GNU General Public License version 3 or | | any later version with exceptions for skins & plugins. | @@ -31,27 +31,29 @@ require_once INSTALL_PATH . 'program/include/iniset.php'; /** * Parse commandline arguments into a hash array */ -function get_opt($aliases=array()) +function get_opt($aliases = array()) { $args = array(); - for ($i=1; $i 0) { + $key = substr($key, 0, $sp - 2); + $value = substr($arg, $sp+1); + } + else if (strlen($_SERVER['argv'][$i+1]) && $_SERVER['argv'][$i+1][0] != '-') { + $value = $_SERVER['argv'][++$i]; + } + + $args[$key] = is_string($value) ? preg_replace(array('/^["\']/', '/["\']$/'), '', $value) : $value; } else - continue; - - $args[$key] = preg_replace(array('/^["\']/', '/["\']$/'), '', $value); + $args[] = $arg; if ($alias = $aliases[$key]) $args[$alias] = $args[$key]; -- cgit v1.2.3