version 1.42, 2018/12/26 20:10:21
|
version 1.43, 2019/01/27 16:02:43
|
Line 674 sub handler {
|
Line 674 sub handler {
|
$handle); |
$handle); |
if ($data{'linkprot'} ne '') { |
if ($data{'linkprot'} ne '') { |
my ($linkprotector,$deeplink) = split(/:/,$data{'linkprot'},2); |
my ($linkprotector,$deeplink) = split(/:/,$data{'linkprot'},2); |
|
if ($deeplink ne '') { |
|
&Apache::lonnet::appenv({'request.deeplink.login' => $deeplink}); |
|
} |
if ($env{'user.linkprotector'}) { |
if ($env{'user.linkprotector'}) { |
my @protectors = split(/,/,$env{'user.linkprotector'}); |
my @protectors = split(/,/,$env{'user.linkprotector'}); |
unless (grep(/^\Q$linkprotector\E$/,@protectors)) { |
unless (grep(/^\Q$linkprotector\E$/,@protectors)) { |
Line 683 sub handler {
|
Line 686 sub handler {
|
} |
} |
} else { |
} else { |
&Apache::lonnet::appenv({'user.linkprotector' => $linkprotector }); |
&Apache::lonnet::appenv({'user.linkprotector' => $linkprotector }); |
} |
} |
if ($env{'user.linkproturi'}) { |
if ($env{'user.linkproturi'}) { |
my @proturis = split(/,/,$env{'user.linkproturi'}); |
my @proturis = split(/,/,$env{'user.linkproturi'}); |
unless(grep(/^\Q$deeplink\E$/,@proturis)) { |
unless(grep(/^\Q$deeplink\E$/,@proturis)) { |
Line 694 sub handler {
|
Line 697 sub handler {
|
} else { |
} else { |
&Apache::lonnet::appenv({'user.linkproturi' => $deeplink}); |
&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; |
Line 799 sub handler {
|
Line 826 sub handler {
|
'user.linkproturi' => $linkuri,}; |
'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; |