--- loncom/interface/statistics/lonstudentsubmissions.pm	2004/03/03 22:58:49	1.6
+++ loncom/interface/statistics/lonstudentsubmissions.pm	2004/03/16 16:30:32	1.9
@@ -1,6 +1,6 @@
 # The LearningOnline Network with CAPA
 #
-# $Id: lonstudentsubmissions.pm,v 1.6 2004/03/03 22:58:49 matthew Exp $
+# $Id: lonstudentsubmissions.pm,v 1.9 2004/03/16 16:30:32 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -163,6 +163,7 @@ sub BuildStudentSubmissionsPage {
 #########################################################
 sub prepare_excel_output {
     my ($r,$problem,$ProblemData,$Students) = @_;
+    my $c = $r->connection();
     my ($resource,$respid,$partid) = ($problem->{'resource'},
                                       $problem->{'respid'},
                                       $problem->{'part'});
@@ -209,6 +210,7 @@ sub prepare_excel_output {
     #
     # Populate the worksheet with the student data
     foreach my $student (@$Students) {
+        last if ($c->aborted());
         my $results = &Apache::loncoursedata::get_response_data_by_student
             ($student,$resource->{'symb'},$respid);
         my %row;
@@ -288,17 +290,20 @@ sub prepare_excel_output {
 
 sub GetStudentAnswers {
     my ($r,$problem,$Students) = @_;
+    my $c = $r->connection();
     my %Answers;
     my ($resource,$partid,$respid) = ($problem->{'resource'},
                                       $problem->{'part'},
                                       $problem->{'respid'});
+    # Read in the cache (if it exists) before we start timing things.
+    &Apache::lonstathelpers::ensure_proper_cache($resource->{'symb'});
     # 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) {
+        last if ($c->aborted());
         my $sname = $student->{'username'};
         my $sdom = $student->{'domain'};
         my $answer = &Apache::lonstathelpers::analyze_problem_as_student
@@ -307,14 +312,14 @@ sub GetStudentAnswers {
                                                  &mt('last student'));
         $student->{'answer'} = $answer;
     }
-    $r->print("</table>\n");
+    &Apache::lonstathelpers::write_answer_cache();
+    return if ($c->aborted());
     $r->rflush();
     # close progress window
     &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state);
     return;
 }
 
-
 #########################################################
 #########################################################
 ##
@@ -344,7 +349,7 @@ sub CreateInterface {
     $Str .= &Apache::lonhtmlcommon::StatusOptions(undef,undef,5);
     $Str .= '</td>';
     #
-    $Str .= '<td>'.&Apache::lonstathelpers::limit_by_time_form().'</td>';
+    $Str .= '<td></td>';
     #
     my $only_seq_with_assessments = sub { 
         my $s=shift;