[LON-CAPA-cvs] cvs: loncom /interface multidownload.pl
raeburn
raeburn@source.lon-capa.org
Tue, 30 Dec 2008 23:18:24 -0000
raeburn Tue Dec 30 23:18:24 2008 EDT
Modified files:
/loncom/interface multidownload.pl
Log:
- Missing cookie message generated from &LONCAPA::loncgi::missing_cookie_msg().
- zip file can contain directly uploaded files as well as files submitted from a portfolio.
- CSS: LC_error and LC_filename
Index: loncom/interface/multidownload.pl
diff -u loncom/interface/multidownload.pl:1.37 loncom/interface/multidownload.pl:1.38
--- loncom/interface/multidownload.pl:1.37 Tue Feb 5 06:51:55 2008
+++ loncom/interface/multidownload.pl Tue Dec 30 23:18:24 2008
@@ -2,7 +2,7 @@
# CGI-script to allow download of all essay submissions of
# multiple students.
#
-# $Id: multidownload.pl,v 1.37 2008/02/05 06:51:55 raeburn Exp $
+# $Id: multidownload.pl,v 1.38 2008/12/30 23:18:24 raeburn Exp $
# Copyright Michigan State University Board of Trustees
#
# This file is part of the LearningOnline Network with CAPA (LON-CAPA).
@@ -72,22 +72,13 @@
$|=1;
+&Apache::lonlocal::get_language_handle();
+&Apache::loncommon::content_type(undef,'text/html');
if (! &LONCAPA::loncgi::check_cookie_and_load_env()) {
- print <<END;
-Content-type: text/html
-
-<html>
-<head><title>Bad Cookie</title></head>
-<body>
-Your cookie information is incorrect.
-</body>
-</html>
-END
+ print(&LONCAPA::loncgi::missing_cookie_msg());
return;
}
-&Apache::lonlocal::get_language_handle();
-&Apache::loncommon::content_type(undef,'text/html');
my $identifier = $ENV{'QUERY_STRING'};
my $unique_path = $identifier.time();
print(&Apache::loncommon::start_page('Multiple Downloads'));
@@ -132,7 +123,7 @@
my %files_saved;
my ($stuname,$studom,$fullname) = split(/:/,$stu);
my %record = &Apache::lonnet::restore($symb,$courseid,$studom,$stuname);
- my $file_url = '/uploaded/'.$studom.'/'.$stuname.'/portfolio';
+ my $port_url = '/uploaded/'.$studom.'/'.$stuname.'/portfolio';
print MANIFEST ($fullname."\n");
my $submission_count = 0;
@@ -141,28 +132,41 @@
foreach my $respid (@ids) {
my $part_resp_path = &get_part_resp_path($flat_part,$flat_resp, $partid, $respid);
&mkpath($doc_zip_root."/zipdir/$unique_user/$unique_path/$stuname/$part_resp_path",0,0700);
- foreach my $file (split(',',$record{"resource.$partid.$respid.portfiles"})) {
- $file = $file_url.$file;
- my ($file_name_only) = ($file =~ /^.*\/(.+$)/);
- print MANIFEST ("\t$file_name_only (".&mt("Part [_1]",$partid).
- ") (".&mt("Response [_1]",$respid).")"."\n");
- $submission_count ++;
- &Apache::lonnet::repcopy($file);
- my $source = &Apache::lonnet::filelocation("",$file);
- my $destination = "$doc_zip_root/zipdir/$unique_user/$unique_path/$stuname$part_resp_path/$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}++;
+ foreach my $origin ('portfiles','uploadedurl') {
+ my @files;
+ if ($record{"resource.$partid.$respid.$origin"} ne '') {
+ if ($origin eq 'portfiles') {
+ @files = (split(',',$record{"resource.$partid.$respid.$origin"}));
+ } else {
+ @files = ($record{"resource.$partid.$respid.$origin"});
+ }
}
- $files_saved{$destination}++;
- if (!©($source,$destination)) {
- if (!$file_problem) {
- print(&mt("Unable to create: ")."<br />");
- $file_problem = 1;
+ foreach my $file (@files) {
+ if ($origin eq 'portfiles') {
+ $file = $port_url.$file;
+ }
+ my ($file_name_only) = ($file =~ m{.*/([^/]+)$});
+ print MANIFEST ("\t$file_name_only (".&mt("Part [_1]",$partid).
+ ") (".&mt("Response [_1]",$respid).")"."\n");
+ $submission_count ++;
+ &Apache::lonnet::repcopy($file);
+ my $source = &Apache::lonnet::filelocation("",$file);
+ my $destination = "$doc_zip_root/zipdir/$unique_user/$unique_path/$stuname$part_resp_path/$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 (!©($source,$destination)) {
+ if (!$file_problem) {
+ print('<br /><span class="LC_error">'.&mt("Unable to create: ")."</span><br />");
+ $file_problem = 1;
+ }
+ print('<span class="LC_filename">'."$stuname/part$partid/resp$respid/$file_name_only".'</span><br />');
}
- print("$stuname/part$partid/resp$respid/$file_name_only <br />");
}
}
}