ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/web/cgi-bin/download.cgi
Revision: 1.2
Committed: Sat Mar 31 11:42:06 2001 UTC (23 years, 7 months ago) by pjm2
Branch: MAIN
Changes since 1.1: +8 -8 lines
Log Message:
Had to make some changes to ensure that the correct filename is
downloaded, rather than "download.cgi"

File Contents

# User Rev Content
1 pjm2 1.2 #!/usr/bin/perl
2 pjm2 1.1
3     #--------------------------------------------------------------
4     # download.cgi
5     #
6 pjm2 1.2 # A Perl CGI script that requests some details from the user
7     # before they download a build from the i-scream web site.
8     # To assist the paranoid, all fields are optional.
9 pjm2 1.1 #
10     # Copyright Paul Mutton, 2001.
11     #--------------------------------------------------------------
12    
13     use strict;
14     use CGI;
15    
16     $| = 1;
17    
18    
19     #--------------------------------------------------------------
20     # Essential Settings
21     #--------------------------------------------------------------
22 pjm2 1.2 my ($build_dir) = "/builds";
23     my ($log_file) = "download_log";
24 pjm2 1.1 #--------------------------------------------------------------
25    
26    
27 pjm2 1.2 my ($query) = new CGI;
28 pjm2 1.1
29     my ($file_name) = ($query->param('file_name') =~ /^\s*(.*)\s*$/);
30     my ($your_name) = ($query->param('your_name') =~ /^\s*(.*)\s*$/);
31     my ($email_address) = ($query->param('email_address') =~ /^\s*(.*)\s*$/);
32     my ($country) = ($query->param('country') =~ /^\s*(.*)\s*$/);
33     my ($submit) = ($query->param('submit') =~ /^\s*(.*)\s*$/);
34     my ($date) = scalar localtime time;
35    
36     $your_name =~ s/\|//g;
37     $email_address =~ s/\|//g;
38     $country =~ s/\|//g;
39    
40     if (!defined($file_name) || $file_name eq "") {
41     print "Content-type: text/html\n\n";
42     print "You must specify a filename for use with the i-scream downloader.";
43     exit;
44     }
45    
46     if (defined($submit) && $submit eq "Download") {
47     open(LOGFILE, ">>$log_file");
48     print LOGFILE "$date|$file_name|$your_name|$email_address|$country\n";
49     close(LOGFILE);
50 pjm2 1.2 print $query->redirect("$build_dir/$file_name");
51 pjm2 1.1 }
52     else {
53     print "Content-type: text/html\n\n";
54    
55     print <<EOT;
56     <html>
57     <basefont face="arial,sans-serif" size="2">
58     <body bgcolor="white" text="#000066">
59     <table align="center" width="600">
60     <tr>
61     <td>
62     <center><img src="/i-scream.gif" width="502" height="37" border="0"></center>
63     <center><h3>i-scream builds</h3></center>
64     <font size="2">
65     At the current moment, all i-scream builds may be downloaded <b>free
66     of charge</b>. If you wish to be alerted infrequently about important issues
67     regarding the i-scream montoring system, then we would recommend that
68     you provide your contact details below. All fields are optional.
69     </font>
70     </td>
71     </tr>
72     </table>
73    
74     <p>&nbsp;</p>
75    
76     <form action="download.cgi" method="POST">
77     <table border="0" align="center">
78     <tr>
79     <td>Filename:</td>
80     <td><b>$file_name</b><input type="hidden" name="file_name" value="$file_name"></td>
81     </tr>
82     <tr>
83     <td>Your name:</td>
84     <td><input type="text" name="your_name" value=""></td>
85     </tr>
86     <tr>
87     <td>Email address:</td>
88     <td><input type="text" name="email_address" value=""></td>
89     </tr>
90     <tr>
91     <td>Country:</td>
92     <td><input type="text" name="country" value=""></td>
93     </tr>
94     <tr>
95     <td>&nbsp;</td>
96     <td><input type="submit" name="submit" value="Download"></td>
97     </tr>
98     </table>
99     </form>
100    
101     </body>
102     </html>
103     EOT
104    
105     }
106    
107    
108     exit;