public function SendRandomPassword() { $emailAddress = $this->_page->GetEmailAddress(); Log::Debug('Password reset request for email address %s requested from REMOTE_ADDR: %s REMOTE_HOST: %s', $emailAddress, $_SERVER['REMOTE_ADDR'], $_SERVER['REMOTE_HOST']); $temporaryPassword = Password::GenerateRandom(); $passwordEncryption = new PasswordEncryption(); $salt = $passwordEncryption->Salt(); $encrypted = $passwordEncryption->Encrypt($temporaryPassword, $salt); $userRepository = new UserRepository(); $user = $userRepository->FindByEmail($emailAddress); if ($user != null) { $user->ChangePassword($encrypted, $salt); $userRepository->Update($user); $emailMessage = new ForgotPasswordEmail($user, $temporaryPassword); ServiceLocator::GetEmailService()->Send($emailMessage); } }