version 1.6, 2007/04/26 17:36:10
|
version 1.8, 2007/04/26 18:00:41
|
Line 61 END
|
Line 61 END
|
&Apache::lonlocal::get_language_handle(); |
&Apache::lonlocal::get_language_handle(); |
&Apache::loncommon::content_type(undef,'text/html'); |
&Apache::loncommon::content_type(undef,'text/html'); |
my $identifier = $ENV{'QUERY_STRING'}; |
my $identifier = $ENV{'QUERY_STRING'}; |
|
my $unique_path = $identifier.time(); |
print(&Apache::loncommon::start_page('Multiple Downloads')); |
print(&Apache::loncommon::start_page('Multiple Downloads')); |
|
|
my $scope = $env{'request.course.id'}; |
my $scope = $env{'request.course.id'}; |
Line 79 if (&Apache::lonnet::allowed('vgr',$scop
|
Line 80 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/$unique_path",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/$unique_path/$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/$unique_path/$stuname/part$partid",0700); |
mkdir($doc_zip_root."/zipdir/$uname$udom/$stuname/part$partid/resp$respid",0700); |
mkdir($doc_zip_root."/zipdir/$unique_path/$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/$unique_path/$stuname/part$partid/resp$respid/$file_name_only")) { |
print($fh $file_content); |
print($fh $file_content); |
close($fh); |
close($fh); |
} else { |
} else { |
Line 103 if (&Apache::lonnet::allowed('vgr',$scop
|
Line 104 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 = "cd $doc_zip_root/zipdir/$unique_path\n"; |
|
$statement .= "zip -r $doc_zip_root/zipout/output.zip * > /dev/null"; |
system($statement); |
system($statement); |
$statement = "rm -rf $doc_zip_root/zipdir/$uname$udom"; |
$statement = "rm -rf $doc_zip_root/zipdir/$unique_path"; |
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 { |