version 1.159.2.21.2.2, 2022/07/08 15:36:32
|
version 1.159.2.21.2.3, 2022/08/30 11:58:44
|
Line 308 sub sso_login {
|
Line 308 sub sso_login {
|
if ($query) { |
if ($query) { |
|
|
my @items = ('role','symb','iptoken','origurl','ttoken', |
my @items = ('role','symb','iptoken','origurl','ttoken', |
'ltoken','linkkey','logtoken','sso'); |
'ltoken','linkkey','logtoken','sso','lcssowin'); |
&Apache::loncommon::get_unprocessed_cgi($query,\@items); |
&Apache::loncommon::get_unprocessed_cgi($query,\@items); |
foreach my $item (@items) { |
foreach my $item (@items) { |
if (defined($env{'form.'.$item})) { |
if (defined($env{'form.'.$item})) { |
Line 458 sub sso_login {
|
Line 458 sub sso_login {
|
linkprotuser => $linkprotuser, |
linkprotuser => $linkprotuser, |
linkprotexit => $linkprotexit, |
linkprotexit => $linkprotexit, |
); |
); |
|
if ($env{'form.lcssowin'}) { |
|
$data{'lcssowin'} = $env{'form.lcssowin'}; |
|
} |
my $token = &Apache::lonnet::tmpput(\%data,$r->dir_config('lonHostID'),'link'); |
my $token = &Apache::lonnet::tmpput(\%data,$r->dir_config('lonHostID'),'link'); |
unless (($token eq 'con_lost') || ($token eq 'refused') || ($token =~ /^error:/) || |
unless (($token eq 'con_lost') || ($token eq 'refused') || ($token =~ /^error:/) || |
($token eq 'unknown_cmd') || ($token eq 'no_such_host')) { |
($token eq 'unknown_cmd') || ($token eq 'no_such_host')) { |
Line 539 sub sso_login {
|
Line 542 sub sso_login {
|
if ($otherserver ne '') { |
if ($otherserver ne '') { |
$redirecturl .= '?otherserver='.$otherserver; |
$redirecturl .= '?otherserver='.$otherserver; |
} |
} |
|
if ($form{'lcssowin'}) { |
|
$redirecturl .= (($redirecturl=~/\?/)?'&':'?') . 'lcssowin=1'; |
|
} |
$r->internal_redirect($redirecturl); |
$r->internal_redirect($redirecturl); |
$r->set_handlers('PerlHandler'=> undef); |
$r->set_handlers('PerlHandler'=> undef); |
} else { |
} else { |
Line 551 sub sso_login {
|
Line 557 sub sso_login {
|
'server' => $r->dir_config('lonHostID'), |
'server' => $r->dir_config('lonHostID'), |
'sso.login' => 1 |
'sso.login' => 1 |
); |
); |
foreach my $item ('role','symb','iptoken','origurl') { |
foreach my $item ('role','symb','iptoken','origurl','lcssowin') { |
if (exists($form{$item})) { |
if (exists($form{$item})) { |
$info{$item} = $form{$item}; |
$info{$item} = $form{$item}; |
} elsif ($sessiondata{$item} ne '') { |
} elsif ($sessiondata{$item} ne '') { |
Line 617 sub sso_login {
|
Line 623 sub sso_login {
|
$r->subprocess_env->set('SSOUserDomain' => $domain); |
$r->subprocess_env->set('SSOUserDomain' => $domain); |
if (grep(/^sso$/,@cancreate)) { |
if (grep(/^sso$/,@cancreate)) { |
#FIXME - need to preserve origurl, role and symb, or linkprot or linkkey for use after account |
#FIXME - need to preserve origurl, role and symb, or linkprot or linkkey for use after account |
# creation |
# creation. If lcssowin is 1, createaccount needs to close pop-up and display in main window. |
$r->set_handlers('PerlHandler'=> [\&Apache::createaccount::handler]); |
$r->set_handlers('PerlHandler'=> [\&Apache::createaccount::handler]); |
$r->handler('perl-script'); |
$r->handler('perl-script'); |
} else { |
} else { |