--- loncom/interface/lonnavmaps.pm 2003/01/10 18:45:30 1.124 +++ loncom/interface/lonnavmaps.pm 2003/01/13 22:41:20 1.126 @@ -2,7 +2,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.124 2003/01/10 18:45:30 bowersj2 Exp $ +# $Id: lonnavmaps.pm,v 1.126 2003/01/13 22:41:20 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -273,6 +273,12 @@ sub real_handler { $mapIterator->next(); # discard the first BEGIN_MAP my $curRes = $mapIterator->next(); my $counter = 0; +<<<<<<< lonnavmaps.pm + + # We only need to do this if we need to open the maps to show the + # current position + while ($depth > 0 && !$ENV{'form.alreadyHere'}) { +======= my $foundJump = ($jumpType == $NOTHING); # look for jump point if we have one my $looped = 0; @@ -280,6 +286,7 @@ sub real_handler { # current position. This will change the counter so we can't count # for the jump marker with this loop. while ($depth > 0 && !$ENV{'form.alreadyHere'}) { +>>>>>>> 1.122 if ($curRes == $mapIterator->BEGIN_MAP()) { $depth++; } if ($curRes == $mapIterator->END_MAP()) { $depth--; } @@ -298,6 +305,9 @@ sub real_handler { } $ENV{'form.alreadyHere'} = 1; } +<<<<<<< lonnavmaps.pm + +======= $looped = 1; $curRes = $mapIterator->next(); @@ -327,6 +337,7 @@ sub real_handler { $foundJump = 1; } +>>>>>>> 1.122 $curRes = $mapIterator->next(); } @@ -686,10 +697,10 @@ sub real_handler { $r->print(''); } - $r->print(""); - $navmap->untieHashes(); + $r->print("

Course Map Untied

"); + return OK; } @@ -1155,7 +1166,7 @@ sub DESTROY { $self->untieHashes(); } -# Does the given resource (as a symb string) have +# Private method: Does the given resource (as a symb string) have # current discussion? Returns 0 if chat/mail data not extracted. sub hasDiscussion { my $self = shift; @@ -1167,7 +1178,7 @@ sub hasDiscussion { $self->{LAST_CHECK}; } -# Does the given resource (as a symb string) have +# Private method: Does the given resource (as a symb string) have # current feedback? Returns the string in the feedback hash, which # will be false if it does not exist. sub getFeedback { @@ -1179,6 +1190,7 @@ sub getFeedback { return $self->{FEEDBACK}->{$symb}; } +# Private method: Get the errors for that resource (by source). sub getErrors { my $self = shift; my $src = shift; @@ -1478,6 +1490,10 @@ sub new { if ($curRes == $iterator->END_MAP()) { $depth--; } if (ref($curRes)) { +<<<<<<< lonnavmaps.pm + # If there's only one resource, this will save it + $resource = $curRes; $resourceCount++; +======= # If there's only one resource, this will save it # we have to filter empty resources from consideration here, # or even "empty", redirecting maps have two (start & finish) @@ -1485,6 +1501,7 @@ sub new { if($direction == FORWARD && $curRes->src()) { $resource = $curRes; $resourceCount++; } +>>>>>>> 1.122 my $resultingVal = $curRes->{DATA}->{$valName}; my $nextResources = $curRes->$nextResourceMethod(); my $nextCount = scalar(@{$nextResources}); @@ -2253,7 +2270,7 @@ sub hasDiscussion { sub getFeedback { my $self = shift; my $source = $self->src(); - if ($source !~ /^\/res\//) { $source = substr $source, 5; } + if ($source =~ /^\/res\//) { $source = substr $source, 5; } return $self->{NAV_MAP}->getFeedback($source); }