Mercurial > hg > chronicle
annotate cgi-bin/comments.cgi @ 99:cd27fd555272
Use a better date + time format.
author | Steve Kemp <steve@steve.org.uk> |
---|---|
date | Wed, 12 Dec 2007 17:33:22 +0000 |
parents | 3d8b0e615bf3 |
children | a25099606ec5 |
rev | line source |
---|---|
98 | 1 #!/usr/bin/perl -w |
2 # | |
3 # This is a simple script which is designed to accept POST request, | |
4 # of comments to a series of text files. | |
5 # | |
6 # This code is very simple and should be easy to extend with anti-spam | |
7 # at a later point. | |
8 # | |
9 # Steve | |
10 # -- | |
11 # | |
12 | |
13 | |
14 | |
15 use strict; | |
16 use warnings; | |
99
cd27fd555272
Use a better date + time format.
Steve Kemp <steve@steve.org.uk>
parents:
98
diff
changeset
|
17 |
98 | 18 use CGI; |
99
cd27fd555272
Use a better date + time format.
Steve Kemp <steve@steve.org.uk>
parents:
98
diff
changeset
|
19 use POSIX qw(strftime); |
cd27fd555272
Use a better date + time format.
Steve Kemp <steve@steve.org.uk>
parents:
98
diff
changeset
|
20 |
cd27fd555272
Use a better date + time format.
Steve Kemp <steve@steve.org.uk>
parents:
98
diff
changeset
|
21 |
98 | 22 |
23 # | |
24 # The directory to store comments in | |
25 # | |
26 my $COMMENT = $ENV{'DOCUMENT_ROOT'} . "../comments/"; | |
27 | |
28 | |
29 # | |
30 # Get the parameters from the request. | |
31 # | |
32 my $cgi = new CGI(); | |
33 my $name = $cgi->param('name') || undef; | |
34 my $mail = $cgi->param('mail') || undef; | |
35 my $body = $cgi->param('body') || undef; | |
36 my $id = $cgi->param('id') || undef; | |
37 | |
38 | |
39 # | |
40 # If any are missing just redirect back to the blog homepage. | |
41 # | |
42 if ( !defined( $name ) || !length( $name ) || | |
43 !defined( $mail ) || !length( $mail ) || | |
44 !defined( $body ) || !length( $body ) || | |
45 !defined( $id ) || !length( $id ) ) | |
46 { | |
47 print "Location: http://" . $ENV{'HTTP_HOST'} . "/\n\n"; | |
48 exit; | |
49 } | |
50 | |
51 | |
52 # | |
53 # Otherwise save them away. | |
54 # | |
55 # | |
56 # ID. | |
57 # | |
58 if ( $id =~ /^(.*)[\/\\](.*)$/ ){ | |
59 $id=$2; | |
60 } | |
61 | |
62 | |
63 # | |
64 # get the current time | |
65 # | |
99
cd27fd555272
Use a better date + time format.
Steve Kemp <steve@steve.org.uk>
parents:
98
diff
changeset
|
66 my $timestr = strftime "%e-%B-%Y-%H:%M:%S", gmtime; |
98 | 67 |
68 # | |
69 # Open the file. | |
70 # | |
99
cd27fd555272
Use a better date + time format.
Steve Kemp <steve@steve.org.uk>
parents:
98
diff
changeset
|
71 my $file = $COMMENT . "/" . $id . "." . $timestr; |
98 | 72 open( FILE, ">", $file ); |
73 print FILE "Name: $name\n"; | |
74 print FILE "Mail: $mail\n"; | |
75 print FILE "User-Agent: $ENV{'HTTP_USER_AGENT'}\n"; | |
76 print FILE "IP-Address: $ENV{'REMOTE_ADDR'}\n"; | |
77 print FILE "\n"; | |
78 print FILE $body; | |
79 close( FILE ); | |
80 | |
81 # | |
82 # Now show the user the thanks message.. | |
83 # | |
84 print "Content-type: text/html\n\n"; | |
85 print <<EOF; | |
86 <html> | |
87 <head> | |
88 <title>Thanks For Your Comment</title> | |
89 </head> | |
90 <body> | |
91 <h2>Thanks!</h2> | |
92 <p>Your comment will be included the next time this blog is rebuilt.</p> | |
93 <p><a href="http://$ENV{'HTTP_HOST'}/">Return to blog</a>.</p> | |
94 </body> | |
95 </html> | |
96 EOF | |
97 |