Diff for /loncom/interface/lonnavmaps.pm between versions 1.145 and 1.151

version 1.145, 2003/02/21 20:05:00 version 1.151, 2003/03/03 13:03:58
Line 44  package Apache::lonnavmaps; Line 44  package Apache::lonnavmaps;
 use strict;  use strict;
 use Apache::Constants qw(:common :http);  use Apache::Constants qw(:common :http);
 use Apache::loncommon();  use Apache::loncommon();
   use Apache::lonmenu();
 use POSIX qw (floor strftime);  use POSIX qw (floor strftime);
   
 my %navmaphash;  my %navmaphash;
Line 152  sub real_handler { Line 153  sub real_handler {
     }      }
   
     $r->print("<html><head>\n");      $r->print("<html><head>\n");
     $r->print("<title>Navigate Course Contents</title></head>");      $r->print("<title>Navigate Course Contents</title>");
   # ------------------------------------------------------------ Get query string
       &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['register']);
   # ----------------------------------------------------- Force menu registration
       my $addentries='';
       if ($ENV{'form.register'}) {
          $addentries=' onLoad="'.&Apache::lonmenu::loadevents().
      '" onUnload="'.&Apache::lonmenu::unloadevents().'"';
          $r->print(&Apache::lonmenu::registerurl(1));
       }
   
     # Header      # Header
     $r->print(&Apache::loncommon::bodytag('Navigate Course Contents','',      $r->print('</head>'.
                                           ''));                &Apache::loncommon::bodytag('Navigate Course Contents','',
                                       $addentries,'','',$ENV{'form.register'}));
     $r->print('<script>window.focus();</script>');      $r->print('<script>window.focus();</script>');
   
     $r->rflush();      $r->rflush();
Line 178  sub real_handler { Line 189  sub real_handler {
     # renderer call      # renderer call
     my $render = render({ 'cols' => [0,1,2,3],      my $render = render({ 'cols' => [0,1,2,3],
                           'url' => '/adm/navmaps',                            'url' => '/adm/navmaps',
                           'printKey' => 1,                            #'printKey' => 1,
                           'r' => $r});                            'r' => $r});
   
     $navmap->untieHashes();      $navmap->untieHashes();
Line 1621  sub parmval_real { Line 1632  sub parmval_real {
   
 Thus, this is suitable for cases where you don't want the structure, just a list of all resources. It is also suitable for finding out how many resources match a given description; for this use, if all you want to know is if I<any> resources match the description, the bailout parameter will allow you to avoid potentially expensive enumeration of all matching resources.  Thus, this is suitable for cases where you don't want the structure, just a list of all resources. It is also suitable for finding out how many resources match a given description; for this use, if all you want to know is if I<any> resources match the description, the bailout parameter will allow you to avoid potentially expensive enumeration of all matching resources.
   
   =item * B<hasResources>(map, filterFunc, recursive): Convience method for 
   
    scalar(retrieveResources($map, $filterFunc, $recursive, 1)) > 0
   
   which will tell whether the map has resources matching the description in the filter function.
   
 =cut  =cut
   
 sub getResourceByUrl {  sub getResourceByUrl {
Line 1661  sub retrieveResources { Line 1678  sub retrieveResources {
         return ();          return ();
     }      }
   
     # UNFINISHED... I was checking in getResourceByUrl      # Get an iterator.
       my $it = $self->getIterator($map->map_start(), $map->map_finish(),
                                   !$recursive);
   
       my @resources = ();
   
       # Run down the iterator and collect the resources.
       my $depth = 1;
       $it->next();
       my $curRes = $it->next();
   
       while ($depth > 0) {
           if ($curRes == $it->BEGIN_MAP()) {
               $depth++;
           }
           if ($curRes == $it->END_MAP()) {
               $depth--;
           }
           
           if (ref($curRes)) {
               if (!&$filterFunc($curRes)) {
                   next;
               }
   
               push @resources, $curRes;
   
               if ($bailout) {
                   return @resources;
               }
           }
   
           $curRes = $it->next();
       }
   
       return @resources;
   }
   
   sub hasResource {
       my $self = shift;
       my $map = shift;
       my $filterFunc = shift;
       my $recursive = shift;
       
       return scalar($self->retrieveResources($map, $filterFunc, $recursive, 1)) > 0;
 }  }
   
 1;  1;
Line 2647  sub extractParts { Line 2707  sub extractParts {
                   
         foreach (split(/\,/,$metadata)) {          foreach (split(/\,/,$metadata)) {
             if ($_ =~ /^parameter\_(.*)\_opendate$/) {              if ($_ =~ /^parameter\_(.*)\_opendate$/) {
                 push @{$self->{PARTS}}, $1;                  my $part = $1;
                   # check to see if part is turned off.
                   if (! Apache::loncommon::check_if_partid_hidden($part, $self->symb())) {
                       push @{$self->{PARTS}}, $1;
                   }
             }              }
         }          }
                   
                   
         # Is this possible to do in one line? - Jeremy  
         my @sortedParts = sort @{$self->{PARTS}};          my @sortedParts = sort @{$self->{PARTS}};
         $self->{PARTS} = \@sortedParts;          $self->{PARTS} = \@sortedParts;
     }      }

Removed from v.1.145  
changed lines
  Added in v.1.151


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