diff --git a/data/cgi/Makefile b/data/cgi/Makefile index c993259f9b..69e2d2af23 100644 --- a/data/cgi/Makefile +++ b/data/cgi/Makefile @@ -1,7 +1,7 @@ DATA= ftp.mirrors CGI= ftp.cgi gallery.cgi mirror.cgi cgi-lib.pl cgi-style.pl CGI+= search.cgi cvsweb.cgi query-pr.cgi query-pr-summary.cgi -CGI+= dosendpr.cgi freebsd.def html.pl +CGI+= dosendpr.cgi freebsd.def html.pl reg.cgi .SUFFIXES: .C .cgi diff --git a/data/cgi/reg.cgi b/data/cgi/reg.cgi new file mode 100755 index 0000000000..8bd4e18aaa --- /dev/null +++ b/data/cgi/reg.cgi @@ -0,0 +1,91 @@ +#!/usr/bin/perl + +# Perl program to send mail. + + +$mailprog = '/usr/sbin/sendmail'; + +print "Content-type: text/html\n\n"; + +if ($ENV{'REQUEST_METHOD'} eq "get") { $buffer = $ENV{'QUERY_STRING'}; } +else { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); } + +@nvpairs = split(/&/, $buffer); +foreach $pair (@nvpairs) +{ + ($name, $value) = split(/=/, $pair); + + $value =~ tr/+/ /; + $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; + + $FORM{$name} = $value; +} + +if ($FORM{"emaila"} eq "") { + print "\n"; + print "\n"; + print "Entry Error: Email Field Blank\n"; + print "\n"; + print "\n"; + print "\n"; + print "

Your email address was left blank. Please enter it.\n"; + print "\n"; + print "\n"; + exit(0); +} + +$recipient = $FORM{'recipient'}; + +# +# format the mail file +format MAIL = +~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +$value +. + +# Open the mail file and write to it +open (MAIL, "|$mailprog $recipient") || die "$mailprog not available.\n"; +print MAIL "From: $FORM{'emaila'}\n"; +print MAIL "Subject: FreeBSD Registration from $FORM{'emaila'}\n\n"; + +print MAIL "\n"; +print MAIL "$FORM{'First'}\n"; +print MAIL "$FORM{'Last'}\n"; +print MAIL "$FORM{'emaila'}\n"; +print MAIL "

$FORM{'Address'}
\n"; +print MAIL "$FORM{'City'}\n"; +print MAIL "$FORM{'State'}\n"; +print MAIL "$FORM{'Zip'}\n"; +print MAIL ""; +print MAIL " \n"; +print MAIL "$FORM{'version'}\n"; +print MAIL "\n"; +print MAIL "\n"; +close (MAIL); + +print "\n"; +print "\n"; +print "Mail Sent\n"; +print "\n"; +print "\n"; +print " \n"; +print "
\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "

Thank you, $FORM{'First'} $FORM{'Last'}, for your registration.\n"; +print "
It has been submitted.\n"; +print "

\n"; +print "\n"; + +end; diff --git a/en/cgi/Makefile b/en/cgi/Makefile index c993259f9b..69e2d2af23 100644 --- a/en/cgi/Makefile +++ b/en/cgi/Makefile @@ -1,7 +1,7 @@ DATA= ftp.mirrors CGI= ftp.cgi gallery.cgi mirror.cgi cgi-lib.pl cgi-style.pl CGI+= search.cgi cvsweb.cgi query-pr.cgi query-pr-summary.cgi -CGI+= dosendpr.cgi freebsd.def html.pl +CGI+= dosendpr.cgi freebsd.def html.pl reg.cgi .SUFFIXES: .C .cgi diff --git a/en/cgi/reg.cgi b/en/cgi/reg.cgi new file mode 100755 index 0000000000..8bd4e18aaa --- /dev/null +++ b/en/cgi/reg.cgi @@ -0,0 +1,91 @@ +#!/usr/bin/perl + +# Perl program to send mail. + + +$mailprog = '/usr/sbin/sendmail'; + +print "Content-type: text/html\n\n"; + +if ($ENV{'REQUEST_METHOD'} eq "get") { $buffer = $ENV{'QUERY_STRING'}; } +else { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); } + +@nvpairs = split(/&/, $buffer); +foreach $pair (@nvpairs) +{ + ($name, $value) = split(/=/, $pair); + + $value =~ tr/+/ /; + $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; + + $FORM{$name} = $value; +} + +if ($FORM{"emaila"} eq "") { + print "\n"; + print "\n"; + print "Entry Error: Email Field Blank\n"; + print "\n"; + print "\n"; + print "\n"; + print "

Your email address was left blank. Please enter it.\n"; + print "\n"; + print "\n"; + exit(0); +} + +$recipient = $FORM{'recipient'}; + +# +# format the mail file +format MAIL = +~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +$value +. + +# Open the mail file and write to it +open (MAIL, "|$mailprog $recipient") || die "$mailprog not available.\n"; +print MAIL "From: $FORM{'emaila'}\n"; +print MAIL "Subject: FreeBSD Registration from $FORM{'emaila'}\n\n"; + +print MAIL "\n"; +print MAIL "$FORM{'First'}\n"; +print MAIL "$FORM{'Last'}\n"; +print MAIL "$FORM{'emaila'}\n"; +print MAIL "

$FORM{'Address'}
\n"; +print MAIL "$FORM{'City'}\n"; +print MAIL "$FORM{'State'}\n"; +print MAIL "$FORM{'Zip'}\n"; +print MAIL ""; +print MAIL " \n"; +print MAIL "$FORM{'version'}\n"; +print MAIL "\n"; +print MAIL "\n"; +close (MAIL); + +print "\n"; +print "\n"; +print "Mail Sent\n"; +print "\n"; +print "\n"; +print " \n"; +print "
\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "\n"; +print "

Thank you, $FORM{'First'} $FORM{'Last'}, for your registration.\n"; +print "
It has been submitted.\n"; +print "

\n"; +print "\n"; + +end;