#!/usr/local/bin/perl

$me = "http://la.znet.com/~schester/cgi-bin/addpage.cgi";
$sendmail = "formmail.cgi";
$pathinfo = $ENV{PATH_INFO};

print <<EOF;
Content-type: text/html

EOF

if ($pathinfo eq "") {
  &send_form;
} elsif ($pathinfo =~ m|^/post|){
  &post_form;
}
exit 0;

sub send_form
{
  print <<EOF ;
<HTML><HEAD><TITLE>Add My Page to this Index!</title></head>
<body bgcolor=#ffffff>
<h1 align=center><font face="Veranda,Impact">E-Mail Address Submission Form</font></h1>
<p><font face="Arial,Times">
<hr><FORM METHOD=POST ACTION="$sendmail">
<p>Your Name: <br>
   <INPUT TYPE="text" NAME="realname" SIZE=40>
<p>Your E-mail address: <br>
   <INPUT TYPE="text" NAME="email" SIZE=40>
<p>URL of HomePage (if you have one): <br>
   <INPUT TYPE="text" NAME="URL" SIZE=50 VALUE="http://">

<p>Comments: <TEXTAREA NAME="COMMENTS" ROWS=4 COLS=50> </TEXTAREA>

<INPUT TYPE="hidden" NAME="env_report" VALUE="REMOTE_USER,REMOTE_HOST,HTTP_USER_AGENT">
<p><INPUT TYPE="hidden" NAME="recipient" VALUE="schester"></input>
<p><INPUT TYPE="submit" NAME="submit_button" VALUE="Submit"></input>
</FORM>
</BODY>
</HTML>
EOF

}

sub post_form
{
# 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;
    $form{$name} = $value;
  }

  print <<EOF ;
<HTML>
<HEAD><TITLE>OOPS!</TITLE></HEAD>
<BODY>
Someting bad happened!
</BODY></HTML>
EOF
}