public function addArgs($args)
{
if (isset($args['input'])) {
// Typecasts TmpFile to filename
$this->addArg((string) $args['input']);
unset($args['input']);
}
if (isset($args['inputArg'])) {
// Typecasts TmpFile to filename and escapes argument
$this->addArg((string) $args['inputArg'], null, true);
unset($args['inputArg']);
}
foreach ($args as $key => $val) {
if (is_numeric($key)) {
$this->addArg("--{$val}");
} elseif (is_array($val)) {
foreach ($val as $vkey => $vval) {
if (is_int($vkey)) {
$this->addArg("--{$key}", $vval);
} else {
$this->addArg("--{$key}", array($vkey, $vval));
}
}
} else {
$this->addArg("--{$key}", $val);
}
}
}