--- loncom/interface/lonnavmaps.pm 2002/10/15 20:05:35 1.83 +++ loncom/interface/lonnavmaps.pm 2002/10/17 19:25:27 1.84 @@ -2,7 +2,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.83 2002/10/15 20:05:35 bowersj2 Exp $ +# $Id: lonnavmaps.pm,v 1.84 2002/10/17 19:25:27 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -849,10 +849,6 @@ sub new_handle { $r->print(' Discussions'. '
New message (click to open)

'); } - #if (($currenturl=~/^\/res/) && - # ($currenturl!~/^\/res\/adm/)) { - # $r->print('Current Location

'); - #} # Check that it's defined if (!($navmap->courseMapDefined())) { @@ -929,7 +925,7 @@ sub new_handle { # Begin the HTML table # four cols: resource + indent, chat+feedback, icon, text string - $r->print('' ."\n"); + $r->print('
' ."\n"); my $condition = 0; if ($ENV{'form.condition'}) { @@ -944,7 +940,7 @@ sub new_handle { if ($currenturl && !$ENV{'form.alreadyHere'}) { # Give me every resource... my $mapIterator = $navmap->getIterator(undef, undef, {}, 1); - my $found != 0; + my $found = 0; my $depth = 1; $mapIterator->next(); # discard the first BEGIN_MAP my $curRes = $mapIterator->next(); @@ -1075,7 +1071,7 @@ sub new_handle { } } else { - @parts[0] = "0"; # this is to get past foreach loop below + $parts[0] = "0"; # this is to get past foreach loop below # you can consider a non-problem resource as a resource # with only one part without loss } @@ -1186,7 +1182,7 @@ sub new_handle { } # FIRST COL: The resource indentation, branch icon, and name - $r->print(" "); + $r->print(""); # Is this the first displayed part of a multi-part problem # that has not been condensed, so we should suppress these two @@ -1254,12 +1250,12 @@ sub new_handle { my $icon = $statusIconMap{$curRes->status($part)}; my $alt = $iconAltTags{$icon}; if ($icon) { - $r->print("\n"); + $r->print("\n"); } else { - $r->print("\n"); + $r->print("\n"); } } else { # not problem, no icon - $r->print("\n"); + $r->print("\n"); } # FOURTH COL: Text description @@ -1274,7 +1270,7 @@ sub new_handle { $r->print('(randomly select ' . $curRes->randompick() .')'); } - $r->print("\n"); + $r->print(" \n"); } } $curRes = $mapIterator->next(); @@ -1669,6 +1665,8 @@ sub new { $self->{EMAIL_STATUS} = \%emailstatus; } + + $self->{PARM_CACHE} = {}; bless($self); @@ -1790,6 +1788,21 @@ sub finishResource { sub parmval { my $self = shift; my ($what,$symb)=@_; + my $hashkey = $what."|||".$symb; + + if (defined($self->{PARM_CACHE}->{$hashkey})) { + return $self->{PARM_CACHE}->{$hashkey}; + } + + my $result = $self->parmval_real($what, $symb); + $self->{PARM_CACHE}->{$hashkey} = $result; + return $result; +} + +sub parmval_real { + my $self = shift; + my ($what,$symb) = @_; + my $cid=$ENV{'request.course.id'}; my $csec=$ENV{'request.course.sec'}; my $uname=$ENV{'user.name'}; @@ -2251,8 +2264,6 @@ These are methods that help you retrieve =item * B: Returns the "to" value from the compiled nav map. (It is likely you want to use B instead.) -=item * B: Returns the type of the resource, "start", "normal", or "finish". - =back =cut @@ -2282,7 +2293,6 @@ sub symb { } sub title { my $self=shift; return $self->navHash("title_", 1); } sub to { my $self=shift; return $self->navHash("to_", 1); } -sub type { my $self=shift; return $self->navHash("type_", 1); } =pod @@ -2498,7 +2508,7 @@ sub getReturnHash { my $self = shift; if (!defined($self->{RETURN_HASH})) { - my %tmpHash = &Apache::lonnet::restore($self->symb()); + my %tmpHash = &Apache::lonnet::restore($self->symb()); $self->{RETURN_HASH} = \%tmpHash; } }
\n"); + $r->print("
\n"); # print indentation for (my $i = 0; $i < $indentLevel - $deltalevel; $i++) { @@ -1217,7 +1213,7 @@ sub new_handle { if ($curRes->{RESOURCE_ERROR}) { $r->print(&Apache::loncommon::help_open_topic ("Navmap_Host_Down", - 'Host down')); + 'Host down')); } my $discussionHTML = ""; my $feedbackHTML = ""; @@ -1241,7 +1237,7 @@ sub new_handle { } } - $r->print("$discussionHTML$feedbackHTML$discussionHTML$feedbackHTML $linkopen\"$alt\"$linkclose$linkopen\"$alt\"$linkclose