Diff for /loncom/interface/resetpw.pm between versions 1.28 and 1.34

version 1.28, 2012/10/02 18:08:12 version 1.34, 2013/07/19 18:24:17
Line 91  sub handler { Line 91  sub handler {
     my $udom = $env{'form.udom'};      my $udom = $env{'form.udom'};
     my $token = $env{'form.token'};      my $token = $env{'form.token'};
     my $brcrum = [];      my $brcrum = [];
     my $bread_crumbs_component = 'Forgotten Password';  
     if ($token) {      if ($token) {
         push (@{$brcrum},          push (@{$brcrum},
             {href => '/adm/resetpw',              {href => '/adm/resetpw',
              text => 'Update Password'});               text => 'Update Password'});
   
         $bread_crumbs_component = 'Reset Password';   
     } else {      } else {
         push (@{$brcrum},          push (@{$brcrum},
             {href => '/adm/resetpw',              {href => '/adm/resetpw',
Line 108  sub handler { Line 105  sub handler {
                  text => 'Result'});                   text => 'Result'});
         }          }
     }      }
     my $args = {bread_crumbs => $brcrum,      my $args = {bread_crumbs => $brcrum};
                 bread_crumbs_component => $bread_crumbs_component};  
     $r->print(&Apache::loncommon::start_page('Reset password','',$args));      $r->print(&Apache::loncommon::start_page('Reset password','',$args));
     $r->print('<h3>'.&mt('Reset forgotten LON-CAPA password').'</h3>');      $r->print('<h2>'.&mt('Reset forgotten LON-CAPA password').'</h2>');
     my $output;      my $output;
     if ($token) {      if ($token) {
         $output = &reset_passwd($r,$token,$contact_name,$contact_email);          $output = &reset_passwd($r,$token,$contact_name,$contact_email);
Line 177  sub handler { Line 173  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 190  sub get_uname { Line 186  sub get_uname {
            .'</ul>';             .'</ul>';
     $msg .= '<form name="forgotpw" method="post" action="/adm/resetpw">'.      $msg .= '<form name="forgotpw" method="post" action="/adm/resetpw">'.
             &Apache::lonhtmlcommon::start_pick_box().               &Apache::lonhtmlcommon::start_pick_box(). 
             &Apache::lonhtmlcommon::row_title('LON-CAPA '.$lt{'unam'}).              &Apache::lonhtmlcommon::row_title($lt{'unam'}).
             '<input type="text" name="uname" size="20" />'.              '<input type="text" name="uname" size="20" />'.
             &Apache::lonhtmlcommon::row_closure(1).              &Apache::lonhtmlcommon::row_closure(1).
             &Apache::lonhtmlcommon::row_title('LON-CAPA '.$lt{'udom'}).              &Apache::lonhtmlcommon::row_title($lt{'udom'}).
             &Apache::loncommon::select_dom_form($defdom,'udom').              &Apache::loncommon::select_dom_form($defdom,'udom').
             &Apache::lonhtmlcommon::row_closure(1).              &Apache::lonhtmlcommon::row_closure(1).
             &Apache::lonhtmlcommon::row_title($lt{'uemail'}).              &Apache::lonhtmlcommon::row_title($lt{'uemail'}).
Line 206  sub get_uname { Line 202  sub get_uname {
 sub send_token {  sub send_token {
     my ($uname,$udom,$email,$server,$domdesc,$contact_name,      my ($uname,$udom,$email,$server,$domdesc,$contact_name,
         $contact_email) = @_;          $contact_email) = @_;
     my $msg = &mt('Thank you for your request to reset the password for your LON-CAPA account.').'<br /><br />';      my $msg =
           '<p class="LC_info">'
          .&mt('Thank you for your request to reset the password for your LON-CAPA account.')
          .'</p>';
   
     my $now = time;      my $now = time;
     my $temppasswd = &create_passwd();      my $temppasswd = &create_passwd();
Line 226  sub send_token { Line 225  sub send_token {
         my $result = &send_mail($domdesc,$email,$mailmsg,$contact_name,          my $result = &send_mail($domdesc,$email,$mailmsg,$contact_name,
                                 $contact_email);                                  $contact_email);
         if ($result eq 'ok') {          if ($result eq 'ok') {
             $msg .= &mt("An e-mail sent to the e-mail address associated with your LON-CAPA account includes the web address for the link you should use to complete the reset process.<br /><br />The link included in the message will be valid for the next <b>two</b> hours.");              $msg .=
                   &mt('An e-mail sent to the e-mail address associated with your LON-CAPA account includes the web address for the link you should use to complete the reset process.')
                  .'<br /><br />'
                  .&mt('The link included in the message will be valid for the next [_1]two[_2] hours.','<b>','</b>');
         } else {          } else {
             $msg .=              $msg .=
                 '<p class="LC_warning">'                  '<p class="LC_error">'
                .&mt("An error occurred when sending a message to the e-mail address"                 .&mt('An error occurred when sending a message to the e-mail address'
                    ." associated with your LON-CAPA account."                     .' associated with your LON-CAPA account.')
                    ." Please contact the [_1] ([_2]) for assistance."                 .'</p>'
                     ,$contact_name,$contact_email)                 .&display_actions($contact_email,$domdesc);
                .'</p>';  
         }          }
     } else {      } else {
         $msg .=          $msg .=
             '<p class="LC_warning">'              '<p class="LC_error">'
            .&mt("An error occurred creating a token required for the"             .&mt('An error occurred creating a token required for the'
                ." password reset process."                 .' password reset process.')
                ." Please contact the [_1] ([_2]) for assistance."             .'</p>'
                 ,$contact_name,$contact_email)             .&display_actions($contact_email,$domdesc);
            .'</p>';  
     }      }
     return $msg;      return $msg;
 }  }
Line 272  sub invalid_state { Line 273  sub invalid_state {
     my ($error,$domdesc,$contact_name,$contact_email) = @_;      my ($error,$domdesc,$contact_name,$contact_email) = @_;
     my $msg;      my $msg;
     if ($error eq 'invalid') {      if ($error eq 'invalid') {
         $msg = '<p class="LC_warning">'.&mt('The username you provided was not verified as a valid username in the LON-CAPA system for the [_1] domain.',$domdesc)          $msg =
               .'</p>'.&mt('Please [_1]go back[_2] and try again.','<a href="javascript:history.go(-1)"><u>','</u></a>');              '<p class="LC_warning">'
               .&mt('The username you provided was not verified as a valid username'
                   .' in the LON-CAPA system for the [_1] domain.','<i>'.$domdesc.'</i>')
                 .'</p>';
           $msg .= &display_actions($contact_email,$domdesc);
     } else {      } else {
         if ($error eq 'baduseremail') {          if ($error eq 'baduseremail') {
             $msg = &mt('The e-mail address you provided does not appear to be a valid address.');              $msg = &mt('The e-mail address you provided does not appear to be a valid address.');
Line 284  sub invalid_state { Line 289  sub invalid_state {
         } elsif ($error eq 'authentication') {          } elsif ($error eq 'authentication') {
             $msg = &mt('The username you provided uses an authentication type which can not be reset directly via LON-CAPA.');              $msg = &mt('The username you provided uses an authentication type which can not be reset directly via LON-CAPA.');
         }          }
         $msg = '<p class="LC_warning">'.$msg.'</p>';          $msg = '<p class="LC_warning">'.$msg.'</p>'
         if ($contact_email ne '') {                .&display_actions($contact_email,$domdesc);
             my $escuri = &HTML::Entities::encode('/adm/resetpw','&<>"');  
             $msg .= '<br /> '.&mt('You may wish to contact the [_1]LON-CAPA helpdesk[_2] for the [_3] domain.'  
                                  ,'<a href="/adm/helpdesk?origurl='.$escuri.'">','</a>',$domdesc);  
         } else {  
             $msg .= '<br /> '.&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;      return $msg;
 }  }
Line 328  sub reset_passwd { Line 327  sub reset_passwd {
                     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";                      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";
                     my $result = &send_mail($domdesc,$data{'email'},$mailmsg,                      my $result = &send_mail($domdesc,$data{'email'},$mailmsg,
                                             $contact_name,$contact_email);                                              $contact_name,$contact_email);
                       my $confirm_msg;
                     if ($result eq 'ok') {                      if ($result eq 'ok') {
                         $msg .=                          $confirm_msg =
                             '<p class="LC_success">'                              &Apache::lonhtmlcommon::confirm_success(
                            .&mt('An e-mail confirming setting of the password'                                  &mt('An e-mail confirming setting of the password'
                                .' for your LON-CAPA account has been sent to [_1].'                                     .' for your LON-CAPA account has been sent to [_1].'
                                 ,$data{'email'})                                      ,'<span class="LC_filename">'.$data{'email'}.'</span>'));
                            .'</p>';  
                     } else {                      } else {
                         $msg .=                          $confirm_msg =
                             '<p class="LC_error">'                              &Apache::lonhtmlcommon::confirm_success(
                            .&mt('An error occurred when sending e-mail to [_1]'                                  &mt('An error occurred when sending e-mail to [_1]'
                                .' confirming setting of your new password.'                                     .' confirming setting of your new password.'
                                 ,$data{'email'})                                      ,'<span class="LC_filename">'.$data{'email'}.'</span>'),1);
                            .'</p>';  
                     }                      }
                     $msg .= '<br />'                      $msg .=
                            .'<a href="/adm/login">'.&mt('Go to the login page').'</a>.';                          &Apache::loncommon::confirmwrapper($confirm_msg)
                          .&Apache::lonhtmlcommon::actionbox([
                               '<a href="/adm/login">'.&mt('Go to the login page').'</a>']);
                 } elsif ($change_failed eq 'invalid_client') {                  } elsif ($change_failed eq 'invalid_client') {
                     my $homeserver = &Apache::lonnet::homeserver($data{'username'},$data{'domain'});                      my $homeserver = &Apache::lonnet::homeserver($data{'username'},$data{'domain'});
                     if ($homeserver eq 'no_host') {                      if ($homeserver eq 'no_host') {
Line 395  sub reset_passwd { Line 395  sub reset_passwd {
 sub generic_failure_msg {  sub generic_failure_msg {
     my ($contact_name,$contact_email) = @_;      my ($contact_name,$contact_email) = @_;
     return      return
         '<p class="LC_warning">'          '<p class="LC_error">'
        .&mt('A problem occurred when attempting to reset the password for your account.'         .&mt('A problem occurred when attempting to reset the password for your account.')
            .' Please contact the [_1] - ([_2]) for assistance.',         .'<br />'
          .&mt('Please contact the [_1] - ([_2]) for assistance.',
               $contact_name,'<a href="mailto:'.$contact_email.'">'.$contact_email.'</a>')                $contact_name,'<a href="mailto:'.$contact_email.'">'.$contact_email.'</a>')
        .'</p>';         .'</p>';
 }  }
Line 422  sub create_passwd { Line 423  sub create_passwd {
     return ($passwd);      return ($passwd);
 }  }
   
   sub display_actions {
       my ($contact_email, $domdesc) = @_;
       my @msg = (&mt('[_1]Go back[_2] and try again',
                      '<a href="javascript:history.go(-1)">','</a>'));
       my $msg2 = '';
       if ($contact_email ne '') {
           my $escuri = &HTML::Entities::encode('/adm/resetpw','&<>"');
           push(@msg, &mt('Contact the [_1]LON-CAPA helpdesk[_2] for the institution: [_3]',
                          '<a href="/adm/helpdesk?origurl='.$escuri.'">',
                          '</a>','<i>'.$domdesc.'</i>'));
       } else {
           $msg2 =
               '<p>'
              .&mt('You may wish to send an e-mail to the'
              .' server administrator: [_1] for the [_2] domain.',
                   '<i>'.$Apache::lonnet::perlvar{'AdmEMail'}.'</i>',
                   '<i>'.$domdesc.'</i>')
              .'</p>';
       }
   
       return &Apache::lonhtmlcommon::actionbox(\@msg).$msg2;
   
   }
   
 1;  1;

Removed from v.1.28  
changed lines
  Added in v.1.34


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