home *** CD-ROM | disk | FTP | other *** search
Wrap
#!/bin/sh perl=/usr/local/etc/architext/perl eval "exec $perl -x $0 $*" #!perl $callbackUrl = "http://$ENV{'SERVER_NAME'}:$ENV{'SERVER_PORT'}$ENV{'SCRIPT_NAME'}"; $callbackUrl =~ s|AT-start|AT-admin|g; $root = "/usr/local/etc/architext"; $docRoot = $root; $scriptName = "AT-start.cgi"; $productName = "On Target"; $adFile = "$docRoot/AT-ad.html"; $licenseFile = "$docRoot/AT-license.html"; $declineFile = "$docRoot/AT-decline.html"; $startFile = "$docRoot/AT-start.html"; die "Invalid root directory '$root'\n" unless -d $root; unshift(@INC, "$root/perllib"); require 'architext.pl'; require 'architextConf.pl'; $productVersion = &Architext'productVersion(); $remoteScriptName = &Architext'remoteScriptName(); $| = 1; open(STDERR, ">&STDOUT"); # &Architext'printHeader($atextUrl, "Debugger"); %attr = &ArchitextConf'readConfig("$root/Architext.conf"); $atextUrl = $attr{'ArchitextURL'}; %FORM = &Architext'readFormArgs; $ad = 1; $license = 2; $register = 3; $accept = 4; $decline = 5; $start = 6; if (!$FORM{mode}) { $formMode = $start; } elsif ($FORM{mode} =~ /^Advertize/i) { $formMode = $ad; } elsif ($FORM{mode} =~ /^Read/i) { $formMode = $license; } elsif ($FORM{mode} =~ /^Accept/i) { $formMode = $accept; } elsif ($FORM{mode} =~ /^Decline/i) { $formMode = $decline; } elsif ($FORM{mode} =~ /^Register/i) { $formMode = $register; } else { &Architext'printHeader($atextUrl, "Invalid mode $FORM{mode}."); &Architext'exitError($atextUrl, "Invalid mode $FORM{mode}."); } while (! $isDone) { $isDone = 1; if ($formMode == $start) { &printDoc($startFile); print <<ACCESS; <br> <B> <form action=$remoteScriptName method=post> <input type="submit" value="Use Remote Documentation"> <input type="hidden" name="AT-admin" value="$callbackUrl"> </form> <form action=$scriptName method=post> <input type="submit" value="Use Local Documentation"> <input type="hidden" name="mode" value="Advertize"> </form> </B> ACCESS } elsif ($formMode == $ad) { &printDoc($adFile); print <<READ; <br> <B> <form action=$scriptName method=post> <input type="submit" name="Read License Agreement" value="Read License Agreement"> <input type="hidden" name="mode" value="Read License Agreement"> </form> <form> <input type="submit" name="Decline" value="Decline"> <input type="hidden" name="mode" value="Decline"> </form> </B> READ } elsif ($formMode == $license) { &printDoc($licenseFile); print <<ACCEPT; <br> <B> <form action=$scriptName method=post> <input type="submit" name="Accept" value="Accept"> <input type="hidden" name="mode" value="Accept"> </form> <form action=$scriptName method=post> <input type="submit" name="Decline" value="Decline"> <input type="hidden" name="mode" value="Decline"> </form> </B> ACCEPT } elsif ($formMode == $decline) { &printDoc($declineFile); } elsif ($formMode == $accept) { &Architext'printHeader($atextUrl, "On Target Registration Form"); print "<h2>Please fill in all fields.</h2>\n"; if ($missingField) { print "<b>You didn't fill in the $missingField field.</b>\n"; } if (! $FORM{at_country}) { $FORM{at_country} = "USA"; } if (! $FORM{at_server}) { $at_server = "?"; } else { $at_server = $FORM{at_server}; } if (! $FORM{at_os}) { $at_os = "?"; } else { $at_os = $FORM{at_os}; } print <<REGISTER; <FORM ACTION="$scriptName" METHOD=POST> <B> <br> Institution:<INPUT SIZE=60 NAME="at_institution" TYPE="text" VALUE="$FORM{at_institution}"> <br> Purpose of Site:<INPUT SIZE=60 NAME="at_purpose" TYPE="text" VALUE="$FORM{at_purpose}"> <br> Address:<INPUT SIZE=60 NAME="at_address" TYPE="text" VALUE="$FORM{at_address}"> <br> City:<INPUT SIZE=60 NAME="at_city" TYPE="text" VALUE="$FORM{at_city}"> <br> State:<INPUT SIZE=2 NAME="at_state" TYPE="text" VALUE="$FORM{at_state}"> Zip Code:<INPUT SIZE=5 NAME="at_zip" TYPE="text" VALUE="$FORM{at_zip}"> Country:<INPUT NAME="at_country" TYPE="text" VALUE="$FORM{at_country}"> <br> URL:<INPUT SIZE=60 NAME="at_url" TYPE="text" VALUE="$FORM{at_url}"> <br> Contact Name:<INPUT SIZE=60 NAME="at_name" TYPE="text" VALUE="$FORM{at_name}"> <br> Email Address:<INPUT SIZE=60 NAME="at_email" TYPE="text" VALUE="$FORM{at_email}"> <br> Phone:<INPUT NAME="at_phone" SIZE=21 TYPE="text" VALUE="$FORM{at_phone}"> FAX:<INPUT NAME="at_fax" SIZE=21 TYPE="text" VALUE="$FORM{at_fax}"> <br> OS:<SELECT NAME="at_os"> <OPTION>SunOS Sparc <OPTION>Solaris Sparc <OPTION>Solaris Intel <OPTION>HPUX PA-RISC700 <OPTION>HPUX PA-RISC800 <OPTION>AIX RS6000 <OPTION>BSDI <OPTION>NT Intel <OPTION>NT Alpha <OPTION>IRIX MIPS <OPTION>Ultrix <OPTION>Other <OPTION selected>$at_os </SELECT> OS Version:<INPUT NAME="at_os_version" TYPE="text" VALUE="$FORM{at_os_version}"> <br> REGISTER ; if ($productVersion !~ /S/) { print <<REGISTER; Server:<SELECT NAME="at_server"> <OPTION>NCSA <OPTION>CERN <OPTION>Netscape <OPTION>Navisoft <OPTION>Spry <OPTION>Other <OPTION selected>$at_server </SELECT> Server Version:<INPUT NAME="at_server_version" TYPE="text" VALUE="$FORM{at_server_version}"> <br> REGISTER ; } else { print <<REGISTER; <INPUT TYPE="hidden" NAME="at_server" VALUE="Spry"> <INPUT TYPE="hidden" NAME="at_server_version" VALUE="1.0"> REGISTER ; } print <<REGISTER; <INPUT TYPE="checkbox" NAME="regByEMail" CHECKED VALUE="yes">Register by electronic mail. Must be checked unless you have printed this document and will mail or FAX it to Architext Software, 2700 Garcia, Mt. View, CA 94043, FAX 415-934-3610. <br> <INPUT TYPE="submit" NAME="Register" VALUE="Register"> <INPUT TYPE="hidden" NAME="mode" VALUE="Register"> </FORM> <FORM ACTION="$scriptName" METHOD=POST> <INPUT TYPE="submit" NAME="Decline" VALUE="Decline"> <INPUT TYPE="hidden" NAME="mode" VALUE="Decline"> </FORM> <\B> REGISTER } elsif ($formMode == $register) { foreach $field (keys(%FORM)) { if (! ($field =~ /^at_/)) { next; } if ((! ($FORM{$field} =~ /\w+/)) || ($FORM{$field} eq "?")) { $formMode = $accept; $missingField = substr($field, 3); $missingField =~ s/\_/\ /g; last; } } if ($missingField) { $isDone = 0; next; } $FORM{at_product_name} = $productName; $FORM{at_product_version} = $productVersion; if ($FORM{regByEMail} =~ /yes/) { open(MAIL, "| mail register\@atext.com") || &Architext'exitError($atextUrl, "Can't pipe to mail because $!."); print MAIL "<atextform>\n"; foreach $field (sort(keys(%FORM))) { if (! ($field =~ /^at_(.*)/)) { next; } print MAIL "<$1>\n$FORM{$field}\n</$1>\n"; } print MAIL "</atextform>\n"; close(MAIL); } &Architext'printHeader($atextUrl, "Architext On Target Thank You", "Thank You"); print "Your customer id is $FORM{at_email}.<p>"; print "<A HREF=\"AT-admin.cgi?register=yes&at_email=$FORM{at_email}\">Click here to create your first collection!</A>\n"; } } exit; sub printDoc { local ($file) = @_; &Architext'printDoc($file, "$atextUrl"); }