N98\Magento\Command\Category\Create\DummyCommand::askForArguments PHP Method

askForArguments() private method

Ask for command arguments
private askForArguments ( Symfony\Component\Console\Input\InputInterface $input, Symfony\Component\Console\Output\OutputInterface $output ) : array
$input Symfony\Component\Console\Input\InputInterface
$output Symfony\Component\Console\Output\OutputInterface
return array
    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;
    }