version 1.1, 2022/06/30 21:04:13
|
version 1.2, 2022/07/07 15:28:08
|
Line 33 use lib '/home/httpd/lib/perl/';
|
Line 33 use lib '/home/httpd/lib/perl/';
|
use Apache::Constants qw(:common); |
use Apache::Constants qw(:common); |
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::loncommon; |
use Apache::loncommon; |
|
use Apache::lonnavmaps; |
use Apache::lonlocal; |
use Apache::lonlocal; |
use LONCAPA; |
use LONCAPA; |
use CGI::Cookie(); |
use CGI::Cookie(); |
Line 49 sub handler {
|
Line 50 sub handler {
|
if ($env{'request.deeplink.target'} ne '') { |
if ($env{'request.deeplink.target'} ne '') { |
$deeplinktarget = $env{'request.deeplink.target'}; |
$deeplinktarget = $env{'request.deeplink.target'}; |
} |
} |
if ($env{'request.linkprotexit'} =~ m{^https?://}) { |
if ($env{'request.course.id'}) { |
$exiturl = $env{'request.linkprotexit'}; |
my ($deeplink_symb,$deeplink); |
&js_escape(\$exiturl); |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
if (($cnum ne '') && ($cdom ne '')) { |
|
$deeplink_symb = &Apache::loncommon::deeplink_login_symb($cnum,$cdom); |
|
if ($deeplink_symb) { |
|
if ($deeplink_symb =~ /\.(page|sequence)$/) { |
|
my $mapname = &Apache::lonnet::deversion((&Apache::lonnet::decode_symb($deeplink_symb))[2]); |
|
my $navmap = Apache::lonnavmaps::navmap->new(); |
|
if (ref($navmap)) { |
|
$deeplink = $navmap->get_mapparam(undef,$mapname,'0.deeplink'); |
|
} |
|
} else { |
|
$deeplink = &Apache::lonnet::EXT('resource.0.deeplink',$deeplink_symb); |
|
} |
|
if ($deeplink ne '') { |
|
my ($state,$others,$listed,$scope,$protect,$display,$target,$exit) = split(/,/,$deeplink); |
|
if ($exit) { |
|
my ($show,$text) = split(/:/,$exit); |
|
if ($show eq 'url') { |
|
if ($env{'request.linkprotexit'} =~ m{^https?://}) { |
|
$exiturl = $env{'request.linkprotexit'}; |
|
&js_escape(\$exiturl); |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
} |
} |
} |
} |
if (unlink("$lonidsdir/$handle.id")) { |
if (unlink("$lonidsdir/$handle.id")) { |