diff options
author | ivan <ivan> | 2002-11-29 05:14:19 +0000 |
---|---|---|
committer | ivan <ivan> | 2002-11-29 05:14:19 +0000 |
commit | cf7dde567416fb1c3b7108267341a90bf59695b0 (patch) | |
tree | 52824482bb7e7f9e7ad7e393cb86630369cf7782 /fs_signup | |
parent | 221b423fecf5380c0311f0f3fee4e47ef1494053 (diff) |
accept unmunged state/county/country
Diffstat (limited to 'fs_signup')
-rwxr-xr-x | fs_signup/FS-SignupClient/cgi/signup.cgi | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/fs_signup/FS-SignupClient/cgi/signup.cgi b/fs_signup/FS-SignupClient/cgi/signup.cgi index e45c85056..ca40e8126 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.29.2.3 2002-11-28 10:54:28 ivan Exp $ +# $Id: signup.cgi,v 1.29.2.4 2002-11-29 05:14:19 ivan Exp $ use strict; use vars qw( @payby $cgi $locales $packages $pops $init_data $error @@ -143,11 +143,21 @@ $cgi = new CGI; if ( defined $cgi->param('magic') ) { if ( $cgi->param('magic') eq 'process' ) { - $cgi->param('state') =~ /^(\w*)( \(([\w ]+)\))? ?\/ ?(\w+)$/ - or die "Oops, illegal \"state\" param: ". $cgi->param('state'); - $state = $1; - $county = $3 || ''; - $country = $4; + if ( $cgi->param('state') =~ /^(\w*)( \(([\w ]+)\))? ?\/ ?(\w+)$/ ) { + $state = $1; + $county = $3 || ''; + $country = $4; + } elsif ( $cgi->param('state') =~ /^(\w*)$/ ) { + $state = $1; + $cgi->param('county') =~ /^([\w ]*)$/ + or die "illegal county: ". $cgi->param('county'); + $county = $1; + $cgi->param('country') =~ /^(\w+)$/ + or die "illegal country: ". $cgi->param('country'); + $country = $1; + } else { + die "illegal state: ". $cgi->param('state'); + } $payby = $cgi->param('payby'); $payinfo = $cgi->param( $payby. '_payinfo' ); |