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

banghart lon-capa-cvs-allow@mail.lon-capa.org
Fri, 27 Apr 2007 22:43:11 -0000


banghart		Fri Apr 27 18:43:11 2007 EDT

  Modified files:              
    /loncom/interface	multidownload.pl 
  Log:
  	Remove calls to grade.pm. One more left to remove.
  
  
Index: loncom/interface/multidownload.pl
diff -u loncom/interface/multidownload.pl:1.18 loncom/interface/multidownload.pl:1.19
--- loncom/interface/multidownload.pl:1.18	Fri Apr 27 18:20:30 2007
+++ loncom/interface/multidownload.pl	Fri Apr 27 18:43:11 2007
@@ -2,7 +2,7 @@
 # CGI-script to allow download of all essay submissions of 
 # multiple students.
 #
-# $Id: multidownload.pl,v 1.18 2007/04/27 22:20:30 banghart Exp $
+# $Id: multidownload.pl,v 1.19 2007/04/27 22:43:11 banghart Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -70,19 +70,19 @@
 }
 if (&Apache::lonnet::allowed('vgr',$scope) eq 'F') {
     my $symb = $env{'cgi.'.$identifier.'.symb'};
-    
     my $navmap = Apache::lonnavmaps::navmap->new();
     my $res = $navmap->getBySymb($symb);
+    my $partlist = $res->parts();
+    foreach my $part(@$partlist) {
+        &Apache::lonnet::logthis("partlist is $part");
+    }
     my ($zipout) = ($symb =~ /^.*\/(.+)\.problem$/);
     $zipout =~ s/\s/_/g;
     $zipout .= ".zip";
     my $courseid = $env{'request.course.id'};
     my @stuchecked = split(/\n/,$env{'cgi.'.$identifier.'.students'});
     my @parts = split(/\n/,$env{'cgi.'.$identifier.'.parts'});
-    my ($partlist,$handgrade,$responseType) = &Apache::grades::response_type($symb);
-    my @part_response_id = &Apache::grades::flatten_responseType($responseType);
     my $doc_zip_root = $Apache::lonnet::perlvar{'lonZipDir'};
-#    my ($partlist,$handgrade,$responseType) = &Apache::grades::response_type($symb);
     my $uname = $env{'user.name'};
     my $udom = $env{'user.domain'};
     my $unique_user = $uname.":".$udom;
@@ -92,28 +92,30 @@
         my %files_saved;
         my ($stuname,$studom,$fullname) = split(/:/,$stu);
         my %record = &Apache::lonnet::restore($symb,$courseid,$studom,$stuname);
-        foreach my $part (@part_response_id) {
-            my ($partid,$respid) = @{$part};
-            &mkpath($doc_zip_root."/zipdir/$unique_user/$unique_path/$stuname/part$partid/resp$respid",0,0700);
-            my $files = &Apache::grades::get_submitted_files($studom,$stuname,$partid,$respid,\%record);
-            foreach my $file (@$files) {
-                my ($file_name_only) = ($file =~ /^.*\/(.+$)/);
-                &Apache::lonnet::repcopy($file);
-                my $source = &Apache::lonnet::filelocation("",$file);
-                my $destination = "$doc_zip_root/zipdir/$unique_user/$unique_path/$stuname/part$partid/resp$respid/$file_name_only";
-                if (exists($files_saved{$destination})) {
-                    # file has already been saved once
-                    my ($file_name,$file_ext) = ($destination =~ /(^.*)(\..+$)/);
-                    $destination = $file_name.$files_saved{$destination}.$file_ext;
-                    $files_saved{$destination} ++;
-                }
-                $files_saved{$destination}++;
-                if (!&copy($source,$destination)) {
-                    if (!$file_problem) {
-                        print &mt("Unable to create: <br />");
-                        $file_problem = 1;
+        foreach my $partid (@$partlist) {
+            my @ids = $res->responseIds($partid);
+            foreach my $respid(@ids) {
+                &mkpath($doc_zip_root."/zipdir/$unique_user/$unique_path/$stuname/part$partid/resp$respid",0,0700);
+                my $files = &Apache::grades::get_submitted_files($studom,$stuname,$partid,$respid,\%record);
+                foreach my $file (@$files) {
+                    my ($file_name_only) = ($file =~ /^.*\/(.+$)/);
+                    &Apache::lonnet::repcopy($file);
+                    my $source = &Apache::lonnet::filelocation("",$file);
+                    my $destination = "$doc_zip_root/zipdir/$unique_user/$unique_path/$stuname/part$partid/resp$respid/$file_name_only";
+                    if (exists($files_saved{$destination})) {
+                        # file has already been saved once
+                        my ($file_name,$file_ext) = ($destination =~ /(^.*)(\..+$)/);
+                        $destination = $file_name.$files_saved{$destination}.$file_ext;
+                        $files_saved{$destination} ++;
+                    }
+                    $files_saved{$destination}++;
+                    if (!&copy($source,$destination)) {
+                        if (!$file_problem) {
+                            print &mt("Unable to create: <br />");
+                            $file_problem = 1;
+                        }
+                        print ("$stuname/part$partid/resp$respid/$file_name_only <br />");
                     }
-                    print ("$stuname/part$partid/resp$respid/$file_name_only <br />");
                 }
             }
         }