#!/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; } }