Diff for /loncom/interface/createaccount.pm between versions 1.71 and 1.72

version 1.71, 2016/02/17 19:15:48 version 1.72, 2016/02/19 20:28:46
Line 319  sub print_footer { Line 319  sub print_footer {
         $r->print('<form name="backupcrumbs" method="post" action="">'.          $r->print('<form name="backupcrumbs" method="post" action="">'.
                   &Apache::lonhtmlcommon::echo_form_input(['backto','logtoken',                    &Apache::lonhtmlcommon::echo_form_input(['backto','logtoken',
                       'token','serverid','uname','upass','phase','create_with_email',                        'token','serverid','uname','upass','phase','create_with_email',
                       'code','crypt','cfirstname','clastname',                        'code','crypt','cfirstname','clastname','g-recaptcha-response',
                       'recaptcha_challenge_field','recaptcha_response_field',                        'recaptcha_challenge_field','recaptcha_response_field',
                       'cmiddlename','cgeneration','cpermanentemail','cid']).                        'cmiddlename','cgeneration','cpermanentemail','cid']).
                   '</form>');                    '</form>');
Line 366  sub selfenroll_crumbs { Line 366  sub selfenroll_crumbs {
 }  }
   
 sub javascript_setforms {  sub javascript_setforms {
     my ($now,$emailusername,$captcha,$usertype) =  @_;      my ($now,$emailusername,$captcha,$usertype,$recaptchaversion) =  @_;
     my ($setuserinfo,@required,$requiredchk);      my ($setuserinfo,@required,$requiredchk);
     if (ref($emailusername) eq 'HASH') {      if (ref($emailusername) eq 'HASH') {
         if (ref($emailusername->{$usertype}) eq 'HASH') {            if (ref($emailusername->{$usertype}) eq 'HASH') {  
Line 382  sub javascript_setforms { Line 382  sub javascript_setforms {
             $setuserinfo .= '                    server.elements.code.value=client.elements.code.value;'."\n".              $setuserinfo .= '                    server.elements.code.value=client.elements.code.value;'."\n".
                             '                    server.elements.crypt.value=client.elements.crypt.value;'."\n";                              '                    server.elements.crypt.value=client.elements.crypt.value;'."\n";
         } elsif ($captcha eq 'recaptcha') {          } elsif ($captcha eq 'recaptcha') {
             $setuserinfo .=               if ($recaptchaversion ne '2') {
                   $setuserinfo .=
                 '                    server.elements.recaptcha_challenge_field.value=client.elements.recaptcha_challenge_field.value;'."\n".                  '                    server.elements.recaptcha_challenge_field.value=client.elements.recaptcha_challenge_field.value;'."\n".
                 '                    server.elements.recaptcha_response_field.value=client.elements.recaptcha_response_field.value;'."\n";                  '                    server.elements.recaptcha_response_field.value=client.elements.recaptcha_response_field.value;'."\n";
               }
         }          }
     }      }
     if (@required) {      if (@required) {
Line 448  $setuserinfo Line 450  $setuserinfo
 // ]]>  // ]]>
 </script>  </script>
 ENDSCRIPT  ENDSCRIPT
       if (($captcha eq 'recaptcha') && ($recaptchaversion eq '2')) {
           $js .= "\n".'<script src="https://www.google.com/recaptcha/api.js"></script>'."\n";
       }
     return $js;      return $js;
 }  }
   
Line 544  sub print_username_form { Line 549  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>';
             my ($captchaform,$error,$captcha) = &Apache::loncommon::captcha_display('usercreation',$lonhost);              my ($captchaform,$error,$captcha,$recaptchaversion) = 
                   &Apache::loncommon::captcha_display('usercreation',$lonhost);
             if ($error) {              if ($error) {
                 my $helpdesk = '/adm/helpdesk?origurl=%2fadm%2fcreateaccount';                  my $helpdesk = '/adm/helpdesk?origurl=%2fadm%2fcreateaccount';
                 if ($courseid ne '') {                  if ($courseid ne '') {
Line 573  sub print_username_form { Line 579  sub print_username_form {
                                $lt{'yopw'}.'<br />';                                 $lt{'yopw'}.'<br />';
                 }                  }
                 $output .= &print_dataentry_form($r,$domain,$lonhost,$include,$now,$captchaform,                  $output .= &print_dataentry_form($r,$domain,$lonhost,$include,$now,$captchaform,
                                                  $courseid,$emailusername,$captcha,$usertype);                                                   $courseid,$emailusername,$captcha,$usertype,
                                                    $recaptchaversion);
             }              }
             $output .= '</div>';              $output .= '</div>';
         }          }
Line 886  sub start_session { Line 893  sub start_session {
 #  #
 sub print_dataentry_form {  sub print_dataentry_form {
     my ($r,$domain,$lonhost,$include,$now,$captchaform,$courseid,$emailusername,$captcha,      my ($r,$domain,$lonhost,$include,$now,$captchaform,$courseid,$emailusername,$captcha,
         $usertype) = @_;          $usertype,$recaptchaversion) = @_;
     my ($error,$output);      my ($error,$output);
     if (open(my $jsh,"<$include/londes.js")) {      if (open(my $jsh,"<$include/londes.js")) {
         while(my $line = <$jsh>) {          while(my $line = <$jsh>) {
             $r->print($line);              $r->print($line);
         }          }
         close($jsh);          close($jsh);
         $output = &javascript_setforms($now,$emailusername,$captcha,$usertype)."\n".          $output = &javascript_setforms($now,$emailusername,$captcha,$usertype,$recaptchaversion).
                   &javascript_checkpass($now,'email');                    "\n".&javascript_checkpass($now,'email');
         my ($lkey,$ukey) = &Apache::loncommon::des_keys();          my ($lkey,$ukey) = &Apache::loncommon::des_keys();
         my ($lextkey,$uextkey) = &getkeys($lkey,$ukey);          my ($lextkey,$uextkey) = &getkeys($lkey,$ukey);
         my $logtoken=Apache::lonnet::reply('tmpput:'.$ukey.$lkey.'&createaccount:createaccount',          my $logtoken=Apache::lonnet::reply('tmpput:'.$ukey.$lkey.'&createaccount:createaccount',
Line 918  sub print_dataentry_form { Line 925  sub print_dataentry_form {
    <input type="hidden" name="code" value="" />     <input type="hidden" name="code" value="" />
 ';  ';
         } elsif ($captcha eq 'recaptcha') {          } elsif ($captcha eq 'recaptcha') {
             $output .= '              if ($recaptchaversion eq '2') {
                   $output .= "$captchaform\n";
                   undef($captchaform);
               } else {
                   $output .= '
    <input type="hidden" name="recaptcha_challenge_field" value="" />     <input type="hidden" name="recaptcha_challenge_field" value="" />
    <input type="hidden" name="recaptcha_response_field" value="" />     <input type="hidden" name="recaptcha_response_field" value="" />
 ';  ';
               }
         }          }
         $output .= <<"ENDSERVERFORM";          $output .= <<"ENDSERVERFORM";
    <input type="hidden" name="logtoken" value="$logtoken" />     <input type="hidden" name="logtoken" value="$logtoken" />

Removed from v.1.71  
changed lines
  Added in v.1.72


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