[LON-CAPA-cvs] cvs: loncom /interface lonnavmaps.pm
raeburn
raeburn at source.lon-capa.org
Thu Jun 23 15:31:39 EDT 2022
raeburn Thu Jun 23 19:31:39 2022 EDT
Modified files:
/loncom/interface lonnavmaps.pm
Log:
- Bug 6907
- Show the sub-folder instead of "This is course is empty" in student
sessions launched via deep-link, when deeplink parm hides other resources.
Index: loncom/interface/lonnavmaps.pm
diff -u loncom/interface/lonnavmaps.pm:1.558 loncom/interface/lonnavmaps.pm:1.559
--- loncom/interface/lonnavmaps.pm:1.558 Sat Jun 11 14:51:49 2022
+++ loncom/interface/lonnavmaps.pm Thu Jun 23 19:31:39 2022
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Navigate Maps Handler
#
-# $Id: lonnavmaps.pm,v 1.558 2022/06/11 14:51:49 raeburn Exp $
+# $Id: lonnavmaps.pm,v 1.559 2022/06/23 19:31:39 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1423,6 +1423,37 @@
my $condition = 0;
if ($env{'form.condition'}) {
$condition = 1;
+ } elsif (($env{'request.deeplink.login'}) && ($env{'request.course.id'}) && (!$userCanSeeHidden)) {
+ if (!defined($navmap)) {
+ $navmap = Apache::lonnavmaps::navmap->new();
+ }
+ if (defined($navmap)) {
+ my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+ my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
+ my $symb = &Apache::loncommon::symb_from_tinyurl($env{'request.deeplink.login'},$cnum,$cdom);
+ if ($symb) {
+ my $deeplink;
+ my $res = $navmap->getBySymb($symb);
+ if ($res->is_map()) {
+ my $mapname = &Apache::lonnet::declutter($res->src());
+ $mapname = &Apache::lonnet::deversion($mapname);
+ $deeplink = $navmap->get_mapparam(undef,$mapname,"0.deeplink");
+ } else {
+ $deeplink = $res->deeplink();
+ }
+ if ($deeplink ne '') {
+ if ((split(/,/,$deeplink))[1] eq 'hide') {
+ if ($res->is_map()) {
+ map { $filterHash->{$_} = 1 if $_ } split(/,/,$res->map_hierarchy());
+ } else {
+ my $mapurl = (&Apache::lonnet::decode_symb($symb))[0];
+ my $map = $navmap->getResourceByUrl($mapurl);
+ map { $filterHash->{$_} = 1 if $_ } split(/,/,$map->map_hierarchy());
+ }
+ }
+ }
+ }
+ }
}
if (!$env{'form.folderManip'} && !defined($args->{'iterator'}) && !$args->{'nocurrloc'}) {
More information about the LON-CAPA-cvs
mailing list