Add a resetadminpass command to console - fix #8248

This commit is contained in:
kondou 2014-05-12 15:33:26 +02:00
parent f4e8de3cbb
commit 011bd0a1c4
2 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,36 @@
<?php
/**
* Copyright (c) 2013 Christopher Schäpers <christopher@schaepers.it>
* 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);
}
}

View File

@ -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());