command line arg handling a little more flexible

This commit is contained in:
Evan Prodromou 2009-06-28 16:12:45 -04:00
parent 6ca4dfa7ef
commit 2f8c656e1d

View File

@ -115,24 +115,60 @@ require_once INSTALLDIR . '/lib/common.php';
set_error_handler('common_error_handler'); set_error_handler('common_error_handler');
function have_option($str) function have_option($opt, $alt=null)
{ {
global $options; global $options;
$matches = array($opt);
if (strlen($opt) > 1 && 0 != strncmp($opt, '--', 2)) {
$matches[] = '--'.$opt;
} else {
$matches[] = $opt;
}
if (!empty($alt)) {
if (strlen($alt) > 1 && 0 != strncmp($alt, '--', 2)) {
$matches[] = '--'.$alt;
} else {
$matches[] = $alt;
}
}
foreach ($options as $option) { foreach ($options as $option) {
if ($option[0] == $str) { if (in_array($option[0], $matches)) {
return true; return true;
} }
} }
return false; return false;
} }
function get_option_value($str) function get_option_value($str, $alt=null)
{ {
global $options; global $options;
$matches = array();
if (strlen($opt) > 1 && 0 != strncmp($opt, '--', 2)) {
$matches[] = '--'.$opt;
} else {
$matches[] = $opt;
}
if (!empty($alt)) {
if (strlen($alt) > 1 && 0 != strncmp($alt, '--', 2)) {
$matches[] = '--'.$alt;
} else {
$matches[] = $alt;
}
}
foreach ($options as $option) { foreach ($options as $option) {
if ($option[0] == $str) { if (in_array($option[0], $matches)) {
return $option[1]; return $option[1];
} }
} }
return null; return null;
} }