--- loncom/interface/statistics/lonstudentassessment.pm 2003/03/05 20:31:13 1.35 +++ loncom/interface/statistics/lonstudentassessment.pm 2003/03/06 21:12:54 1.36 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonstudentassessment.pm,v 1.35 2003/03/05 20:31:13 matthew Exp $ +# $Id: lonstudentassessment.pm,v 1.36 2003/03/06 21:12:54 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -656,8 +656,7 @@ my $filename; my $rows_output; my $cols_output; -my $num_students; -my $start_time; +my %prog_state; # progress window state sub excel_initialize { my ($r) = @_; @@ -672,9 +671,6 @@ sub excel_initialize { $rows_output = 0; $cols_output = 0; # - $num_students = 0; - $start_time = time; - # # Create sheet $excel_workbook = Spreadsheet::WriteExcel->new('/home/httpd'.$filename); # @@ -764,6 +760,11 @@ sub excel_initialize { $r->print("\n"); $r->rflush(); # + # Initialize progress window + %prog_state=&Apache::lonhtmlcommon::Create_PrgWin + ($r,'Excel File Compilation Status', + 'Excel File Compilation Progress', $studentcount); + # return; } @@ -805,31 +806,8 @@ sub excel_outputstudent { $rows_output++; $cols_output=0; # - # Time estimate - $num_students++; - if ($num_students % 10 == 0) { - my $time_est = (time - $start_time)/$num_students * - (scalar(@Apache::lonstatistics::Students)-$num_students); - $time_est = int($time_est); - if (int ($time_est/60) > 0) { - my $min = int($time_est/60); - my $sec = $time_est % 60; - $time_est = $min.' minutes'; - if ($sec > 1) { - $time_est.= ', '.$sec.' seconds'; - } elsif ($sec > 0) { - $time_est.= ', '.$sec.' second'; - } - } else { - $time_est .= ' seconds'; - } - $r->print($num_students.' out of '. - (scalar(@Apache::lonstatistics::Students)). - " students processed. ". - $time_est." remain. Elapsed: ".(time - $start_time). - "
\n"); - $r->rflush(); - } + # Update the progress window + &Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state,'last student'); return; } @@ -843,14 +821,12 @@ sub excel_finish { # return if($c->aborted()); # + # Close the progress window + &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); + # # Tell the user where to get their excel file - $r->print('

'. + $r->print('
'. 'Your Excel spreadsheet.'."\n"); - my $total_time = time - $start_time; - if (int ($total_time / 60) > 0) { - $total_time = int($total_time/60).' minutes, '.($total_time % 60); - } - $r->print('
'.$total_time.' seconds total'); $r->rflush(); return; }