summaryrefslogtreecommitdiff
path: root/fs_signup/FS-SignupClient/cgi
diff options
context:
space:
mode:
Diffstat (limited to 'fs_signup/FS-SignupClient/cgi')
-rwxr-xr-xfs_signup/FS-SignupClient/cgi/signup.cgi120
-rwxr-xr-xfs_signup/FS-SignupClient/cgi/signup.html4
2 files changed, 41 insertions, 83 deletions
diff --git a/fs_signup/FS-SignupClient/cgi/signup.cgi b/fs_signup/FS-SignupClient/cgi/signup.cgi
index 70facb570..1008fb12f 100755
--- a/fs_signup/FS-SignupClient/cgi/signup.cgi
+++ b/fs_signup/FS-SignupClient/cgi/signup.cgi
@@ -1,6 +1,6 @@
#!/usr/bin/perl -Tw
#
-# $Id: signup.cgi,v 1.47 2003-10-24 19:28:49 ivan Exp $
+# $Id: signup.cgi,v 1.29.2.18 2003-10-24 19:28:46 ivan Exp $
use strict;
use vars qw( @payby $cgi $locales $packages
@@ -142,7 +142,8 @@ $packages = $init_data->{agentnum2part_pkg}{$agentnum} if $agentnum;
%pop = ();
%popnum2pop = ();
foreach (@$pops) {
- push @{ $pop{ $_->{state} }->{ $_->{ac} } }, $_;
+ #push @{ $pop{ $_->{state} }->{ $_->{ac} } }, $_;
+ push @{ $pop{ $_->{state} } }, $_;
$popnum2pop{$_->{popnum}} = $_;
}
@@ -168,10 +169,9 @@ if ( defined $cgi->param('magic') ) {
}
$payby = $cgi->param('payby');
- if ( $payby eq 'CHEK' || $payby eq 'DCHK' ) {
+ if ( $payby eq 'CHEK' ) {
#$payinfo = join('@', map { $cgi->param( $payby. "_payinfo$_" ) } (1,2) );
- $payinfo = $cgi->param($payby. '_payinfo1'). '@'.
- $cgi->param($payby. '_payinfo2');
+ $payinfo = $cgi->param('CHEK_payinfo1').'@'.$cgi->param('CHEK_payinfo2');
} else {
$payinfo = $cgi->param( $payby. '_payinfo' );
}
@@ -217,7 +217,7 @@ if ( defined $cgi->param('magic') ) {
$popnum = $cgi->param('popnum');
#$agentnum, # = $cgi->param('agentnum'),
$agentnum ||= $cgi->param('agentnum');
- $init_popstate = $cgi->param('init_popstate');
+ $init_popstate = $cgi->param('init_popstate');
if ( $cgi->param('_password') ne $cgi->param('_password2') ) {
$error = $init_data->{msgcat}{passwords_dont_match}; #msgcat
@@ -226,7 +226,7 @@ if ( defined $cgi->param('magic') ) {
} else {
$password2 = $cgi->param('_password2');
- if ( $payby =~ /^(CARD|DCRD)$/ && $cgi->param('CARD_type') ) {
+ if ( $payby eq 'CARD' && $cgi->param('CARD_type') ) {
$payinfo =~ s/\D//g;
$payinfo =~ /^(\d{13,16})$/
@@ -290,7 +290,7 @@ if ( defined $cgi->param('magic') ) {
$address1 = '';
$address2 = '';
$city = '';
- $state = $init_data->{statedefault};
+ $state = $cgi->param('init_popstate') || $init_data->{statedefault};
$county = '';
$country = $init_data->{countrydefault};
$zip = '';
@@ -384,8 +384,7 @@ sub print_okay {
#horrible false laziness with FS/FS/svc_acct_pop.pm::popselector
sub popselector {
-
- my( $popnum ) = @_;
+ my( $popnum, $state ) = @_;
return '<INPUT TYPE="hidden" NAME="popnum" VALUE="">' unless @$pops;
return $pops->[0]{city}. ', '. $pops->[0]{state}.
@@ -394,96 +393,61 @@ sub popselector {
if scalar(@$pops) == 1;
#my %pop = ();
- #my %popnum2pop = ();
- #foreach (@$pops) {
- # push @{ $pop{ $_->{state} }->{ $_->{ac} } }, $_;
- # $popnum2pop{$_->{popnum}} = $_;
- #}
+ #push @{ $pop{$_->{state}} }, $_ foreach @$pops;
- my $text = <<END;
- <SCRIPT>
- function opt(what,href,text) {
- var optionName = new Option(text, href, false, false)
- var length = what.length;
- what.options[length] = optionName;
- }
-END
+ my $text;
if ( $init_popstate ) {
$text .= '<INPUT TYPE="hidden" NAME="init_popstate" VALUE="'.
$init_popstate. '">';
} else {
$text .= <<END;
- function acstate_changed(what) {
- state = what.options[what.selectedIndex].text;
- what.form.popac.options.length = 0
- what.form.popac.options[0] = new Option("Area code", "-1", false, true);
-END
- }
-
- my @states = $init_popstate ? ( $init_popstate ) : keys %pop;
- foreach my $state ( sort { $a cmp $b } @states ) {
- $text .= "\nif ( state == \"$state\" ) {\n" unless $init_popstate;
-
- foreach my $ac ( sort { $a cmp $b } keys %{ $pop{$state} }) {
- $text .= "opt(what.form.popac, \"$ac\", \"$ac\");\n";
- if ($ac eq $cgi->param('popac')) {
- $text .= "what.form.popac.options[what.form.popac.length-1].selected = true;\n";
+ <SCRIPT>
+ function opt(what,href,text) {
+ var optionName = new Option(text, href, false, false)
+ var length = what.length;
+ what.options[length] = optionName;
}
- }
- $text .= "}\n" unless $init_popstate;
- }
- $text .= "popac_changed(what.form.popac)}\n";
-
- $text .= <<END;
- function popac_changed(what) {
- ac = what.options[what.selectedIndex].text;
- what.form.popnum.options.length = 0;
- what.form.popnum.options[0] = new Option("City", "-1", false, true);
-
+ function popstate_changed(what) {
+ state = what.options[what.selectedIndex].text;
+ what.form.popnum.options.length = 0;
+ what.form.popnum.options[0] = new Option("", "", false, true);
END
- foreach my $state ( @states ) {
- foreach my $popac ( keys %{ $pop{$state} } ) {
- $text .= "\nif ( ac == \"$popac\" ) {\n";
+ foreach my $popstate ( sort { $a cmp $b } keys %pop ) {
+ $text .= "\nif ( state == \"$popstate\" ) {\n";
- foreach my $pop ( @{$pop{$state}->{$popac}}) {
+ foreach my $pop ( @{$pop{$popstate}}) {
my $o_popnum = $pop->{popnum};
my $poptext = $pop->{city}. ', '. $pop->{state}.
' ('. $pop->{ac}. ')/'. $pop->{exch}. '-'. $pop->{loc};
- $text .= "opt(what.form.popnum, \"$o_popnum\", \"$poptext\");\n";
- if ($popnum == $o_popnum) {
- $text .= "what.form.popnum.options[what.form.popnum.length-1].selected = true;\n";
- }
+ $text .= "opt(what.form.popnum, \"$o_popnum\", \"$poptext\");\n"
}
$text .= "}\n";
}
- }
-
-
- $text .= "}\n</SCRIPT>\n";
-
- $text .=
- qq!<TABLE CELLPADDING="0"><TR><TD><SELECT NAME="acstate"! .
- qq!SIZE=1 onChange="acstate_changed(this)"><OPTION VALUE=-1>State!;
- $text .= "<OPTION" . ($_ eq $cgi->param('acstate') ? " SELECTED" : "") .
- ">$_" foreach sort { $a cmp $b } @states;
- $text .= '</SELECT>'; #callback? return 3 html pieces? #'</TD>';
- $text .=
- qq!<SELECT NAME="popac" SIZE=1 onChange="popac_changed(this)">!.
- qq!<OPTION>Area code</SELECT></TR><TR VALIGN="top">!;
+ $text .= "}\n</SCRIPT>\n";
- $text .= qq!<TR><TD><SELECT NAME="popnum" SIZE=1 STYLE="width: 20em"><OPTION>City!;
+ $text .=
+ qq!<SELECT NAME="popstate" SIZE=1 onChange="popstate_changed(this)">!.
+ qq!<OPTION> !;
+ $text .= "<OPTION>$_" foreach sort { $a cmp $b } keys %pop;
+ $text .= '</SELECT>'; #callback? return 3 html pieces? #'</TD><TD>';
+ }
+ $text .= qq!<SELECT NAME="popnum" SIZE=1><OPTION> !;
- #comment this block to disable initial list polulation
+ #comment this block to disable initial list population
my @initial_select = ();
- if ( scalar( @$pops ) > 100 ) {
- push @initial_select, $popnum2pop{$popnum} if $popnum2pop{$popnum};
+ if ( $init_popstate ) {
+ @initial_select = grep { $_->{state} eq $init_popstate } @$pops;
} else {
- @initial_select = @$pops;
+ if ( scalar( @$pops ) > 100 ) {
+ push @initial_select, $popnum2pop{$popnum} if $popnum2pop{$popnum};
+ } else {
+ @initial_select = @$pops;
+ }
}
foreach my $pop ( sort { $a->{state} cmp $b->{state} } @initial_select ) {
$text .= qq!<OPTION VALUE="!. $pop->{popnum}. '"'.
@@ -491,11 +455,9 @@ END
$pop->{city}. ', '. $pop->{state}.
' ('. $pop->{ac}. ')/'. $pop->{exch}. '-'. $pop->{loc};
}
-
- $text .= qq!</SELECT></TD></TR></TABLE>!;
+ $text .= '</SELECT>';
$text;
-
}
sub expselect {
diff --git a/fs_signup/FS-SignupClient/cgi/signup.html b/fs_signup/FS-SignupClient/cgi/signup.html
index dc4252c73..dd65020f8 100755
--- a/fs_signup/FS-SignupClient/cgi/signup.html
+++ b/fs_signup/FS-SignupClient/cgi/signup.html
@@ -105,9 +105,7 @@ Contact Information
my %payby = (
'CARD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="CARD_payinfo" VALUE="" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("CARD"). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="CARD_payname" VALUE="">!,
- 'DCRD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="DCRD_payinfo" VALUE="" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("DCRD"). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="DCRD_payname" VALUE="">!,
'CHEK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="CHEK_payinfo1" VALUE="" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="CHEK_payinfo2" VALUE="" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="CHEK_month" VALUE="12"><INPUT TYPE="hidden" NAME="CHEK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="CHEK_payname" VALUE="">!,
- 'DCHK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="DCHK_payinfo1" VALUE="" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="DCHK_payinfo2" VALUE="" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="DCHK_month" VALUE="12"><INPUT TYPE="hidden" NAME="DCHK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="DCHK_payname" VALUE="">!,
'LECB' => qq!Phone bill billing<BR>${r}Phone number <INPUT TYPE="text" BANE="LECB_payinfo" VALUE="" MAXLENGTH=15 SIZE=16><INPUT TYPE="hidden" NAME="LECB_month" VALUE="12"><INPUT TYPE="hidden" NAME="LECB_year" VALUE="2037"><INPUT TYPE="hidden" NAME="LECB_payname" VALUE="">!,
'BILL' => qq!Billing<BR>P.O. <INPUT TYPE="text" NAME="BILL_payinfo" VALUE=""><BR><font color="#ff0000">*</font>Exp !. expselect("BILL", "12-2037"). qq!<BR><font color="#ff0000">*</font>Attention<BR><INPUT TYPE="text" NAME="BILL_payname" VALUE="Accounts Payable">!,
'COMP' => qq!Complimentary<BR><font color="#ff0000">*</font>Approved by<INPUT TYPE="text" NAME="COMP_payinfo" VALUE=""><BR><font color="#ff0000">*</font>Exp !. expselect("COMP"),
@@ -123,9 +121,7 @@ Contact Information
my( $account, $aba ) = split('@', $payinfo);
my %paybychecked = (
'CARD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="CARD_payinfo" VALUE="$payinfo" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("CARD", $paydate). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="CARD_payname" VALUE="$payname">!,
- 'DCRD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="DCRD_payinfo" VALUE="$payinfo" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("DCRD", $paydate). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="DCRD_payname" VALUE="$payname">!,
'CHEK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="CHEK_payinfo1" VALUE="$account" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="CHEK_payinfo2" VALUE="$aba" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="CHEK_month" VALUE="12"><INPUT TYPE="hidden" NAME="CHEK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="CHEK_payname" VALUE="$payname">!,
- 'DCHK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="DCHK_payinfo1" VALUE="$account" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="DCHK_payinfo2" VALUE="$aba" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="DCHK_month" VALUE="12"><INPUT TYPE="hidden" NAME="DCHK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="DCHK_payname" VALUE="$payname">!,
'LECB' => qq!Phone bill billing<BR>${r}Phone number <INPUT TYPE="text" BANE="LECB_payinfo" VALUE="$payinfo" MAXLENGTH=15 SIZE=16><INPUT TYPE="hidden" NAME="LECB_month" VALUE="12"><INPUT TYPE="hidden" NAME="LECB_year" VALUE="2037"><INPUT TYPE="hidden" NAME="LECB_payname" VALUE="">!,
'BILL' => qq!Billing<BR>P.O. <INPUT TYPE="text" NAME="BILL_payinfo" VALUE="$payinfo"><BR><font color="#ff0000">*</font>Exp !. expselect("BILL", $paydate). qq!<BR><font color="#ff0000">*</font>Attention<BR><INPUT TYPE="text" NAME="BILL_payname" VALUE="$payname">!,
'COMP' => qq!Complimentary<BR><font color="#ff0000">*</font>Approved by<INPUT TYPE="text" NAME="COMP_payinfo" VALUE="$payinfo"><BR><font color="#ff0000">*</font>Exp !. expselect("COMP", $paydate),