--- web/cgi-bin/download.cgi 2001/03/31 10:53:58 1.1 +++ web/cgi-bin/download.cgi 2003/02/17 00:07:49 1.9 @@ -1,11 +1,11 @@ -#!/usr/bin/perl -w +#!/usr/bin/perl #-------------------------------------------------------------- # download.cgi # -# A Perl CGI script that requests a user's email address -# before they may download a build from the i-scream web site. -# It is not essential for them to enter their email address. +# A Perl CGI script that requests some details from the user +# before they download a build from the i-scream web site. +# To assist the paranoid, all fields are optional. # # Copyright Paul Mutton, 2001. #-------------------------------------------------------------- @@ -19,12 +19,15 @@ $| = 1; #-------------------------------------------------------------- # Essential Settings #-------------------------------------------------------------- -my $build_dir = "/builds"; -my $log_file = "download_log"; +my ($build_dir) = "/downloads"; +my ($log_file) = "download_log"; +my ($left) = "../left.inc" ; +my ($title) = "../title.inc"; +my ($bottom) = "../bottom.inc"; #-------------------------------------------------------------- -my $query = new CGI; +my ($query) = new CGI; my ($file_name) = ($query->param('file_name') =~ /^\s*(.*)\s*$/); my ($your_name) = ($query->param('your_name') =~ /^\s*(.*)\s*$/); @@ -45,50 +48,83 @@ if (!defined($file_name) || $file_name eq "") { if (defined($submit) && $submit eq "Download") { open(LOGFILE, ">>$log_file"); - print LOGFILE "$date|$file_name|$your_name|$email_address|$country\n"; + print LOGFILE "$date|$ENV{'REMOTE_ADDR'}|$file_name|$your_name|$email_address|$country\n"; close(LOGFILE); - print "Location: $build_dir/$file_name\n\n"; + print $query->redirect("$build_dir/$file_name"); } else { print "Content-type: text/html\n\n"; - - print < + + + - - - + + + i-scream downloads + + + + + + + +
+ +
+END + + &print_html($left); + + print <<"END"; + +END + + &print_html($title); + + print < +
-
+

i-scream builds

- At the current moment, all i-scream builds may be downloaded free - of charge. If you wish to be alerted infrequently about important issues - regarding the i-scream montoring system, then we would recommend that - you provide your contact details below. All fields are optional. + If you wish your details to be kept so we can contact you in the + future about i-scream, please enter them below. At the moment we + are not using this information, but we may collate a list of + details for when we make a new major release. All details are + optional - do not feel obliged to enter anything! +

 

-
+ - - + + - + - + - + @@ -102,7 +138,22 @@ else { EOT -} + &print_html($bottom); + print <<"END"; -exit; \ No newline at end of file + + +
Filename:$file_nameFilename:$file_name
Your name:Your name:
Email address:Email address:
Country:Country:
+END + +} + +exit; + + +# Print a file without escaping HTML: - +sub print_html ($) { + my ($filename) = @_; + print `cat $filename 2>&1`; +}