diff options
| author | Imbasaur <yarrusg@gmail.com> | 2016-04-13 17:05:59 +0200 |
|---|---|---|
| committer | Imbasaur <yarrusg@gmail.com> | 2016-04-13 17:05:59 +0200 |
| commit | 99f275e5bb033cca33eee87b0e914645730f13d1 (patch) | |
| tree | ad845419d56304f2bf014744f0878186f7155a3c /app/Console/ResetTwoFactorCommand.php | |
| parent | 13d5bd8e48bd6c0109d1272da58a8879bf9a6737 (diff) | |
| parent | cd5bf9d4d214ec9282b706c26bb27cabf150ee63 (diff) | |
Merge pull request #1 from fguillot/master
Diffstat (limited to 'app/Console/ResetTwoFactorCommand.php')
| -rw-r--r-- | app/Console/ResetTwoFactorCommand.php | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/app/Console/ResetTwoFactorCommand.php b/app/Console/ResetTwoFactorCommand.php new file mode 100644 index 00000000..3bf01e81 --- /dev/null +++ b/app/Console/ResetTwoFactorCommand.php @@ -0,0 +1,38 @@ +<?php + +namespace Kanboard\Console; + +use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +class ResetTwoFactorCommand extends BaseCommand +{ + protected function configure() + { + $this + ->setName('user:reset-2fa') + ->setDescription('Remove two-factor authentication for a user') + ->addArgument('username', InputArgument::REQUIRED, 'Username'); + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + $username = $input->getArgument('username'); + $userId = $this->user->getIdByUsername($username); + + if (empty($userId)) { + $output->writeln('<error>User not found</error>'); + return false; + } + + if (!$this->user->update(array('id' => $userId, 'twofactor_activated' => 0, 'twofactor_secret' => ''))) { + $output->writeln('<error>Unable to update user profile</error>'); + return false; + } + + $output->writeln('<info>Two-factor authentication disabled</info>'); + + return true; + } +} |
