--- loncom/interface/statistics/lonproblemanalysis.pm 2002/11/22 03:46:57 1.11 +++ loncom/interface/statistics/lonproblemanalysis.pm 2002/11/25 18:02:49 1.14 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # (Publication Handler # -# $Id: lonproblemanalysis.pm,v 1.11 2002/11/22 03:46:57 minaeibi Exp $ +# $Id: lonproblemanalysis.pm,v 1.14 2002/11/25 18:02:49 minaeibi Exp $ # # Copyright Michigan State University Board of Trustees # @@ -90,7 +90,9 @@ sub BuildAnalyzePage { # Remove students who don't have the proper section. my @sectionsSelected = split(':',$cache{'sectionsSelected'}); - for(my $studentIndex=((scalar @$students)-1); $studentIndex>=0; + + my $studentCount = scalar @$students; + for(my $studentIndex=$studentCount-1; $studentIndex>=0; $studentIndex--) { my $value = $cache{$students->[$studentIndex].':section'}; my $found = 0; @@ -115,19 +117,22 @@ sub BuildAnalyzePage { $r->print('Can not untie hash.'); $r->rflush(); } + #if($status eq 'true') + { &Apache::lonhtmlcommon::Close_PrgWin($r); } - my $error = - &Apache::loncoursedata::DownloadStudentCourseDataSeparate($students, - 'true', - $cacheDB, - 'true', - 'true', - $courseID, - $r, $c); - if($error ne 'OK') { - $r->print($error.'
Error downloading course data
'); - return; - } + +# my $error = +# &Apache::loncoursedata::DownloadStudentCourseDataSeparate($students, +# 'true', +# $cacheDB, +# 'true', +# 'true', +# $courseID, +# $r, $c); +# if($error ne 'OK') { +# $r->print($error.'
Error downloading course data
'); +# return; +# } unless(tie(%cache,'GDBM_File',$cacheDB,&GDBM_READER(),0640)) { @@ -142,6 +147,10 @@ sub BuildAnalyzePage { my $title = $cache{$problemId.':title'}; my $interval = $cache{'Interval'}; +# my $title = 'LON-CAPA Statistics'; + my $heading = 'Restore this particular Option Response Problem '. + 'Results, Please wait...'; + my %ConceptData; $ConceptData{"Interval"} = $interval; @@ -169,13 +178,20 @@ sub BuildAnalyzePage { $Str = ''; if($c->aborted()) { untie(%cache); return; } + &Apache::lonhtmlcommon::Create_PrgWin($r, $title, $heading); + + my $count=0; #Java script Progress window for(my $index=0; $index<(scalar @$students); $index++) { if($c->aborted()) { untie(%cache); return; } + $count++; + my $displayString = $count.'/'.$studentCount.': '.$_; + &Apache::lonhtmlcommon::Update_PrgWin($displayString, $r); &OpStatus($problemId, $students->[$index], \%ConceptData, - $analyzeData->{'foil_to_concept'}, $analyzeData, + $analyzeData->{'foil_to_concept'}, $analyzeData, \%cache, $courseID); } + &Apache::lonhtmlcommon::Close_PrgWin($r); $Str .= '
'; for (my $k=0; $k<$interval; $k++ ) { @@ -348,7 +364,7 @@ sub OpStatus { foreach my $id (@$ids) { my ($part, $response) = split(/\./, $id); -=pod +#=pod my %reshash=&Apache::lonnet::restore($symb,$courseID,$udom,$uname); if ($reshash{'version'}) { my $tries=0; @@ -370,19 +386,20 @@ sub OpStatus { my %submission=&Apache::lonnet::str2hash($Resp); foreach (keys %submission) { my $Ansr = $analyzeData->{"$Id1.$Id2.foil.value.$_"}; - if ($submission{$_}) { - if ($submission{$_} eq $Ansr) { - &Decide("true",$_,$time ); - } - else {&Decide("false",$_,$time );} - } + if($submission{$_} eq $Ansr) { + &Decide("true", $foil_to_concept->{$_}, + $time, $ConceptData); + } else { + &Decide("false", $foil_to_concept->{$_}, + $time, $ConceptData); + } } } } } } -=cut - +#=cut +=pod my $time=$cache->{$student.':'.$problemID.':'.$part.':timestamp'}; my @submissions = split(':::', $cache->{$student.':'.$problemID.':'. $part.':'.$response. @@ -402,8 +419,7 @@ sub OpStatus { } } } - - +=cut } return;