/** * @return bool */ private function askToInstall() { if (array_key_exists($this->workingLocale, $this->installedLocale)) { $reinstallLocale = $this->formatter->confirm('The locale is already installed, would you like to reinstall and overwrite the current translations?', false); if (!$reinstallLocale) { return true; } $this->installWorkingLocale(true); return true; } $install = $this->formatter->confirm('Would you like to install this locale?'); if (!$install) { return false; } $this->formatter->writeln('<info>Before you can enable a new locale you need to authenticate to be able to create the pages</info>'); while (!Authentication::loginUser($this->formatter->ask('Login'), $this->formatter->askHidden('Password'))) { $this->formatter->error('Failed to login, please try again'); } if (!Authentication::isAllowedAction('Copy', 'Pages')) { $this->formatter->error('Your profile doesn\'t have the permission to execute the action Copy of the Pages module'); return false; } $this->installWorkingLocale(); $this->formatter->writeln('<info>Copying pages from the default locale to the current locale</info>'); BackendPagesModel::copy($this->defaultEnabledLocale, $this->workingLocale); return true; }
<?php use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; //Ensure questions do not output anything when input is non-interactive return function (InputInterface $input, OutputInterface $output) { $output = new SymfonyStyle($input, $output); $output->title('Title'); $output->askHidden('Hidden question'); $output->choice('Choice question with default', array('choice1', 'choice2'), 'choice1'); $output->confirm('Confirmation with yes default', true); $output->text('Duis aute irure dolor in reprehenderit in voluptate velit esse'); };