'.$end_page);
return OK;
}
@@ -150,7 +150,7 @@ sub handler {
&print_header($r,$start_page,$courseid);
my $output = '
'.&mt('Account creation unavailable').'
'.
''.
- &mt('Creation of a new user account using an e-mail address or an institutional log-in ID as username is not permitted for the GCI WebCenter.').'
';
+ &mt('Creation of a new user account using an e-mail address or an institutional log-in ID as username is not permitted at this institution ([_1]).',$domdesc).'
';
$r->print($output);
&print_footer($r);
return OK;
@@ -405,7 +405,7 @@ sub print_username_form {
}
if (grep(/^email$/,@{$cancreate})) {
$output .= '
'.&mt('Create account with an e-mail address as your username').'
';
- my $captchaform = &create_recaptcha();
+ my $captchaform = &create_captcha();
if ($captchaform) {
my $submit_text = &mt('Request LON-CAPA account');
my $emailform = '';
@@ -476,14 +476,30 @@ sub login_box {
&Apache::lonhtmlcommon::row_closure(1)."\n".
&Apache::lonhtmlcommon::row_title(&mt('Password'),
'LC_pick_box_title')."\n".
- $upassform."\n".'
'."\n";
+ }
+ $output .= &Apache::lonhtmlcommon::row_closure(1)."\n".
+ &Apache::lonhtmlcommon::end_pick_box().' '."\n";
+ $output .= ''."\n".
''."\n".
'';
return $output;
@@ -510,18 +526,23 @@ sub process_email_request {
$contact_name,$contact_email);
return $output;
} else {
- my $captcha = Captcha::reCAPTCHA->new;
- my $captcha_result =
- $captcha->check_answer(
- 'PRIVATEKEY',
- $ENV{'REMOTE_ADDR'},
- $env{'form.recaptcha_challenge_field'},
- $env{'form.recaptcha_response_field'},
- ); # generate private key for IP
- # from http://recaptcha.net/
- if (!$captcha_result->{is_valid}) {
+ my $code = $env{'form.code'};
+ my $md5sum = $env{'form.crypt'};
+ my %captcha_params = &captcha_settings();
+ my $captcha = Authen::Captcha->new(
+ output_folder => $captcha_params{'output_dir'},
+ data_folder => $captcha_params{'db_dir'},
+ );
+ my $captcha_chk = $captcha->check_code($code,$md5sum);
+ my %captcha_hash = (
+ 0 => 'Code not checked (file error)',
+ -1 => 'Failed: code expired',
+ -2 => 'Failed: invalid code (not in database)',
+ -3 => 'Failed: invalid code (code does not match crypt)',
+ );
+ if ($captcha_chk != 1) {
$output = &invalid_state('captcha',$domdesc,$contact_name,
- $contact_email);
+ $contact_email,$captcha_hash{$captcha_chk});
return $output;
}
my $uhome=&Apache::lonnet::homeserver($useremail,$domain);
@@ -584,7 +605,7 @@ sub send_token {
if ($token !~ /^error/ && $token ne 'no_such_host') {
my $esc_token = &escape($token);
my $showtime = localtime(time);
- my $mailmsg = &mt('A request was submitted on [_1] for creation of a GCI WebCenter account.',$showtime).' '.
+ my $mailmsg = &mt('A request was submitted on [_1] for creation of a LON-CAPA account at the following institution: [_2].',$showtime,$domdesc).' '.
&mt('To complete this process please open a web browser and enter the following 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,
@@ -626,7 +647,7 @@ sub process_mailtoken {
if ($result eq 'ok') {
$msg = $output;
my $shownow = &Apache::lonlocal::locallocaltime($now);
- my $mailmsg = &mt('A GCI WebCenter account has been created [_1] from IP address: [_2]. If you did not perform this action or authorize it, please contact the [_3] ([_4]).',$shownow,$ENV{'REMOTE_ADDR'},$contact_name,$contact_email)."\n";
+ 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);
@@ -707,7 +728,7 @@ sub print_dataentry_form {
my $logtoken=Apache::lonnet::reply('tmpput:'.$ukey.$lkey.'&createaccount',
$lonhost);
my $formtag = '