Diff for /loncom/interface/createaccount.pm between versions 1.63 and 1.64

version 1.63, 2014/04/19 20:48:43 version 1.64, 2014/04/23 10:11:26
Line 187  sub handler { Line 187  sub handler {
     my ($output,$nostart,$noend,$redirect);      my ($output,$nostart,$noend,$redirect);
     my $token = $env{'form.token'};      my $token = $env{'form.token'};
     if ($token) {      if ($token) {
           my $usertype = &get_usertype($domain);
         ($output,$nostart,$noend,$redirect) =           ($output,$nostart,$noend,$redirect) = 
             &process_mailtoken($r,$token,$contact_name,$contact_email,$domain,              &process_mailtoken($r,$token,$contact_name,$contact_email,$domain,
                                $domdesc,$lonhost,$include,$start_page,$cancreate,                                 $domdesc,$lonhost,$include,$start_page,$cancreate,
                                $domconfig{'usercreation'});                                 $domconfig{'usercreation'},$usertype);
         if ($redirect) {          if ($redirect) {
             $r->internal_redirect('/adm/switchserver');              $r->internal_redirect('/adm/switchserver');
             return OK;              return OK;
Line 259  sub handler { Line 260  sub handler {
                 $gotlondes = 1;                  $gotlondes = 1;
             }              }
         }          }
         if (grep(/^email(|approval)$/,@{$cancreate})) {          if (grep(/^email$/,@{$cancreate})) {
             $r->print(&javascript_validmail());              $r->print(&javascript_validmail());
         }          }
         my $usertype = &get_usertype($domain);          my $usertype = &get_usertype($domain);
Line 511  sub print_username_form { Line 512  sub print_username_form {
                                       $domain,'createaccount').'</div>';                                        $domain,'createaccount').'</div>';
             }              }
         }          }
         if (grep(/^email(|approval)$/,@{$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>';
             my ($captchaform,$error,$captcha) = &Apache::loncommon::captcha_display('usercreation',$lonhost);              my ($captchaform,$error,$captcha) = &Apache::loncommon::captcha_display('usercreation',$lonhost);
             if ($error) {              if ($error) {
Line 612  sub process_email_request { Line 613  sub process_email_request {
         $server,$settings,$emailusername,$courseid,$usertype) = @_;          $server,$settings,$emailusername,$courseid,$usertype) = @_;
     my $output;      my $output;
     if (ref($cancreate) eq 'ARRAY') {      if (ref($cancreate) eq 'ARRAY') {
         if (!grep(/^email(|approval)$/,@{$cancreate})) {          if (!grep(/^email$/,@{$cancreate})) {
             $output = &invalid_state('noemails',$domdesc,              $output = &invalid_state('noemails',$domdesc,
                                      $contact_name,$contact_email);                                       $contact_name,$contact_email);
             return $output;              return $output;
Line 755  sub send_token { Line 756  sub send_token {
   
 sub process_mailtoken {  sub process_mailtoken {
     my ($r,$token,$contact_name,$contact_email,$domain,$domdesc,$lonhost,      my ($r,$token,$contact_name,$contact_email,$domain,$domdesc,$lonhost,
         $include,$start_page,$cancreate,$settings) = @_;          $include,$start_page,$cancreate,$settings,$usertype) = @_;
     my ($msg,$nostart,$noend,$redirect);      my ($msg,$nostart,$noend,$redirect);
     my %data = &Apache::lonnet::tmpget($token);      my %data = &Apache::lonnet::tmpget($token);
     my $now = time;      my $now = time;
Line 772  sub process_mailtoken { Line 773  sub process_mailtoken {
         if ($now - $data{'time'} < 7200) {          if ($now - $data{'time'} < 7200) {
 # Check if request should be queued.  # Check if request should be queued.
             if (ref($cancreate) eq 'ARRAY') {              if (ref($cancreate) eq 'ARRAY') {
                   my $disposition;
                 if (grep(/^email$/,@{$cancreate})) {                  if (grep(/^email$/,@{$cancreate})) {
                     my ($result,$output,$uhome) =                       if (ref($settings) eq 'HASH') {
                         &create_account($r,$domain,$domdesc,\%data);                          if (ref($settings->{'cancreate'}) eq 'HASH') {
                     if ($result eq 'ok') {                              if (ref($settings->{'cancreate'}{'selfcreateprocessing'}) eq 'HASH') {
                         $msg = $output;                                  $disposition = $settings->{'cancreate'}{'selfcreateprocessing'}{$usertype}; 
                         my $shownow = &Apache::lonlocal::locallocaltime($now);                              }
                         my $mailmsg = &mt('A LON-CAPA account for the institution: [_1] has been created [_2] from IP address: [_3]. If you did not perform this action or authorize it, please contact the [_4] ([_5]).',$domdesc,$shownow,$ENV{'REMOTE_ADDR'},$contact_name,$contact_email)."\n";  
                         my $mailresult = &Apache::resetpw::send_mail($domdesc,$data{'email'},  
                                                                      $mailmsg,$contact_name,  
                                                                      $contact_email);  
                         if ($mailresult eq 'ok') {  
                             $msg .= &mt('An e-mail confirming creation of your new LON-CAPA account has been sent to [_1].',$data{'username'});  
                         } else {  
                             $msg .= &mt('An error occurred when sending e-mail to [_1] confirming creation of your LON-CAPA account.',$data{'username'});  
                         }                          }
                         $redirect = &start_session($r,$data{'username'},$domain,$uhome,                      }
                                                    $data{'courseid'},$token);                      if ($disposition eq 'approval') {
                         $nostart = 1;                          $msg = &store_request($domain,$data{'username'},'approval',\%data,$settings);
                         $noend = 1;                          my $delete = &Apache::lonnet::tmpdel($token);
                     } else {                      } else {
                         $msg .= &mt('A problem occurred when attempting to create your new LON-CAPA account.')                          my ($result,$output,$uhome) = 
                                .'<br />'.$output;                              &create_account($r,$domain,$domdesc,\%data);
                         if (($contact_name ne '') && ($contact_email ne '')) {                          if ($result eq 'ok') {
                             $msg .= &mt('Please contact the [_1] ([_2]) for assistance.',$contact_name,$contact_email);                              $msg = $output;
                               my $shownow = &Apache::lonlocal::locallocaltime($now);
                               my $mailmsg = &mt('A LON-CAPA account for the institution: [_1] has been created [_2] from IP address: [_3]. If you did not perform this action or authorize it, please contact the [_4] ([_5]).',$domdesc,$shownow,$ENV{'REMOTE_ADDR'},$contact_name,$contact_email)."\n";
                               my $mailresult = &Apache::resetpw::send_mail($domdesc,$data{'email'},
                                                                           $mailmsg,$contact_name,
                                                                           $contact_email);
                               if ($mailresult eq 'ok') {
                                   $msg .= &mt('An e-mail confirming creation of your new LON-CAPA account has been sent to [_1].',$data{'username'});
                               } else {
                                   $msg .= &mt('An error occurred when sending e-mail to [_1] confirming creation of your LON-CAPA account.',$data{'username'});
                               }
                               $redirect = &start_session($r,$data{'username'},$domain,$uhome,
                                                          $data{'courseid'},$token);
                               $nostart = 1;
                               $noend = 1;
                           } else {
                               $msg .= &mt('A problem occurred when attempting to create your new LON-CAPA account.')
                                      .'<br />'.$output;
                               if (($contact_name ne '') && ($contact_email ne '')) {
                                   $msg .= &mt('Please contact the [_1] ([_2]) for assistance.',$contact_name,$contact_email);
                               }
                         }                          }
                           my $delete = &Apache::lonnet::tmpdel($token);
                     }                      }
                     my $delete = &Apache::lonnet::tmpdel($token);  
                 } elsif (grep(/^emailapproval$/,@{$cancreate})) {  
                     $msg = &store_request($domain,$data{'username'},'approval',\%data,$settings);  
                     my $delete = &Apache::lonnet::tmpdel($token);  
                 } else {                  } else {
                     $msg = &invalid_state('noemails',$domdesc,$contact_name,$contact_email);                      $msg = &invalid_state('noemails',$domdesc,$contact_name,$contact_email);
                 }                  }

Removed from v.1.63  
changed lines
  Added in v.1.64


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