Diff for /loncom/interface/resetpw.pm between versions 1.21 and 1.22.2.1

version 1.21, 2009/10/08 22:59:18 version 1.22.2.1, 2009/12/07 03:53:17
Line 31 Line 31
   
 =head1 NAME  =head1 NAME
   
 Apache::resetpw - pile of common routines  Apache::resetpw: reset user password.
   
 =head1 SYNOPSIS  =head1 SYNOPSIS
   
Line 43  described at http://www.lon-capa.org. Line 43  described at http://www.lon-capa.org.
 =head1 OVERVIEW  =head1 OVERVIEW
   
 A user with an e-mail address associated with his/her LON-CAPA username  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     can reset a forgotten password, using a link sent to the e-mail address
 if the authentication type for the account is "internal".  if the authentication type for the account is "internal".
 account is "internal".  
   
 =cut  =cut
   
Line 149  sub handler { Line 148  sub handler {
 sub get_uname {  sub get_uname {
     my ($defdom) = @_;      my ($defdom) = @_;
     my %lt = &Apache::lonlocal::texthash(      my %lt = &Apache::lonlocal::texthash(
                                          unam => 'username',                                           unam => 'LON-CAPA username',
                                          udom => 'domain',                                           udom => 'LON-CAPA domain',
                                          uemail => 'E-mail address in LON-CAPA',                                           uemail => 'E-mail address in LON-CAPA',
                                          proc => 'Proceed');                                           proc => 'Proceed');
   
Line 164  sub get_uname { Line 163  sub get_uname {
 <form name="forgotpw" method="post">  <form name="forgotpw" method="post">
 <table>  <table>
 <tr><td>  <tr><td>
 <tr><td align="left">LON-CAPA $lt{'unam'}:                      </td>  <tr><td align="left">$lt{'unam'}:                      </td>
     <td><input type="text" name="uname" size="15" /></td></tr>      <td><input type="text" name="uname" size="15" /></td></tr>
 <tr><td align="left">LON-CAPA $lt{'udom'}:                      </td>  <tr><td align="left">$lt{'udom'}:                      </td>
     <td>|;      <td>|;
     $msg .= &Apache::loncommon::select_dom_form($defdom,'udom');      $msg .= &Apache::loncommon::select_dom_form($defdom,'udom');
     $msg .= qq|</td></tr>      $msg .= qq|</td></tr>
Line 277  sub reset_passwd { Line 276  sub reset_passwd {
         my $reqtime = &Apache::lonlocal::locallocaltime($data{'time'});          my $reqtime = &Apache::lonlocal::locallocaltime($data{'time'});
         if ($now - $data{'time'} < 7200) {          if ($now - $data{'time'} < 7200) {
             if ($env{'form.action'} eq 'verify_and_change_pass') {              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 =                   my $change_failed = 
     &Apache::lonpreferences::verify_and_change_password($r,'reset_by_email',$token);      &Apache::lonpreferences::verify_and_change_password($r,'reset_by_email',$token);
                 if (!$change_failed) {                  if (!$change_failed) {

Removed from v.1.21  
changed lines
  Added in v.1.22.2.1


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>