--- loncom/cgi/decompress.pl 2003/11/19 14:58:14 1.7 +++ loncom/cgi/decompress.pl 2004/06/09 19:04:47 1.12 @@ -2,7 +2,7 @@ # # # Copyright Michigan State University Board of Trustees -# +# $Id # # This file is part of the LearningOnline Network with CAPA (LON-CAPA). # @@ -29,107 +29,73 @@ # A CGI script that decompresses compressed files for mass uploading into # construction space #### - -#Things still todo, -#It has been tabinated -#Now uses strict! with added feature of making everything very strict! -#about 50% through rewriting things to use split and join -#still have a lot of debugging statements that will go away after I get it to work ok(along with all the
's) -#still have to rewrite the refresh tag to work right, its broken -#the whole thing is broken right now -#will rename the variables and reorder most of the script to make it more sane -#improve the general readability of the whole thing, because unlike C everyone gets to look at it, so it has to be readable use strict; use lib '/home/httpd/lib/perl'; use LONCAPA::loncgi (); -if(! &LONCAPA::loncgi::check_cookie_and_load_env()) -{ +my %origENV=%ENV; +if(! &LONCAPA::loncgi::check_cookie_and_load_env()) { print "Content-type: text/html\n\n"; print <NO COOKIE! END -} -else -{ +} else { print "Content-type: text/html\n\n"; - if(! $ENV{'cgi.file'} || ! $ENV{'cgi.dir'}) - { + my $file=$ENV{'cgi.file'}; + my $dir=$ENV{'cgi.dir'}; + %ENV=%origENV; + if(! $file || ! $dir) { print <Bad Enviroment! END - } - else - { + } else { print <Output of decompress:

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