private function askForArguments($input, $output)
{
$helper = $this->getHelper('question');
$_argument = array();
// Store ID
if (is_null($input->getArgument('store-id'))) {
$store_id = Mage::getModel('core/store')->getCollection()->addFieldToSelect('*')->addFieldToFilter('store_id', array('gt' => 0))->setOrder('store_id', 'ASC');
$_store_ids = array();
foreach ($store_id as $item) {
$_store_ids[$item['store_id']] = $item['store_id'] . "|" . $item['code'];
}
$question = new ChoiceQuestion('Please select Store ID (default: 1)', $_store_ids, self::DEFAULT_STORE_ID);
$question->setErrorMessage('Store ID "%s" is invalid.');
$response = explode("|", $helper->ask($input, $output, $question));
$input->setArgument('store-id', $response[0]);
}
$output->writeln('<info>Store ID selected: ' . $input->getArgument('store-id') . "</info>");
$_argument['store-id'] = $input->getArgument('store-id');
// Number of Categories
if (is_null($input->getArgument('category-number'))) {
$question = new Question("Please enter the number of categories to create (default 1): ", 1);
$question->setValidator(function ($answer) {
$answer = (int) $answer;
if (!is_int($answer) || $answer <= 0) {
throw new RuntimeException('Please enter an integer value or > 0');
}
return $answer;
});
$input->setArgument('category-number', $helper->ask($input, $output, $question));
}
$output->writeln('<info>Number of categories to create: ' . $input->getArgument('category-number') . "</info>");
$_argument['category-number'] = $input->getArgument('category-number');
// Number of child categories
if (is_null($input->getArgument('children-categories-number'))) {
$question = new Question("Number of children for each category created (default: 0 - use '-1' for random from 0 to 5): ", 0);
$question->setValidator(function ($answer) {
$answer = (int) $answer;
if (!is_int($answer) || $answer < -1) {
throw new RuntimeException("Please enter an integer value or >= -1");
}
return $answer;
});
$input->setArgument('children-categories-number', $helper->ask($input, $output, $question));
}
if ($input->getArgument('children-categories-number') == -1) {
$input->setArgument('children-categories-number', rand(0, 5));
}
$output->writeln('<info>Number of categories children to create: ' . $input->getArgument('children-categories-number') . "</info>");
$_argument['children-categories-number'] = $input->getArgument('children-categories-number');
// Category name prefix
if (is_null($input->getArgument('category-name-prefix'))) {
$question = new Question("Please enter the category name prefix (default '" . self::DEFAULT_CATEGORY_NAME . "'): ", self::DEFAULT_CATEGORY_NAME);
$input->setArgument('category-name-prefix', $helper->ask($input, $output, $question));
}
$output->writeln('<info>CATEGORY NAME PREFIX: ' . $input->getArgument('category-name-prefix') . "</info>");
$_argument['category-name-prefix'] = $input->getArgument('category-name-prefix');
return $_argument;
}