From 011bd0a1c47e32fb9df9fdd63524d24b04a7ae14 Mon Sep 17 00:00:00 2001
From: kondou <kondou@ts.unde.re>
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 00000000000..6f42801061b
--- /dev/null
+++ b/core/command/resetadminpass.php
@@ -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);
+	}
+}
diff --git a/core/register_command.php b/core/register_command.php
index 2efa838e9ee..ef5456a1bd1 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());
-- 
GitLab