version 1.56, 2021/11/18 20:25:27
|
version 1.59, 2022/03/29 19:12:04
|
Line 722 sub handler {
|
Line 722 sub handler {
|
$handle); |
$handle); |
my $checklaunch; |
my $checklaunch; |
if ($data{'origurl'} =~ m{^/tiny/$match_domain/\w+$}) { |
if ($data{'origurl'} =~ m{^/tiny/$match_domain/\w+$}) { |
if ($env{'request.linkprot'} ne '') { |
unless ($env{'request.linkprot'} eq $data{'linkprot'}) { |
unless ($env{'request.linkprot'} eq $data{'linkprot'}) { |
$checklaunch = 1; |
$checklaunch = 1; |
|
} |
|
} |
|
if ($env{'request.linkkey'} ne '') { |
|
unless ($env{'request.linkkey'} eq $data{'linkkey'}) { |
|
$checklaunch = 1; |
|
} |
|
} |
} |
if ($env{'request.deeplink.login'}) { |
unless ($env{'request.linkkey'} eq $data{'linkkey'}) { |
unless ($env{'request.deeplink.login'} eq $data{'deeplink.login'}) { |
$checklaunch = 1; |
$checklaunch = 1; |
} |
} |
unless ($env{'request.deeplink.login'} eq $data{'deeplink.login'}) { |
|
$checklaunch = 1; |
} |
} |
} |
} |
if ($data{'linkprot'} ne '') { |
if ($data{'linkprot'} ne '') { |
|
if (($env{'user.name'} ne $data{'username'}) || |
|
($env{'user.domain'} ne $data{'domain'})) { |
|
my %linkprot_env; |
|
foreach my $item ('linkprot','deeplink.login') { |
|
if ($data{$item}) { |
|
$linkprot_env{'request.'.$item} = $data{$item}; |
|
} |
|
} |
|
&logout($r,$ip,$handle,\%data,\%linkprot_env); |
|
return OK; |
|
} |
&Apache::lonnet::appenv({'request.linkprot' => $data{'linkprot'}}); |
&Apache::lonnet::appenv({'request.linkprot' => $data{'linkprot'}}); |
if ($env{'request.linkkey'}) { |
if ($env{'request.linkkey'}) { |
&Apache::lonnet::delenv('request.linkkey'); |
&Apache::lonnet::delenv('request.linkkey'); |
Line 1007 sub handler {
|
Line 1012 sub handler {
|
} |
} |
if ($reuse_session) { |
if ($reuse_session) { |
$r->internal_redirect($next_url); |
$r->internal_redirect($next_url); |
} elsif ($data{'deeplink.login'}) { |
} else { |
if (ref($extra_env) eq 'HASH') { |
if ($data{'deeplink.login'}) { |
$extra_env->{'request.deeplink.login'} = $data{'deeplink.login'}; |
if (ref($extra_env) eq 'HASH') { |
} else { |
$extra_env->{'request.deeplink.login'} = $data{'deeplink.login'}; |
$extra_env = {'request.deeplink.login' => $data{'deeplink.login'}}; |
} else { |
} |
$extra_env = {'request.deeplink.login' => $data{'deeplink.login'}}; |
if ($data{'linkprot'}) { |
} |
$extra_env->{'request.linkprot'} = $data{'linkprot'}; |
if ($data{'linkprot'}) { |
} elsif ($data{'linkkey'} ne '') { |
$extra_env->{'request.linkprot'} = $data{'linkprot'}; |
$extra_env->{'request.linkkey'} = $data{'linkkey'}; |
} elsif ($data{'linkkey'} ne '') { |
|
$extra_env->{'request.linkkey'} = $data{'linkkey'}; |
|
} |
} |
} |
&Apache::lonauth::success($r,$data{'username'},$data{'domain'},$home, |
&Apache::lonauth::success($r,$data{'username'},$data{'domain'},$home, |
$next_url,$extra_env,\%form,'',$cid); |
$next_url,$extra_env,\%form,'',$cid); |