--- loncom/interface/lonnavmaps.pm 2003/02/28 16:16:59 1.150 +++ loncom/interface/lonnavmaps.pm 2003/03/08 20:52:41 1.154 @@ -2,7 +2,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.150 2003/02/28 16:16:59 www Exp $ +# $Id: lonnavmaps.pm,v 1.154 2003/03/08 20:52:41 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -38,6 +38,8 @@ # YEAR=2002 # 1/1 Gerd Kortemeyer # Oct-Nov Jeremy Bowers +# YEAR=2003 +# Jeremy Bowers ... lots of days package Apache::lonnavmaps; @@ -167,7 +169,7 @@ sub real_handler { # Header $r->print(''. &Apache::loncommon::bodytag('Navigate Course Contents','', - $addentries)); + $addentries,'','',$ENV{'form.register'})); $r->print(''); $r->rflush(); @@ -189,7 +191,7 @@ sub real_handler { # renderer call my $render = render({ 'cols' => [0,1,2,3], 'url' => '/adm/navmaps', - #'printKey' => 1, + 'suppressNavmap' => 1, 'r' => $r}); $navmap->untieHashes(); @@ -536,7 +538,9 @@ Most of these parameters are only useful =item * B: If true, print the "Close all folders" or "open all folders" links. Default is true. -=item * B: A function that takes the resource object as its only parameter and returns a true or false value. If true, the resource is displayed. If false, it is simply skipped in the display. By default, all resources are showne. +=item * B: A function that takes the resource object as its only parameter and returns a true or false value. If true, the resource is displayed. If false, it is simply skipped in the display. By default, all resources are shown. + +=item * B: If true, will not display Navigate Content resources. Default to false. =back @@ -815,6 +819,7 @@ sub render { my $here; my $jump; my $currentJumpIndex = setDefault($args->{'currentJumpIndex'}, 0); + my $suppressNavmap = setDefault($args->{'suppressNavmap'}, 0); my $currentJumpDelta = 2; # change this to change how many resources are displayed # before the current resource when using #current @@ -1081,6 +1086,12 @@ sub render { next; } + # If we're suppressing navmaps and this is a navmap, continue on + if ($suppressNavmap && $curRes->src() =~ /^\/adm\/navmaps/) { + $curRes = $it->next(); + next; + } + # Does it have multiple parts? $args->{'multipart'} = 0; $args->{'condensed'} = 0; @@ -1192,7 +1203,7 @@ sub render { $result .= " \n"; $args->{'isNewBranch'} = 0; } - + if ($r && $rownum % 20 == 0) { $r->print($result); $result = ""; @@ -2691,22 +2702,21 @@ sub countParts { sub extractParts { my $self = shift; - return if ($self->{PARTS}); + return if (defined($self->{PARTS})); return if ($self->ext); $self->{PARTS} = []; # Retrieve part count, if this is a problem if ($self->is_problem()) { - my $metadata = &Apache::lonnet::metadata($self->src(), 'allpossiblekeys'); + my $metadata = &Apache::lonnet::metadata($self->src(), 'packages'); if (!$metadata) { $self->{RESOURCE_ERROR} = 1; $self->{PARTS} = []; return; } - foreach (split(/\,/,$metadata)) { - if ($_ =~ /^parameter\_(.*)\_opendate$/) { + if ($_ =~ /^part_(.*)$/) { my $part = $1; # check to see if part is turned off. if (! Apache::loncommon::check_if_partid_hidden($part, $self->symb())) { @@ -2720,6 +2730,11 @@ sub extractParts { $self->{PARTS} = \@sortedParts; } + # Ensure part 0 is included at the beginning. + if ($self->{PARTS}->[0] ne '0') { + unshift @{$self->{PARTS}}, '0'; + } + return; }