\n"; } elsif ($muser) { # Update in Virtualmin if this is a mail user my %oldmuser = %$muser; $muser->{'plainpass'} = $in{'newpass'}; $muser->{'pass'} = &virtual_server::encrypt_user_password( $muser, $muser->{'plainpass'}); $muser->{'passmode'} = 3; &virtual_server::set_pass_change($muser); &virtual_server::modify_user($muser, \%oldmuser, $muserdom); } elsif ($link{'uuser'} || $wuser->{'pass'} eq 'x') { # Update in Users and Groups print &text('forgot_udoing', "".&html_escape($username).""),"\n"; &foreign_require("useradmin"); my ($user) = grep { $_->{'user'} eq $username } &useradmin::list_users(); $user || &error($text{'forgot_eunix'}); $user->{'pass'} eq $useradmin::config{'lock_string'} && &error($text{'forgot_eunixlock'}); my $olduser = { %$user }; $user->{'passmode'} = 3; $user->{'plainpass'} = $in{'newpass'}; $user->{'pass'} = &useradmin::encrypt_password($in{'newpass'}, undef, 1); &useradmin::modify_user($olduser, $user); &useradmin::other_modules("useradmin_modify_user", $user, $olduser); &reload_miniserv(); print $text{'forgot_done'},"
\n"; } else { # Update in Webmin print &text('forgot_wdoing', "".&html_escape($link{'user'}).""),"\n"; $wuser->{'pass'} = &acl::encrypt_password($in{'newpass'}); &acl::modify_user($wuser->{'name'}, $wuser); &reload_miniserv(); print $text{'forgot_done'},"
\n"; } # Print link to login for Webmin user if (!$muser) { print &text('forgot_retry', &get_webprefix()."/", "".$username.""),"
\n"; } else { print &text('forgot_retry2', "".$username.""),"
\n"; } &webmin_log("forgot", "reset", undef, { 'user' => $username, 'unix' => $link{'uuser'} ? 1 : 0, 'email' => $email }, "acl"); &unlink_logged($linkfile); } else { # Show password selection form print "