--- loncom/interface/lonnavmaps.pm 2002/12/02 14:19:38 1.119 +++ loncom/interface/lonnavmaps.pm 2003/01/10 19:03:06 1.125 @@ -2,7 +2,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.119 2002/12/02 14:19:38 bowersj2 Exp $ +# $Id: lonnavmaps.pm,v 1.125 2003/01/10 19:03:06 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -96,6 +96,11 @@ sub real_handler { '')); $r->print(''); + $r->rflush(); + + # Now that we've displayed some stuff to the user, init the navmap + $navmap->init(); + $r->print('
Key: | '); @@ -178,9 +183,6 @@ sub real_handler { $r->print('$discussionHTML$feedbackHTML | "); + if ($curRes->getErrors()) { + my $errors = $curRes->getErrors(); + foreach (split(/,/, $errors)) { + if ($_) { + $errorHTML .= ' ' + . '$discussionHTML$feedbackHTML$errorHTML | "); # Is this the first displayed part of a multi-part problem # that has not been condensed, so we should suppress these two @@ -983,12 +999,8 @@ sub new { return undef; } - # Now copy the hashes for speed (?) - my %realnav; my %realparm; - foreach (%navmaphash) { $realnav{$_} = $navmaphash{$_}; } - foreach (%parmhash) { $realparm{$_} = $navmaphash{$_}; } - $self->{NAV_HASH} = \%realnav; - $self->{PARM_HASH} = \%realparm; + $self->{NAV_HASH} = \%navmaphash; + $self->{PARM_HASH} = \%parmhash; bless($self); $self->untieHashes(); @@ -1062,7 +1074,7 @@ sub init { my %emailstatus = &Apache::lonnet::dump('email_status'); my $logoutTime = $emailstatus{'logout'}; my $courseLeaveTime = $emailstatus{'logout_'.$ENV{'request.course.id'}}; - $self->{LAST_CHECK} = ($courseLeaveTime > $logoutTime ? + $self->{LAST_CHECK} = ($courseLeaveTime < $logoutTime ? $courseLeaveTime : $logoutTime); my %discussiontime = &Apache::lonnet::dump('discussiontimes', $cdom, $cnum); @@ -1143,18 +1155,19 @@ sub DESTROY { $self->untieHashes(); } -# Private function: 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; my $symb = shift; if (!defined($self->{DISCUSSION_TIME})) { return 0; } + #return defined($self->{DISCUSSION_TIME}->{$symb}); return $self->{DISCUSSION_TIME}->{$symb} > $self->{LAST_CHECK}; } -# Private function: 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 { @@ -1166,6 +1179,15 @@ sub getFeedback { return $self->{FEEDBACK}->{$symb}; } +# Private method: Get the errors for that resource (by source). +sub getErrors { + my $self = shift; + my $src = shift; + + if (!defined($self->{ERROR_MSG})) { return ""; } + return $self->{ERROR_MSG}->{$src}; +} + =pod =item * B