--- loncom/interface/lonnavmaps.pm 2021/07/19 15:48:26 1.553 +++ loncom/interface/lonnavmaps.pm 2021/08/04 19:59:10 1.554 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.553 2021/07/19 15:48:26 raeburn Exp $ +# $Id: lonnavmaps.pm,v 1.554 2021/08/04 19:59:10 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1858,7 +1858,8 @@ END } } else { my $deeplink = $navmap->get_mapparam(undef,$mapname,"0.deeplink"); - if ($deeplink =~ /^(absent|grades),/) { + my ($state,$others,$listed) = split(/,/,$deeplink); + if (($listed eq 'absent') || ($listed eq 'grades')) { if ($userCanSeeHidden) { $args->{'mapUnlisted'} = 1; } else { @@ -3662,7 +3663,7 @@ cause the iterator to return the top-lev before anything else. deeplinklisted if true (default false), will check "listed" status of a resource with a deeplink, and unless "absent" will exclude deeplink checking when retrieving the browsePriv from -lonnet::allowed(). +lonnet::allowed(). Thus, by default, only top-level resources will be shown. Change the condition to a 1 without changing the hash, and all resources will be @@ -5192,7 +5193,7 @@ sub deeplink { my ($self,$caller,$action) = @_; my $deeplink = $self->parmval("deeplink"); if ($deeplink) { - my ($listed,$scope,$access) = split(/,/,$deeplink); + my ($state,$others,$listed,$scope) = split(/,/,$deeplink); if ($action eq 'getlisted') { return $listed; } @@ -5222,7 +5223,7 @@ sub deeplink { } } } - unless (($caller eq 'sequence') || ($access eq 'any')) { + unless (($caller eq 'sequence') || ($state eq 'both')) { return $listed; } } @@ -6435,7 +6436,7 @@ sub browsePriv { $self->{SYMB},undef, undef,$noblockcheck, undef,$nodeeplinkcheck, - $nodeeplinkout); + $nodeeplinkout); } =pod