version 1.62, 2014/03/30 23:44:50
|
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); |
} |
} |
Line 991 sub create_account {
|
Line 1002 sub create_account {
|
$middlename = $dataref->{'middlename'}; |
$middlename = $dataref->{'middlename'}; |
$lastname = $dataref->{'lastname'}; |
$lastname = $dataref->{'lastname'}; |
$generation = $dataref->{'generation'}; |
$generation = $dataref->{'generation'}; |
$inststatus = $dataref->{'usertype'}; |
$inststatus = $dataref->{'inststatus'}; |
|
|
my $currhome = &Apache::lonnet::homeserver($username,$domain); |
my $currhome = &Apache::lonnet::homeserver($username,$domain); |
unless ($currhome eq 'no_host') { |
unless ($currhome eq 'no_host') { |
$output = &mt('User account requested for username: [_1] in domain: [_2] already exists.',$username,$domain); |
$output = &mt('User account requested for username: [_1] in domain: [_2] already exists.',$username,$domain); |