Diff for /loncom/interface/lonnavmaps.pm between versions 1.307 and 1.308

version 1.307, 2004/12/07 22:58:05 version 1.308, 2004/12/12 21:06:36
Line 435  sub removeFromFilter { Line 435  sub removeFromFilter {
   
 # Convenience function: Given a stack returned from getStack on the iterator,  # Convenience function: Given a stack returned from getStack on the iterator,
 # return the correct src() value.  # return the correct src() value.
 # Later, this should add an anchor when we start putting anchors in pages.  
 sub getLinkForResource {  sub getLinkForResource {
     my $stack = shift;      my $stack = shift;
     my $res;      my $res;
Line 443  sub getLinkForResource { Line 442  sub getLinkForResource {
     # Check to see if there are any pages in the stack      # Check to see if there are any pages in the stack
     foreach $res (@$stack) {      foreach $res (@$stack) {
         if (defined($res)) {          if (defined($res)) {
       my $anchor;
     if ($res->is_page()) {      if ($res->is_page()) {
  return $res->link();   foreach (@$stack) { if (defined($_)) { $anchor = $_; }  }
    $anchor=&Apache::lonnet::escape($anchor->shown_symb());
    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"
     my ($map,$id,$src)=&Apache::lonnet::decode_symb($res->symb());      my ($map,$id,$src)=&Apache::lonnet::decode_symb($res->symb());
     if ($map=~/\.page$/) {      if ($map=~/\.page$/) {
  return &Apache::lonnet::clutter($map).'#'.   my $url=&Apache::lonnet::clutter($map);
     &Apache::lonnet::escape(&Apache::lonnet::declutter($src));   $anchor=&Apache::lonnet::escape($src->shown_symb());
    return ($url,$res->shown_symb(),$anchor);
     }      }
         }          }
     }      }
Line 463  sub getLinkForResource { Line 466  sub getLinkForResource {
         if (defined($_)) { $res = $_; }          if (defined($_)) { $res = $_; }
     }      }
   
     return $res->link();      return ($res->link(),$res->shown_symb());
 }  }
   
 # Convenience function: This separates the logic of how to create  # Convenience function: This separates the logic of how to create
Line 1857  END Line 1860  END
   
             # Set up some data about the parts that the cols might want              # Set up some data about the parts that the cols might want
             my $filter = $it->{FILTER};              my $filter = $it->{FILTER};
     my $src;      my ($src,$symb,$anchor);
     if ($args->{'sort'}) {      if ($args->{'sort'}) {
  $src = $curRes->src(); # FIXME this is wrong for .pages   $src = $curRes->src(); # FIXME this is wrong for .pages
    $symb = $curRes->symb(); # FIXME this is wrong for .pages
     } else {      } else {
  my $stack = $it->getStack();   my $stack = $it->getStack();
  $src=getLinkForResource($stack);   ($src,$symb,$anchor)=getLinkForResource($stack);
     }  
             my $anchor='';  
             if ($src=~s/(\#.*)$//) {  
  $anchor=$1;  
     }      }
       if (defined($anchor)) { $anchor='#'.$anchor; }
             my $srcHasQuestion = $src =~ /\?/;              my $srcHasQuestion = $src =~ /\?/;
             $args->{"resourceLink"} = $src.              $args->{"resourceLink"} = $src.
                 ($srcHasQuestion?'&':'?') .                  ($srcHasQuestion?'&':'?') .
                 'symb=' . &Apache::lonnet::escape($curRes->shown_symb()).                  'symb=' . &Apache::lonnet::escape($symb).$anchor;
  $anchor;  
   
             # Now, display each column.              # Now, display each column.
             foreach my $col (@$cols) {              foreach my $col (@$cols) {

Removed from v.1.307  
changed lines
  Added in v.1.308


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