--- loncom/interface/resetpw.pm 2009/10/09 17:39:35 1.11.4.1
+++ loncom/interface/resetpw.pm 2008/12/06 20:35:15 1.12
@@ -1,8 +1,6 @@
# The LearningOnline Network
# Allow access to password changing via a token sent to user's e-mail.
#
-# $Id: resetpw.pm,v 1.11.4.1 2009/10/09 17:39:35 raeburn Exp $
-#
# Copyright Michigan State University Board of Trustees
#
# This file is part of the LearningOnline Network with CAPA (LON-CAPA).
@@ -26,28 +24,6 @@
# http://www.lon-capa.org/
#
#
-
-=pod
-
-=head1 NAME
-
-Apache::resetpw: reset user password.
-
-=head1 SYNOPSIS
-
-Handles resetting of forgotten passwords.
-
-This is part of the LearningOnline Network with CAPA project
-described at http://www.lon-capa.org.
-
-=head1 OVERVIEW
-
-A user with an e-mail address associated with his/her LON-CAPA username
-can reset a forgotten password, using a link sent to the e-mail address
-if the authentication type for the account is "internal".
-
-=cut
-
package Apache::resetpw;
use strict;
@@ -68,7 +44,7 @@ sub handler {
my $contact_name = &mt('LON-CAPA helpdesk');
my $contact_email = $r->dir_config('lonSupportEMail');
my $server = $r->dir_config('lonHostID');
- my $defdom = &Apache::lonnet::default_login_domain();
+ my $defdom = $r->dir_config('lonDefDomain');
&Apache::lonacc::get_posted_cgi($r);
&Apache::lonlocal::get_language_handle($r);
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['token']);
@@ -142,7 +118,7 @@ sub get_uname {
my %lt = &Apache::lonlocal::texthash(
unam => 'username',
udom => 'domain',
- uemail => 'Email address in LON-CAPA',
+ uemail => 'E-mail address in LON-CAPA',
proc => 'Proceed');
my $msg = &mt('If you use the same account for other campus services besides LON-CAPA, (e.g., e-mail, course registration, etc.), a separate centrally managed mechanism likely exists to reset a password. However, if your account is used for just LON-CAPA access you will probably be able to reset a password from this page.');
@@ -268,10 +244,6 @@ sub reset_passwd {
my $reqtime = &Apache::lonlocal::locallocaltime($data{'time'});
if ($now - $data{'time'} < 7200) {
if ($env{'form.action'} eq 'verify_and_change_pass') {
- unless (($env{'form.uname'} eq $data{'username'}) && ($env{'form.udom'} eq $data{'domain'}) && ($env{'form.email'} eq $data{'email'})) {
- $msg = &generic_failure_msg($contact_name,$contact_email);
- return $msg;
- }
my $change_failed =
&Apache::lonpreferences::verify_and_change_password($r,'reset_by_email',$token);
if (!$change_failed) {
@@ -288,24 +260,8 @@ sub reset_passwd {
$msg .= &mt('An error occurred when sending e-mail to [_1] confirming setting of your new password.',$data{'email'});
}
$msg .= '
'.&mt('Go to the login page.');
- } elsif ($change_failed eq 'invalid_client') {
- my $homeserver = &Apache::lonnet::homeserver($data{'username'},$data{'domain'});
- if ($homeserver eq 'no_host') {
- $msg .= &generic_failure_msg($contact_name,$contact_email);
- } else {
- my $protocol = $Apache::lonnet::protocol{$homeserver};
- $protocol = 'http' if ($protocol ne 'https');
- my $url = $protocol.'://'.&Apache::lonnet::hostname($homeserver).
- '/adm/resetpw';
- my ($opentag,$closetag);
- if ($url) {
- $opentag = '';
- $closetag = '';
- }
- $msg .= &mt('A problem occurred when attempting to reset the password for your account. Please try again from your [_1]home server[_2].',$opentag,$closetag);
- }
} else {
- $msg .= &generic_failure_msg($contact_name,$contact_email);
+ $msg .= &mt('A problem occurred when attempting to reset the password for your account. Please contact the [_1] - ([_2]) for assistance.',$contact_name,$contact_email);
}
} else {
$r->print(&mt('The token included in an email sent to you [_1] has been verified, so you may now proceed to reset the password for your LON-CAPA account.',$reqtime).'
');
@@ -321,12 +277,6 @@ sub reset_passwd {
return $msg;
}
-sub generic_failure_msg {
- my ($contact_name,$contact_email) = @_;
- return &mt('A problem occurred when attempting to reset the password for your account. Please contact the [_1] - ([_2]) for assistance.',
- $contact_name,''.$contact_email.'');
-}
-
sub create_passwd {
my $passwd = '';
my @letts = ("a".."z");