userStore = $userStore; } protected function configure() { $this ->setName('php-censor:create-admin') ->setDescription(Lang::get('create_admin_user')); } /** * Creates an admin user in the existing PHPCI database * * {@inheritDoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $userService = new UserService($this->userStore); /** @var $helper QuestionHelper */ $helper = $this->getHelperSet()->get('question'); $question = new Question(Lang::get('enter_email')); $question->setValidator(function ($answer) { if (!filter_var($answer, FILTER_VALIDATE_EMAIL)) { throw new \InvalidArgumentException(Lang::get('must_be_valid_email')); } return $answer; }); $adminEmail = $helper->ask($input, $output, $question); $question = new Question(Lang::get('enter_name')); $adminName = $helper->ask($input, $output, $question); $question = new Question(Lang::get('enter_password')); $question->setHidden(true); $question->setHiddenFallback(false); $adminPass = $helper->ask($input, $output, $question); try { $userService->createUser($adminName, $adminEmail, $adminPass, true); $output->writeln(Lang::get('user_created')); } catch (\Exception $e) { $output->writeln(sprintf('%s', Lang::get('failed_to_create'))); $output->writeln(sprintf('%s', $e->getMessage())); } } }