# HG changeset patch # User Steve Kemp # Date 1197480509 0 # Node ID 3d8b0e615bf3de76c0f355fdc25cb4437257bae1 # Parent 69570137cb667ab55afc4cb1a3116d57cde82fb8 Added. diff -r 69570137cb66 -r 3d8b0e615bf3 cgi-bin/comments.cgi --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cgi-bin/comments.cgi Wed Dec 12 17:28:29 2007 +0000 @@ -0,0 +1,94 @@ +#!/usr/bin/perl -w +# +# This is a simple script which is designed to accept POST request, +# of comments to a series of text files. +# +# This code is very simple and should be easy to extend with anti-spam +# at a later point. +# +# Steve +# -- +# + + + +use strict; +use warnings; +use CGI; + +# +# The directory to store comments in +# +my $COMMENT = $ENV{'DOCUMENT_ROOT'} . "../comments/"; + + +# +# Get the parameters from the request. +# +my $cgi = new CGI(); +my $name = $cgi->param('name') || undef; +my $mail = $cgi->param('mail') || undef; +my $body = $cgi->param('body') || undef; +my $id = $cgi->param('id') || undef; + + +# +# If any are missing just redirect back to the blog homepage. +# +if ( !defined( $name ) || !length( $name ) || + !defined( $mail ) || !length( $mail ) || + !defined( $body ) || !length( $body ) || + !defined( $id ) || !length( $id ) ) +{ + print "Location: http://" . $ENV{'HTTP_HOST'} . "/\n\n"; + exit; +} + + +# +# Otherwise save them away. +# +# +# ID. +# +if ( $id =~ /^(.*)[\/\\](.*)$/ ){ + $id=$2; +} + + +# +# get the current time +# +my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = + localtime(time); + +# +# Open the file. +# +my $file = $COMMENT . "/" . $id . "." . "$mday-$mon-$year-$hour-$min-$sec"; +open( FILE, ">", $file ); +print FILE "Name: $name\n"; +print FILE "Mail: $mail\n"; +print FILE "User-Agent: $ENV{'HTTP_USER_AGENT'}\n"; +print FILE "IP-Address: $ENV{'REMOTE_ADDR'}\n"; +print FILE "\n"; +print FILE $body; +close( FILE ); + +# +# Now show the user the thanks message.. +# +print "Content-type: text/html\n\n"; +print < + + Thanks For Your Comment + + +

Thanks!

+

Your comment will be included the next time this blog is rebuilt.

+

Return to blog.

+ + +EOF +