version 1.39, 2018/12/07 23:10:44
|
version 1.43, 2019/01/27 16:02:43
|
Line 127 sub canhost {
|
Line 127 sub canhost {
|
my %roleshash = &Apache::lonnet::get_my_roles($uname,$udom,'userroles','',['ca','aa'],\@possdoms); |
my %roleshash = &Apache::lonnet::get_my_roles($uname,$udom,'userroles','',['ca','aa'],\@possdoms); |
if (keys(%roleshash)) { |
if (keys(%roleshash)) { |
foreach my $key (keys(%roleshash)) { |
foreach my $key (keys(%roleshash)) { |
my $audom = (split(/:/,$key))[1]; |
my $audom = (split(/:/,$key))[1]; |
if ((&Apache::lonnet::will_trust('othcoau',$udom,$audom)) && |
if ((&Apache::lonnet::will_trust('othcoau',$udom,$audom)) && |
(&Apache::lonnet::will_trust('coaurem',$audom,$udom))) { |
(&Apache::lonnet::will_trust('coaurem',$audom,$udom))) { |
$canhost = 1; |
$canhost = 1; |
Line 626 sub handler {
|
Line 626 sub handler {
|
return &goto_login($r,$udom,\%data); |
return &goto_login($r,$udom,\%data); |
} |
} |
} |
} |
|
|
my $rolemsg; |
my $rolemsg; |
if ($data{'role'}) { |
if ($data{'role'}) { |
$rolemsg = "role: $data{'role'}"; |
$rolemsg = "role: $data{'role'}"; |
Line 672 sub handler {
|
Line 672 sub handler {
|
if ($handle) { |
if ($handle) { |
&Apache::lonnet::transfer_profile_to_env($r->dir_config('lonIDsDir'), |
&Apache::lonnet::transfer_profile_to_env($r->dir_config('lonIDsDir'), |
$handle); |
$handle); |
|
if ($data{'linkprot'} ne '') { |
|
my ($linkprotector,$deeplink) = split(/:/,$data{'linkprot'},2); |
|
if ($deeplink ne '') { |
|
&Apache::lonnet::appenv({'request.deeplink.login' => $deeplink}); |
|
} |
|
if ($env{'user.linkprotector'}) { |
|
my @protectors = split(/,/,$env{'user.linkprotector'}); |
|
unless (grep(/^\Q$linkprotector\E$/,@protectors)) { |
|
push(@protectors,$linkprotector); |
|
@protectors = sort { $a <=> $b } @protectors; |
|
&Apache::lonnet::appenv({'user.linkprotector' => join(',',@protectors)}); |
|
} |
|
} else { |
|
&Apache::lonnet::appenv({'user.linkprotector' => $linkprotector }); |
|
} |
|
if ($env{'user.linkproturi'}) { |
|
my @proturis = split(/,/,$env{'user.linkproturi'}); |
|
unless(grep(/^\Q$deeplink\E$/,@proturis)) { |
|
push(@proturis,$deeplink); |
|
@proturis = sort @proturis; |
|
&Apache::lonnet::appenv({'user.linkproturi' => join(',',@proturis)}); |
|
} |
|
} else { |
|
&Apache::lonnet::appenv({'user.linkproturi' => $deeplink}); |
|
} |
|
} elsif ($data{'deeplink.login'}) { |
|
my $deeplink = $data{'deeplink.login'}; |
|
if ($data{'linkkey'}) { |
|
my $linkkey = $data{'linkkey'}; |
|
if ($env{'user.deeplinkkey'}) { |
|
my @linkkeys = split(/,/,$env{'user.deeplinkkey'}); |
|
unless (grep(/^\Q$linkkey\E$/,@linkkeys)) { |
|
push(@linkkeys,$linkkey); |
|
&Apache::lonnet::appenv({'user.deeplinkkey' => join(',',sort(@linkkeys))}); |
|
} |
|
} else { |
|
&Apache::lonnet::appenv({'user.deeplinkkey' => $linkkey}); |
|
} |
|
if ($env{'user.keyedlinkuri'}) { |
|
my @keyeduris = split(/,/,$env{'user.keyedlinkuri'}); |
|
unless (grep(/^\Q$deeplink\E$/,@keyeduris)) { |
|
push(@keyeduris,$deeplink); |
|
&Apache::lonnet::appenv({'user.keyedlinkuri' => join(',',sort(@keyeduris))}); |
|
} |
|
} else { |
|
&Apache::lonnet::appenv({'user.keyedlinkuri' => $deeplink}); |
|
} |
|
} |
|
&Apache::lonnet::appenv({'request.deeplink.login' => $data{'deeplink.login'}}); |
|
} |
if ($data{'lti.login'}) { |
if ($data{'lti.login'}) { |
my $needslogout; |
my $needslogout; |
if ($env{'request.lti.login'}) { |
if ($env{'request.lti.login'}) { |
Line 765 sub handler {
|
Line 815 sub handler {
|
$desturl .= (($desturl =~/\?/)?'&':'?').'navmap=1'; |
$desturl .= (($desturl =~/\?/)?'&':'?').'navmap=1'; |
} |
} |
} |
} |
|
if ($data{'linkprot'}) { |
|
my ($linkprotector,$linkuri) = split(/:/,$data{'linkprot'},2); |
|
if ($linkprotector) { |
|
if (ref($extra_env) eq 'HASH') { |
|
$extra_env->{'user.linkprotector'} = $linkprotector; |
|
$extra_env->{'user.linkproturi'} = $linkuri; |
|
} else { |
|
$extra_env = {'user.linkprotector' => $linkprotector, |
|
'user.linkproturi' => $linkuri,}; |
|
} |
|
} |
|
} elsif ($data{'deeplink.login'}) { |
|
if ($data{'linkkey'}) { |
|
if (ref($extra_env) eq 'HASH') { |
|
$extra_env->{'user.deeplinkkey'} = $data{'linkkey'}; |
|
$extra_env->{'user.keyedlinkuri'} = $data{'deeplink.login'}, |
|
} else { |
|
$extra_env = {'user.deeplinkkey' => $data{'linkkey'}, |
|
'user.keyedlinkuri' => $data{'deeplink.login'}}; |
|
} |
|
} |
|
if (ref($extra_env) eq 'HASH') { |
|
$extra_env->{'request.deeplink.login' => $data{'deeplink.login'}}; |
|
} else { |
|
$extra_env = {'request.deeplink.login' => $data{'deeplink.login'}}; |
|
} |
|
} |
} |
} |
my $skipcritical; |
my $skipcritical; |
if (($data{'lti.login'}) && ($data{'lti.reqcrs'}) && |
if (($data{'lti.login'}) && ($data{'lti.reqcrs'}) && |