protected function initScriptList(CliEngine $cliEngine, Injectables $injectables, $cliParams)
{
// our list of stories to play
$this->scriptList = [];
foreach ($cliParams as $cliParam) {
// figure out what to do?
if (is_dir($cliParam)) {
$this->scriptList = $this->scriptList + $this->addScriptsFromFolder($cliEngine, $injectables, $cliParam);
} else {
if (is_file($cliParam)) {
// are we loading a story, or a list of stories?
$paramParts = explode('.', $cliParams[0]);
$paramSuffix = end($paramParts);
switch ($paramSuffix) {
case 'php':
$this->scriptList = $this->scriptList + $this->addScriptFromFile($cliEngine, $injectables, $cliParam);
break;
case 'json':
$this->scriptList = $this->scriptList + $this->addScriptsFromFile($cliEngine, $injectables, $cliParam);
break;
default:
$this->output->logCliError("unsupported script file '{$cliParam}'");
exit(1);
}
} else {
// if we get here, we've no idea what to do
$this->output->logCliError("no such file: '{$cliParam}'");
exit(1);
}
}
}
}