version 1.78, 2004/03/12 20:29:48
|
version 1.81, 2004/03/16 16:41:26
|
Line 160 sub BuildProblemAnalysisPage {
|
Line 160 sub BuildProblemAnalysisPage {
|
$ProblemData, |
$ProblemData, |
\@Students); |
\@Students); |
} elsif ($current_problem->{'resptype'} eq 'numerical') { |
} elsif ($current_problem->{'resptype'} eq 'numerical') { |
# if (exists($ENV{'form.ExcelOutput'})) { |
|
# &Apache::lonstudentsubmissions::prepare_excel_output |
|
# ($r,$current_problem,$ProblemData,\@Students); |
|
# } else { |
|
&NumericalResponseAnalysis($r,$current_problem, |
&NumericalResponseAnalysis($r,$current_problem, |
$ProblemData,\@Students); |
$ProblemData,\@Students); |
# } |
|
} else { |
} else { |
$r->print('<h2>This analysis is not supported</h2>'); |
$r->print('<h2>This analysis is not supported</h2>'); |
} |
} |
Line 192 sub BuildProblemAnalysisPage {
|
Line 187 sub BuildProblemAnalysisPage {
|
######################################################### |
######################################################### |
sub NumericalResponseAnalysis { |
sub NumericalResponseAnalysis { |
my ($r,$problem,$ProblemData,$Students) = @_; |
my ($r,$problem,$ProblemData,$Students) = @_; |
|
my $c = $r->connection(); |
my ($resource,$respid) = ($problem->{'resource'}, |
my ($resource,$respid) = ($problem->{'resource'}, |
$problem->{'respid'}); |
$problem->{'respid'}); |
|
$r->print('Response '.$respid.'</br />'); |
my $analysis_html; |
my $analysis_html; |
my $PerformanceData = |
my $PerformanceData = |
&Apache::loncoursedata::get_response_data |
&Apache::loncoursedata::get_response_data |
Line 208 sub NumericalResponseAnalysis {
|
Line 205 sub NumericalResponseAnalysis {
|
} |
} |
# |
# |
# This next call causes all the waiting around that people complain about |
# This next call causes all the waiting around that people complain about |
my ($max,$min) = &GetStudentAnswers($r,$problem,$Students); |
my ($max,$min) = &Apache::lonstathelpers::GetStudentAnswers($r,$problem, |
|
$Students); |
|
return if ($c->aborted()); |
# |
# |
# Collate the data |
# Collate the data |
my %Data; |
my %Data; |
Line 310 sub circle {
|
Line 309 sub circle {
|
return &arc($x,$y,$radius,$radius,0,360,$color,$thickness,$filled); |
return &arc($x,$y,$radius,$radius,0,360,$color,$thickness,$filled); |
} |
} |
|
|
sub GetStudentAnswers { |
|
my ($r,$problem,$Students) = @_; |
|
my %Answers; |
|
my ($resource,$partid,$respid) = ($problem->{'resource'}, |
|
$problem->{'part'}, |
|
$problem->{'respid'}); |
|
# Open progress window |
|
my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin |
|
($r,'Student Answer Compilation Status', |
|
'Student Answer Compilation Progress', scalar(@$Students)); |
|
$r->print("<table>\n"); |
|
$r->rflush(); |
|
foreach my $student (@$Students) { |
|
my $sname = $student->{'username'}; |
|
my $sdom = $student->{'domain'}; |
|
my $answer = &Apache::lonstathelpers::analyze_problem_as_student |
|
($resource,$sname,$sdom,$partid,$respid); |
|
&Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state, |
|
&mt('last student')); |
|
$student->{'answer'} = $answer; |
|
} |
|
$r->print("</table>\n"); |
|
$r->rflush(); |
|
# close progress window |
|
&Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); |
|
return; |
|
} |
|
|
|
sub build_student_data_worksheet { |
sub build_student_data_worksheet { |
my ($workbook,$format) = @_; |
my ($workbook,$format) = @_; |
my $rows_output = 3; |
my $rows_output = 3; |