version 1.19, 2008/07/13 17:57:58
|
version 1.21, 2008/07/14 10:17:42
|
Line 87 sub handler {
|
Line 87 sub handler {
|
$r->print($start_page."\n".'<h2>'.&mt('You are already logged in').'</h2>'. |
$r->print($start_page."\n".'<h2>'.&mt('You are already logged in').'</h2>'. |
'<p>'.&mt('Please either [_1]continue the current session[_2] or [_3]logout[_4].','<a href="/adm/roles">','</a>','<a href="/adm/logout">','</a>'). |
'<p>'.&mt('Please either [_1]continue the current session[_2] or [_3]logout[_4].','<a href="/adm/roles">','</a>','<a href="/adm/logout">','</a>'). |
'</p><p><a href="/adm/loginproblems.html">'.&mt('Login problems?').'</a></p>'.$end_page); |
'</p><p><a href="/adm/loginproblems.html">'.&mt('Login problems?').'</a></p>'.$end_page); |
return OK; |
return OK; |
} |
} |
$start_page = |
|
&Apache::loncommon::start_page('Create a user account in LON-CAPA','', |
my $courseid; |
{'no_inline_link' => 1,}); |
if (defined($env{'form.courseid'})) { |
if ($env{'form.phase'} eq 'username_activation') { |
$courseid = &validate_course($env{'form.courseid'}); |
|
} |
|
if ($env{'form.phase'} eq 'selfenroll_login') { |
if ($env{'form.udom'} ne '') { |
if ($env{'form.udom'} ne '') { |
$domain = $env{'form.udom'}; |
$domain = $env{'form.udom'}; |
} |
} |
|
my ($result,$output) = |
|
&username_validation($r,$env{'form.uname'},$domain,$domdesc, |
|
|
|
$contact_name,$contact_email,$courseid, |
|
$lonhost); |
|
if ($result eq 'existingaccount') { |
|
$r->print($output); |
|
$r->print(&Apache::loncommon::end_page()); |
|
return OK; |
|
} else { |
|
$start_page = |
|
&Apache::loncommon::start_page('Self-enroll in a LON-CAPA course','', |
|
{'no_inline_link' => 1,}); |
|
&print_header($r,$start_page); |
|
$r->print($output.&Apache::loncommon::end_page()); |
|
return OK; |
|
} |
} |
} |
|
|
|
$start_page = |
|
&Apache::loncommon::start_page('Create a user account in LON-CAPA','', |
|
{'no_inline_link' => 1,}); |
my @cancreate; |
my @cancreate; |
my %domconfig = &Apache::lonnet::get_dom('configuration',['usercreation'],$domain); |
my %domconfig = &Apache::lonnet::get_dom('configuration',['usercreation'],$domain); |
if (ref($domconfig{'usercreation'}) eq 'HASH') { |
if (ref($domconfig{'usercreation'}) eq 'HASH') { |
Line 120 sub handler {
|
Line 143 sub handler {
|
return OK; |
return OK; |
} |
} |
|
|
my $courseid; |
|
if (defined($env{'form.courseid'})) { |
|
$courseid = &validate_course($env{'form.courseid'}); |
|
} |
|
|
|
if ($sso_username ne '') { |
if ($sso_username ne '') { |
&print_header($r,$start_page); |
&print_header($r,$start_page); |
my ($msg,$sso_logout); |
my ($msg,$sso_logout); |
Line 325 sub print_username_form {
|
Line 343 sub print_username_form {
|
my %domdefaults = &Apache::lonnet::get_domain_defaults($domain); |
my %domdefaults = &Apache::lonnet::get_domain_defaults($domain); |
if ((($domdefaults{'auth_def'} =~/^krb/) && ($domdefaults{'auth_arg_def'} ne '')) || ($domdefaults{'auth_def'} eq 'localauth')) { |
if ((($domdefaults{'auth_def'} =~/^krb/) && ($domdefaults{'auth_arg_def'} ne '')) || ($domdefaults{'auth_def'} eq 'localauth')) { |
$output = '<div class="LC_left_float"><h3>'.&mt('Create account with a username provided by this institution').'</h3>'; |
$output = '<div class="LC_left_float"><h3>'.&mt('Create account with a username provided by this institution').'</h3>'; |
$output .= &mt('If you already have a log-in ID at this institution,[_1] you may be able to use it for LON-CAPA.','<br />').'<br /><br />'.&mt('Type in your log-in ID and password to find out.').'<br /><br />'; |
|
my ($lkey,$ukey) = &Apache::lonpreferences::des_keys(); |
|
my ($lextkey,$uextkey) = &getkeys($lkey,$ukey); |
|
my $logtoken=Apache::lonnet::reply('tmpput:'.$ukey.$lkey.'&createaccount', |
|
$lonhost); |
|
$output .= &serverform($logtoken,$lonhost,undef,$courseid); |
|
my $unameform = '<input type="text" name="uname" size="10" value="" />'; |
|
my $upassform = '<input type="password" name="upass'.$now.'" size="10" />'; |
|
my $submit_text = &mt('Create LON-CAPA account'); |
my $submit_text = &mt('Create LON-CAPA account'); |
$output .= '<form name="client" method="post" action="/adm/createaccount">'."\n". |
$output .= &mt('If you already have a log-in ID at this institution,[_1] you may be able to use it for LON-CAPA.','<br />').'<br /><br />'.&mt('Type in your log-in ID and password to find out.').'<br /><br />'; |
&Apache::lonhtmlcommon::start_pick_box()."\n". |
$output .= &login_box($now,$lonhost,$courseid,$submit_text, |
&Apache::lonhtmlcommon::row_title(&mt('Log-in ID'), |
$domain,'createaccount'); |
'LC_pick_box_title')."\n". |
|
$unameform."\n". |
|
&Apache::lonhtmlcommon::row_closure(1)."\n". |
|
&Apache::lonhtmlcommon::row_title(&mt('Password'), |
|
'LC_pick_box_title')."\n". |
|
$upassform."\n".'<br /><br />'."\n". |
|
'<input type="button" name="username_validation" value="'. |
|
$submit_text.'" onclick="javascript:send()" />'."\n". |
|
&Apache::lonhtmlcommon::row_closure(1)."\n". |
|
&Apache::lonhtmlcommon::end_pick_box().'<br /><br />'."\n". |
|
'<input type="hidden" name="lextkey" value="'.$lextkey.'">'."\n". |
|
'<input type="hidden" name="uextkey" value="'.$uextkey.'">'."\n". |
|
'</form></div>'; |
|
} |
} |
} |
} |
if (grep(/^email$/,@{$cancreate})) { |
if (grep(/^email$/,@{$cancreate})) { |
Line 389 sub print_username_form {
|
Line 386 sub print_username_form {
|
return $output; |
return $output; |
} |
} |
|
|
|
sub login_box { |
|
my ($now,$lonhost,$courseid,$submit_text,$domain,$context) = @_; |
|
my $output; |
|
my %titles = &Apache::lonlocal::texthash( |
|
createaccount => 'Log-in ID', |
|
selfenroll => 'Username', |
|
); |
|
my ($lkey,$ukey) = &Apache::lonpreferences::des_keys(); |
|
my ($lextkey,$uextkey) = &getkeys($lkey,$ukey); |
|
my $logtoken=Apache::lonnet::reply('tmpput:'.$ukey.$lkey.'&createaccount', |
|
$lonhost); |
|
$output = &serverform($logtoken,$lonhost,undef,$courseid,$context); |
|
my $unameform = '<input type="text" name="uname" size="10" value="" />'; |
|
my $upassform = '<input type="password" name="upass'.$now.'" size="10" />'; |
|
$output .= '<form name="client" method="post" action="/adm/createaccount">'."\n". |
|
&Apache::lonhtmlcommon::start_pick_box()."\n"; |
|
if ($context eq 'selfenroll') { |
|
my $udomform = '<input type="text" name="udom" size="10" value="'. |
|
$domain.'" />'; |
|
$output .= &Apache::lonhtmlcommon::row_title(&mt('Domain'), |
|
'LC_pick_box_title')."\n". |
|
$udomform."\n". |
|
&Apache::lonhtmlcommon::row_closure(1)."\n"; |
|
} |
|
|
|
$output .= &Apache::lonhtmlcommon::row_title($titles{$context}, |
|
'LC_pick_box_title')."\n". |
|
$unameform."\n". |
|
&Apache::lonhtmlcommon::row_closure(1)."\n". |
|
&Apache::lonhtmlcommon::row_title(&mt('Password'), |
|
'LC_pick_box_title')."\n". |
|
$upassform."\n".'<br /><br />'."\n". |
|
'<input type="button" name="username_validation" value="'. |
|
$submit_text.'" onclick="javascript:send()" />'."\n". |
|
&Apache::lonhtmlcommon::row_closure(1)."\n". |
|
&Apache::lonhtmlcommon::end_pick_box().'<br /><br />'."\n". |
|
'<input type="hidden" name="lextkey" value="'.$lextkey.'">'."\n". |
|
'<input type="hidden" name="uextkey" value="'.$uextkey.'">'."\n". |
|
'</form></div>'; |
|
return $output; |
|
} |
|
|
sub process_email_request { |
sub process_email_request { |
my ($useremail,$domain,$domdesc,$contact_name,$contact_email,$cancreate, |
my ($useremail,$domain,$domdesc,$contact_name,$contact_email,$cancreate, |
$server,$settings,$courseid) = @_; |
$server,$settings,$courseid) = @_; |
my $useremail = $env{'form.useremail'}; |
$useremail = $env{'form.useremail'}; |
my $output; |
my $output; |
if (ref($cancreate) eq 'ARRAY') { |
if (ref($cancreate) eq 'ARRAY') { |
if (!grep(/^email$/,@{$cancreate})) { |
if (!grep(/^email$/,@{$cancreate})) { |
Line 1016 sub getkeys {
|
Line 1055 sub getkeys {
|
} |
} |
|
|
sub serverform { |
sub serverform { |
my ($logtoken,$lonhost,$mailtoken,$courseid) = @_; |
my ($logtoken,$lonhost,$mailtoken,$courseid,$context) = @_; |
|
my $phase = 'username_validation"'; |
|
if ($context eq 'selfenroll') { |
|
$phase = 'selfenroll_login'; |
|
} |
my $output .= <<ENDSERVERFORM; |
my $output .= <<ENDSERVERFORM; |
<form name="server" method="post" target="_top"> |
<form name="server" method="post" action="/adm/createaccount"> |
<input type="hidden" name="logtoken" value="$logtoken" /> |
<input type="hidden" name="logtoken" value="$logtoken" /> |
<input type="hidden" name="token" value="$mailtoken" /> |
<input type="hidden" name="token" value="$mailtoken" /> |
<input type="hidden" name="serverid" value="$lonhost" /> |
<input type="hidden" name="serverid" value="$lonhost" /> |
<input type="hidden" name="uname" value="" /> |
<input type="hidden" name="uname" value="" /> |
<input type="hidden" name="upass" value="" /> |
<input type="hidden" name="upass" value="" /> |
<input type="hidden" name="phase" value="username_validation" /> |
<input type="hidden" name="phase" value="$phase" /> |
<input type="hidden" name="courseid" value="$courseid" /> |
<input type="hidden" name="courseid" value="$courseid" /> |
</form> |
</form> |
ENDSERVERFORM |
ENDSERVERFORM |