--- loncom/interface/lonnavmaps.pm 2002/10/14 18:48:13 1.81 +++ loncom/interface/lonnavmaps.pm 2002/10/15 19:51:25 1.82 @@ -2,7 +2,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.81 2002/10/14 18:48:13 bowersj2 Exp $ +# $Id: lonnavmaps.pm,v 1.82 2002/10/15 19:51:25 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1135,7 +1135,8 @@ sub new_handle { # Display the correct icon, link to open or shut map if ($curRes->is_map()) { my $mapId = $curRes->map_pc(); - my $nowOpen = !defined($filterHash{$mapId}); + my $nowOpen = (!defined($filterHash{$mapId})); + if ($condition) {$nowOpen = !$nowOpen;} $icon = $nowOpen ? "navmap.folder.closed.gif" : "navmap.folder.open.gif"; $icon = "\"\""; @@ -1201,7 +1202,7 @@ sub new_handle { $partLabel = " (Part $part)"; $title = ""; } - if ($multipart && $condensed) { + if ($multipart && $condensed && $curRes->countParts > 1) { $nonLinkedText .= ' (' . $curRes->countParts() . ' parts)'; } @@ -2581,25 +2582,27 @@ sub extractParts { $self->{PARTS} = []; - # Retrieve part count - my $metadata = &Apache::lonnet::metadata($self->src(), 'allpossiblekeys'); - if (!$metadata) { - $self->{RESOURCE_ERROR} = 1; - $self->{PARTS} = []; - return; - } - - foreach (split(/\,/,$metadata)) { - if ($_ =~ /^parameter\_(.*)\_opendate$/) { - push @{$self->{PARTS}}, $1; + # Retrieve part count, if this is a problem + if ($self->is_problem()) { + my $metadata = &Apache::lonnet::metadata($self->src(), 'allpossiblekeys'); + if (!$metadata) { + $self->{RESOURCE_ERROR} = 1; + $self->{PARTS} = []; + return; + } + + foreach (split(/\,/,$metadata)) { + if ($_ =~ /^parameter\_(.*)\_opendate$/) { + push @{$self->{PARTS}}, $1; + } } + + + # Is this possible to do in one line? - Jeremy + my @sortedParts = sort @{$self->{PARTS}}; + $self->{PARTS} = \@sortedParts; } - - # Is this possible to do in one line? - Jeremy - my @sortedParts = sort @{$self->{PARTS}}; - $self->{PARTS} = \@sortedParts; - return; }