diff --git a/setup/cli/modules/class.module.php b/setup/cli/modules/class.module.php index b91b020eaeda7512bcd1fa439d6f91cea5047922..02c9b5f5c11b0327c8027084f69f30bb91212d00 100644 --- a/setup/cli/modules/class.module.php +++ b/setup/cli/modules/class.module.php @@ -205,8 +205,11 @@ class Module { $this->parseArgs(array_slice($argv, 1)); foreach (array_keys($this->arguments) as $idx=>$name) - if (!isset($this->_args[$idx])) - $this->optionError($name . " is a required argument"); + if (!isset($this->_args[$idx])) { + $info = $this->arguments[$name]; + if (!is_array($info) || !isset($info['required']) || $info['required']) + $this->optionError($name . " is a required argument"); + } elseif (is_array($this->arguments[$name]) && isset($this->arguments[$name]['options']) && !isset($this->arguments[$name]['options'][$this->_args[$idx]]))