version 1.1, 2007/03/30 22:57:39
|
version 1.2, 2007/04/05 00:50:32
|
Line 40 use Apache::grades;
|
Line 40 use Apache::grades;
|
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonmsg(); |
use Apache::lonmsg(); |
|
use Apache::lonnet; |
use LONCAPA::Enrollment; |
use LONCAPA::Enrollment; |
|
|
use strict; |
use strict; |
Line 64 END
|
Line 65 END
|
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 $symb = $env{'cgi.'.$identifier.'.symb'}; |
my $symb = $env{'cgi.'.$identifier.'.symb'}; |
my $courseid = $env{'cgi.'.$identifier.'.courseid'}; |
my $courseid = $env{'request.course.id'}; |
my @stuchecked = split /\n/,$env{'cgi.'.$identifier.'.students'}; |
my @stuchecked = split /\n/,$env{'cgi.'.$identifier.'.students'}; |
my @parts = split /\n/,$env{'cgi.'.$identifier.'.parts'}; |
my @parts = split /\n/,$env{'cgi.'.$identifier.'.parts'}; |
my ($partlist,$handgrade,$responseType) = &Apache::grades::response_type($symb); |
my ($partlist,$handgrade,$responseType) = &Apache::grades::response_type($symb); |
my @part_response_id = &Apache::grades::flatten_responseType($responseType); |
my @part_response_id = &Apache::grades::flatten_responseType($responseType); |
print "number of parts is: ".@parts."<br />"; |
my $doc_root = $Apache::lonnet::perlvar{'lonDocRoot'}; |
my ($partlist,$handgrade,$responseType) = &Apache::grades::response_type($symb); |
my ($partlist,$handgrade,$responseType) = &Apache::grades::response_type($symb); |
print "in the CGI script <br />"; |
mkdir($doc_root."/zipdir",0777); |
foreach (@stuchecked) { |
foreach my $stu (@stuchecked) { |
my ($uname,$udom,$fullname) = split(/:/); |
my ($uname,$udom,$fullname) = split(/:/,$stu); |
|
mkdir($doc_root."/zipdir/$uname",0777); |
my %record = &Apache::lonnet::restore($symb,$courseid,$udom,$uname); |
my %record = &Apache::lonnet::restore($symb,$courseid,$udom,$uname); |
print $uname."<br />"; |
foreach my $part (@part_response_id) { |
foreach my $part(@part_response_id) { |
my ($partid,$respid) = @{$part}; |
print $part."<br />"; |
mkdir($doc_root."/zipdir/$uname/part$partid",0777); |
my ($partid,$respid) = @{ $part }; |
mkdir($doc_root."/zipdir/$uname/part$partid/resp$respid",0777); |
my $files = &Apache::grades::get_submitted_files($udom,$uname,$partid,$respid,\%record); |
my $files = &Apache::grades::get_submitted_files($udom,$uname,$partid,$respid,\%record); |
foreach my $file(@$files) { |
foreach my $file (@$files) { |
print $file."<br />"; |
$file =~ /(^.*\/)(.+$)/; |
|
my $file_name_only = $2; |
|
my $file_content = &Apache::lonnet::getfile($file); |
|
if (open(my $fh,">$doc_root/zipdir/$uname/part$partid/resp$respid/$file_name_only")) { |
|
print $fh $file_content; |
|
close $fh; |
|
} else { |
|
print "problem creating file <br />"; |
|
} |
} |
} |
} |
} |
} |
} |
|
print '<a href="../zipout/output.zip">Click to download</a>'; |
die; |
return 1; |