From d4be8218253ae887c284ef30a9a3a0ef10799b9a Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 10 Jun 2022 22:16:48 +0300 Subject: UserHelper, CLI: add a method to check user password --- update.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'update.php') diff --git a/update.php b/update.php index d63706b86..5e31c805b 100755 --- a/update.php +++ b/update.php @@ -101,6 +101,7 @@ "user-list" => "list all users", "user-add:" => ["USER[:PASSWORD[:ACCESS_LEVEL=0]]", "add USER, prompts for password if unset"], "user-remove:" => ["USERNAME", "remove USER"], + "user-check-password:" => ["USER:PASSWORD", "returns 0 if user has specified PASSWORD"], "user-set-password:" => ["USER:PASSWORD", "sets PASSWORD of specified USER"], "user-set-access-level:" => ["USER:LEVEL", "sets access LEVEL of specified USER"], "user-exists:" => ["USER", "returns 0 if specified USER exists in the database"], @@ -535,6 +536,21 @@ exit(1); } + if (isset($options["user-check-password"])) { + list ($login, $password) = explode(":", $options["user-check-password"], 2); + + $uid = UserHelper::find_user_by_login($login); + + if (!$uid) { + Debug::log("Error: User not found: $login"); + exit(1); + } + + $rc = UserHelper::user_has_password($uid, $password); + + exit($rc ? 0 : 1); + } + PluginHost::getInstance()->run_commands($options); if (file_exists(Config::get(Config::LOCK_DIRECTORY) . "/$lock_filename")) -- cgit v1.2.3