version 1.1361, 2021/06/15 20:52:26
|
version 1.1362, 2021/07/19 15:48:26
|
Line 9142 sub menucoll_in_effect {
|
Line 9142 sub menucoll_in_effect {
|
my ($menucoll,$deeplinkmenu,%menu); |
my ($menucoll,$deeplinkmenu,%menu); |
if ($env{'request.course.id'}) { |
if ($env{'request.course.id'}) { |
$menucoll = $env{'course.'.$env{'request.course.id'}.'.menudefault'}; |
$menucoll = $env{'course.'.$env{'request.course.id'}.'.menudefault'}; |
if (($env{'request.deeplink.login'}) && |
if ($env{'request.deeplink.login'}) { |
($env{'request.noversionuri'} =~ m{^/(res|uploaded)/})) { |
my ($deeplink_symb,$deeplink); |
my $deeplink = &Apache::lonnet::EXT('resource.0.deeplink'); |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
if ($env{'request.noversionuri'} =~ m{^/(res|uploaded)/}) { |
|
if ($env{'request.noversionuri'} =~ /\.(page|sequence)$/) { |
|
my $navmap = Apache::lonnavmaps::navmap->new(); |
|
if (ref($navmap)) { |
|
$deeplink = $navmap->get_mapparam(undef, |
|
&Apache::lonnet::declutter($env{'request.noversionuri'}), |
|
'0.deeplink'); |
|
} |
|
} else { |
|
$deeplink = &Apache::lonnet::EXT('resource.0.deeplink'); |
|
} |
|
} else { |
|
$deeplink_symb = &deeplink_login_symb($cnum,$cdom); |
|
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 '') { |
if ($deeplink ne '') { |
my ($listed,$scope,$access,$display) = split(/,/,$deeplink); |
my ($listed,$scope,$access,$display) = split(/,/,$deeplink); |
if ($display =~ /^\d+$/) { |
if ($display =~ /^\d+$/) { |
Line 9160 sub menucoll_in_effect {
|
Line 9184 sub menucoll_in_effect {
|
return ($menucoll,$deeplinkmenu,\%menu); |
return ($menucoll,$deeplinkmenu,\%menu); |
} |
} |
|
|
|
sub deeplink_login_symb { |
|
my ($cnum,$cdom) = @_; |
|
my $login_symb; |
|
if ($env{'request.deeplink.login'}) { |
|
if ($env{'request.deeplink.login'} =~ m{^\Q/tiny/$cdom/\E(\w+)$}) { |
|
my $key = $1; |
|
my ($tinyurl,$login); |
|
my ($result,$cached)=&Apache::lonnet::is_cached_new('tiny',$cdom."\0".$key); |
|
if (defined($cached)) { |
|
$tinyurl = $result; |
|
} else { |
|
my $configuname = &Apache::lonnet::get_domainconfiguser($cdom); |
|
my %currtiny = &Apache::lonnet::get('tiny',[$key],$cdom,$configuname); |
|
if ($currtiny{$key} ne '') { |
|
$tinyurl = $currtiny{$key}; |
|
&Apache::lonnet::do_cache_new('tiny',$cdom."\0".$key,$currtiny{$key},600); |
|
} |
|
} |
|
if ($tinyurl ne '') { |
|
my ($cnumreq,$posslogin) = split(/\&/,$tinyurl); |
|
if ($cnumreq eq $cnum) { |
|
$login_symb = $posslogin; |
|
} |
|
} |
|
} |
|
} |
|
return $login_symb; |
|
} |
|
|
sub wishlist_window { |
sub wishlist_window { |
return(<<'ENDWISHLIST'); |
return(<<'ENDWISHLIST'); |
<script type="text/javascript"> |
<script type="text/javascript"> |