--- loncom/interface/resetpw.pm 2006/11/10 02:03:49 1.3
+++ loncom/interface/resetpw.pm 2009/10/09 17:39:35 1.11.4.1
@@ -1,6 +1,8 @@
# 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).
@@ -24,6 +26,28 @@
# 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;
@@ -41,15 +65,10 @@ sub handler {
if ($r->header_only) {
return OK;
}
- my $start_page =
- &Apache::loncommon::start_page('Reset password','',
- {
- 'no_inline_link' => 1,});
- $r->print($start_page);
my $contact_name = &mt('LON-CAPA helpdesk');
my $contact_email = $r->dir_config('lonSupportEMail');
my $server = $r->dir_config('lonHostID');
- my $defdom = $r->dir_config('lonDefDomain');
+ my $defdom = &Apache::lonnet::default_login_domain();
&Apache::lonacc::get_posted_cgi($r);
&Apache::lonlocal::get_language_handle($r);
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['token']);
@@ -58,12 +77,17 @@ sub handler {
my $uname = &unescape($env{'form.uname'});
my $udom = $env{'form.udom'};
my $token = $env{'form.token'};
- $r->print(&mt('
Reset forgotten LON-CAPA password
'));
+ my $start_page =
+ &Apache::loncommon::start_page('Reset password','',
+ {
+ 'no_inline_link' => 1,});
+ $r->print($start_page);
+ $r->print(''.&mt('Reset forgotten LON-CAPA password').'
');
my $output;
if ($token) {
$output = &reset_passwd($r,$token,$contact_name,$contact_email);
} elsif ($uname && $udom) {
- my $domdesc = $Apache::lonnet::domaindescription{$udom};
+ my $domdesc = &Apache::lonnet::domain($udom,'description');
my $authtype = &Apache::lonnet::queryauthenticate($uname,$udom);
if ($authtype =~ /^internal/) {
my $useremail = $env{'form.useremail'};
@@ -72,7 +96,8 @@ sub handler {
$contact_name,$contact_email);
} else {
my %userinfo =
- &Apache::lonnet::get('environment',\@emailtypes,$udom,$uname);
+ &Apache::lonnet::get('environment',\@emailtypes,
+ $udom,$uname);
my $email = '';
my $emailtarget;
foreach my $type (@emailtypes) {
@@ -121,19 +146,23 @@ sub get_uname {
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.');
- $msg .= '
'.&mt('Three conditions must be met:- An e-mail address must have previously been associated with your LON-CAPA username.
- You must be able to access e-mail sent to that address.
- Your account must be of a type for which LON-CAPA can reset a password.
');
+ $msg .= '
'.&mt('Three conditions must be met:')
+ .'- '.&mt('An e-mail address must have previously been associated with your LON-CAPA username.').'
'
+ .'- '.&mt('You must be able to access e-mail sent to that address.').'
'
+ .'- '.&mt('Your LON-CAPA account must be of a type for which LON-CAPA can reset a password.')
+ .'
';
$msg .= qq|