[LON-CAPA-cvs] cvs: loncom /interface multidownload.pl

banghart lon-capa-cvs-allow@mail.lon-capa.org
Sun, 13 May 2007 18:00:33 -0000


banghart		Sun May 13 14:00:33 2007 EDT

  Modified files:              
    /loncom/interface	multidownload.pl 
  Log:
  	Add program state display for progress.
  
  
Index: loncom/interface/multidownload.pl
diff -u loncom/interface/multidownload.pl:1.25 loncom/interface/multidownload.pl:1.26
--- loncom/interface/multidownload.pl:1.25	Sat May  5 14:51:49 2007
+++ loncom/interface/multidownload.pl	Sun May 13 14:00:32 2007
@@ -2,7 +2,7 @@
 # CGI-script to allow download of all essay submissions of 
 # multiple students.
 #
-# $Id: multidownload.pl,v 1.25 2007/05/05 18:51:49 banghart Exp $
+# $Id: multidownload.pl,v 1.26 2007/05/13 18:00:32 banghart Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -89,6 +89,7 @@
 my $identifier = $ENV{'QUERY_STRING'};
 my $unique_path = $identifier.time();
 print(&Apache::loncommon::start_page('Multiple Downloads'));
+    
 
 my $scope = $env{'request.course.id'};
 if ($env{'request.course.sec'}) {
@@ -105,6 +106,9 @@
     $zipout .= "$identifier.zip";
     my $courseid = $env{'request.course.id'};
     my @stuchecked = split(/\n/,$env{'cgi.'.$identifier.'.students'});
+    my $number_of_students = scalar(@stuchecked);
+    my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin('','Processing Status',
+                                                    'Preparing Zip File',$number_of_students,'inline','80');
     my @parts = split(/\n/,$env{'cgi.'.$identifier.'.parts'});
     my $doc_zip_root = $Apache::lonnet::perlvar{'lonZipDir'};
     my $uname = $env{'user.name'};
@@ -116,7 +120,10 @@
     }
     print MANIFEST &mt("Files contained in this zip:\n");
     my $file_problem = 0;
+    my $current_student = 0;
     foreach my $stu (@stuchecked) {
+        $current_student ++;
+        &Apache::lonhtmlcommon::Update_PrgWin('',\%prog_state,"Processing student $current_student of $number_of_students");
         my %files_saved;
         my ($stuname,$studom,$fullname) = split(/:/,$stu);
         my %record = &Apache::lonnet::restore($symb,$courseid,$studom,$stuname);
@@ -153,7 +160,6 @@
                 }
             }
         }
-        
     }
     
     &mkpath($doc_zip_root."/zipout/$unique_user",0,0700);
@@ -168,8 +174,9 @@
     }
     $statement = "rm -rf $doc_zip_root/zipdir/$unique_user/$unique_path";
     system($statement);
-    print('<a href="/zipspool/zipout/'.$unique_user.'/'.$zipout.'">'.
-            &mt("Click to download").'</a><br />');
+    &Apache::lonhtmlcommon::Close_PrgWin('',\%prog_state);
+    print('<p><a href="/zipspool/zipout/'.$unique_user.'/'.$zipout.'">'.
+            &mt("Click to download").'</a></p><br />');
     close MANIFEST;
 } else {
     print(&mt('You are not authorized to download student submissions.'));