#!/usr/local/bin/perl
#
# Kathryn Schmitt (kass@obsolete.com)
#
require ("/export/home/www/backspace/timeline/kasscgisubs.pl");
require ("/usr/local/lib/perl5/cgi-lib.pl");
$rootdir = "/export/home/www/backspace/future-physical";
$maintainer = "info\@backspace.org";
$dbfile = "newsupporters.db";
$inputform = "$rootdir/form.html";
$inputerror = "$rootdir/tryagain.html";
$thanks = "$rootdir/thanks.html";
$blankwidth = 50;
if( &ReadParse ){
#check fields
if(!(($in{'name'}=~/.+/)&&(($in{'address'}=~/.+/)||($in{'email'}=~/.+/)))){
open(HTML,"$inputerror") or &CgiDie;
while (){
print;
}
} else {
# strip unwanted characters from description field
# might want to check validity of date as well.
$in{'name'}=~ s/[\t\n\r]/ /g;
$in{'address'}=~ s/[\t\n\r]/ /g;
$in{'email'}=~ s/[\t\n\r]/ /g;
$address = ($in{'address'} eq "")?"none":$in{'address'};
$email = ($in{'email'} eq "")?"none":$in{'email'};
&lock_file("$rootdir/$dbfile",5) || die "Can't lock $rootdir/$dbfile";
unless (open(DB,">> $rootdir/$dbfile")) {
&unlock_file("$rootdir/$dbfile");
die "Can't open $rootdir/$dbfile";
}
$entry = sprintf("%s\t%s\t%s\t%s\t%s\n",
,$in{'name'}
,$email
,$address
,$in{'contact'}
,$in{'public'});
printf(DB "%s", $entry);
close(DB);
&unlock_file("$rootdir/$dbfile");
$contact = $in{'contact'};
if(($email eq "none")&&($contact eq "email")){
$contact="post";
}
if(($address eq "none")&&($contact eq "post")){
$contact="email";
}
$contact=($contact eq "not")?"don't contact me":$contact;
$yousaid = sprintf("
The following details have been added to our database
\nName: %s
\nEmail: %s
\nAddress: %s
\nContact by: %s
\nList me on the THINK-OUT zone page: %s
\n",
,$in{'name'}
,$email
,$address
,$contact
,$in{'public'});
#write thankyou
open(HTML,"$thanks") or &CgiDie;
while (){
s||$yousaid|;
print;
}
}
} else {
#print initial form
open(HTML,"$inputform") or &CgiDie;
while (){
print;
}
}