call_user_func(array($this, $this->cmds[$command]['run']), $this->args);
}
- static function error ($msg, $exit_code = 1)
+ static function notice ($msg)
{
fprintf(STDERR, $msg);
+ }
+
+ static function error ($msg, $exit_code = 1)
+ {
+ notice($msg);
exit($exit_code);
}
/**
* Argument type loader
*
- * @param string $arg Either 'auto' or an filename that contains class
- * PHP_Archive
+ * @param string $arg Either 'auto', 'optional' or an filename that
+ * contains class PHP_Archive
* @param string $cfg Configuration to pass to a new file
* @param string $key The key
* @return string $arg The argument.
break;
}
}
- if (!isset($found) && $arg != 'optional') {
- self::error("Pear package PHP_Archive or Archive.php class file not found.\n");
+ if (!isset($found)) {
+ $msg = "Pear package PHP_Archive or Archive.php class file not found.\n";
+ if ($arg == 'optional') {
+ self::notice($msg);
+ } else {
+ self::error($msg);
+ }
}
$arg = $found;
}