version 1.72.4.2, 2019/07/29 13:54:02
|
version 1.72.4.3, 2019/08/25 13:55:55
|
Line 37 use Apache::lonacc;
|
Line 37 use Apache::lonacc;
|
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::loncommon; |
use Apache::loncommon; |
use Apache::lonhtmlcommon; |
use Apache::lonhtmlcommon; |
|
use Apache::lonuserutils; |
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonauth; |
use Apache::lonauth; |
use Apache::resetpw; |
use Apache::resetpw; |
Line 520 ENDSCRIPT
|
Line 521 ENDSCRIPT
|
} |
} |
|
|
sub javascript_checkpass { |
sub javascript_checkpass { |
my ($now,$context) = @_; |
my ($now,$context,$domain) = @_; |
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 ($numrules,$intargjs) = |
|
&Apache::lonuserutils::passwd_validation_js('upass',$domain); |
&js_escape(\$nopass); |
&js_escape(\$nopass); |
&js_escape(\$mismatchpass); |
&js_escape(\$mismatchpass); |
my $js = <<"ENDSCRIPT"; |
my $js = <<"ENDSCRIPT"; |
Line 540 sub javascript_checkpass {
|
Line 543 sub javascript_checkpass {
|
return false; |
return false; |
} |
} |
if (upass == upasscheck) { |
if (upass == upasscheck) { |
|
var numrules = $numrules; |
|
if (numrules > 0) { |
|
$intargjs |
|
} |
client.elements.upasscheck$now.value=''; |
client.elements.upasscheck$now.value=''; |
if (validate_email(client)) { |
if (validate_email(client)) { |
send(one,two,'$context'); |
send(one,two,'$context'); |
Line 835 sub process_email_request {
|
Line 842 sub process_email_request {
|
} else { |
} else { |
my ($captcha_chk,$captcha_error) = &Apache::loncommon::captcha_response('usercreation',$server); |
my ($captcha_chk,$captcha_error) = &Apache::loncommon::captcha_response('usercreation',$server); |
if ($captcha_chk != 1) { |
if ($captcha_chk != 1) { |
$output = &invalid_state('captcha',$domdesc,$contact_name, |
$output = '<span class="LC_warning">'. |
$contact_email,$captcha_error); |
&mt('Validation of the code you entered failed.').'</span>'. |
|
'<br />'.$captcha_error."\n".'<br /><p>'. |
|
&mt('[_1]Return[_2] to the previous page to try again.', |
|
'<a href="javascript:document.retryemail.submit();">','</a>')."\n". |
|
'<form name="retryemail" action="/adm/createaccount" method="post" />'. |
|
'<input type="hidden" name="domain" value="'.$domain.'" />'."\n"; |
|
if ($env{'form.courseid'} =~ /^$match_domain\_$match_courseid$/) { |
|
$output .= '<input type="hidden" name="courseid" value="'.$env{'form.courseid'}.'" />'."\n"; |
|
} |
|
if ($env{'form.type'}) { |
|
my $usertype = &get_usertype($domain); |
|
if ($usertype ne '') { |
|
$output .= '<input type="hidden" name="type" value="'.$usertype.'" />'."\n". |
|
'<input type="hidden" name="reportedtype" value="'.&mt('Submit').'" />'."\n"; |
|
} |
|
} |
|
$output .= '</form></p>'; |
return $output; |
return $output; |
} |
} |
my (%rulematch,%inst_results,%curr_rules,%got_rules,%alerts); |
my (%rulematch,%inst_results,%curr_rules,%got_rules,%alerts); |
Line 894 sub send_token {
|
Line 917 sub send_token {
|
$env{'form.logtoken'} =~ s/(`)//g; |
$env{'form.logtoken'} =~ s/(`)//g; |
if ($env{'form.logtoken'}) { |
if ($env{'form.logtoken'}) { |
my $logtoken = $env{'form.logtoken'}; |
my $logtoken = $env{'form.logtoken'}; |
|
my $earlyout; |
my $tmpinfo=Apache::lonnet::reply('tmpget:'.$logtoken,$server); |
my $tmpinfo=Apache::lonnet::reply('tmpget:'.$logtoken,$server); |
if (($tmpinfo=~/^error/) || ($tmpinfo eq 'con_lost')) { |
if (($tmpinfo=~/^error/) || ($tmpinfo eq 'con_lost')) { |
$msg = &mt('Information needed to process your request is missing, inaccessible or expired.') |
$msg = &mt('Information needed to process your request is missing, inaccessible or expired.') |
.'<br />'.&mt('Return to the previous page to try again.'); |
.'<br /><p>'.&mt('[_1]Return[_2] to the previous page to try again.', |
|
'<a href="javascript:document.retryemail.submit();">','</a>'); |
|
$earlyout = 1; |
} else { |
} else { |
my $reply = &Apache::lonnet::reply('tmpdel:'.$logtoken,$server); |
my $reply = &Apache::lonnet::reply('tmpdel:'.$logtoken,$server); |
unless ($reply eq 'ok') { |
unless ($reply eq 'ok') { |
$msg .= &mt('Request could not be processed.'); |
$msg .= &mt('Request could not be processed.'); |
} |
} |
} |
} |
|
# Check if the password entered by the user satisfies domain's requirements |
|
my %passwdconf = &Apache::lonnet::get_passwdconf($domain); |
|
my ($min,$max,@chars); |
|
$min = $Apache::lonnet::passwdmin; |
|
if (ref($passwdconf{'chars'}) eq 'ARRAY') { |
|
if ($passwdconf{'min'} =~ /^\d+$/) { |
|
if ($passwdconf{'min'} > $min) { |
|
$min = $passwdconf{'min'}; |
|
} |
|
} |
|
if ($passwdconf{'max'} =~ /^\d+$/) { |
|
$max = $passwdconf{'max'}; |
|
} |
|
@chars = @{$passwdconf{'chars'}}; |
|
} |
|
my $encpass = $env{'form.upass'}; |
|
if ($encpass eq '') { |
|
$msg = &mt('Password retrieved was blank.'). |
|
'<br /><p>'.&mt('[_1]Return[_2] to the previous page to try again.', |
|
'<a href="javascript:document.retryemail.submit();">','</a>'); |
|
$earlyout = 1; |
|
} else { |
|
# Split the logtoken to retrieve the DES key and decrypt the encypted password |
|
my ($key,$caller)=split(/&/,$tmpinfo); |
|
if ($caller eq 'createaccount') { |
|
my $plainpass = &Apache::loncommon::des_decrypt($key,$encpass); |
|
if (($min > 0) || ($max ne '') || (@chars > 0)) { |
|
my $warning = &Apache::loncommon::check_passwd_rules($domain,$plainpass); |
|
if ($warning) { |
|
$msg = $warning. |
|
'<p>'.&mt('[_1]Return[_2] to the previous page to try again.', |
|
'<a href="javascript:document.retryemail.submit();">','</a>'); |
|
$earlyout = 1; |
|
} |
|
} |
|
} |
|
} |
|
if ($earlyout) { |
|
$msg .= '<form name="retryemail" action="/adm/createaccount" method="post" />'. |
|
'<input type="hidden" name="domain" value="'.$domain.'" />'."\n"; |
|
if ($env{'form.courseid'} =~ /^$match_domain\_$match_courseid$/) { |
|
$msg .= '<input type="hidden" name="courseid" value="'.$env{'form.courseid'}.'" />'."\n"; |
|
} |
|
if ($env{'form.type'}) { |
|
my $usertype = &get_usertype($domain); |
|
if ($usertype ne '') { |
|
$msg .= '<input type="hidden" name="type" value="'.$usertype.'" />'. |
|
'<input type="hidden" name="reportedtype" value="'.&mt('Submit').'" />'."\n"; |
|
} |
|
} |
|
$msg .= '</form></p>'; |
|
return $msg; |
|
} |
my %info = ('ip' => $ENV{'REMOTE_ADDR'}, |
my %info = ('ip' => $ENV{'REMOTE_ADDR'}, |
'time' => $now, |
'time' => $now, |
'domain' => $domain, |
'domain' => $domain, |
Line 1096 sub print_dataentry_form {
|
Line 1175 sub print_dataentry_form {
|
close($jsh); |
close($jsh); |
$output = &javascript_setforms($now,$emailusername,$captcha,$usertype,$recaptchaversion, |
$output = &javascript_setforms($now,$emailusername,$captcha,$usertype,$recaptchaversion, |
$usernameset,$condition,$excluded). |
$usernameset,$condition,$excluded). |
"\n".&javascript_checkpass($now,'email'); |
"\n".&javascript_checkpass($now,'email',$domain); |
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 1704 sub invalid_state {
|
Line 1783 sub invalid_state {
|
$msg .= &mt('Username rules at this institution do not allow the e-mail address you provided to be used as a username.'); |
$msg .= &mt('Username rules at this institution do not allow the e-mail address you provided to be used as a username.'); |
} elsif ($error eq 'userformat') { |
} elsif ($error eq 'userformat') { |
$msg .= &mt('The e-mail address you provided may not be used as a username at this LON-CAPA institution.'); |
$msg .= &mt('The e-mail address you provided may not be used as a username at this LON-CAPA institution.'); |
} elsif ($error eq 'captcha') { |
|
$msg .= &mt('Validation of the code you entered failed.'); |
|
} elsif ($error eq 'noemails') { |
} elsif ($error eq 'noemails') { |
$msg .= &mt('Creation of a new user account using an e-mail address as username is not permitted at this LON-CAPA institution.'); |
$msg .= &mt('Creation of a new user account using an e-mail address as username is not permitted at this LON-CAPA institution.'); |
} elsif ($error eq 'emailfail') { |
} elsif ($error eq 'emailfail') { |