X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCore%2FConsole%2FNewPassword.php;h=3cd96ad322bd5107be58c830b56b8d080000698c;hb=3aa77685fcccff9739384136b4894de43200fa8c;hp=e5f93491905b80fa5f19e95f8f171a771216c9d3;hpb=3985a4bc43cb923ed0348a0881d5aa11a13d70ef;p=friendica.git diff --git a/src/Core/Console/NewPassword.php b/src/Core/Console/NewPassword.php index e5f9349190..3cd96ad322 100644 --- a/src/Core/Console/NewPassword.php +++ b/src/Core/Console/NewPassword.php @@ -3,11 +3,9 @@ namespace Friendica\Core\Console; use Friendica\Core\L10n; -use Friendica\Model\Contact; +use Friendica\Database\DBA; use Friendica\Model\User; -use Friendica\Core\Config; -use Friendica\Database\DBM; -use dba; +use RuntimeException; /** * @brief tool to set a new password for a user @@ -41,7 +39,7 @@ HELP; protected function doExecute() { - $a = get_app(); + $a = \get_app(); if ($this->getOption('v')) { $this->out('Class: ' . __CLASS__); @@ -58,15 +56,15 @@ HELP; throw new \Asika\SimpleConsole\CommandArgsException('Too many arguments'); } - if ($a->mode == \Friendica\App::MODE_INSTALL) { - throw new \RuntimeException('Database isn\'t ready or populated yet'); + if ($a->getMode()->isInstall()) { + throw new RuntimeException('Database isn\'t ready or populated yet'); } $nick = $this->getArgument(0); - $user = dba::selectFirst('user', ['uid'], ['nickname' => $nick]); - if (!DBM::is_result($user)) { - throw new \RuntimeException(L10n::t('User not found')); + $user = DBA::selectFirst('user', ['uid'], ['nickname' => $nick]); + if (!DBA::isResult($user)) { + throw new RuntimeException(L10n::t('User not found')); } $password = $this->getArgument(1); @@ -75,20 +73,18 @@ HELP; $password = \Seld\CliPrompt\CliPrompt::hiddenPrompt(true); } - if (!$password) { - throw new \RuntimeException(L10n::t('Password can\'t be empty')); - } + try { + $result = User::updatePassword($user['uid'], $password); - 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.')); - } + if (!DBA::isResult($result)) { + throw new \Exception(L10n::t('Password update failed. Please try again.')); + } - if (!User::updatePassword($user['uid'], $password)) { - throw new \RuntimeException(L10n::t('Password update failed. Please try again.')); + $this->out(L10n::t('Password changed.')); + } catch (\Exception $e) { + throw new RuntimeException($e->getMessage(), $e->getCode(), $e); } - $this->out(L10n::t('Password changed.')); - return 0; } }