private function showTaskHelp($taskTogetHelp)
{
$config = $this->getDI()->get('config');
$helpOutput = PHP_EOL;
if (isset($config['appName'])) {
$helpOutput .= $config['appName'] . ' ';
}
if (isset($config['version'])) {
$helpOutput .= $config['version'];
}
echo $helpOutput . PHP_EOL;
echo PHP_EOL . 'Usage:' . PHP_EOL;
echo PHP_EOL;
echo "\t", 'command [<task> [<action> [<param1> <param2> ... <paramN>] ] ]', PHP_EOL;
echo PHP_EOL;
foreach ($this->documentation as $task => $doc) {
if ($taskTogetHelp != $task) {
continue;
}
echo PHP_EOL;
echo "Task: " . $task . PHP_EOL . PHP_EOL;
foreach ($doc['description'] as $line) {
echo ' ' . $line . PHP_EOL;
}
echo PHP_EOL;
echo 'Available actions:' . PHP_EOL . PHP_EOL;
foreach ($doc['actions'] as $actionName => $aDoc) {
echo ' ' . $actionName . PHP_EOL;
if (isset($aDoc['description'])) {
echo ' ' . implode(PHP_EOL, $aDoc['description']) . PHP_EOL;
}
echo PHP_EOL;
if (isset($aDoc['params']) && is_array($aDoc['params'])) {
echo ' Parameters:' . PHP_EOL;
foreach ($aDoc['params'] as $param) {
if (is_array($param)) {
$_to_print = '';
if (isset($param[0]['name'])) {
$_to_print = $param[0]['name'];
}
if (isset($param[0]['type'])) {
$_to_print .= ' ( ' . $param[0]['type'] . ' )';
}
if (isset($param[0]['description'])) {
$_to_print .= ' ' . $param[0]['description'] . PHP_EOL;
}
if (!empty($_to_print)) {
echo ' ' . $_to_print;
}
}
}
}
}
break;
}
}