diff options
author | ivan <ivan> | 2002-04-06 20:37:38 +0000 |
---|---|---|
committer | ivan <ivan> | 2002-04-06 20:37:38 +0000 |
commit | 8fc4118f1f055195d280b3250b39a3b5fcdf13dc (patch) | |
tree | 09f1c079662ae602829cfce585d9396658689206 /fs_signup/FS-SignupClient/SignupClient.pm | |
parent | 195652229909566ccb3a6ae249d8fa26f25da55a (diff) |
big signup server cleanups. uses Storable for network protocol now.
- makes Bugs 384 & 385 easier
- closes: Bug#382
Diffstat (limited to 'fs_signup/FS-SignupClient/SignupClient.pm')
-rw-r--r-- | fs_signup/FS-SignupClient/SignupClient.pm | 58 |
1 files changed, 13 insertions, 45 deletions
diff --git a/fs_signup/FS-SignupClient/SignupClient.pm b/fs_signup/FS-SignupClient/SignupClient.pm index bd917dae7..3933703ae 100644 --- a/fs_signup/FS-SignupClient/SignupClient.pm +++ b/fs_signup/FS-SignupClient/SignupClient.pm @@ -6,6 +6,7 @@ use Exporter; use Socket; use FileHandle; use IO::Handle; +use Storable qw(nstore_fd fd_retrieve); $VERSION = '0.02'; @@ -58,6 +59,7 @@ FS::SignupClient - Freeside signup client API 'pkgpart' => $pkgpart, 'username' => $username, '_password' => $password, + 'sec_phrase' => $sec_phrase, 'popnum' => $popnum, } ); @@ -104,51 +106,12 @@ sub signup_info { print SOCK "signup_info\n"; SOCK->flush; - chop ( my $n_cust_main_county = <SOCK> ); - my @cust_main_county = map { - chop ( my $taxnum = <SOCK> ); - chop ( my $state = <SOCK> ); - chop ( my $county = <SOCK> ); - chop ( my $country = <SOCK> ); - { - 'taxnum' => $taxnum, - 'state' => $state, - 'county' => $county, - 'country' => $country, - }; - } 1 .. $n_cust_main_county; - - chop ( my $n_part_pkg = <SOCK> ); - my @part_pkg = map { - chop ( my $pkgpart = <SOCK> ); - chop ( my $pkg = <SOCK> ); - { - 'pkgpart' => $pkgpart, - 'pkg' => $pkg, - }; - } 1 .. $n_part_pkg; - - chop ( my $n_svc_acct_pop = <SOCK> ); - my @svc_acct_pop = map { - chop ( my $popnum = <SOCK> ); - chop ( my $city = <SOCK> ); - chop ( my $state = <SOCK> ); - chop ( my $ac = <SOCK> ); - chop ( my $exch = <SOCK> ); - chop ( my $loc = <SOCK> ); - { - 'popnum' => $popnum, - 'city' => $city, - 'state' => $state, - 'ac' => $ac, - 'exch' => $exch, - 'loc' => $loc, - }; - } 1 .. $n_svc_acct_pop; - + my $init_data = fd_retrieve(\*SOCK); close SOCK; - \@cust_main_county, \@part_pkg, \@svc_acct_pop; + (map { $init_data->{$_} } qw( cust_main_county part_pkg svc_acct_pop ) ), + $init_data; + } =item new_customer HASHREF @@ -188,6 +151,8 @@ sub new_customer { my $hashref = shift; #things that aren't necessary in base class, but are for signup server +# return "Passwords don't match" +# if $hashref->{'_password'} ne $hashref->{'_password2'} return "Empty password" unless $hashref->{'_password'}; return "No POP selected" unless $hashref->{'popnum'}; @@ -195,11 +160,14 @@ sub new_customer { connect(SOCK, sockaddr_un($fs_signupd_socket)) or die "connect: $!"; print SOCK "new_customer\n"; - print SOCK join("\n", map { $hashref->{$_} } qw( + my $signup_data = { map { $_ => $hashref->{$_} } qw( first last ss company address1 address2 city county state zip country daytime night fax payby payinfo paydate payname invoicing_list referral_custnum pkgpart username _password popnum - ) ), "\n"; + ) }; + + # + nstore_fd($signup_data, \*SOCK) or die "can't send customer signup: $!"; SOCK->flush; chop( my $error = <SOCK> ); |