--- loncom/interface/lonfeedback.pm 2017/11/16 16:02:58 1.370.2.1.2.1
+++ loncom/interface/lonfeedback.pm 2017/05/30 00:01:32 1.373
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Feedback
#
-# $Id: lonfeedback.pm,v 1.370.2.1.2.1 2017/11/16 16:02:58 raeburn Exp $
+# $Id: lonfeedback.pm,v 1.373 2017/05/30 00:01:32 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -44,8 +44,8 @@ use HTML::LCParser();
#use HTML::Tidy::libXML;
use Apache::lonspeller();
use Apache::longroup;
-use Archive::Zip qw( :ERROR_CODES );
-use LONCAPA qw(:DEFAULT :match);
+use Cwd;
+use LONCAPA;
sub discussion_open {
my ($status,$symb)=@_;
@@ -696,29 +696,21 @@ END
#Create zip file in prtspool
- if (($env{'user.name'} =~ /^$match_username$/)
- && ($env{'user.domain'} =~ /^$match_domain$/)) {
- my $now = time();
- my $imszipfile = '/prtspool/'.
- join('_',$env{'user.name'},$env{'user.domain'},$now).
- '_'.rand(1000000000).'.zip';
- my $zip = Archive::Zip->new();
- $zip->addTree($tempexport);
- my $imszip = '/home/httpd/'.$imszipfile;
- if ($zip->writeToFileNamed($imszip) == AZ_OK) {
- $discussion .= &mt('Download the zip file from [_1]Discussion Posting Archive[_2]',
+ my $imszipfile = '/prtspool/'.
+ $env{'user.name'}.'_'.$env{'user.domain'}.'_'.
+ time.'_'.rand(1000000000).'.zip';
+ my $cwd = &getcwd();
+ my $imszip = '/home/httpd/'.$imszipfile;
+ chdir $tempexport;
+ open(OUTPUT, "zip -r $imszip * 2> /dev/null |");
+ close(OUTPUT);
+ chdir $cwd;
+ $discussion .= &mt('Download the zip file from [_1]Discussion Posting Archive[_2]',
'','').'
';
- } else {
- $discussion .= &mt('Failed to create zip file').'
';
- }
- if ($copyresult) {
- $discussion .= ''.
- &mt('The following errors occurred during export:').
- '
'.$copyresult;
- }
- } else {
- $discussion .= '
'. - &mt('Unfortunately you will not be able to retrieve an archive of the discussion posts at this time, because there was a problem creating the zip file.').'
'; + if ($copyresult) { + $discussion .= ''. + &mt('The following errors occurred during export:'). + '