]> git.mxchange.org Git - friendica.git/commitdiff
Add hidden password input to Console\NewPassword
authorHypolite Petovan <mrpetovan@gmail.com>
Thu, 19 Apr 2018 02:56:52 +0000 (22:56 -0400)
committerHypolite Petovan <mrpetovan@gmail.com>
Thu, 19 Apr 2018 11:51:26 +0000 (07:51 -0400)
- Add Exception when password is empty

src/Core/Console/NewPassword.php

index d44286d28f7cc21f82b3207a1ee4c47ca737a082..f5698ba716ff62b1cf0e3258c2155436ca208769 100644 (file)
@@ -27,7 +27,7 @@ class NewPassword extends \Asika\SimpleConsole\Console
                $help = <<<HELP
 console newpassword - Creates a new password for a given user
 Usage
-       bin/console newpassword <nickname> <password> [-h|--help|-?] [-v]
+       bin/console newpassword <nickname> [<password>] [-h|--help|-?] [-v]
 
 Description
        Creates a new password for a user without using the "forgot password" functionality.
@@ -67,13 +67,22 @@ HELP;
                }
 
                $nick = $this->getArgument(0);
-               $password = $this->getArgument(1);
 
                $user = dba::selectFirst('user', ['uid'], ['nickname' => $nick]);
                if (!DBM::is_result($user)) {
                        throw new \RuntimeException(L10n::t('User not found'));
                }
 
+               $password = $this->getArgument(1);
+               if (is_null($password)) {
+                       $this->out(L10n::t('Enter new password: '), false);
+                       $password = \Seld\CliPrompt\CliPrompt::hiddenPrompt(true);
+               }
+
+               if (!$password) {
+                       throw new \RuntimeException(L10n::t('Password can\'t be empty'));
+               }
+
                if (!Config::get('system', 'disable_password_exposed', false) && User::isPasswordExposed($password)) {
                        throw new \RuntimeException(L10n::t('The new password has been exposed in a public data dump, please choose another.'));
                }