--- loncom/interface/lonnavmaps.pm 2003/04/22 18:38:47 1.179 +++ loncom/interface/lonnavmaps.pm 2003/04/24 18:18:38 1.181 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.179 2003/04/22 18:38:47 bowersj2 Exp $ +# $Id: lonnavmaps.pm,v 1.181 2003/04/24 18:18:38 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1226,8 +1226,6 @@ sub render { # Decide what parts to show. if ($curRes->is_problem() && $showParts) { - $curRes->parts(); - $curRes->parts(); @parts = @{$curRes->parts()}; $args->{'multipart'} = scalar(@parts) > 1; @@ -3080,6 +3078,8 @@ sub extractParts { $self->{PARTS} = []; + my %parts; + # Retrieve part count, if this is a problem if ($self->is_problem()) { my $metadata = &Apache::lonnet::metadata($self->src(), 'packages'); @@ -3091,15 +3091,21 @@ sub extractParts { foreach (split(/\,/,$metadata)) { if ($_ =~ /^part_(.*)$/) { my $part = $1; + # This floods the logs + #if (defined($parts{$part})) { + # Apache::lonnet::logthis("$part multiply defined in metadata for " . $self->symb()); + # } + # check to see if part is turned off. - if (! Apache::loncommon::check_if_partid_hidden($part, $self->symb())) { - push @{$self->{PARTS}}, $1; + + if (!Apache::loncommon::check_if_partid_hidden($part, $self->symb())) { + $parts{$part} = 1; } } } - my @sortedParts = sort @{$self->{PARTS}}; + my @sortedParts = sort keys %parts; $self->{PARTS} = \@sortedParts; }