#!/usr/bin/perl #-------------------------------------------------------------- # download.cgi # # 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. #-------------------------------------------------------------- use strict; use CGI; $| = 1; #-------------------------------------------------------------- # Essential Settings #-------------------------------------------------------------- my ($build_dir) = "/downloads"; my ($log_file) = "download_log"; my ($left) = "../htdocs/left.inc" ; my ($title) = "../htdocs/title.inc"; my ($bottom) = "../htdocs/bottom.inc"; #-------------------------------------------------------------- my ($query) = new CGI; my ($file_name) = ($query->param('file_name') =~ /^\s*(.*)\s*$/); my ($your_name) = ($query->param('your_name') =~ /^\s*(.*)\s*$/); my ($email_address) = ($query->param('email_address') =~ /^\s*(.*)\s*$/); my ($country) = ($query->param('country') =~ /^\s*(.*)\s*$/); my ($submit) = ($query->param('submit') =~ /^\s*(.*)\s*$/); my ($date) = scalar localtime time; $your_name =~ s/\|//g; $email_address =~ s/\|//g; $country =~ s/\|//g; if (!defined($file_name) || $file_name eq "") { print "Content-type: text/html\n\n"; print "You must specify a filename for use with the i-scream downloader."; exit; } if (defined($submit) && $submit eq "Download") { open(LOGFILE, ">>$log_file"); print LOGFILE "$date|$ENV{'REMOTE_ADDR'}|$file_name|$your_name|$email_address|$country\n"; close(LOGFILE); print $query->redirect("$build_dir/$file_name"); } else { print "Content-type: text/html\n\n"; print <<"END"; i-scream downloads
END &print_html($left); print <<"END"; END &print_html($title); print <

i-scream builds

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!

 

Filename: $file_name
Your name:
Email address:
Country:
 
EOT &print_html($bottom); print <<"END"; END } exit; # Print a file without escaping HTML: - sub print_html ($) { my ($filename) = @_; print `cat $filename 2>&1`; }