#!/usr/bin/perl -Tw
#
-# $Id: signup.cgi,v 1.1 1999-08-24 07:40:45 ivan Exp $
+# $Id: signup.cgi,v 1.6 2000-03-01 08:14:30 ivan Exp $
use strict;
use vars qw( @payby $cgi $locales $packages $pops $r $error
$last $first $ss $company $address1 $address2 $city $state $county
$country $zip $daytime $night $fax $invoicing_list $payby $payinfo
- $paydate $payname $pkgpart $username $password $popnum );
+ $paydate $payname $pkgpart $username $password $popnum
+ $ieak_file $ieak_template $ac $exch $loc
+ );
+ #$ieak_docroot $ieak_baseurl
use subs qw( print_form print_okay expselect );
use CGI;
use CGI::Carp qw(fatalsToBrowser);
+use HTTP::Headers::UserAgent 2.00;
use FS::SignupClient qw( signup_info new_customer );
+use Text::Template;
+#acceptable payment methods
+#
#@payby = qw( CARD BILL COMP );
#@payby = qw( CARD BILL );
-@payby = qw( CARD );
+#@payby = qw( CARD );
+@payby = qw( CARD PREPAY );
+
+$ieak_file = '/usr/local/freeside/ieak.template';
+
+if ( -e $ieak_file ) {
+ $ieak_template = new Text::Template ( TYPE => 'FILE', SOURCE => $ieak_file )
+ or die "Couldn't construct template: $Text::Template::ERROR";
+} else {
+ $ieak_template = '';
+}
+
+# #to enable ieak signups, you need to specify a directory in the web server's
+# #document space and the equivalent base URL
+# #
+# $ieak_docroot = "/var/www/sisd.420.am/freeside/ieak";
+# $ieak_baseurl = "http://sisd.420.am/freeside/ieak";
+
+#srand (time ^ $$ ^ unpack "%L*", `ps axww | gzip`);
( $locales, $packages, $pops ) = signup_info();
'CARD' => qq!Credit card<BR>${r}<INPUT TYPE="text" NAME="CARD_payinfo" VALUE="" MAXLENGTH=19><BR>${r}Exp !. expselect("CARD"). qq!<BR>${r}Name on card<BR><INPUT TYPE="text" NAME="CARD_payname" VALUE="">!,
'BILL' => qq!Billing<BR>P.O. <INPUT TYPE="text" NAME="BILL_payinfo" VALUE=""><BR>${r}Exp !. expselect("BILL", "12-2037"). qq!<BR>${r}Attention<BR><INPUT TYPE="text" NAME="BILL_payname" VALUE="Accounts Payable">!,
'COMP' => qq!Complimentary<BR>${r}Approved by<INPUT TYPE="text" NAME="COMP_payinfo" VALUE=""><BR>${r}Exp !. expselect("COMP"),
+ 'PREPAY' => qq!Prepaid card<BR>${r}<INPUT TYPE="text" NAME="PREPAY_payinfo" VALUE="" MAXLENGTH=80>!,
);
my %paybychecked = (
'CARD' => qq!Credit card<BR>${r}<INPUT TYPE="text" NAME="CARD_payinfo" VALUE="$payinfo" MAXLENGTH=19><BR>${r}Exp !. expselect("CARD", $paydate). qq!<BR>${r}Name on card<BR><INPUT TYPE="text" NAME="CARD_payname" VALUE="$payname">!,
'BILL' => qq!Billing<BR>P.O. <INPUT TYPE="text" NAME="BILL_payinfo" VALUE="$payinfo"><BR>${r}Exp !. expselect("BILL", $paydate). qq!<BR>${r}Attention<BR><INPUT TYPE="text" NAME="BILL_payname" VALUE="$payname">!,
'COMP' => qq!Complimentary<BR>${r}Approved by<INPUT TYPE="text" NAME="COMP_payinfo" VALUE="$payinfo"><BR>${r}Exp !. expselect("COMP", $paydate),
+ 'PREPAY' => qq!Prepaid card<BR>${r}<INPUT TYPE="text" NAME="PREPAY_payinfo" VALUE="$payinfo" MAXLENGTH=80>!,
);
for (@payby) {
}
sub print_okay {
- print $cgi->header( '-expires' => 'now' ), <<END;
+ my $user_agent = new HTTP::Headers::UserAgent $ENV{HTTP_USER_AGENT};
+ if ( $ieak_template
+ && $user_agent->platform eq 'ia32'
+ && $user_agent->os =~ /^win/
+ && ($user_agent->browser)[0] eq 'IE'
+ )
+ { #send an IEAK config
+ my $username = $cgi->param('username');
+ my $password = $cgi->param('_password');
+ my $email_name = $cgi->param('first'). ' '. $cgi->param('last');
+
+ print $cgi->header('application/x-Internet-signup'),
+ $ieak_template->fill_in();
+
+# my $ins_file = rand(4294967296). ".ins";
+# open(INS_FILE, ">$ieak_docroot/$ins_file");
+# print INS_FILE <<END;
+# close INS_FILE;
+# print $cgi->redirect("$ieak_docroot/$ins_file");
+
+ } else { #send a simple confirmation
+ print $cgi->header( '-expires' => 'now' ), <<END;
<HTML><HEAD><TITLE>Signup successful</TITLE></HEAD>
<BODY BGCOLOR="#e8e8e8"><FONT SIZE=7>Signup successful</FONT><BR><BR>
blah blah blah
</BODY>
</HTML>
END
+ }
}
sub expselect {