Diff for /loncom/interface/multidownload.pl between versions 1.5 and 1.7

version 1.5, 2007/04/26 01:04:21 version 1.7, 2007/04/26 17:43:24
Line 62  END Line 62  END
 &Apache::loncommon::content_type(undef,'text/html');  &Apache::loncommon::content_type(undef,'text/html');
 my $identifier = $ENV{'QUERY_STRING'};  my $identifier = $ENV{'QUERY_STRING'};
 print(&Apache::loncommon::start_page('Multiple Downloads'));  print(&Apache::loncommon::start_page('Multiple Downloads'));
 my $scope .= '/'.$env{'request.course.sec'};  
 if (&Apache::lonnet::allowed('vgr',$scope)) {  my $scope = $env{'request.course.id'};
   if ($env{'request.course.sec'}) {
       $scope .= '/'.$env{'request.course.sec'};
   }
   if (&Apache::lonnet::allowed('vgr',$scope) eq 'F') {
     my $symb = $env{'cgi.'.$identifier.'.symb'};      my $symb = $env{'cgi.'.$identifier.'.symb'};
     my $courseid = $env{'request.course.id'};      my $courseid = $env{'request.course.id'};
     my @stuchecked = split(/\n/,$env{'cgi.'.$identifier.'.students'});      my @stuchecked = split(/\n/,$env{'cgi.'.$identifier.'.students'});
Line 75  if (&Apache::lonnet::allowed('vgr',$scop Line 79  if (&Apache::lonnet::allowed('vgr',$scop
     my $uname = $env{'user.name'};      my $uname = $env{'user.name'};
     my $udom = $env{'user.domain'};      my $udom = $env{'user.domain'};
     mkdir($doc_zip_root."/zipdir",0700);      mkdir($doc_zip_root."/zipdir",0700);
     mkdir($doc_zip_root."/zipdir/$uname$udom",0700);      mkdir($doc_zip_root."/zipdir/$identifier",0700);
     foreach my $stu (@stuchecked) {      foreach my $stu (@stuchecked) {
         my ($stuname,$studom,$fullname) = split(/:/,$stu);          my ($stuname,$studom,$fullname) = split(/:/,$stu);
         mkdir($doc_zip_root."/zipdir/$uname$udom/$stuname",0700);          mkdir($doc_zip_root."/zipdir/$identifier/$stuname",0700);
         my %record = &Apache::lonnet::restore($symb,$courseid,$studom,$stuname);          my %record = &Apache::lonnet::restore($symb,$courseid,$studom,$stuname);
         foreach my $part (@part_response_id) {          foreach my $part (@part_response_id) {
             my ($partid,$respid) = @{$part};              my ($partid,$respid) = @{$part};
             mkdir($doc_zip_root."/zipdir/$uname$udom/$stuname/part$partid",0700);              mkdir($doc_zip_root."/zipdir/$identifier/$stuname/part$partid",0700);
             mkdir($doc_zip_root."/zipdir/$uname$udom/$stuname/part$partid/resp$respid",0700);              mkdir($doc_zip_root."/zipdir/$identifier/$stuname/part$partid/resp$respid",0700);
             my $files = &Apache::grades::get_submitted_files($studom,$stuname,$partid,$respid,\%record);              my $files = &Apache::grades::get_submitted_files($studom,$stuname,$partid,$respid,\%record);
             foreach my $file (@$files) {              foreach my $file (@$files) {
                 $file =~ /(^.*\/)(.+$)/;                  $file =~ /(^.*\/)(.+$)/;
                 my $file_name_only = $2;                  my $file_name_only = $2;
                 my $file_content = &Apache::lonnet::getfile($file);                  my $file_content = &Apache::lonnet::getfile($file);
                 if (open(my $fh,">$doc_zip_root/zipdir/$uname$udom/$stuname/part$partid/resp$respid/$file_name_only")) {                  if (open(my $fh,">$doc_zip_root/zipdir/$identifier/$stuname/part$partid/resp$respid/$file_name_only")) {
                     print($fh $file_content);                      print($fh $file_content);
                     close($fh);                      close($fh);
                 } else {                  } else {
Line 99  if (&Apache::lonnet::allowed('vgr',$scop Line 103  if (&Apache::lonnet::allowed('vgr',$scop
         }          }
     }      }
     mkdir($doc_zip_root."/zipout",0777);      mkdir($doc_zip_root."/zipout",0777);
     my $statement = "zip -r $doc_zip_root/zipout/output.zip $doc_zip_root/zipdir/$uname$udom/* > /dev/null";      my $statement = "zip -r $doc_zip_root/zipout/output.zip $doc_zip_root/zipdir/$identifier/* > /dev/null";
     system($statement);      system($statement);
     $statement = "rm -rf $doc_zip_root/zipdir/$uname$udom";      $statement = "rm -rf $doc_zip_root/zipdir/$identifier";
     system($statement);      system($statement);
     print('<a href="/zipspool/zipout/output.zip">Click to download</a><br />');      print('<a href="/zipspool/zipout/output.zip">Click to download</a><br />');
 } else {  } else {
     print('You are not authorized to download student submissions.');      print('You are not authorized to download student submissions.');
 }  }
   1;
   __END__;

Removed from v.1.5  
changed lines
  Added in v.1.7


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>