ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/web/cgi-bin/download.cgi
Revision: 1.7
Committed: Sun May 6 19:16:40 2001 UTC (23 years, 7 months ago) by tdb
Branch: MAIN
Changes since 1.6: +1 -1 lines
Log Message:
Capture STDERR from all CGI scripts. This is purely so any errors are more apparent.

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.3 my ($left) = "../left.inc" ;
25     my ($title) = "../title.inc";
26     my ($bottom) = "../bottom.inc";
27 pjm2 1.1 #--------------------------------------------------------------
28    
29    
30 pjm2 1.2 my ($query) = new CGI;
31 pjm2 1.1
32     my ($file_name) = ($query->param('file_name') =~ /^\s*(.*)\s*$/);
33     my ($your_name) = ($query->param('your_name') =~ /^\s*(.*)\s*$/);
34     my ($email_address) = ($query->param('email_address') =~ /^\s*(.*)\s*$/);
35     my ($country) = ($query->param('country') =~ /^\s*(.*)\s*$/);
36     my ($submit) = ($query->param('submit') =~ /^\s*(.*)\s*$/);
37     my ($date) = scalar localtime time;
38    
39     $your_name =~ s/\|//g;
40     $email_address =~ s/\|//g;
41     $country =~ s/\|//g;
42    
43     if (!defined($file_name) || $file_name eq "") {
44     print "Content-type: text/html\n\n";
45     print "You must specify a filename for use with the i-scream downloader.";
46     exit;
47     }
48    
49     if (defined($submit) && $submit eq "Download") {
50     open(LOGFILE, ">>$log_file");
51 pjm2 1.6 print LOGFILE "$date|$ENV{'REMOTE_ADDR'}|$file_name|$your_name|$email_address|$country\n";
52 pjm2 1.1 close(LOGFILE);
53 pjm2 1.2 print $query->redirect("$build_dir/$file_name");
54 pjm2 1.1 }
55     else {
56     print "Content-type: text/html\n\n";
57 pjm2 1.3
58     print <<"END";
59     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
60    
61     <!--
62     download.cgi
63     Created by pjm2 31/03/2001
64     Last modified 31/03/2001
65     -->
66    
67     <html>
68    
69     <head>
70     <title>i-scream downloads</title>
71     <meta name="description" content="The i-scream Project is a central monitoring system for Unix, Linux and NT servers.">
72     <meta name="keywords" content="i-scream, project, central monitoring system, unix, linux, nt, server, alert">
73     <meta name="generator" content="notepad on acid, aye.">
74     </head>
75    
76     <body bgcolor="#ffffff" link="#0000ff" alink="#3333cc" vlink="#3333cc" text="#000066">
77    
78     <table border="0" cellpadding="2" cellspacing="2">
79     <tr>
80     <td valign="top">
81     END
82    
83     &print_html($left);
84    
85     print <<"END";
86     </td>
87     <td valign="top">
88     END
89    
90     &print_html($title);
91    
92 pjm2 1.1 print <<EOT;
93 pjm2 1.4 <table align="center" width="500">
94 pjm2 1.1 <tr>
95     <td>
96 pjm2 1.4 <font face="arial,sans-serif">
97 pjm2 1.1 <center><h3>i-scream builds</h3></center>
98     <font size="2">
99     At the current moment, all i-scream builds may be downloaded <b>free
100     of charge</b>. If you wish to be alerted infrequently about important issues
101     regarding the i-scream montoring system, then we would recommend that
102     you provide your contact details below. All fields are optional.
103     </font>
104 pjm2 1.4 </font>
105 pjm2 1.1 </td>
106     </tr>
107     </table>
108    
109     <p>&nbsp;</p>
110    
111 pjm2 1.5 <form action="/cgi-bin/download.cgi" method="POST">
112 pjm2 1.1 <table border="0" align="center">
113     <tr>
114 pjm2 1.4 <td><font face="arial,sans-serif">Filename:</font></td>
115     <td><font face="arial,sans-serif"><b>$file_name</b></font><input type="hidden" name="file_name" value="$file_name"></td>
116 pjm2 1.1 </tr>
117     <tr>
118 pjm2 1.4 <td><font face="arial,sans-serif">Your name:</font></td>
119 pjm2 1.1 <td><input type="text" name="your_name" value=""></td>
120     </tr>
121     <tr>
122 pjm2 1.4 <td><font face="arial,sans-serif">Email address:</font></td>
123 pjm2 1.1 <td><input type="text" name="email_address" value=""></td>
124     </tr>
125     <tr>
126 pjm2 1.4 <td><font face="arial,sans-serif">Country:</font></td>
127 pjm2 1.1 <td><input type="text" name="country" value=""></td>
128     </tr>
129     <tr>
130     <td>&nbsp;</td>
131     <td><input type="submit" name="submit" value="Download"></td>
132     </tr>
133     </table>
134     </form>
135    
136     </body>
137     </html>
138     EOT
139    
140 pjm2 1.3 &print_html($bottom);
141    
142     print <<"END";
143    
144     </td>
145     </tr>
146     </table>
147     END
148    
149 pjm2 1.1 }
150    
151 pjm2 1.3 exit;
152    
153 pjm2 1.1
154 pjm2 1.3 # Print a file without escaping HTML: -
155     sub print_html ($) {
156     my ($filename) = @_;
157 tdb 1.7 print `cat $filename 2>&1`;
158 pjm2 1.6 }