doc/en/cgi/reg.cgi
Ceri Davies 855a4223aa - Stop asking people to enter their postal address when we do nothing with it
- Offer to subscribe people to -announce and -security-notifications instead

Approved by:	murray
PR:		docs/35563
2002-04-01 13:39:05 +00:00

113 lines
3.7 KiB
Perl
Executable file

#!/usr/bin/perl
#
# Perl program to send mail.
#
# $FreeBSD: www/en/cgi/reg.cgi,v 1.7 2000/04/03 08:45:51 phantom Exp $
sub do_header;
sub close_body;
$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 "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>Entry Error: Email Field Blank</TITLE>\n";
print "</HEAD>\n";
print "<BODY BGCOLOR=\"\#FFFFFF\" TEXT=\"\#000000\">\n";
print "<BASEFONT SIZE=4>\n";
print "<P>Your email address was left blank. Please enter it.\n";
print "</BODY>\n";
print "</HTML>\n";
exit(0);
}
$recipient = $FORM{'recipient'};
exit(0) if $recipient !~ /^[a-z_\.\-]+\@freebsd\.org$/io;
$sub_recipient = "majordomo\@FreeBSD.org";
#
# format the mail file
format MAIL =
~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$value
.
my ($sub_announce, $sub_security, $unsub_announce, $unsub_security) = ();
$sub_announce = 1 if $FORM{"announce"} eq "yes";
$unsub_announce = 1 if $FORM{"announce"} eq "no";
$sub_security = 1 if $FORM{"security-notifications"} eq "yes";
$unsub_security = 1 if $FORM{"security-notifications"} eq "no";
# Open the mail file and write to it
# if user is subscribing to maillist
# which they should be, otherwise why did they hit submit ?
if ( $sub_announce || $sub_security || $unsub_announce || $unsub_security ) {
open (MAIL, "|$mailprog $sub_recipient") || die "$mailprog not available.\n";
print MAIL "From: $FORM{'emaila'}\n";
print MAIL "Subject: \n\n";
$sub_announce and print MAIL "subscribe freebsd-announce $FORM{'emaila'}\n";
$unsub_announce and print MAIL "unsubscribe freebsd-announce $FORM{'emaila'}\n";
$sub_security and print MAIL "subscribe freebsd-security-notifications $FORM{'emaila'}\n";
$unsub_security and print MAIL "unsubscribe freebsd-security-notifications $FORM{'emaila'}\n";
close (MAIL);
} else {
&do_header("No action");
print "<P>No action chosen, hence no action taken.</p>";
&close_body;
exit;
}
&do_header("Subscription processed");
print "<P>Thank you, $FORM{'emaila'}, for your submission.\n";
print "<BR>The request will need to be authenticated; check your mailbox ";
print "for instructions on how to do this.\n";
&close_body;
sub do_header {
my $title = @_;
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>$title</TITLE>\n";
print "</HEAD>\n";
print "<BODY BGCOLOR=\"\#FFFFFF\" TEXT=\"\#660000\">\n";
print "<FONT SIZE=4> \n";
print "<CENTER>\n";
print "<IMG SRC=\"..\/gifs\/bar.gif\" BORDER=0 USEMAP=\"\#bar\">\n";
print "<MAP NAME=\"bar\">\n";
print "<AREA SHAPE=\"RECT\" COORDS=\"1,1,111,31\" HREF=\"../index.html\">\n";
print "<AREA SHAPE=\"RECT\" COORDS=\"112,11,196,31\" HREF=\"../ports/index.html\">\n";
print "<AREA SHAPE=\"RECT\" COORDS=\"196,12,257,33\" HREF=\"../support.html\">\n";
print "<AREA SHAPE=\"RECT\" COORDS=\"256,12,365,33\" HREF=\"../docs.html\">\n";
print "<AREA SHAPE=\"RECT\" COORDS=\"366,13,424,32\" HREF=\"../commercial.html\">\n";
print "<AREA SHAPE=\"RECT\" COORDS=\"425,16,475,32\" HREF=\"../search/search.html\">\n";
print "<AREA SHAPE=\"RECT\" COORDS=\"477,16,516,33\" HREF=\"../search/index-site.html\">\n";
print "<AREA SHAPE=\"RECT\" COORDS=\"516,15,562,33\" HREF=\"../index.html\">\n";
print "<AREA SHAPE=\"RECT\" COORDS=\"0,0,564,32\" HREF=\"../index.html\">\n";
print "</MAP>\n";
}
sub close_body {
print "</CENTER>\n";
print "</BODY>\n";
print "</HTML>\n";
}
1;