From 011bd0a1c47e32fb9df9fdd63524d24b04a7ae14 Mon Sep 17 00:00:00 2001 From: kondou Date: Mon, 12 May 2014 15:33:26 +0200 Subject: [PATCH] Add a resetadminpass command to console - fix #8248 --- core/command/resetadminpass.php | 36 +++++++++++++++++++++++++++++++++ core/register_command.php | 1 + 2 files changed, 37 insertions(+) create mode 100644 core/command/resetadminpass.php diff --git a/core/command/resetadminpass.php b/core/command/resetadminpass.php new file mode 100644 index 0000000000..6f42801061 --- /dev/null +++ b/core/command/resetadminpass.php @@ -0,0 +1,36 @@ + + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Core\Command; + +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Output\OutputInterface; + +class ResetAdminPass extends Command { + protected function configure() { + $this + ->setName('resetadminpass') + ->setDescription('Resets the password of the first user') + ->addArgument( + 'password', + InputArgument::REQUIRED, + 'Password to reset to' + ); + ; + } + + protected function execute(InputInterface $input, OutputInterface $output) { + $password = $input->getArgument('password'); + $query = \OC_DB::prepare('SELECT `uid` FROM `*PREFIX*users` LIMIT 1'); + $username = $query->execute()->fetchOne(); + \OC_User::setPassword($username, $password); + $output->writeln("Successfully reset password for " . $username . " to " . $password); + } +} diff --git a/core/register_command.php b/core/register_command.php index 2efa838e9e..ef5456a1bd 100644 --- a/core/register_command.php +++ b/core/register_command.php @@ -10,6 +10,7 @@ $application->add(new OC\Core\Command\Status); $application->add(new OC\Core\Command\Db\GenerateChangeScript()); $application->add(new OC\Core\Command\Upgrade()); +$application->add(new OC\Core\Command\ResetAdminPass()); $application->add(new OC\Core\Command\Maintenance\SingleUser()); $application->add(new OC\Core\Command\App\Disable()); $application->add(new OC\Core\Command\App\Enable());