--- loncom/interface/lonnavmaps.pm 2019/01/16 20:23:37 1.546 +++ loncom/interface/lonnavmaps.pm 2019/01/16 21:49:39 1.547 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.546 2019/01/16 20:23:37 raeburn Exp $ +# $Id: lonnavmaps.pm,v 1.547 2019/01/16 21:49:39 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1831,7 +1831,7 @@ END } } else { my $deeplink = $navmap->get_mapparam(undef,$mapname,"0.deeplink"); - if (($deeplink eq 'absent') || ($deeplink eq 'grades')) { + if ($deeplink =~ /^(absent|grades),/) { if ($userCanSeeHidden) { $args->{'mapUnlisted'} = 1; } else { @@ -1902,10 +1902,10 @@ END } } # If deep-link parameter is set (and is not set to full) suppress link - # unless priviliged user, or calling context is sequence, and parameter + # unless privileged user, or calling context is sequence, and parameter # set at map level if ((!$curRes->deeplink($args->{'caller'})) || - ($curRes->deeplink($args->{'caller'}) eq 'full') || &advancedUser()) { + ($curRes->deeplink($args->{'caller'}) =~ /^full,/) || &advancedUser()) { $args->{'resource_nolink'} = 0; } else { $args->{'resource_nolink'} = 1; @@ -5149,14 +5149,17 @@ sub slot_control { } sub deeplink { my ($self,$caller) = @_; - if ($caller eq 'sequence') { - my @deeplink = $self->parmval("deeplink"); - if ($deeplink[1] eq 'resource') { - return $deeplink[0]; + my $value = $self->parmval("deeplink"); + if ($value) { + my @deeplink = split(/,/,$value); + if ($caller eq 'sequence') { + if ($deeplink[1] ne 'res') { + return; + } } - } else { - return $self->parmval("deeplink"); + return $deeplink[0]; } + return; } # Multiple things need this