--- loncom/cgi/decompress.pl 2003/11/19 20:03:05 1.9 +++ loncom/cgi/decompress.pl 2003/12/13 00:20:47 1.11 @@ -48,48 +48,48 @@ END Output of decompress:

END chdir $ENV{'cgi.dir'}; - if ($ENV{'cgi.file'} =~ m|zip|) { - open(OUTPUT, "unzip $ENV{'cgi.file'} 2> /dev/null |"); + if ($ENV{'cgi.file'} =~ m|\.zip$|i) { + open(OUTPUT, "unzip -o $ENV{'cgi.file'} 2> /dev/null |"); while () { print "$_
"; } - close(TRACE); - } elsif ($ENV{'cgi.file'} =~ m|tar.gz|) { + close(OUTPUT); + } elsif ($ENV{'cgi.file'} =~ m|\.tar\.gz$|i) { open(OUTPUT, "tar -zxpvf $ENV{'cgi.file'} 2> /dev/null |"); while () { print "$_
"; } - close(TRACE); - } elsif ($ENV{'cgi.file'} =~ m|tar.bz2|) { + close(OUTPUT); + } elsif ($ENV{'cgi.file'} =~ m|\.tar\.bz2$|i) { open(OUTPUT, "tar -jxpvf $ENV{'cgi.file'} 2> /dev/null |"); while () { print "$_
"; } - close(TRACE); - } elsif ($ENV{'cgi.file'} =~ m|bz2|) { + close(OUTPUT); + } elsif ($ENV{'cgi.file'} =~ m|\.bz2$|i) { open(OUTPUT, "bunzip2 $ENV{'cgi.file'} 2> /dev/null |"); while () { print "$_
"; } - close(TRACE); - } elsif ($ENV{'cgi.file'} =~ m|tgz|) { + close(OUTPUT); + } elsif ($ENV{'cgi.file'} =~ m|\.tgz$|i) { open(OUTPUT, "tar -zxpvf $ENV{'cgi.file'} 2> /dev/null |"); while () { print "$_
"; } - close(TRACE); - } elsif ($ENV{'cgi.file'} =~ m|gz|) { + close(OUTPUT); + } elsif ($ENV{'cgi.file'} =~ m|\.gz$|i) { open(OUTPUT, "gunzip $ENV{'cgi.file'} 2> /dev/null |"); while () { print "$_
"; } - close(TRACE); - } elsif ($ENV{'cgi.file'} =~ m|tar|) { + close(OUTPUT); + } elsif ($ENV{'cgi.file'} =~ m|\.tar$|i) { open(OUTPUT, "tar -xpvf $ENV{'cgi.file'} 2> /dev/null |"); while () { print "$_
"; } - close(TRACE); + close(OUTPUT); } else { print "There has been an error in determining the file type of $ENV{'cgi.file'}, please check name"; }