#!/usr/bin/perl -Tw
#
-# $Id: signup.cgi,v 1.41 2003-07-04 01:54:17 ivan Exp $
+# $Id: signup.cgi,v 1.48 2003-10-25 02:05:44 ivan Exp $
use strict;
use vars qw( @payby $cgi $locales $packages
$init_data $error
$last $first $ss $company $address1 $address2 $city $state $county
$country $zip $daytime $night $fax $invoicing_list $payby $payinfo
- $paydate $payname $referral_custnum
+ $paycvv $paydate $payname $referral_custnum $init_popstate
$pkgpart $username $password $password2 $sec_phrase $popnum
$agentnum
$ieak_file $ieak_template $cck_file $cck_template
$paydate =
$cgi->param( $payby. '_month' ). '-'. $cgi->param( $payby. '_year' );
$payname = $cgi->param( $payby. '_payname' );
+ $paycvv = defined $cgi->param( $payby. '_paycvv' )
+ ? $cgi->param( $payby. '_paycvv' )
+ : '';
if ( $invoicing_list = $cgi->param('invoicing_list') ) {
$invoicing_list .= ', POST' if $cgi->param('invoicing_list_POST');
$password = $cgi->param('_password');
$popnum = $cgi->param('popnum');
#$agentnum, # = $cgi->param('agentnum'),
+ $agentnum ||= $cgi->param('agentnum');
+ $init_popstate = $cgi->param('init_popstate');
if ( $cgi->param('_password') ne $cgi->param('_password2') ) {
$error = $init_data->{msgcat}{passwords_dont_match}; #msgcat
'fax' => $fax,
'payby' => $payby,
'payinfo' => $payinfo,
+ 'paycvv' => $paycvv,
'paydate' => $paydate,
'payname' => $payname,
'invoicing_list' => $invoicing_list,
'_password' => $password,
'popnum' => $popnum,
'agentnum' => $agentnum,
+ map { $_ => $cgi->param($_) } grep { /^snarf_/ } $cgi->param
} );
}
if ( $error eq '_decline' ) {
print_decline();
} elsif ( $error ) {
+ #fudge the snarf info
+ no strict 'refs';
+ ${$_} = $cgi->param($_) foreach grep { /^snarf_/ } $cgi->param;
print_form();
} else {
print_okay();
$sec_phrase = '';
$popnum = '';
$referral_custnum = $cgi->param('ref') || '';
+ $init_popstate = $cgi->param('init_popstate') || '';
print_form;
}
sub print_form {
$cgi->delete('ref');
+ $cgi->delete('init_popstate');
$self_url = $cgi->self_url;
$error = "Error: $error" if $error;
var length = what.length;
what.options[length] = optionName;
}
+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);
+ 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
+ }
- foreach my $state ( sort { $a cmp $b } keys %pop ) {
- $text .= "\nif ( state == \"$state\" ) {\n";
+ 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";
$text .= "what.form.popac.options[what.form.popac.length-1].selected = true;\n";
}
}
- $text .= "}\n";
+ $text .= "}\n" unless $init_popstate;
}
$text .= "popac_changed(what.form.popac)}\n";
END
- foreach my $state ( keys %pop ) {
+ foreach my $state ( @states ) {
foreach my $popac ( keys %{ $pop{$state} } ) {
$text .= "\nif ( ac == \"$popac\" ) {\n";
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 } keys %pop;
+ ">$_" foreach sort { $a cmp $b } @states;
$text .= '</SELECT>'; #callback? return 3 html pieces? #'</TD>';
$text .=
my ( $selected_county, $selected_state, $selected_country,
$prefix, $onchange ) = @_;
- my $prefix = '' unless defined $prefix;
+ $prefix = '' unless defined $prefix;
my $countyflag = 0;
<BR><BR>
Username: <%= $username %><BR>
Password: <%= $password %><BR>
-Access number: (<%= $ac %>) / $exch - $local<BR>
+Access number: (<%= $ac %>) / <%= $exch %> - <%= $local %><BR>
Package: <%= $pkg %><BR>
</BODY></HTML>
END