Make ResetAdminPass to ResetPassword

This commit is contained in:
kondou 2014-05-12 16:10:59 +02:00
parent 011bd0a1c4
commit e5e77b370a
3 changed files with 53 additions and 37 deletions

View file

@ -1,36 +0,0 @@
<?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

@ -0,0 +1,52 @@
<?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 ResetPassword extends Command {
protected function configure() {
$this
->setName('resetpassword')
->setDescription('Resets the password of the named user')
->addArgument(
'user',
InputArgument::REQUIRED,
'Username to reset password'
);
;
}
protected function execute(InputInterface $input, OutputInterface $output) {
$username = $input->getArgument('user');
if ($input->isInteractive()) {
$dialog = $this->getHelperSet()->get('dialog');
$password = $dialog->askHiddenResponse(
$output,
'<question>Enter a new password: </question>',
false
);
$dialog = $this->getHelperSet()->get('dialog');
$confirm = $dialog->askHiddenResponse(
$output,
'<question>Confirm the new password: </question>',
false
);
}
if ($password === $confirm) {
\OC_User::setPassword($username, $password);
$output->writeln("Successfully reset password for " . $username);
} else {
$output->writeln("Passwords did not match!");
}
}
}

View file

@ -10,7 +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\ResetPassword());
$application->add(new OC\Core\Command\Maintenance\SingleUser());
$application->add(new OC\Core\Command\App\Disable());
$application->add(new OC\Core\Command\App\Enable());