#!/usr/local/bin/perl # Define Variables $basedir = "$ENV{'DOCUMENT_ROOT_OLD'}/www"; $baseurl = "http://www.whatever.com"; $cgi_url = "http://www.whatever.com/cgi-bin/add.pl"; $mesgdir = "messages"; $datafile = "data.txt"; $ext = "html"; $title = "Recipes"; # Done # Get the Data Number &get_number; # Get Form Information &parse_form; # Put items into nice variables &get_variables; # Open the new file and write information to it. &new_file; # Open the Main WWWBoard File to add link &main_page; # Increment Number &increment_num; ############################ # Get Data Number Subroutine sub get_number { open(NUMBER,"$basedir/$catagory/$datafile"); $num = ; close(NUMBER); if ($num == 999999 || $num !~ /^\d+$/) { $num = "1"; } else { $num++; } } ####################### # Parse Form Subroutine sub parse_form { local($name,$value); # Get the input read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); # Split the name-value pairs @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); # Un-Webify plus signs and %-encoding $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; # Remove any NULL characters, Server Side Includes $value =~ s/\0//g; $value =~ s///g; $value =~ s/<([^>]|\n)*>//g; $FORM{$name} = $value; # Get Variables sub get_variables { if ($FORM{'catagory'}) { $name = "$FORM{'catagory'}"; $name =~ s/"//g; $name =~ s///g; $name =~ s/\&//g; } if ($FORM{'subject'}) { $subject = "$FORM{'subject'}"; $subject =~ s/\&/\&\;/g; $subject =~ s/"/\"\;/g; } if ($FORM{'body'}) { $body = "$FORM{'body'}"; $body =~ s/\cM//g; $body =~ s/\n\n/

/g; $body =~ s/\n/
/g; $body =~ s/<//g; $body =~ s/"/"/g; } if ($FORM{'serves'}) { $invoice = "$FORM{'serves'}"; } ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $month = ($mon + 1); @months = ("January","February","March","April","May","June","July","August","September","October","November","December"); $year += 1900; $long_date = sprintf("%s %02d, %4d at %02d:%02d:%02d",$months[$mon],$mday,$year,$hour,$min,$sec); $year %= 100; if ($use_time == 1) { $date = sprintf("%02d:%02d:%02d %02d/%02d/%02d",$hour,$min,$sec,$month,$mday,$year); } else { $date = sprintf("%02d/%02d/%02d",$month,$mday,$year); } } ##################### # New File Subroutine sub new_file { open(NEWFILE,">$basedir/$catagory/$mesgdir/$num\.$ext") || die $!; print NEWFILE "\n"; print NEWFILE "\n"; print NEWFILE "$subject\n"; print NEWFILE "\n"; print NEWFILE "\n"; print NEWFILE "\n"; print NEWFILE "<body>\n"; print NEWFILE "\n"; print NEWFILE "
\n"; print NEWFILE "

\n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; $body = 'OH CRAP' if ! defined $body; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE " \n"; print NEWFILE "
\n"; print NEWFILE " $subject
     
\n"; print NEWFILE " Serves: $serves
     
     
Ingredients:
$labor
 
Method:
$body
 
\n"; print NEWFILE "
\n"; print NEWFILE "\n"; close(NEWFILE); } ############################### # Main Page Subroutine sub main_page { open(MAIN,"$basedir/$catagory\.$ext") || die $!; @main =
; close(MAIN); } ############################################ # Return html sub return_html { print "Content-type: text/html\n\n"; print "\n"; print "$subject\n"; print "\n"; print "\n"; print "<body bgcolor=#FFFFFF>\n"; print "<font size=2><b>Entry has been logged, click <a href=\"http://wwwdesignaz.netfirms.com/recipes.html\">here</a> to return home.\n"; print "</b></font>\n"; print "</body></html>\n"; } sub increment_num { open(NUM,">$basedir/$catagory/$datafile") || die $!; print NUM "$num"; close(NUM); }