version 1.8.2.1, 2022/01/02 17:21:37
|
version 1.8.2.2, 2022/05/27 18:10:44
|
Line 230 sub launch_check {
|
Line 230 sub launch_check {
|
my %link_info = &Apache::lonnet::tmpget($env{'form.ttoken'}); |
my %link_info = &Apache::lonnet::tmpget($env{'form.ttoken'}); |
&Apache::lonnet::tmpdel($env{'form.ttoken'}); |
&Apache::lonnet::tmpdel($env{'form.ttoken'}); |
delete($env{'form.ttoken'}); |
delete($env{'form.ttoken'}); |
|
if ($link_info{'ltoken'}) { |
|
unless (($link_info{'linkprot'}) || ($link_info{'linkkey'} ne '')) { |
|
my %ltoken_info = &Apache::lonnet::tmpget($link_info{'ltoken'}); |
|
if ($ltoken_info{'linkprot'}) { |
|
$link_info{'linkprot'} = $ltoken_info{'linkprot'}; |
|
} elsif ($ltoken_info{'linkkey'} ne '') { |
|
$link_info{'linkkey'} = $ltoken_info{'linkkey'}; |
|
} |
|
} |
|
&Apache::lonnet::tmpdel($env{'form.ltoken'}); |
|
delete($env{'form.ltoken'}); |
|
} |
if ($link_info{'linkprot'}) { |
if ($link_info{'linkprot'}) { |
($linkprotector,$linkproturi) = split(/:/,$link_info{'linkprot'},2); |
($linkprotector,$linkproturi) = split(/:/,$link_info{'linkprot'},2); |
if ($env{'user.linkprotector'}) { |
if ($env{'user.linkprotector'}) { |
Line 291 sub launch_check {
|
Line 303 sub launch_check {
|
} |
} |
if ($deeplink ne '') { |
if ($deeplink ne '') { |
my $disallow; |
my $disallow; |
my ($state,$others,$listed,$scope,$protect) = split(/,/,$deeplink); |
my ($state,$others,$listed,$scope,$protect,$display,$target) = split(/,/,$deeplink); |
if (($protect ne 'none') && ($protect ne '')) { |
if (($protect ne 'none') && ($protect ne '')) { |
my ($acctype,$item) = split(/:/,$protect); |
my ($acctype,$item) = split(/:/,$protect); |
if ($acctype =~ /lti(c|d)$/) { |
if ($acctype =~ /lti(c|d)$/) { |
Line 316 sub launch_check {
|
Line 328 sub launch_check {
|
if ($disallow) { |
if ($disallow) { |
if ($currdeeplinklogin eq $linkuri) { |
if ($currdeeplinklogin eq $linkuri) { |
&Apache::lonnet::delenv('request.deeplink.login'); |
&Apache::lonnet::delenv('request.deeplink.login'); |
|
if ($env{'request.deeplink.target'} ne '') { |
|
&Apache::lonnet::delenv('request.deeplink.target'); |
|
} |
} |
} |
} else { |
} else { |
unless ($currdeeplinklogin eq $linkuri) { |
unless ($currdeeplinklogin eq $linkuri) { |
Line 334 sub launch_check {
|
Line 349 sub launch_check {
|
} |
} |
} |
} |
&Apache::lonnet::appenv({'request.deeplink.login' => $linkuri}); |
&Apache::lonnet::appenv({'request.deeplink.login' => $linkuri}); |
|
if ($target ne '') { |
|
&Apache::lonnet::appenv({'request.deeplink.target' => $target}); |
|
} elsif ($env{'request.deeplink.target'} ne '') { |
|
&Apache::lonnet::delenv('request.deeplink.target'); |
|
} |
} |
} |
} else { |
} else { |
if ($linkprotector) { |
if ($linkprotector) { |
Line 347 sub launch_check {
|
Line 367 sub launch_check {
|
&Apache::lonnet::delenv({'request.linkkey'}); |
&Apache::lonnet::delenv({'request.linkkey'}); |
} |
} |
&Apache::lonnet::appenv({'request.deeplink.login' => $linkuri}); |
&Apache::lonnet::appenv({'request.deeplink.login' => $linkuri}); |
|
if ($env{'request.deeplink.target'} ne '') { |
|
&Apache::lonnet::delenv('request.deeplink.target'); |
|
} |
} |
} |
return $newlauncher; |
return $newlauncher; |
} |
} |