Diff for /loncom/interface/createaccount.pm between versions 1.6 and 1.11

version 1.6, 2008/06/27 16:08:42 version 1.11, 2008/07/08 13:57:00
Line 42  use Authen::Captcha; Line 42  use Authen::Captcha;
 use DynaLoader; # for Crypt::DES version  use DynaLoader; # for Crypt::DES version
 use Crypt::DES;  use Crypt::DES;
 use LONCAPA qw(:DEFAULT :match);  use LONCAPA qw(:DEFAULT :match);
   use HTML::Entities;
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
Line 106  sub handler { Line 107  sub handler {
   
     if (@cancreate == 0) {      if (@cancreate == 0) {
         &print_header($r,$start_page);          &print_header($r,$start_page);
         my $output = &mt('Creation of a new user account using an e-mail address as username or a loginID from your institution is not permitted in the domain: [_1] ([_2]).',$domain,$domdesc);          my $output = &mt('Creation of a new user account using an e-mail address or an institutional log-in ID as username is not permitted in the domain: [_1] ([_2]).',$domain,$domdesc);
         $r->print($output);          $r->print($output);
         $r->print(&Apache::loncommon::end_page());          $r->print(&Apache::loncommon::end_page());
         return OK;          return OK;
Line 122  sub handler { Line 123  sub handler {
         my ($output,$msg);          my ($output,$msg);
         if (grep(/^sso$/,@cancreate)) {          if (grep(/^sso$/,@cancreate)) {
             $msg = &mt("Although your username and password were authenticated by your institution's Single Sign On system, you do not currently have a LON-CAPA account in this domain.");              $msg = &mt("Although your username and password were authenticated by your institution's Single Sign On system, you do not currently have a LON-CAPA account in this domain.");
             ($output, my $checkfail) = &username_check($sso_username,$domain,$domdesc,$courseid);              ($output, my $checkfail) = &username_check($sso_username,$domain,
             if ($checkfail) {                                                         $domdesc,$courseid,
                                                          $lonhost,$contact_email); 
               if ($checkfail eq 'username') {
                 $msg .= &mt('A LON-CAPA account may not be created with the username you use.');                  $msg .= &mt('A LON-CAPA account may not be created with the username you use.');
               } elsif ($checkfail eq 'authtoken') {
                   $msg .= &mt('Error creating token.');
             } else {              } else {
                 $msg .= &mt('To create one, use the table below to provide information about yourself (if appropriate), then click the "Create LON-CAPA account" button.');                  $msg .= &mt('To create one, use the table below to provide information about yourself (if appropriate), then click the "Create LON-CAPA account" button.');
             }              }
Line 181  sub handler { Line 186  sub handler {
                                          $courseid);                                           $courseid);
     } elsif ($env{'form.phase'} eq 'username_validation') {      } elsif ($env{'form.phase'} eq 'username_validation') {
         $output = &username_validation($env{'form.uname'},$domain,$domdesc,          $output = &username_validation($env{'form.uname'},$domain,$domdesc,
                                        $contact_name,$contact_email,$courseid);                                         $contact_name,$contact_email,$courseid,
                                          $lonhost);
     } elsif (!$token) {      } elsif (!$token) {
         my $now=time;          my $now=time;
         if (grep(/^login$/,@cancreate)) {          if (grep(/^login$/,@cancreate)) {
Line 245  ENDSCRIPT Line 251  ENDSCRIPT
   
 sub javascript_checkpass {  sub javascript_checkpass {
     my ($now) = @_;      my ($now) = @_;
     my $nopass = &mt('You must enter a password');      my $nopass = &mt('You must enter a password.');
     my $mismatchpass = &mt('The passwords you entered did not match.').'\\n'.      my $mismatchpass = &mt('The passwords you entered did not match.').'\\n'.
                        &mt('Please try again.');                          &mt('Please try again.'); 
     my $js = <<"ENDSCRIPT";      my $js = <<"ENDSCRIPT";
Line 284  sub print_username_form { Line 290  sub print_username_form {
             my %domdefaults = &Apache::lonnet::get_domain_defaults($domain);              my %domdefaults = &Apache::lonnet::get_domain_defaults($domain);
             if ((($domdefaults{'auth_def'} =~/^krb/) && ($domdefaults{'auth_arg_def'} ne '')) || ($domdefaults{'auth_def'} eq 'localauth')) {              if ((($domdefaults{'auth_def'} =~/^krb/) && ($domdefaults{'auth_arg_def'} ne '')) || ($domdefaults{'auth_def'} eq 'localauth')) {
                 $output = '<div class="LC_left_float"><h3>'.&mt('Create account with a username provided by your institution').'</h3>';                  $output = '<div class="LC_left_float"><h3>'.&mt('Create account with a username provided by your institution').'</h3>';
                 $output .= &mt('If you already have a Log-in ID at your institution, you may be able to use it[_1] for LON-CAPA.','<br />').'&nbsp;'.&mt('Type in your Log-in ID and password to find out.').'<br /><br />';                  $output .= &mt('If you already have a log-in ID at your institution,[_1] you may be able to use it for LON-CAPA.','<br />').'<br /><br />'.&mt('Type in your log-in ID and password to find out.').'<br /><br />';
                 my ($lkey,$ukey) = &Apache::lonpreferences::des_keys();                  my ($lkey,$ukey) = &Apache::lonpreferences::des_keys();
                 my ($lextkey,$uextkey) = &getkeys($lkey,$ukey);                  my ($lextkey,$uextkey) = &getkeys($lkey,$ukey);
                 my $logtoken=Apache::lonnet::reply('tmpput:'.$ukey.$lkey.'&createaccount',                  my $logtoken=Apache::lonnet::reply('tmpput:'.$ukey.$lkey.'&createaccount',
Line 314  sub print_username_form { Line 320  sub print_username_form {
         if (grep(/^email$/,@{$cancreate})) {          if (grep(/^email$/,@{$cancreate})) {
             $output .= '<div class="LC_left_float"><h3>'.&mt('Create account with an e-mail address as your username').'</h3>';              $output .= '<div class="LC_left_float"><h3>'.&mt('Create account with an e-mail address as your username').'</h3>';
             if (grep(/^login$/,@{$cancreate})) {              if (grep(/^login$/,@{$cancreate})) {
                 $output .= &mt('Provide your e-mail address to request a LON-CAPA account if you do not have [_1] a log-in ID at your institution.','<br />').'<br /><br />';                  $output .= &mt('Provide your e-mail address to request a LON-CAPA account,[_1] if you do not have a log-in ID at your institution.','<br />').'<br /><br />';
             } else {              } else {
                 $output .= '<br />';                  $output .= '<br />';
             }              }
Line 341  sub print_username_form { Line 347  sub print_username_form {
         }          }
     }      }
     if ($output eq '') {      if ($output eq '') {
         $output = &mt('Creation of a new user account using either an e-mail address or institutional log-in ID as your username is not permitted in the domain: [_1] ([_2])',$domain,$domdesc);          $output = &mt('Creation of a new user account using an e-mail address or an institutional log-in ID as your username is not permitted in the domain: [_1] ([_2])',$domain,$domdesc);
     } else {      } else {
         $output .= '<div class="LC_clear_float_footer"></div>';          $output .= '<div class="LC_clear_float_footer"></div>';
     }      }
Line 436  sub send_token { Line 442  sub send_token {
     if ($token !~ /^error/ && $token ne 'no_such_host') {      if ($token !~ /^error/ && $token ne 'no_such_host') {
         my $esc_token = &escape($token);          my $esc_token = &escape($token);
         my $mailmsg = &mt('A request was submitted on [_1] for creation of a LON-CAPA account in the [_2] domain.',localtime(time),$domdesc).' '.          my $mailmsg = &mt('A request was submitted on [_1] for creation of a LON-CAPA account in the [_2] domain.',localtime(time),$domdesc).' '.
              &mt('To complete this process please open a web browser and enter the following ".               &mt('To complete this process please open a web browser and enter the following'
              "URL in the address/location box: ').&Apache::lonnet::absolute_url()."/adm/createaccount?token=$esc_token";                  .' URL in the address/location box: [_1]'
                   ,&Apache::lonnet::absolute_url().'/adm/createaccount?token='.$esc_token);
         my $result = &Apache::resetpw::send_mail($domdesc,$email,$mailmsg,$contact_name,          my $result = &Apache::resetpw::send_mail($domdesc,$email,$mailmsg,$contact_name,
                                                  $contact_email);                                                   $contact_email);
         if ($result eq 'ok') {          if ($result eq 'ok') {
             $msg .= &mt('A message has been sent to the e-mail address you provided.').'<br />'.&mt('The message includes the web address for the link you will use to complete the account creation process.').'<br />'.&mt("The link included in the message will be valid for the next [_1]two[_2] hours.",'<b>','</b>');              $msg .= &mt('A message has been sent to the e-mail address you provided.').'<br />'.&mt('The message includes the web address for the link you will use to complete the account creation process.').'<br />'.&mt("The link included in the message will be valid for the next [_1]two[_2] hours.",'<b>','</b>');
         } else {          } else {
             $msg .= &mt('An error occurred when sending a message to the e-mail address you provided. Please contact the [_1] ([_2]) for assistance.',$contact_name,$contact_email);              $msg .= &mt('An error occurred when sending a message to the e-mail address you provided.')
                      .' '.&mt('Please contact the [_1] ([_2]) for assistance.',$contact_name,$contact_email);
         }          }
     } else {      } else {
         $msg .= &mt('An error occurred creating a token required for the account creation process. Please contact the [_1] ([_2]) for assistance.',$contact_name,$contact_email);          $msg .= &mt('An error occurred creating a token required for the account creation process.')
                  .' '.&mt('Please contact the [_1] ([_2]) for assistance.',$contact_name,$contact_email);
     }      }
     return $msg;      return $msg;
 }  }
Line 458  sub process_mailtoken { Line 467  sub process_mailtoken {
     my %data = &Apache::lonnet::tmpget($token);      my %data = &Apache::lonnet::tmpget($token);
     my $now = time;      my $now = time;
     if (keys(%data) == 0) {      if (keys(%data) == 0) {
         $msg = &mt('Sorry, the URL you provided to complete creation of a new LON-CAPA account was invalid.  Either the token included in the URL has been deleted or the URL you provided was invalid. Please submit a <a href="/adm/createaccount">new request</a> for account creation and follow the link to the new URL included in the e-mail that will be sent to you.');          $msg = &mt('Sorry, the URL you provided to complete creation of a new LON-CAPA account was invalid.')
                  .' '.&mt('Either the token included in the URL has been deleted or the URL you provided was invalid.')
                  .' '.&mt('Please submit a [_1]new request[_2] for account creation and follow the new link page included in the e-mail that will be sent to you.','<a href="/adm/createaccount">','</a>');
         return $msg;          return $msg;
     }      }
     if (($data{'time'} =~ /^\d+$/) &&      if (($data{'time'} =~ /^\d+$/) &&
Line 486  sub process_mailtoken { Line 497  sub process_mailtoken {
                     $nostart = 1;                      $nostart = 1;
                     $noend = 1;                      $noend = 1;
                 } else {                  } else {
                     $msg .= &mt('A problem occurred when attempting to create your new LON-CAPA account').'<br />'.$output.&mt('Please contact the [_1] - (<a href="mailto:[_2]">[_2]</a>) for assistance.',$contact_name,$contact_email);                      $msg .= &mt('A problem occurred when attempting to create your new LON-CAPA account.')
                              .'<br />'.$output
   #                           .&mt('Please contact the [_1] ([_2]) for assistance.',$contact_name,'<a href="mailto:'.$contact_email.'">'.$contact_email.'</a>');
                              .&mt('Please contact the [_1] ([_2]) for assistance.',$contact_name,$contact_email);
                 }                  }
                 my $delete = &Apache::lonnet::tmpdel($token);                  my $delete = &Apache::lonnet::tmpdel($token);
             } else {              } else {
Line 495  sub process_mailtoken { Line 509  sub process_mailtoken {
                 $nostart = 1;                  $nostart = 1;
             }              }
         } else {          } else {
             $msg = &mt('Sorry, the token generated when you requested creation of an account has expired. Please submit a <a href="/adm/createaccount">new request</a>, and follow the link to the web page included in the new e-mail that will be sent to you, to allow you to create the account.');              $msg = &mt('Sorry, the token generated when you requested creation of an account has expired.')
                     .' '.&mt('Please submit a [_1]new request[_2] for account creation and follow the new link included in the e-mail that will be sent to you.','<a href="/adm/createaccount">','</a>');
             }              }
     } else {      } else {
         $msg .= &mt('Sorry, the URL generated when you requested creation of an account contained incomplete information. Please submit a <a href="/adm/createaccount">new request</a> for creation of an account, and use the new URL that will be sent to your e-mail address to complete the process.');          $msg .= &mt('Sorry, the URL generated when you requested creation of an account contained incomplete information.')
                  .' '.&mt('Please submit a [_1]new request[_2] for account creation and follow the new link included in the e-mail that will be sent to you.','<a href="/adm/createaccount">','</a>');
     }      }
     return ($msg,$nostart,$noend);      return ($msg,$nostart,$noend);
 }  }
Line 618  ENDSERVERFORM Line 634  ENDSERVERFORM
                    '<input type="button" name="createaccount" value="'.                     '<input type="button" name="createaccount" value="'.
                    $submit_text.'" onclick="javascript:checkpass();" /></form></div>';                     $submit_text.'" onclick="javascript:checkpass();" /></form></div>';
     } else {      } else {
         $output = &mt('Could not load javascript file [_1]','londes.js');          $output = &mt('Could not load javascript file [_1]','<tt>londes.js</tt>');
     }      }
     return $output;      return $output;
 }  }
Line 628  sub create_account { Line 644  sub create_account {
     my ($retrieved,$output,$upass) = &process_credentials($env{'form.logtoken'},      my ($retrieved,$output,$upass) = &process_credentials($env{'form.logtoken'},
                                                           $env{'form.serverid'});                                                             $env{'form.serverid'}); 
     # Error messages      # Error messages
     my $error     = '<span class="LC_error">'.&mt('Error').': ';      my $error     = '<span class="LC_error">'.&mt('Error:').' ';
     my $end       = '</span><br /><br />';      my $end       = '</span><br /><br />';
     my $rtnlink   = '<a href="javascript:history.back();" />'.      my $rtnlink   = '<a href="javascript:history.back();" />'.
                     &mt('Return to previous page').'</a>'.                      &mt('Return to previous page').'</a>'.
Line 651  sub create_account { Line 667  sub create_account {
                                     'internal',$upass,$env{'form.cfirstname'},                                      'internal',$upass,$env{'form.cfirstname'},
                                     $env{'form.cmiddlename'},$env{'form.clastname'},                                      $env{'form.cmiddlename'},$env{'form.clastname'},
                                     $env{'form.cgeneration'},undef,undef,$username);                                      $env{'form.cgeneration'},undef,undef,$username);
     $output = &mt('Generating user').': '.$result;      $output = &mt('Generating user: [_1]',$result);
     my $uhome = &Apache::lonnet::homeserver($username,$domain);      my $uhome = &Apache::lonnet::homeserver($username,$domain);
     $output .= '<br />'.&mt('Home server').': '.$uhome.' '.      $output .= '<br />'.&mt('Home server: [_1]',$uhome).' '.
               &Apache::lonnet::hostname($uhome).'<br /><br />';                &Apache::lonnet::hostname($uhome).'<br /><br />';
     return ('ok',$output);      return ('ok',$output);
 }  }
   
 sub username_validation {  sub username_validation {
     my ($username,$domain,$domdesc,$contact_name,$contact_email,$courseid) = @_;      my ($username,$domain,$domdesc,$contact_name,$contact_email,$courseid,$lonhost) = @_;
     my ($retrieved,$output,$upass);      my ($retrieved,$output,$upass);
   
     $username= &LONCAPA::clean_username($username);      $username= &LONCAPA::clean_username($username);
Line 685  sub username_validation { Line 701  sub username_validation {
             $authok = 'non_authorized';              $authok = 'non_authorized';
         }          }
         if ($authok eq 'authorized') {          if ($authok eq 'authorized') {
             ($output,undef) = &username_check($username,$domain,$domdesc,$courseid);                          ($output,undef) = &username_check($username,$domain,$domdesc,
                                                 $courseid,$lonhost,$contact_email); 
         } else {          } else {
             $output = '<div class="LC_warning">'              $output = '<div class="LC_warning">'
                      .&mt('Username and/or password could not be authenticated.')                       .&mt('Username and/or password could not be authenticated.')
Line 697  sub username_validation { Line 714  sub username_validation {
 }  }
   
 sub username_check {  sub username_check {
     my ($username,$domain,$domdesc,$courseid) = @_;      my ($username,$domain,$domdesc,$courseid,$lonhost,$contact_email) = @_;
     my (%rulematch,%inst_results,$newuser,%alerts,%curr_rules,%got_rules);      my (%rulematch,%inst_results,$newuser,%alerts,%curr_rules,%got_rules);
     $newuser = 1;      $newuser = 1;
     my $checkhash;      my $checkhash;
Line 715  sub username_check { Line 732  sub username_check {
                         &Apache::loncommon::user_rule_formats($domain,$domdesc,                          &Apache::loncommon::user_rule_formats($domain,$domdesc,
                                 $curr_rules{$domain}{'username'},'username');                                  $curr_rules{$domain}{'username'},'username');
                     if ($userchkmsg) {                      if ($userchkmsg) {
                         $checkfail = 1;                          $checkfail = 'username';
                     }                      }
                 }                  }
                 return ($userchkmsg,$checkfail);                  return ($userchkmsg,$checkfail);
Line 723  sub username_check { Line 740  sub username_check {
         }          }
     }      }
     my $submit_text = &mt('Create LON-CAPA account');      my $submit_text = &mt('Create LON-CAPA account');
     # FIXME need a cookie to confirm credentials were validated.  
     my $output = '<form method="post" action="/adm/createaccount">'.      my $output = '<form method="post" action="/adm/createaccount">'.
                  &Apache::loncreateuser::personal_data_display($username,$domain,1,                   &Apache::loncreateuser::personal_data_display($username,$domain,1,
                                     undef,$inst_results{$username.':'.$domain}).                                      undef,$inst_results{$username.':'.$domain}).
                 '<br /><br /><input type="hidden" name="uname" value="'.$username.'" />'."\n".                  '<br /><br /><input type="hidden" name="uname" value="'.$username.'" />'."\n".
                 '<input type="hidden" name="udom" value="'.$domain.'" />'."\n".                  '<input type="hidden" name="udom" value="'.$domain.'" />'."\n".
                 '<input type="hidden" name="phase" value="username_activation" />';                  '<input type="hidden" name="phase" value="username_activation" />';
       my $now = time;
       my %info = ('ip'         => $ENV{'REMOTE_ADDR'},
                   'time'       => $now,
                   'domain'     => $domain,
                   'username'   => $username);
       my $authtoken = &Apache::lonnet::tmpput(\%info,$lonhost);
       if ($authtoken !~ /^error/ && $authtoken ne 'no_such_host') {
           $output .= '<input type="hidden" name="authtoken" value="'.&HTML::Entities::encode($authtoken,'&<>"').'" />';
       } else {
           $output = &mt('An error occurred when storing a token').'<br />'.
                     &mt('You will not be able to proceed to the next stage of account creation').
                     &linkto_email_help($contact_email,$domdesc);
           return($output,'authtoken');
       }
     if ($courseid ne '') {      if ($courseid ne '') {
         $output .= '<input type="hidden" name="courseid" value="'.$courseid.'" />';          $output .= '<input type="hidden" name="courseid" value="'.$courseid.'" />';
     }      }
Line 741  sub username_check { Line 771  sub username_check {
 sub username_activation {  sub username_activation {
     my ($r,$username,$domain,$domdesc,$lonhost,$courseid) = @_;      my ($r,$username,$domain,$domdesc,$lonhost,$courseid) = @_;
     my $output;      my $output;
     my $error     = '<span class="LC_error">'.&mt('Error').': ';      my $error     = '<span class="LC_error">'.&mt('Error:').' ';
     my $end       = '</span><br /><br />';      my $end       = '</span><br /><br />';
     my $rtnlink   = '<a href="javascript:history.back();" />'.      my $rtnlink   = '<a href="javascript:history.back();" />'.
                     &mt('Return to previous page').'</a>'.                      &mt('Return to previous page').'</a>'.
                     &Apache::loncommon::end_page();                      &Apache::loncommon::end_page();
     my %domdefaults = &Apache::lonnet::get_domain_defaults($domain);      my %domdefaults = &Apache::lonnet::get_domain_defaults($domain);
       my %data = &Apache::lonnet::tmpget($env{'form.authtoken'});
       my $now = time;
       my $earlyout;
       my $timeout = 300;
       if (keys(%data) == 0) {
           $output = &mt('Sorry, your authentication has expired.');
           $earlyout = 'fail';
       }
       if (($data{'time'} !~ /^\d+$/) ||
           ($data{'domain'} ne $domain) || 
           ($data{'username'} ne $username)) {
           $earlyout = 'fail';
           $output = &mt('The credentials you provided could not be verified.');   
       } elsif ($now - $data{'time'} > $timeout) {
           $earlyout = 'fail';
           $output = &mt('Sorry, your authentication has expired.');
       }
       if ($earlyout ne '') {
           $output .= '<br />'.&mt('Please [_1]start again[_2].','<a href="/adm/createaccount">','</a>');
           return($earlyout,$output);
       }
     if ((($domdefaults{'auth_def'} =~/^krb(4|5)$/) &&       if ((($domdefaults{'auth_def'} =~/^krb(4|5)$/) && 
          ($domdefaults{'auth_arg_def'} ne '')) ||            ($domdefaults{'auth_arg_def'} ne '')) || 
         ($domdefaults{'auth_def'} eq 'localauth')) {          ($domdefaults{'auth_def'} eq 'localauth')) {
Line 767  sub username_activation { Line 818  sub username_activation {
                           $env{'form.cgeneration'},undef,undef,                            $env{'form.cgeneration'},undef,undef,
                           $env{'form.cpermanentemail'});                            $env{'form.cpermanentemail'});
         if ($result eq 'ok') {          if ($result eq 'ok') {
               my $delete = &Apache::lonnet::tmpdel($env{'form.authtoken'});
             $output = &mt('A LON-CAPA account has been created for username: [_1] in domain: [_2].',$username,$domain);              $output = &mt('A LON-CAPA account has been created for username: [_1] in domain: [_2].',$username,$domain);
             my %form = &start_session($r,$username,$domain,$lonhost,$courseid);              my %form = &start_session($r,$username,$domain,$lonhost,$courseid);
             my $nostart = 1;              my $nostart = 1;
Line 776  sub username_activation { Line 828  sub username_activation {
             return ('fail',$output);              return ('fail',$output);
         }          }
     } else {      } else {
         $output = &mt("User account creation is not available for the current default authentication type.\n");          $output = &mt('User account creation is not available for the current default authentication type.')."\n";
         return('fail',$output);          return('fail',$output);
     }      }
 }  }
Line 829  sub invalid_state { Line 881  sub invalid_state {
     if ($msgtext) {      if ($msgtext) {
         $msg .= '<br />'.$msgtext;          $msg .= '<br />'.$msgtext;
     }      }
       $msg .= &linkto_email_help($contact_email,$domdesc);
       return $msg;
   }
   
   sub linkto_email_help {
       my ($contact_email,$domdesc) = @_;
       my $msg;
     if ($contact_email ne '') {      if ($contact_email ne '') {
         my $escuri = &HTML::Entities::encode('/adm/createaccount','&<>"');          my $escuri = &HTML::Entities::encode('/adm/createaccount','&<>"');
         $msg .= '<br />'.&mt(' You may wish to contact the <a href="/adm/helpdesk?origurl=[_1]">LON-CAPA helpdesk</a> for the [_2] domain.',$escuri,$domdesc);          $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 {      } 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);          $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 855  sub create_captcha { Line 914  sub create_captcha {
   
 sub captcha_settings {  sub captcha_settings {
     my %captcha_params = (       my %captcha_params = ( 
                            output_dir     => "/home/httpd/html/captcha",                             output_dir     => $Apache::lonnet::perlvar{'lonDocRoot'}.'/captcha',
                            www_output_dir => "/captcha",                             www_output_dir => "/captcha",
                            db_dir         => "/home/www/captchadb",                             db_dir         => "/home/www/captchadb",
                            numchars       => '5',                             numchars       => '5',
Line 894  sub process_credentials { Line 953  sub process_credentials {
     my $tmpinfo=Apache::lonnet::reply('tmpget:'.$logtoken,$lonhost);      my $tmpinfo=Apache::lonnet::reply('tmpget:'.$logtoken,$lonhost);
     my ($retrieved,$output,$upass);      my ($retrieved,$output,$upass);
     if (($tmpinfo=~/^error/) || ($tmpinfo eq 'con_lost')) {      if (($tmpinfo=~/^error/) || ($tmpinfo eq 'con_lost')) {
         $output = &mt('Information needed to retrieve your log-in information is missing, inaccessible or expired.').'<br />'.&mt('You may need to reload the previous page to obtain a new token.');          $output = &mt('Information needed to verify your login information is missing, inaccessible or expired.')
                    .'<br />'.&mt('You may need to reload the previous page to obtain a new token.');
         return ($retrieved,$output,$upass);           return ($retrieved,$output,$upass); 
     } else {      } else {
         my $reply = &Apache::lonnet::reply('tmpdel:'.$logtoken,$lonhost);          my $reply = &Apache::lonnet::reply('tmpdel:'.$logtoken,$lonhost);
Line 939  sub guest_format_check { Line 999  sub guest_format_check {
         $format_msg = '<br />'.&mt("Your e-mail address uses the same internet domain as your institution's LON-CAPA service.").'<br />'.&mt('Creation of a LON-CAPA account with this type of e-mail address as username is not permitted.').'<br />';          $format_msg = '<br />'.&mt("Your e-mail address uses the same internet domain as your institution's LON-CAPA service.").'<br />'.&mt('Creation of a LON-CAPA account with this type of e-mail address as username is not permitted.').'<br />';
         if (ref($cancreate) eq 'ARRAY') {          if (ref($cancreate) eq 'ARRAY') {
             if (grep(/^login$/,@{$cancreate})) {              if (grep(/^login$/,@{$cancreate})) {
                 $format_msg .= &mt('You should request creation of a LON-CAPA account for a Log-in ID of "[_1]" at your institution instead.',$login).'<br />';                   $format_msg .= &mt('You should request creation of a LON-CAPA account for a log-in ID of "[_1]" at your institution instead.',$login).'<br />'; 
             }              }
         }          }
     }      }

Removed from v.1.6  
changed lines
  Added in v.1.11


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.