Beispiel #1
0
 function get_reset_password($email, $hash)
 {
     $days = \Vane\Current::config('general.password.reset_days');
     try {
         $email = $this->decodeValue($email);
         $user = User::where('email', '=', $email)->first();
         if (!$user) {
             throw new Error('User not found');
         }
         $valid = false;
         for ($day = 0; $day <= $days; $day++) {
             if ($user->resetHash($day, $hash)) {
                 $valid = true;
                 break;
             }
         }
         if (!$valid) {
             throw new Error('Hash is invalid');
         }
         $newPassword = User::generatePassword();
         $user->password = $newPassword;
         $user->save();
         \Vane\Mail::sendTo($user->emailRecipient(), 'vanemart::mail.user.new_password', array('email' => $email, 'password' => $newPassword));
         $this->status('new_password');
         Auth::login($user->id);
     } catch (\Exception $e) {
         Log::error_User('Error while resetting password: '******'vanemart::login'));
 }