--- loncom/interface/resetpw.pm 2007/09/10 17:18:09 1.7 +++ loncom/interface/resetpw.pm 2009/09/14 14:48:20 1.11.2.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.2.1 2009/09/14 14:48:20 raeburn Exp $ +# # Copyright Michigan State University Board of Trustees # # This file is part of the LearningOnline Network with CAPA (LON-CAPA). @@ -41,11 +43,6 @@ 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'); @@ -58,7 +55,12 @@ 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); @@ -118,18 +120,22 @@ 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.'); - $msg .= '

'.&mt('Three conditions must be met:'); + $msg .= &mt('Three conditions must be met:') + .''; $msg .= qq|
+ - + @@ -146,8 +152,7 @@ sub get_uname { sub send_token { my ($uname,$udom,$email,$server,$domdesc,$contact_name, $contact_email) = @_; - my $msg = &mt('Thank you for your request to reset the password for your - LON-CAPA account.').'

'; + my $msg = &mt('Thank you for your request to reset the password for your LON-CAPA account.').'

'; my $now = time; my $temppasswd = &create_passwd(); @@ -161,10 +166,9 @@ sub send_token { my $token = &Apache::lonnet::tmpput(\%info,$server,'resetpw'); if ($token !~ /^error/ && $token ne 'no_such_host') { my $esc_token = &escape($token); - my $mailmsg = "A request was submitted on ".localtime(time)." for a reset of the ". - "password for your LON-CAPA account.". - "To complete this process please open a web browser and enter the following ". - "URL in the address/location box: ".&Apache::lonnet::absolute_url()."/adm/resetpw?token=$esc_token"; + my $showtime = &Apache::lonlocal::locallocaltime(time); + my $reseturl = &Apache::lonnet::absolute_url().'/adm/resetpw?token='.$esc_token; + my $mailmsg = &mt('A request was submitted on [_1] for a reset of the password for your LON-CAPA account.',$showtime).' '.&mt('To complete this process please open a web browser and enter the following URL in the address/location box: [_1]',$reseturl); my $result = &send_mail($domdesc,$email,$mailmsg,$contact_name, $contact_email); if ($result eq 'ok') { @@ -201,7 +205,8 @@ sub invalid_state { my ($error,$domdesc,$contact_name,$contact_email) = @_; my $msg; if ($error eq 'invalid') { - $msg = &mt('The username you provided was not verified as a valid username in the LON-CAPA system for the [_1] domain.',$domdesc).&mt(' Please go back and try again.'); + $msg = &mt('The username you provided was not verified as a valid username in the LON-CAPA system for the [_1] domain.',$domdesc) + .' '.&mt('Please [_1]go back[_2] and try again.','',''); } else { if ($error eq 'baduseremail') { $msg = &mt('The e-mail address you provided does not appear to be a valid address.'); @@ -214,9 +219,10 @@ sub invalid_state { } if ($contact_email ne '') { my $escuri = &HTML::Entities::encode('/adm/resetpw','&<>"'); - $msg .= '
'.&mt(' You may wish to contact the LON-CAPA helpdesk for the [_2] domain.',$escuri,$domdesc); + $msg .= '
'.&mt('You may wish to contact the [_1]LON-CAPA helpdesk[_2] for the [_3] domain.' + ,'','',$domdesc); } else { - $msg .= '
'.&mt(' You may wish to send an e-mail to the server administrator: [_1] for the [_2] domain.',$Apache::lonnet::perlvar{'AdminEmail'},$domdesc); + $msg .= '
'.&mt('You may wish to send an e-mail to the server administrator: [_1] for the [_2] domain.',$Apache::lonnet::perlvar{'AdminEmail'},$domdesc); } } return $msg; @@ -236,14 +242,14 @@ sub reset_passwd { ($data{'domain'} ne '') && ($data{'email'} =~ /^[^\@]+\@[^\@]+\.[^\@\.]+$/) && ($data{'temppasswd'} =~/^\w+$/)) { - my $reqtime = localtime($data{'time'}); + my $reqtime = &Apache::lonlocal::locallocaltime($data{'time'}); if ($now - $data{'time'} < 7200) { if ($env{'form.action'} eq 'verify_and_change_pass') { my $change_failed = &Apache::lonpreferences::verify_and_change_password($r,'reset_by_email',$token); if (!$change_failed) { my $delete = &Apache::lonnet::tmpdel($token); - my $now = localtime(time); + my $now = &Apache::lonlocal::locallocaltime(time); my $domdesc = &Apache::lonnet::domain($data{'domain'},'description'); my $mailmsg = &mt('The password for your LON-CAPA account in the [_1] domain was changed [_2] from IP address: [_3]. If you did not perform this change or authorize it, please contact the [_4] ([_5]).',$domdesc,$now,$ENV{'REMOTE_ADDR'},$contact_name,$contact_email)."\n";
-
LON-CAPA $lt{'unam'}:
GCI WebCenter $lt{'unam'}:
LON-CAPA $lt{'udom'}:
GCI WebCenter $lt{'udom'}: |; $msg .= &Apache::loncommon::select_dom_form($defdom,'udom'); $msg .= qq|