Diff for /loncom/interface/lonnavmaps.pm between versions 1.546 and 1.550

version 1.546, 2019/01/16 20:23:37 version 1.550, 2020/04/22 14:53:03
Line 592  sub getLinkForResource { Line 592  sub getLinkForResource {
     my $anchor;      my $anchor;
     if ($res->is_page()) {      if ($res->is_page()) {
  foreach my $item (@$stack) { if (defined($item)) { $anchor = $item; }  }   foreach my $item (@$stack) { if (defined($item)) { $anchor = $item; }  }
  $anchor=&escape($anchor->shown_symb());   if ($anchor->encrypted() && !&advancedUser()) {
       $anchor='LC_'.$anchor->id();
    } else {
       $anchor=&escape($anchor->shown_symb());
    }
  return ($res->link(),$res->shown_symb(),$anchor);   return ($res->link(),$res->shown_symb(),$anchor);
     }      }
             # in case folder was skipped over as "only sequence"              # in case folder was skipped over as "only sequence"
Line 1831  END Line 1835  END
                     }                      }
                 } else {                  } else {
                     my $deeplink = $navmap->get_mapparam(undef,$mapname,"0.deeplink");                      my $deeplink = $navmap->get_mapparam(undef,$mapname,"0.deeplink");
                     if (($deeplink eq 'absent') || ($deeplink eq 'grades')) {                      if ($deeplink =~ /^(absent|grades),/) {
                         if ($userCanSeeHidden) {                          if ($userCanSeeHidden) {
                             $args->{'mapUnlisted'} = 1;                              $args->{'mapUnlisted'} = 1;
                         } else {                          } else {
Line 1902  END Line 1906  END
             }              }
         }          }
         # If deep-link parameter is set (and is not set to full) suppress link          # 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          # set at map level
         if ((!$curRes->deeplink($args->{'caller'})) ||          if ((!$curRes->deeplink($args->{'caller'})) ||
             ($curRes->deeplink($args->{'caller'}) eq 'full') || &advancedUser()) {              ($curRes->deeplink($args->{'caller'}) =~ /^full,/) || &advancedUser()) {
             $args->{'resource_nolink'} = 0;              $args->{'resource_nolink'} = 0;
         } else {          } else {
             $args->{'resource_nolink'} = 1;              $args->{'resource_nolink'} = 1;
Line 1988  END Line 1992  END
                     $currentJumpDelta) {                      $currentJumpDelta) {
                     # Jam the anchor after the <td> tag;                      # Jam the anchor after the <td> tag;
                     # necessary for valid HTML (which Mozilla requires)                      # necessary for valid HTML (which Mozilla requires)
                     $colHTML =~ s/\>/\>\<a name="curloc" \/\>/;                      $colHTML =~ s/\>/\>\<a name="curloc" \>\<\/a\>/;
                     $displayedJumpMarker = 1;                      $displayedJumpMarker = 1;
                 }                  }
                 $result .= $colHTML . "\n";                  $result .= $colHTML . "\n";
Line 4017  sub next { Line 4021  sub next {
     # That ends the main iterator logic. Now, do we want to recurse      # That ends the main iterator logic. Now, do we want to recurse
     # down this map (if this resource is a map)?      # down this map (if this resource is a map)?
     if ( ($self->{HERE}->is_sequence() || (!$closeAllPages && $self->{HERE}->is_page())) &&      if ( ($self->{HERE}->is_sequence() || (!$closeAllPages && $self->{HERE}->is_page())) &&
         (defined($self->{FILTER}->{$self->{HERE}->map_pc()}) xor $self->{CONDITION})) {          (defined($self->{FILTER}->{$self->{HERE}->map_pc()}) xor $self->{CONDITION}) &&
           ($env{'request.role.adv'} || !$self->{HERE}->randomout())) {
         $self->{RECURSIVE_ITERATOR_FLAG} = 1;          $self->{RECURSIVE_ITERATOR_FLAG} = 1;
         my $firstResource = $self->{HERE}->map_start();          my $firstResource = $self->{HERE}->map_start();
         my $finishResource = $self->{HERE}->map_finish();          my $finishResource = $self->{HERE}->map_finish();
Line 5149  sub slot_control { Line 5154  sub slot_control {
 }  }
 sub deeplink {  sub deeplink {
     my ($self,$caller) = @_;      my ($self,$caller) = @_;
     if ($caller eq 'sequence') {      my $value = $self->parmval("deeplink");
         my @deeplink = $self->parmval("deeplink");      if ($value) {
         if ($deeplink[1] eq 'resource') {          my @deeplink = split(/,/,$value);
             return $deeplink[0];          if ($caller eq 'sequence') {
               if ($deeplink[1] ne 'res') {
                   return;
               }
         }          }
     } else {          return $deeplink[0];
         return $self->parmval("deeplink");  
     }      }
       return;
 }  }
   
 # Multiple things need this  # Multiple things need this

Removed from v.1.546  
changed lines
  Added in v.1.550


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>