From 76b34eacaaa4237ef73b24a028a01b45020d77b3 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 24 Aug 1999 07:56:38 +0000 Subject: forgot this file! --- fs_signup/FS-SignupClient/SignupClient.pm | 215 ++++++++++++++++++++++++++++++ 1 file changed, 215 insertions(+) create mode 100644 fs_signup/FS-SignupClient/SignupClient.pm (limited to 'fs_signup/FS-SignupClient/SignupClient.pm') diff --git a/fs_signup/FS-SignupClient/SignupClient.pm b/fs_signup/FS-SignupClient/SignupClient.pm new file mode 100644 index 000000000..d3118467b --- /dev/null +++ b/fs_signup/FS-SignupClient/SignupClient.pm @@ -0,0 +1,215 @@ +package FS::SignupClient; + +use strict; +use vars qw($VERSION @ISA @EXPORT_OK $fs_signupd_socket); +use Exporter; +use Socket; +use IO::Handle; + +$VERSION = '0.01'; + +@ISA = qw( Exporter ); +@EXPORT_OK = qw( signup_info new_customer ); + +$fs_signupd_socket = "/usr/local/freeside/fs_signupd_socket"; + +$ENV{'PATH'} ='/usr/bin:/usr/ucb:/bin'; +$ENV{'SHELL'} = '/bin/sh'; +$ENV{'IFS'} = " \t\n"; +$ENV{'CDPATH'} = ''; +$ENV{'ENV'} = ''; +$ENV{'BASH_ENV'} = ''; + +my $freeside_uid = scalar(getpwnam('freeside')); +die "not running as the freeside user\n" if $> != $freeside_uid; + +=head1 NAME + +FS::SignupClient - Freeside signup client API + +=head1 SYNOPSIS + + use FS::SignupClient qw( signup_info new_customer ); + + ( $locales, $packages, $pops ) = signup_info; + + $error = new_customer ( { + 'first' => $first, + 'last' => $last, + 'ss' => $ss, + 'comapny' => $company, + 'address1' => $address1, + 'address2' => $address2, + 'city' => $city, + 'county' => $county, + 'state' => $state, + 'zip' => $zip, + 'country' => $country, + 'daytime' => $daytime, + 'night' => $night, + 'fax' => $fax, + 'payby' => $payby, + 'payinfo' => $payinfo, + 'paydate' => $paydate, + 'payname' => $payname, + 'invoicing_list' => $invoicing_list, + 'pkgpart' => $pkgpart, + 'username' => $username, + '_password' => $password, + 'popnum' => $popnum, + } ); + +=head1 DESCRIPTION + +This module provides an API for a remote signup server. + +It needs to be run as the freeside user. Because of this, the program which +calls these subroutines should be written very carefully. + +=head1 SUBROUTINES + +=over 4 + +=item signup_info + +Returns three array references of hash references. + +The first set of hash references is of allowable locales. Each hash reference +has the following keys: + taxnum + state + county + country + +The second set of hash references is of allowable packages. Each hash +reference has the following keys: + pkgpart + pkg + +The third set of hash references is of allowable POPs (Points Of Presence). +Each hash reference has the following keys: + popnum + city + state + ac + exch + +=cut + +sub signup_info { + socket(SOCK, PF_UNIX, SOCK_STREAM, 0) or die "socket: $!"; + connect(SOCK, sockaddr_un($fs_signupd_socket)) or die "connect: $!"; + print SOCK "signup_info\n"; + SOCK->flush; + + chop ( my $n_cust_main_county = ); + my @cust_main_county = map { + chop ( my $taxnum = ); + chop ( my $state = ); + chop ( my $county = ); + chop ( my $country = ); + { + 'taxnum' => $taxnum, + 'state' => $state, + 'county' => $county, + 'country' => $country, + }; + } 1 .. $n_cust_main_county; + + chop ( my $n_part_pkg = ); + my @part_pkg = map { + chop ( my $pkgpart = ); + chop ( my $pkg = ); + { + 'pkgpart' => $pkgpart, + 'pkg' => $pkg, + }; + } 1 .. $n_part_pkg; + + chop ( my $n_svc_acct_pop = ); + my @svc_acct_pop = map { + chop ( my $popnum = ); + chop ( my $city = ); + chop ( my $state = ); + chop ( my $ac = ); + chop ( my $exch = ); + { + 'popnum' => $popnum, + 'city' => $city, + 'state' => $state, + 'ac' => $ac, + 'exch' => $exch, + }; + } 1 .. $n_svc_acct_pop; + + close SOCK; + + \@cust_main_county, \@part_pkg, \@svc_acct_pop; +} + +=item new_customer HASHREF + +Adds a customer to the remote Freeside system. Requires a hash reference as +a paramater with the following keys: + first + last + ss + comapny + address1 + address2 + city + county + state + zip + country + daytime + night + fax + payby + payinfo + paydate + payname + invoicing_list + pkgpart + username + _password + popnum + +Returns a scalar error message, or the empty string for success. + +=cut + +sub new_customer { + my $hashref = shift; + + socket(SOCK, PF_UNIX, SOCK_STREAM, 0) or die "socket: $!"; + connect(SOCK, sockaddr_un($fs_signupd_socket)) or die "connect: $!"; + print SOCK "new_customer\n"; + + print SOCK join("\n", map { $hashref->{$_} } qw( + first last ss company address1 address2 city county state zip country + daytime night fax payby payinfo paydate payname invoicing_list + pkgpart username _password popnum + ) ), "\n"; + SOCK->flush; + + chop( my $error = ); + $error; +} + +=back + +=head1 VERSION + +$Id: SignupClient.pm,v 1.1 1999-08-24 07:56:38 ivan Exp $ + +=head1 BUGS + +=head1 SEE ALSO + +L, L, L + +=cut + +1; + -- cgit v1.2.1 From 5e39e2d7963d6f8304e5afb5d8b5f50aa6eaaf14 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 28 Jan 2000 22:49:28 +0000 Subject: full phone number --- fs_signup/FS-SignupClient/SignupClient.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'fs_signup/FS-SignupClient/SignupClient.pm') diff --git a/fs_signup/FS-SignupClient/SignupClient.pm b/fs_signup/FS-SignupClient/SignupClient.pm index d3118467b..7c96609f6 100644 --- a/fs_signup/FS-SignupClient/SignupClient.pm +++ b/fs_signup/FS-SignupClient/SignupClient.pm @@ -133,12 +133,14 @@ sub signup_info { chop ( my $state = ); chop ( my $ac = ); chop ( my $exch = ); + chop ( my $loc = ); { 'popnum' => $popnum, 'city' => $city, 'state' => $state, 'ac' => $ac, 'exch' => $exch, + 'loc' => $loc, }; } 1 .. $n_svc_acct_pop; @@ -201,7 +203,7 @@ sub new_customer { =head1 VERSION -$Id: SignupClient.pm,v 1.1 1999-08-24 07:56:38 ivan Exp $ +$Id: SignupClient.pm,v 1.2 2000-01-28 22:49:28 ivan Exp $ =head1 BUGS -- cgit v1.2.1 From b812b5a4a664e0bd271392ae4a609b18e85ca6b6 Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 2 Feb 2000 07:44:00 +0000 Subject: fix some bugs in signup server --- fs_signup/FS-SignupClient/SignupClient.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'fs_signup/FS-SignupClient/SignupClient.pm') diff --git a/fs_signup/FS-SignupClient/SignupClient.pm b/fs_signup/FS-SignupClient/SignupClient.pm index 7c96609f6..5769c18fc 100644 --- a/fs_signup/FS-SignupClient/SignupClient.pm +++ b/fs_signup/FS-SignupClient/SignupClient.pm @@ -4,6 +4,7 @@ use strict; use vars qw($VERSION @ISA @EXPORT_OK $fs_signupd_socket); use Exporter; use Socket; +use FileHandle; use IO::Handle; $VERSION = '0.01'; @@ -203,7 +204,7 @@ sub new_customer { =head1 VERSION -$Id: SignupClient.pm,v 1.2 2000-01-28 22:49:28 ivan Exp $ +$Id: SignupClient.pm,v 1.3 2000-02-02 07:44:00 ivan Exp $ =head1 BUGS -- cgit v1.2.1 From 5e99168da38e7616fc726242ce7d85e140f22c6f Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 28 Aug 2001 16:58:08 +0000 Subject: customer-to-customer referrals in singup server --- fs_signup/FS-SignupClient/SignupClient.pm | 60 ++++++++++++++++--------------- 1 file changed, 31 insertions(+), 29 deletions(-) (limited to 'fs_signup/FS-SignupClient/SignupClient.pm') diff --git a/fs_signup/FS-SignupClient/SignupClient.pm b/fs_signup/FS-SignupClient/SignupClient.pm index 5769c18fc..d656d7528 100644 --- a/fs_signup/FS-SignupClient/SignupClient.pm +++ b/fs_signup/FS-SignupClient/SignupClient.pm @@ -7,7 +7,7 @@ use Socket; use FileHandle; use IO::Handle; -$VERSION = '0.01'; +$VERSION = '0.02'; @ISA = qw( Exporter ); @EXPORT_OK = qw( signup_info new_customer ); @@ -35,29 +35,30 @@ FS::SignupClient - Freeside signup client API ( $locales, $packages, $pops ) = signup_info; $error = new_customer ( { - 'first' => $first, - 'last' => $last, - 'ss' => $ss, - 'comapny' => $company, - 'address1' => $address1, - 'address2' => $address2, - 'city' => $city, - 'county' => $county, - 'state' => $state, - 'zip' => $zip, - 'country' => $country, - 'daytime' => $daytime, - 'night' => $night, - 'fax' => $fax, - 'payby' => $payby, - 'payinfo' => $payinfo, - 'paydate' => $paydate, - 'payname' => $payname, - 'invoicing_list' => $invoicing_list, - 'pkgpart' => $pkgpart, - 'username' => $username, - '_password' => $password, - 'popnum' => $popnum, + 'first' => $first, + 'last' => $last, + 'ss' => $ss, + 'comapny' => $company, + 'address1' => $address1, + 'address2' => $address2, + 'city' => $city, + 'county' => $county, + 'state' => $state, + 'zip' => $zip, + 'country' => $country, + 'daytime' => $daytime, + 'night' => $night, + 'fax' => $fax, + 'payby' => $payby, + 'payinfo' => $payinfo, + 'paydate' => $paydate, + 'payname' => $payname, + 'invoicing_list' => $invoicing_list, + 'referral_custnum' => $referral_custnum, + 'pkgpart' => $pkgpart, + 'username' => $username, + '_password' => $password, + 'popnum' => $popnum, } ); =head1 DESCRIPTION @@ -173,6 +174,7 @@ a paramater with the following keys: paydate payname invoicing_list + referral_custnum pkgpart username _password @@ -185,6 +187,10 @@ Returns a scalar error message, or the empty string for success. sub new_customer { my $hashref = shift; + #things that aren't necessary in base class, but are for signup server + return "Empty password" unless $hashref->{'_password'}; + return "No POP selected" unless $hashref->{'popnum'}; + socket(SOCK, PF_UNIX, SOCK_STREAM, 0) or die "socket: $!"; connect(SOCK, sockaddr_un($fs_signupd_socket)) or die "connect: $!"; print SOCK "new_customer\n"; @@ -192,7 +198,7 @@ sub new_customer { print SOCK join("\n", map { $hashref->{$_} } qw( first last ss company address1 address2 city county state zip country daytime night fax payby payinfo paydate payname invoicing_list - pkgpart username _password popnum + referral_custnum pkgpart username _password popnum ) ), "\n"; SOCK->flush; @@ -202,10 +208,6 @@ sub new_customer { =back -=head1 VERSION - -$Id: SignupClient.pm,v 1.3 2000-02-02 07:44:00 ivan Exp $ - =head1 BUGS =head1 SEE ALSO -- cgit v1.2.1 From c4f0380bb9f5f7b497092c3d750953e2ef1562fa Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 11 Feb 2002 22:57:52 +0000 Subject: remove bad doc link --- fs_signup/FS-SignupClient/SignupClient.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'fs_signup/FS-SignupClient/SignupClient.pm') diff --git a/fs_signup/FS-SignupClient/SignupClient.pm b/fs_signup/FS-SignupClient/SignupClient.pm index d656d7528..bd917dae7 100644 --- a/fs_signup/FS-SignupClient/SignupClient.pm +++ b/fs_signup/FS-SignupClient/SignupClient.pm @@ -212,7 +212,7 @@ sub new_customer { =head1 SEE ALSO -L, L, L +L, L =cut -- cgit v1.2.1 From 8fc4118f1f055195d280b3250b39a3b5fcdf13dc Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 6 Apr 2002 20:37:38 +0000 Subject: big signup server cleanups. uses Storable for network protocol now. - makes Bugs 384 & 385 easier - closes: Bug#382 --- fs_signup/FS-SignupClient/SignupClient.pm | 58 +++++++------------------------ 1 file changed, 13 insertions(+), 45 deletions(-) (limited to 'fs_signup/FS-SignupClient/SignupClient.pm') 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 = ); - my @cust_main_county = map { - chop ( my $taxnum = ); - chop ( my $state = ); - chop ( my $county = ); - chop ( my $country = ); - { - 'taxnum' => $taxnum, - 'state' => $state, - 'county' => $county, - 'country' => $country, - }; - } 1 .. $n_cust_main_county; - - chop ( my $n_part_pkg = ); - my @part_pkg = map { - chop ( my $pkgpart = ); - chop ( my $pkg = ); - { - 'pkgpart' => $pkgpart, - 'pkg' => $pkg, - }; - } 1 .. $n_part_pkg; - - chop ( my $n_svc_acct_pop = ); - my @svc_acct_pop = map { - chop ( my $popnum = ); - chop ( my $city = ); - chop ( my $state = ); - chop ( my $ac = ); - chop ( my $exch = ); - chop ( my $loc = ); - { - '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 = ); -- cgit v1.2.1 From 4fa13bb706c06379b76b085c5f4acdea42902f4f Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 6 Apr 2002 21:39:22 +0000 Subject: closes: bug#384 - adds security phrase to signup server also (already in regular interface) --- fs_signup/FS-SignupClient/SignupClient.pm | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'fs_signup/FS-SignupClient/SignupClient.pm') diff --git a/fs_signup/FS-SignupClient/SignupClient.pm b/fs_signup/FS-SignupClient/SignupClient.pm index 3933703ae..7c9d46d9e 100644 --- a/fs_signup/FS-SignupClient/SignupClient.pm +++ b/fs_signup/FS-SignupClient/SignupClient.pm @@ -8,7 +8,7 @@ use FileHandle; use IO::Handle; use Storable qw(nstore_fd fd_retrieve); -$VERSION = '0.02'; +$VERSION = '0.03'; @ISA = qw( Exporter ); @EXPORT_OK = qw( signup_info new_customer ); @@ -98,6 +98,8 @@ Each hash reference has the following keys: ac exch +(Future expansion: fourth argument is the $init_data hash reference) + =cut sub signup_info { @@ -141,6 +143,7 @@ a paramater with the following keys: pkgpart username _password + sec_phrase popnum Returns a scalar error message, or the empty string for success. @@ -150,12 +153,6 @@ Returns a scalar error message, or the empty string for success. 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'}; - socket(SOCK, PF_UNIX, SOCK_STREAM, 0) or die "socket: $!"; connect(SOCK, sockaddr_un($fs_signupd_socket)) or die "connect: $!"; print SOCK "new_customer\n"; @@ -163,10 +160,9 @@ sub new_customer { 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 + referral_custnum pkgpart username _password sec_phrase popnum ) }; - # nstore_fd($signup_data, \*SOCK) or die "can't send customer signup: $!"; SOCK->flush; -- cgit v1.2.1 From 3a549394ebffe37f496d0e004a0466b85aae6a98 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 16 Apr 2002 00:02:26 +0000 Subject: allow signup to specify agentnum --- fs_signup/FS-SignupClient/SignupClient.pm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'fs_signup/FS-SignupClient/SignupClient.pm') diff --git a/fs_signup/FS-SignupClient/SignupClient.pm b/fs_signup/FS-SignupClient/SignupClient.pm index 7c9d46d9e..de269e1c5 100644 --- a/fs_signup/FS-SignupClient/SignupClient.pm +++ b/fs_signup/FS-SignupClient/SignupClient.pm @@ -61,6 +61,7 @@ FS::SignupClient - Freeside signup client API '_password' => $password, 'sec_phrase' => $sec_phrase, 'popnum' => $popnum, + 'agentnum' => $agentnum, #optional } ); =head1 DESCRIPTION @@ -163,6 +164,8 @@ sub new_customer { referral_custnum pkgpart username _password sec_phrase popnum ) }; + $signup_data->{agentnum} = $hashref->{agentnum} if $hashref->{agentnum} + nstore_fd($signup_data, \*SOCK) or die "can't send customer signup: $!"; SOCK->flush; -- cgit v1.2.1 From fd981fae382743704e39df5a32f69a06ab317258 Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 17 Apr 2002 11:17:02 +0000 Subject: typo adding agentnum setting possibility... --- fs_signup/FS-SignupClient/SignupClient.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'fs_signup/FS-SignupClient/SignupClient.pm') diff --git a/fs_signup/FS-SignupClient/SignupClient.pm b/fs_signup/FS-SignupClient/SignupClient.pm index de269e1c5..0a6cbfba2 100644 --- a/fs_signup/FS-SignupClient/SignupClient.pm +++ b/fs_signup/FS-SignupClient/SignupClient.pm @@ -164,7 +164,7 @@ sub new_customer { referral_custnum pkgpart username _password sec_phrase popnum ) }; - $signup_data->{agentnum} = $hashref->{agentnum} if $hashref->{agentnum} + $signup_data->{agentnum} = $hashref->{agentnum} if $hashref->{agentnum}; nstore_fd($signup_data, \*SOCK) or die "can't send customer signup: $!"; SOCK->flush; -- cgit v1.2.1 From c35cabf3a4100f03b62800e3894077eb6a3df349 Mon Sep 17 00:00:00 2001 From: steve Date: Mon, 23 Dec 2002 14:36:20 +0000 Subject: added stuff for selfservice_server-quiet, signup_server-quiet, and emailcancel messages. signup server can set user's comment field. --- fs_signup/FS-SignupClient/SignupClient.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'fs_signup/FS-SignupClient/SignupClient.pm') diff --git a/fs_signup/FS-SignupClient/SignupClient.pm b/fs_signup/FS-SignupClient/SignupClient.pm index 0a6cbfba2..842064de6 100644 --- a/fs_signup/FS-SignupClient/SignupClient.pm +++ b/fs_signup/FS-SignupClient/SignupClient.pm @@ -56,6 +56,7 @@ FS::SignupClient - Freeside signup client API 'payname' => $payname, 'invoicing_list' => $invoicing_list, 'referral_custnum' => $referral_custnum, + 'comments' => $comments, 'pkgpart' => $pkgpart, 'username' => $username, '_password' => $password, @@ -141,6 +142,7 @@ a paramater with the following keys: payname invoicing_list referral_custnum + comments pkgpart username _password @@ -161,7 +163,7 @@ sub new_customer { 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 sec_phrase popnum + referral_custnum comments pkgpart username _password sec_phrase popnum ) }; $signup_data->{agentnum} = $hashref->{agentnum} if $hashref->{agentnum}; -- cgit v1.2.1 From 86c14f830b8d7e996bb84a0ad6a89f26816ea5b7 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 19 Sep 2003 10:07:18 +0000 Subject: move signup server functions to self-service server. fix provisioning & immediate suspension of declined signups. --- fs_signup/FS-SignupClient/SignupClient.pm | 61 ++++++------------------------- 1 file changed, 12 insertions(+), 49 deletions(-) (limited to 'fs_signup/FS-SignupClient/SignupClient.pm') diff --git a/fs_signup/FS-SignupClient/SignupClient.pm b/fs_signup/FS-SignupClient/SignupClient.pm index 842064de6..e17c46181 100644 --- a/fs_signup/FS-SignupClient/SignupClient.pm +++ b/fs_signup/FS-SignupClient/SignupClient.pm @@ -1,30 +1,19 @@ package FS::SignupClient; use strict; -use vars qw($VERSION @ISA @EXPORT_OK $fs_signupd_socket); +use vars qw($VERSION @ISA @EXPORT_OK); # $fs_signupd_socket); use Exporter; -use Socket; -use FileHandle; -use IO::Handle; -use Storable qw(nstore_fd fd_retrieve); +#use Socket; +#use FileHandle; +#use IO::Handle; +#use Storable qw(nstore_fd fd_retrieve); +use FS::SelfService qw( new_customer ); #qw( signup_info ); -$VERSION = '0.03'; +$VERSION = '0.04'; @ISA = qw( Exporter ); @EXPORT_OK = qw( signup_info new_customer ); -$fs_signupd_socket = "/usr/local/freeside/fs_signupd_socket"; - -$ENV{'PATH'} ='/usr/bin:/usr/ucb:/bin'; -$ENV{'SHELL'} = '/bin/sh'; -$ENV{'IFS'} = " \t\n"; -$ENV{'CDPATH'} = ''; -$ENV{'ENV'} = ''; -$ENV{'BASH_ENV'} = ''; - -my $freeside_uid = scalar(getpwnam('freeside')); -die "not running as the freeside user\n" if $> != $freeside_uid; - =head1 NAME FS::SignupClient - Freeside signup client API @@ -33,8 +22,10 @@ FS::SignupClient - Freeside signup client API use FS::SignupClient qw( signup_info new_customer ); - ( $locales, $packages, $pops ) = signup_info; + #this is the backwards-compatibility bit + ( $locales, $packages, $pops, $real_signup_info ) = signup_info; + #this is compatible with FS::SelfService::new_customer $error = new_customer ( { 'first' => $first, 'last' => $last, @@ -104,14 +95,10 @@ Each hash reference has the following keys: =cut +#compatibility bit sub signup_info { - socket(SOCK, PF_UNIX, SOCK_STREAM, 0) or die "socket: $!"; - connect(SOCK, sockaddr_un($fs_signupd_socket)) or die "connect: $!"; - print SOCK "signup_info\n"; - SOCK->flush; - my $init_data = fd_retrieve(\*SOCK); - close SOCK; + my $init_data = FS::SelfService::signup_info(); (map { $init_data->{$_} } qw( cust_main_county part_pkg svc_acct_pop ) ), $init_data; @@ -151,30 +138,6 @@ a paramater with the following keys: Returns a scalar error message, or the empty string for success. -=cut - -sub new_customer { - my $hashref = shift; - - socket(SOCK, PF_UNIX, SOCK_STREAM, 0) or die "socket: $!"; - connect(SOCK, sockaddr_un($fs_signupd_socket)) or die "connect: $!"; - print SOCK "new_customer\n"; - - 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 comments pkgpart username _password sec_phrase popnum - ) }; - - $signup_data->{agentnum} = $hashref->{agentnum} if $hashref->{agentnum}; - - nstore_fd($signup_data, \*SOCK) or die "can't send customer signup: $!"; - SOCK->flush; - - chop( my $error = ); - $error; -} - =back =head1 BUGS -- cgit v1.2.1 From b7bd75e83a0a63015579464541dba5b995ae6ee4 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 19 Sep 2003 12:19:23 +0000 Subject: fix backwards-compatibility for signup server --- fs_signup/FS-SignupClient/SignupClient.pm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'fs_signup/FS-SignupClient/SignupClient.pm') diff --git a/fs_signup/FS-SignupClient/SignupClient.pm b/fs_signup/FS-SignupClient/SignupClient.pm index e17c46181..1d91a418f 100644 --- a/fs_signup/FS-SignupClient/SignupClient.pm +++ b/fs_signup/FS-SignupClient/SignupClient.pm @@ -7,7 +7,7 @@ use Exporter; #use FileHandle; #use IO::Handle; #use Storable qw(nstore_fd fd_retrieve); -use FS::SelfService qw( new_customer ); #qw( signup_info ); +use FS::SelfService; # qw( new_customer signup_info ); $VERSION = '0.04'; @@ -138,6 +138,14 @@ a paramater with the following keys: Returns a scalar error message, or the empty string for success. +=cut + +#compatibility bit +sub new_customer { + my $hash = FS::SelfService::new_customer(@_); + $hash->{'error'}; +} + =back =head1 BUGS -- cgit v1.2.1 From f63c0e821610c885f9f49d301eeccf804e1ca6d3 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 24 Oct 2003 19:30:44 +0000 Subject: cvv! --- fs_signup/FS-SignupClient/SignupClient.pm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'fs_signup/FS-SignupClient/SignupClient.pm') diff --git a/fs_signup/FS-SignupClient/SignupClient.pm b/fs_signup/FS-SignupClient/SignupClient.pm index 1d91a418f..fb2b12fb0 100644 --- a/fs_signup/FS-SignupClient/SignupClient.pm +++ b/fs_signup/FS-SignupClient/SignupClient.pm @@ -43,6 +43,7 @@ FS::SignupClient - Freeside signup client API 'fax' => $fax, 'payby' => $payby, 'payinfo' => $payinfo, + 'paycvv' => $paycvv, 'paydate' => $paydate, 'payname' => $payname, 'invoicing_list' => $invoicing_list, @@ -125,6 +126,7 @@ a paramater with the following keys: fax payby payinfo + paycvv paydate payname invoicing_list -- cgit v1.2.1