--- loncom/interface/lonnavmaps.pm 2002/10/14 18:22:45 1.79 +++ 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.79 2002/10/14 18:22:45 bowersj2 Exp $ +# $Id: lonnavmaps.pm,v 1.82 2002/10/15 19:51:25 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -823,7 +823,7 @@ sub new_handle { # Initialize the nav map my $navmap = Apache::lonnavmaps::navmap->new( $ENV{"request.course.fn"}.".db", - $ENV{"request.course.fn"}."_parms.db", 1); + $ENV{"request.course.fn"}."_parms.db", 1, 1); if (!defined($navmap)) { @@ -1104,6 +1104,10 @@ sub new_handle { 'symb='.&Apache::lonnet::escape($curRes->symb()). '"'; my $title = $curRes->title(); + if (!$title) { + $title = $curRes->src(); + $title = substr ($title, rindex($title, "/") + 1); + } my $partLabel = ""; my $newBranchText = ""; @@ -1131,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 = "\"\""; @@ -1197,7 +1202,7 @@ sub new_handle { $partLabel = " (Part $part)"; $title = ""; } - if ($multipart && $condensed) { + if ($multipart && $condensed && $curRes->countParts > 1) { $nonLinkedText .= ' (' . $curRes->countParts() . ' parts)'; } @@ -2577,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; }