From 58d093219cf60264550b8c34649d9f3190eda042 Mon Sep 17 00:00:00 2001 From: cvs2git Date: Wed, 23 Aug 2006 22:25:40 +0000 Subject: This commit was manufactured by cvs2svn to create tag 'AFTER_FINAL_MASONIZE'. --- fs_selfservice/FS-SelfService/Changes | 6 - fs_selfservice/FS-SelfService/MANIFEST | 6 - fs_selfservice/FS-SelfService/Makefile.PL | 20 - fs_selfservice/FS-SelfService/SelfService.pm | 1098 -------------------- fs_selfservice/FS-SelfService/cgi/agent.cgi | 457 -------- .../FS-SelfService/cgi/agent_customer_menu.html | 7 - .../FS-SelfService/cgi/agent_delete_svc.html | 19 - fs_selfservice/FS-SelfService/cgi/agent_login.html | 22 - .../FS-SelfService/cgi/agent_logout.html | 5 - fs_selfservice/FS-SelfService/cgi/agent_main.html | 37 - fs_selfservice/FS-SelfService/cgi/agent_menu.html | 15 - .../FS-SelfService/cgi/agent_order_pkg.html | 19 - .../FS-SelfService/cgi/agent_provision.html | 25 - .../cgi/agent_provision_svc_acct.html | 19 - .../FS-SelfService/cgi/change_password.html | 53 - .../FS-SelfService/cgi/cust_bill-logo.cgi | 18 - fs_selfservice/FS-SelfService/cgi/cvv2.html | 25 - fs_selfservice/FS-SelfService/cgi/cvv2.png | Bin 3854 -> 0 bytes fs_selfservice/FS-SelfService/cgi/cvv2_amex.png | Bin 4573 -> 0 bytes fs_selfservice/FS-SelfService/cgi/decline.html | 5 - fs_selfservice/FS-SelfService/cgi/delete_svc.html | 17 - .../FS-SelfService/cgi/list_customers.html | 39 - fs_selfservice/FS-SelfService/cgi/login.html | 29 - fs_selfservice/FS-SelfService/cgi/logout.html | 5 - .../FS-SelfService/cgi/make_payment.html | 118 --- fs_selfservice/FS-SelfService/cgi/map.gif | Bin 8181 -> 0 bytes fs_selfservice/FS-SelfService/cgi/myaccount.html | 45 - .../FS-SelfService/cgi/myaccount_menu.html | 91 -- fs_selfservice/FS-SelfService/cgi/order_pkg.html | 75 -- fs_selfservice/FS-SelfService/cgi/passwd.cgi | 60 -- fs_selfservice/FS-SelfService/cgi/passwd.html | 28 - .../FS-SelfService/cgi/payment_results.html | 16 - .../cgi/process_change_password.html | 13 - .../FS-SelfService/cgi/process_svc_acct.html | 13 - .../FS-SelfService/cgi/process_svc_external.html | 15 - fs_selfservice/FS-SelfService/cgi/promocode.html | 14 - fs_selfservice/FS-SelfService/cgi/provision.html | 10 - .../FS-SelfService/cgi/provision_list.html | 90 -- .../FS-SelfService/cgi/provision_svc_acct.html | 11 - .../FS-SelfService/cgi/recharge_prepay.html | 36 - .../FS-SelfService/cgi/recharge_results.html | 24 - fs_selfservice/FS-SelfService/cgi/regcode.html | 14 - fs_selfservice/FS-SelfService/cgi/selfservice.cgi | 341 ------ .../FS-SelfService/cgi/signup-agentselect.html | 195 ---- .../FS-SelfService/cgi/signup-alternate.html | 218 ---- .../FS-SelfService/cgi/signup-billaddress.html | 307 ------ .../FS-SelfService/cgi/signup-freeoption.html | 262 ----- .../FS-SelfService/cgi/signup-snarf.html | 228 ---- fs_selfservice/FS-SelfService/cgi/signup.cgi | 333 ------ fs_selfservice/FS-SelfService/cgi/signup.html | 236 ----- fs_selfservice/FS-SelfService/cgi/stateselect.html | 134 --- fs_selfservice/FS-SelfService/cgi/success.html | 11 - fs_selfservice/FS-SelfService/cgi/svc_acct.html | 55 - .../FS-SelfService/cgi/view_customer.html | 29 - .../FS-SelfService/cgi/view_invoice.html | 15 - .../FS-SelfService/freeside-selfservice-clientd | 272 ----- fs_selfservice/FS-SelfService/ieak.template | 40 - fs_selfservice/FS-SelfService/test.pl | 17 - 58 files changed, 5312 deletions(-) delete mode 100644 fs_selfservice/FS-SelfService/Changes delete mode 100644 fs_selfservice/FS-SelfService/MANIFEST delete mode 100644 fs_selfservice/FS-SelfService/Makefile.PL delete mode 100644 fs_selfservice/FS-SelfService/SelfService.pm delete mode 100644 fs_selfservice/FS-SelfService/cgi/agent.cgi delete mode 100644 fs_selfservice/FS-SelfService/cgi/agent_customer_menu.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/agent_delete_svc.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/agent_login.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/agent_logout.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/agent_main.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/agent_menu.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/agent_order_pkg.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/agent_provision.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/agent_provision_svc_acct.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/change_password.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/cust_bill-logo.cgi delete mode 100644 fs_selfservice/FS-SelfService/cgi/cvv2.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/cvv2.png delete mode 100644 fs_selfservice/FS-SelfService/cgi/cvv2_amex.png delete mode 100644 fs_selfservice/FS-SelfService/cgi/decline.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/delete_svc.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/list_customers.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/login.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/logout.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/make_payment.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/map.gif delete mode 100644 fs_selfservice/FS-SelfService/cgi/myaccount.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/myaccount_menu.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/order_pkg.html delete mode 100755 fs_selfservice/FS-SelfService/cgi/passwd.cgi delete mode 100644 fs_selfservice/FS-SelfService/cgi/passwd.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/payment_results.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/process_change_password.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/process_svc_acct.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/process_svc_external.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/promocode.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/provision.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/provision_list.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/provision_svc_acct.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/recharge_prepay.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/recharge_results.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/regcode.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/selfservice.cgi delete mode 100755 fs_selfservice/FS-SelfService/cgi/signup-agentselect.html delete mode 100755 fs_selfservice/FS-SelfService/cgi/signup-alternate.html delete mode 100755 fs_selfservice/FS-SelfService/cgi/signup-billaddress.html delete mode 100755 fs_selfservice/FS-SelfService/cgi/signup-freeoption.html delete mode 100755 fs_selfservice/FS-SelfService/cgi/signup-snarf.html delete mode 100755 fs_selfservice/FS-SelfService/cgi/signup.cgi delete mode 100755 fs_selfservice/FS-SelfService/cgi/signup.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/stateselect.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/success.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/svc_acct.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/view_customer.html delete mode 100644 fs_selfservice/FS-SelfService/cgi/view_invoice.html delete mode 100644 fs_selfservice/FS-SelfService/freeside-selfservice-clientd delete mode 100755 fs_selfservice/FS-SelfService/ieak.template delete mode 100644 fs_selfservice/FS-SelfService/test.pl (limited to 'fs_selfservice/FS-SelfService') diff --git a/fs_selfservice/FS-SelfService/Changes b/fs_selfservice/FS-SelfService/Changes deleted file mode 100644 index b9e26b7dc..000000000 --- a/fs_selfservice/FS-SelfService/Changes +++ /dev/null @@ -1,6 +0,0 @@ -Revision history for Perl extension FS::SelfService. - -0.01 Tue May 28 16:49:41 2002 - - original version; created by h2xs 1.21 with options - -A -X -n FS::SelfService - diff --git a/fs_selfservice/FS-SelfService/MANIFEST b/fs_selfservice/FS-SelfService/MANIFEST deleted file mode 100644 index ebd0d3b1a..000000000 --- a/fs_selfservice/FS-SelfService/MANIFEST +++ /dev/null @@ -1,6 +0,0 @@ -Changes -Makefile.PL -MANIFEST -SelfService.pm -test.pl -freeside-selfservice-clientd diff --git a/fs_selfservice/FS-SelfService/Makefile.PL b/fs_selfservice/FS-SelfService/Makefile.PL deleted file mode 100644 index 85c92b4fb..000000000 --- a/fs_selfservice/FS-SelfService/Makefile.PL +++ /dev/null @@ -1,20 +0,0 @@ -use ExtUtils::MakeMaker; -# See lib/ExtUtils/MakeMaker.pm for details of how to influence -# the contents of the Makefile that is written. -WriteMakefile( - 'NAME' => 'FS::SelfService', - 'VERSION_FROM' => 'SelfService.pm', # finds $VERSION - 'EXE_FILES' => [ 'freeside-selfservice-clientd', - #'freeside-selfservice-xmlrpc-server', - ], - 'INSTALLSCRIPT' => '/usr/local/sbin', - 'INSTALLSITEBIN' => '/usr/local/sbin', - 'INSTALLSITESCRIPT' => '/usr/local/sbin', #recent deb users this... - 'PERM_RWX' => '750', - 'PREREQ_PM' => { - 'Storable' => 2.09, - }, # e.g., Module::Name => 1.1 - ($] >= 5.005 ? ## Add these new keywords supported since 5.005 - (ABSTRACT_FROM => 'SelfService.pm', # retrieve abstract from module - AUTHOR => 'Ivan Kohler ') : ()), -); diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm deleted file mode 100644 index c3026fa13..000000000 --- a/fs_selfservice/FS-SelfService/SelfService.pm +++ /dev/null @@ -1,1098 +0,0 @@ -package FS::SelfService; - -use strict; -use vars qw($VERSION @ISA @EXPORT_OK $dir $socket %autoload $tag); -use Exporter; -use Socket; -use FileHandle; -#use IO::Handle; -use IO::Select; -use Storable 2.09 qw(nstore_fd fd_retrieve); - -$VERSION = '0.03'; - -@ISA = qw( Exporter ); - -$dir = "/usr/local/freeside"; -$socket = "$dir/selfservice_socket"; -$socket .= '.'.$tag if defined $tag && length($tag); - -#maybe should ask ClientAPI for this list -%autoload = ( - 'passwd' => 'passwd/passwd', - 'chfn' => 'passwd/passwd', - 'chsh' => 'passwd/passwd', - 'login' => 'MyAccount/login', - 'logout' => 'MyAccount/logout', - 'customer_info' => 'MyAccount/customer_info', - 'edit_info' => 'MyAccount/edit_info', #add to ss cgi! - 'invoice' => 'MyAccount/invoice', - 'invoice_logo' => 'MyAccount/invoice_logo', - 'list_invoices' => 'MyAccount/list_invoices', #? - 'cancel' => 'MyAccount/cancel', #add to ss cgi! - 'payment_info' => 'MyAccount/payment_info', - 'process_payment' => 'MyAccount/process_payment', - 'process_prepay' => 'MyAccount/process_prepay', - 'list_pkgs' => 'MyAccount/list_pkgs', #add to ss cgi (added?) - 'list_svcs' => 'MyAccount/list_svcs', #add to ss cgi (added?) - 'order_pkg' => 'MyAccount/order_pkg', #add to ss cgi! - 'cancel_pkg' => 'MyAccount/cancel_pkg', #add to ss cgi! - 'charge' => 'MyAccount/charge', #? - 'part_svc_info' => 'MyAccount/part_svc_info', - 'provision_acct' => 'MyAccount/provision_acct', - 'provision_external' => 'MyAccount/provision_external', - 'unprovision_svc' => 'MyAccount/unprovision_svc', - 'myaccount_passwd' => 'MyAccount/myaccount_passwd', - 'signup_info' => 'Signup/signup_info', - 'new_customer' => 'Signup/new_customer', - 'agent_login' => 'Agent/agent_login', - 'agent_logout' => 'Agent/agent_logout', - 'agent_info' => 'Agent/agent_info', - 'agent_list_customers' => 'Agent/agent_list_customers', -); -@EXPORT_OK = ( keys(%autoload), qw( regionselector expselect popselector ) ); - -$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; - --e $dir or die "FATAL: $dir doesn't exist!"; --d $dir or die "FATAL: $dir isn't a directory!"; --r $dir or die "FATAL: Can't read $dir as freeside user!"; --x $dir or die "FATAL: $dir not searchable (executable) as freeside user!"; - -foreach my $autoload ( keys %autoload ) { - - my $eval = - "sub $autoload { ". ' - my $param; - if ( ref($_[0]) ) { - $param = shift; - } else { - #warn scalar(@_). ": ". join(" / ", @_); - $param = { @_ }; - } - - $param->{_packet} = \''. $autoload{$autoload}. '\'; - - simple_packet($param); - }'; - - eval $eval; - die $@ if $@; - -} - -sub simple_packet { - my $packet = shift; - socket(SOCK, PF_UNIX, SOCK_STREAM, 0) or die "socket: $!"; - connect(SOCK, sockaddr_un($socket)) or die "connect to $socket: $!"; - nstore_fd($packet, \*SOCK) or die "can't send packet: $!"; - SOCK->flush; - - #shoudl trap: Magic number checking on storable file failed at blib/lib/Storable.pm (autosplit into blib/lib/auto/Storable/fd_retrieve.al) line 337, at /usr/local/share/perl/5.6.1/FS/SelfService.pm line 71 - - #block until there is a message on socket -# my $w = new IO::Select; -# $w->add(\*SOCK); -# my @wait = $w->can_read; - my $return = fd_retrieve(\*SOCK) or die "error reading result: $!"; - die $return->{'_error'} if defined $return->{_error} && $return->{_error}; - - $return; -} - -=head1 NAME - -FS::SelfService - Freeside self-service API - -=head1 SYNOPSIS - - # password and shell account changes - use FS::SelfService qw(passwd chfn chsh); - - # "my account" functionality - use FS::SelfService qw( login customer_info invoice cancel payment_info process_payment ); - - my $rv = login( { 'username' => $username, - 'domain' => $domain, - 'password' => $password, - } - ); - - if ( $rv->{'error'} ) { - #handle login error... - } else { - #successful login - my $session_id = $rv->{'session_id'}; - } - - my $customer_info = customer_info( { 'session_id' => $session_id } ); - - #payment_info and process_payment are available in 1.5+ only - my $payment_info = payment_info( { 'session_id' => $session_id } ); - - #!!! process_payment example - - #!!! list_pkgs example - - #!!! order_pkg example - - #!!! cancel_pkg example - - # signup functionality - use FS::SelfService qw( signup_info new_customer ); - - my $signup_info = signup_info; - - $rv = new_customer( { - 'first' => $first, - 'last' => $last, - 'company' => $company, - 'address1' => $address1, - 'address2' => $address2, - 'city' => $city, - 'state' => $state, - 'zip' => $zip, - 'country' => $country, - 'daytime' => $daytime, - 'night' => $night, - 'fax' => $fax, - 'payby' => $payby, - 'payinfo' => $payinfo, - 'paycvv' => $paycvv, - 'paystart_month' => $paystart_month - 'paystart_year' => $paystart_year, - 'payissue' => $payissue, - 'payip' => $payip - 'paydate' => $paydate, - 'payname' => $payname, - 'invoicing_list' => $invoicing_list, - 'referral_custnum' => $referral_custnum, - 'pkgpart' => $pkgpart, - 'username' => $username, - '_password' => $password, - 'popnum' => $popnum, - 'agentnum' => $agentnum, - } - ); - - my $error = $rv->{'error'}; - if ( $error eq '_decline' ) { - print_decline(); - } elsif ( $error ) { - reprint_signup(); - } else { - print_success(); - } - -=head1 DESCRIPTION - -Use this API to implement your own client "self-service" module. - -If you just want to customize the look of the existing "self-service" module, -see XXXX instead. - -=head1 PASSWORD, GECOS, SHELL CHANGING FUNCTIONS - -=over 4 - -=item passwd - -=item chfn - -=item chsh - -=back - -=head1 "MY ACCOUNT" FUNCTIONS - -=over 4 - -=item login HASHREF - -Creates a user session. Takes a hash reference as parameter with the -following keys: - -=over 4 - -=item username - -=item domain - -=item password - -=back - -Returns a hash reference with the following keys: - -=over 4 - -=item error - -Empty on success, or an error message on errors. - -=item session_id - -Session identifier for successful logins - -=back - -=item customer_info HASHREF - -Returns general customer information. - -Takes a hash reference as parameter with a single key: B - -Returns a hash reference with the following keys: - -=over 4 - -=item name - -Customer name - -=item balance - -Balance owed - -=item open - -Array reference of hash references of open inoices. Each hash reference has -the following keys: invnum, date, owed - -=item small_custview - -An HTML fragment containing shipping and billing addresses. - -=item The following fields are also returned: first last company address1 address2 city county state zip country daytime night fax ship_first ship_last ship_company ship_address1 ship_address2 ship_city ship_state ship_zip ship_country ship_daytime ship_night ship_fax payby payinfo payname month year invoicing_list postal_invoicing - -=back - -=item edit_info HASHREF - -Takes a hash reference as parameter with any of the following keys: - -first last company address1 address2 city county state zip country daytime night fax ship_first ship_last ship_company ship_address1 ship_address2 ship_city ship_state ship_zip ship_country ship_daytime ship_night ship_fax payby payinfo paycvv payname month year invoicing_list postal_invoicing - -If a field exists, the customer record is updated with the new value of that -field. If a field does not exist, that field is not changed on the customer -record. - -Returns a hash reference with a single key, B, empty on success, or an -error message on errors - -=item invoice HASHREF - -Returns an invoice. Takes a hash reference as parameter with two keys: -session_id and invnum - -Returns a hash reference with the following keys: - -=over 4 - -=item error - -Empty on success, or an error message on errors - -=item invnum - -Invoice number - -=item invoice_text - -Invoice text - -=back - -=item list_invoices HASHREF - -Returns a list of all customer invoices. Takes a hash references with a single -key, session_id. - -Returns a hash reference with the following keys: - -=over 4 - -=item error - -Empty on success, or an error message on errors - -=item invoices - -Reference to array of hash references with the following keys: - -=over 4 - -=item invnum - -Invoice ID - -=item _date - -Invoice date, in UNIX epoch time - -=back - -=back - -=item cancel HASHREF - -Cancels this customer. - -Takes a hash reference as parameter with a single key: B - -Returns a hash reference with a single key, B, which is empty on -success or an error message on errors. - -=item payment_info HASHREF - -Returns information that may be useful in displaying a payment page. - -Takes a hash reference as parameter with a single key: B. - -Returns a hash reference with the following keys: - -=over 4 - -=item error - -Empty on success, or an error message on errors - -=item balance - -Balance owed - -=item payname - -Exact name on credit card (CARD/DCRD) - -=item address1 - -=item address2 - -=item city - -=item state - -=item zip - -=item payby - -Customer's current default payment type. - -=item card_type - -For CARD/DCRD payment types, the card type (Visa card, MasterCard, Discover card, American Express card, etc.) - -=item payinfo - -For CARD/DCRD payment types, the card number - -=item month - -For CARD/DCRD payment types, expiration month - -=item year - -For CARD/DCRD payment types, expiration year - -=item cust_main_county - -County/state/country data - array reference of hash references, each of which has the fields of a cust_main_county record (see L). Note these are not FS::cust_main_county objects, but hash references of columns and values. - -=item states - -Array reference of all states in the current default country. - -=item card_types - -Hash reference of card types; keys are card types, values are the exact strings -passed to the process_payment function - -=item paybatch - -Unique transaction identifier (prevents multiple charges), passed to the -process_payment function - -=back - -=item process_payment HASHREF - -Processes a payment and possible change of address or payment type. Takes a -hash reference as parameter with the following keys: - -=over 4 - -=item session_id - -=item save - -If true, address and card information entered will be saved for subsequent -transactions. - -=item auto - -If true, future credit card payments will be done automatically (sets payby to -CARD). If false, future credit card payments will be done on-demand (sets -payby to DCRD). This option only has meaning if B is set true. - -=item payname - -=item address1 - -=item address2 - -=item city - -=item state - -=item zip - -=item payinfo - -Card number - -=item month - -Card expiration month - -=item year - -Card expiration year - -=item paybatch - -Unique transaction identifier, returned from the payment_info function. -Prevents multiple charges. - -=back - -Returns a hash reference with a single key, B, empty on success, or an -error message on errors - -=item list_pkgs - -Returns package information for this customer. - -Takes a hash reference as parameter with a single key: B - -Returns a hash reference containing customer package information. The hash reference contains the following keys: - -=over 4 - - -=item cust_pkg HASHREF - -Array reference of hash references, each of which has the fields of a cust_pkg -record (see L) as well as the fields below. Note these are not -the internal FS:: objects, but hash references of columns and values. - -=item all fields of part_pkg (XXXpare this down to a secure subset) - -=item part_svc - An array of hash references, each of which has the following keys: - -=over 4 - -=item all fields of part_svc (XXXpare this down to a secure subset) - -=item avail - -=back - -=item error - -Empty on success, or an error message on errors. - -=back - -=item order_pkg - -Orders a package for this customer. - -Takes a hash reference as parameter with the following keys: - -=over 4 - -=item session_id - -=item pkgpart - -=item svcpart - -optional svcpart, required only if the package definition does not contain -one svc_acct service definition with quantity 1 (it may contain others with -quantity >1) - -=item username - -=item _password - -=item sec_phrase - -=item popnum - -=back - -Returns a hash reference with a single key, B, empty on success, or an -error message on errors. The special error '_decline' is returned for -declined transactions. - -=item cancel_pkg - -Cancels a package for this customer. - -Takes a hash reference as parameter with the following keys: - -=over 4 - -=item session_id - -=item pkgpart - -=back - -Returns a hash reference with a single key, B, empty on success, or an -error message on errors. - -=back - -=head1 SIGNUP FUNCTIONS - -=over 4 - -=item signup_info HASHREF - -Takes a hash reference as parameter with the following keys: - -=over 4 - -=item session_id - Optional agent/reseller interface session - -=back - -Returns a hash reference containing information that may be useful in -displaying a signup page. The hash reference contains the following keys: - -=over 4 - -=item cust_main_county - -County/state/country data - array reference of hash references, each of which has the fields of a cust_main_county record (see L). Note these are not FS::cust_main_county objects, but hash references of columns and values. - -=item part_pkg - -Available packages - array reference of hash references, each of which has the fields of a part_pkg record (see L). Each hash reference also has an additional 'payby' field containing an array reference of acceptable payment types specific to this package (see below and L). Note these are not FS::part_pkg objects, but hash references of columns and values. Requires the 'signup_server-default_agentnum' configuration value to be set, or -an agentnum specified explicitly via reseller interface session_id in the -options. - -=item agent - -Array reference of hash references, each of which has the fields of an agent record (see L). Note these are not FS::agent objects, but hash references of columns and values. - -=item agentnum2part_pkg - -Hash reference; keys are agentnums, values are array references of available packages for that agent, in the same format as the part_pkg arrayref above. - -=item svc_acct_pop - -Access numbers - array reference of hash references, each of which has the fields of an svc_acct_pop record (see L). Note these are not FS::svc_acct_pop objects, but hash references of columns and values. - -=item security_phrase - -True if the "security_phrase" feature is enabled - -=item payby - -Array reference of acceptable payment types for signup - -=over 4 - -=item CARD (credit card - automatic) - -=item DCRD (credit card - on-demand - version 1.5+ only) - -=item CHEK (electronic check - automatic) - -=item DCHK (electronic check - on-demand - version 1.5+ only) - -=item LECB (Phone bill billing) - -=item BILL (billing, not recommended for signups) - -=item COMP (free, definately not recommended for signups) - -=item PREPAY (special billing type: applies a credit (see FS::prepay_credit) and sets billing type to BILL) - -=back - -=item cvv_enabled - -True if CVV features are available (1.5+ or 1.4.2 with CVV schema patch) - -=item msgcat - -Hash reference of message catalog values, to support error message customization. Currently available keys are: passwords_dont_match, invalid_card, unknown_card_type, and not_a (as in "Not a Discover card"). Values are configured in the web interface under "View/Edit message catalog". - -=item statedefault - -Default state - -=item countrydefault - -Default country - -=back - -=item new_customer HASHREF - -Creates a new customer. Takes a hash reference as parameter with the -following keys: - -=over 4 - -=item first - first name (required) - -=item last - last name (required) - -=item ss (not typically collected; mostly used for ACH transactions) - -=item company - -=item address1 (required) - -=item address2 - -=item city (required) - -=item county - -=item state (required) - -=item zip (required) - -=item daytime - phone - -=item night - phone - -=item fax - phone - -=item payby - CARD, DCRD, CHEK, DCHK, LECB, BILL, COMP or PREPAY (see L (required) - -=item payinfo - Card number for CARD/DCRD, account_number@aba_number for CHEK/DCHK, prepaid "pin" for PREPAY, purchase order number for BILL - -=item paycvv - Credit card CVV2 number (1.5+ or 1.4.2 with CVV schema patch) - -=item paydate - Expiration date for CARD/DCRD - -=item payname - Exact name on credit card for CARD/DCRD, bank name for CHEK/DCHK - -=item invoicing_list - comma-separated list of email addresses for email invoices. The special value 'POST' is used to designate postal invoicing (it may be specified alone or in addition to email addresses), - -=item referral_custnum - referring customer number - -=item pkgpart - pkgpart of initial package - -=item username - -=item _password - -=item sec_phrase - security phrase - -=item popnum - access number (index, not the literal number) - -=item agentnum - agent number - -=back - -Returns a hash reference with the following keys: - -=over 4 - -=item error Empty on success, or an error message on errors. The special error '_decline' is returned for declined transactions; other error messages should be suitable for display to the user (and are customizable in under Sysadmin | View/Edit message catalog) - -=back - -=item regionselector HASHREF | LIST - -Takes as input a hashref or list of key/value pairs with the following keys: - -=over 4 - -=item selected_county - -=item selected_state - -=item selected_country - -=item prefix - Specify a unique prefix string if you intend to use the HTML output multiple time son one page. - -=item onchange - Specify a javascript subroutine to call on changes - -=item default_state - -=item default_country - -=item locales - An arrayref of hash references specifying regions. Normally you can just pass the value of the I field returned by B. - -=back - -Returns a list consisting of three HTML fragments for county selection, -state selection and country selection, respectively. - -=cut - -#false laziness w/FS::cust_main_county (this is currently the "newest" version) -sub regionselector { - my $param; - if ( ref($_[0]) ) { - $param = shift; - } else { - $param = { @_ }; - } - $param->{'selected_country'} ||= $param->{'default_country'}; - $param->{'selected_state'} ||= $param->{'default_state'}; - - my $prefix = exists($param->{'prefix'}) ? $param->{'prefix'} : ''; - - my $countyflag = 0; - - my %cust_main_county; - -# unless ( @cust_main_county ) { #cache - #@cust_main_county = qsearch('cust_main_county', {} ); - #foreach my $c ( @cust_main_county ) { - foreach my $c ( @{ $param->{'locales'} } ) { - #$countyflag=1 if $c->county; - $countyflag=1 if $c->{county}; - #push @{$cust_main_county{$c->country}{$c->state}}, $c->county; - #$cust_main_county{$c->country}{$c->state}{$c->county} = 1; - $cust_main_county{$c->{country}}{$c->{state}}{$c->{county}} = 1; - } -# } - $countyflag=1 if $param->{selected_county}; - - my $script_html = < - function opt(what,value,text) { - var optionName = new Option(text, value, false, false); - var length = what.length; - what.options[length] = optionName; - } - function ${prefix}country_changed(what) { - country = what.options[what.selectedIndex].text; - for ( var i = what.form.${prefix}state.length; i >= 0; i-- ) - what.form.${prefix}state.options[i] = null; -END - #what.form.${prefix}state.options[0] = new Option('', '', false, true); - - foreach my $country ( sort keys %cust_main_county ) { - $script_html .= "\nif ( country == \"$country\" ) {\n"; - foreach my $state ( sort keys %{$cust_main_county{$country}} ) { - my $text = $state || '(n/a)'; - $script_html .= qq!opt(what.form.${prefix}state, "$state", "$text");\n!; - } - $script_html .= "}\n"; - } - - $script_html .= <= 0; i-- ) - what.form.${prefix}county.options[i] = null; -END - - foreach my $country ( sort keys %cust_main_county ) { - $script_html .= "\nif ( country == \"$country\" ) {\n"; - foreach my $state ( sort keys %{$cust_main_county{$country}} ) { - $script_html .= "\nif ( state == \"$state\" ) {\n"; - #foreach my $county ( sort @{$cust_main_county{$country}{$state}} ) { - foreach my $county ( sort keys %{$cust_main_county{$country}{$state}} ) { - my $text = $county || '(n/a)'; - $script_html .= - qq!opt(what.form.${prefix}county, "$county", "$text");\n!; - } - $script_html .= "}\n"; - } - $script_html .= "}\n"; - } - } - - $script_html .= < -END - - my $county_html = $script_html; - if ( $countyflag ) { - $county_html .= qq!'; - } else { - $county_html .= - qq!!; - } - - my $state_html = qq!'; - - $state_html .= ''; - - my $country_html = qq!'; - - ($county_html, $state_html, $country_html); - -} - -#=item expselect HASHREF | LIST -# -#Takes as input a hashref or list of key/value pairs with the following keys: -# -#=over 4 -# -#=item prefix - Specify a unique prefix string if you intend to use the HTML output multiple time son one page. -# -#=item date - current date, in yyyy-mm-dd or m-d-yyyy format -# -#=back - -=item expselect PREFIX [ DATE ] - -Takes as input a unique prefix string and the current expiration date, in -yyyy-mm-dd or m-d-yyyy format - -Returns an HTML fragments for expiration date selection. - -=cut - -sub expselect { - #my $param; - #if ( ref($_[0]) ) { - # $param = shift; - #} else { - # $param = { @_ }; - #my $prefix = $param->{'prefix'}; - #my $prefix = exists($param->{'prefix'}) ? $param->{'prefix'} : ''; - #my $date = exists($param->{'date'}) ? $param->{'date'} : ''; - my $prefix = shift; - my $date = scalar(@_) ? shift : ''; - - my( $m, $y ) = ( 0, 0 ); - if ( $date =~ /^(\d{4})-(\d{2})-\d{2}$/ ) { #PostgreSQL date format - ( $m, $y ) = ( $2, $1 ); - } elsif ( $date =~ /^(\d{1,2})-(\d{1,2}-)?(\d{4}$)/ ) { - ( $m, $y ) = ( $1, $3 ); - } - my $return = qq!!; - my @t = localtime; - my $thisYear = $t[5] + 1900; - for ( ($thisYear > $y && $y > 0 ? $y : $thisYear) .. 2037 ) { - $return .= " field returned by B. - -=back - -Returns an HTML fragment for access number selection. - -=cut - -#horrible false laziness with FS/FS/svc_acct_pop.pm::popselector -sub popselector { - my $param; - if ( ref($_[0]) ) { - $param = shift; - } else { - $param = { @_ }; - } - my $popnum = $param->{'popnum'}; - my $pops = $param->{'pops'}; - - return '' unless @$pops; - return $pops->[0]{city}. ', '. $pops->[0]{state}. - ' ('. $pops->[0]{ac}. ')/'. $pops->[0]{exch}. '-'. $pops->[0]{loc}. - '' - if scalar(@$pops) == 1; - - my %pop = (); - my %popnum2pop = (); - foreach (@$pops) { - push @{ $pop{ $_->{state} }->{ $_->{ac} } }, $_; - $popnum2pop{$_->{popnum}} = $_; - } - - my $text = < - function opt(what,href,text) { - var optionName = new Option(text, href, false, false) - var length = what.length; - what.options[length] = optionName; - } -END - - my $init_popstate = $param->{'init_popstate'}; - if ( $init_popstate ) { - $text .= ''; - } else { - $text .= <{'popac'}) { - $text .= "what.form.popac.options[what.form.popac.length-1].selected = true;\n"; - } - } - $text .= "}\n" unless $init_popstate; - } - $text .= "popac_changed(what.form.popac)}\n"; - - $text .= <{$popac}}) { - 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 .= "}\n"; - } - } - - - $text .= "}\n\n"; - - $text .= - qq!'; - - $text .= - qq!!; - - $text .= qq!
'; #callback? return 3 html pieces? #'
!; - - $text; - -} - -=back - -=head1 RESELLER FUNCTIONS - -Note: Resellers can also use the B and B functions -with their active session, and the B and B functions -with their active session and an additional I parameter. - -=over 4 - -=item agent_login - -=item agent_info - -=item agent_list_customers - -=back - -=head1 BUGS - -=head1 SEE ALSO - -L, L - -=cut - -1; - diff --git a/fs_selfservice/FS-SelfService/cgi/agent.cgi b/fs_selfservice/FS-SelfService/cgi/agent.cgi deleted file mode 100644 index b51938d5c..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent.cgi +++ /dev/null @@ -1,457 +0,0 @@ -#!/usr/bin/perl -Tw - -#some false laziness w/selfservice.cgi - -use strict; -use vars qw($DEBUG $me $cgi $session_id $form_max $template_dir); -use subs qw(do_template); -use CGI; -use CGI::Carp qw(fatalsToBrowser); -use Business::CreditCard; -use Text::Template; -#use HTML::Entities; -use FS::SelfService qw( agent_login agent_logout agent_info - agent_list_customers - signup_info new_customer - customer_info list_pkgs order_pkg - part_svc_info provision_acct provision_external - unprovision_svc - ); - -$DEBUG = 0; -$me = 'agent.cgi:'; - -$template_dir = '.'; - -$form_max = 255; - -warn "$me starting\n" if $DEBUG; - -warn "$me initializing CGI\n" if $DEBUG; -$cgi = new CGI; - -unless ( defined $cgi->param('session') ) { - warn "$me no session defined, sending login page\n" if $DEBUG; - do_template('agent_login',{}); - exit; -} - -if ( $cgi->param('session') eq 'login' ) { - - warn "$me processing login\n" if $DEBUG; - - $cgi->param('username') =~ /^\s*([a-z0-9_\-\.\&]{0,$form_max})\s*$/i - or die "illegal username"; - my $username = $1; - - $cgi->param('password') =~ /^(.{0,$form_max})$/ - or die "illegal password"; - my $password = $1; - - my $rv = agent_login( - 'username' => $username, - 'password' => $password, - ); - if ( $rv->{error} ) { - do_template('agent_login', { - 'error' => $rv->{error}, - 'username' => $username, - } ); - exit; - } else { - $cgi->param('session' => $rv->{session_id} ); - $cgi->param('action' => 'agent_main' ); - } -} - -$session_id = $cgi->param('session'); - -warn "$me checking action\n" if $DEBUG; -$cgi->param('action') =~ - /^(agent_main|signup|process_signup|list_customers|view_customer|agent_provision|provision_svc|process_svc_acct|process_svc_external|delete_svc|agent_order_pkg|process_order_pkg|logout)$/ - or die "unknown action ". $cgi->param('action'); -my $action = $1; - -warn "$me running $action\n" if $DEBUG; -my $result = eval "&$action();"; -die $@ if $@; - -if ( $result->{error} eq "Can't resume session" ) { #ick - do_template('agent_login',{}); - exit; -} - -warn "$me processing template $action\n" if $DEBUG; -do_template($action, { - 'session_id' => $session_id, - %{$result} -}); -warn "$me done processing template $action\n" if $DEBUG; - -#-- - -sub logout { - $action = 'agent_logout'; - agent_logout( 'session_id' => $session_id ); -} - -sub agent_main { agent_info( 'session_id' => $session_id ); } - -sub signup { signup_info( 'session_id' => $session_id ); } - -sub process_signup { - - my $init_data = signup_info( 'session_id' => $session_id ); - if ( $init_data->{'error'} ) { - if ( $init_data->{'error'} eq "Can't resume session" ) { #ick - do_template('agent_login',{}); - exit; - } else { #? - die $init_data->{'error'}; - } - } - - my $error = ''; - - #false laziness w/signup.cgi, identical except for agentnum vs session_id - my $payby = $cgi->param('payby'); - if ( $payby eq 'CHEK' || $payby eq 'DCHK' ) { - #$payinfo = join('@', map { $cgi->param( $payby. "_payinfo$_" ) } (1,2) ); - $cgi->param('payinfo' => $cgi->param($payby. '_payinfo1'). '@'. - $cgi->param($payby. '_payinfo2') - ); - } else { - $cgi->param('payinfo' => $cgi->param( $payby. '_payinfo' ) ); - } - $cgi->param('paydate' => $cgi->param( $payby. '_month' ). '-'. - $cgi->param( $payby. '_year' ) - ); - $cgi->param('payname' => $cgi->param( $payby. '_payname' ) ); - $cgi->param('paycvv' => defined $cgi->param( $payby. '_paycvv' ) - ? $cgi->param( $payby. '_paycvv' ) - : '' - ); - - if ( $cgi->param('invoicing_list') ) { - $cgi->param('invoicing_list' => $cgi->param('invoicing_list'). ', POST') - if $cgi->param('invoicing_list_POST'); - } else { - $cgi->param('invoicing_list' => 'POST' ); - } - - if ( $cgi->param('_password') ne $cgi->param('_password2') ) { - $error = $init_data->{msgcat}{passwords_dont_match}; #msgcat - $cgi->param('_password', ''); - $cgi->param('_password2', ''); - } - - if ( $payby =~ /^(CARD|DCRD)$/ && $cgi->param('CARD_type') ) { - my $payinfo = $cgi->param('payinfo'); - $payinfo =~ s/\D//g; - - $payinfo =~ /^(\d{13,16})$/ - or $error ||= $init_data->{msgcat}{invalid_card}; #. $self->payinfo; - $payinfo = $1; - validate($payinfo) - or $error ||= $init_data->{msgcat}{invalid_card}; #. $self->payinfo; - cardtype($payinfo) eq $cgi->param('CARD_type') - or $error ||= $init_data->{msgcat}{not_a}. $cgi->param('CARD_type'); - } - - unless ( $error ) { - my $rv = new_customer ( { - 'session_id' => $session_id, - map { $_ => scalar($cgi->param($_)) } - qw( last first ss company - address1 address2 city county state zip country - daytime night fax - - ship_last ship_first ship_company - ship_address1 ship_address2 ship_city ship_county ship_state - ship_zip ship_country - ship_daytime ship_night ship_fax - - payby payinfo paycvv paydate payname invoicing_list - referral_custnum promo_code reg_code - pkgpart username sec_phrase _password popnum refnum - ), - grep { /^snarf_/ } $cgi->param - } ); - $error = $rv->{'error'}; - } - #eslaf - - if ( $error ) { - $action = 'signup'; - my $r = { - $cgi->Vars, - %{$init_data}, - 'error' => $error, - }; - #warn join('\n', map "$_ => $r->{$_}", keys %$r )."\n"; - $r; - } else { - $action = 'agent_main'; - my $agent_info = agent_info( 'session_id' => $session_id ); - $agent_info->{'message'} = 'Signup successful'; - $agent_info; - } - -} - -sub list_customers { - - my $results = - agent_list_customers( 'session_id' => $session_id, - map { $_ => $cgi->param($_) } - grep defined($cgi->param($_)), - qw(prospect active susp cancel), - 'search', - ); - - if ( scalar( @{$results->{'customers'}} ) == 1 ) { - $action = 'view_customer'; - customer_info ( - 'agent_session_id' => $session_id, - 'custnum' => $results->{'customers'}[0]{'custnum'}, - ); - } else { - $results; - } - -} - -sub view_customer { - - #my $init_data = signup_info( 'session_id' => $session_id ); - #if ( $init_data->{'error'} ) { - # if ( $init_data->{'error'} eq "Can't resume session" ) { #ick - # do_template('agent_login',{}); - # exit; - # } else { #? - # die $init_data->{'error'}; - # } - #} - # - #my $customer_info = - customer_info ( - 'agent_session_id' => $session_id, - 'custnum' => $cgi->param('custnum'), - ); - # - #return { - # ( map { $_ => $init_data->{$_} } - # qw( part_pkg security_phrase svc_acct_pop ), - # ), - # %$customer_info, - #}; -} - -sub agent_order_pkg { - - my $init_data = signup_info( 'session_id' => $session_id ); - if ( $init_data->{'error'} ) { - if ( $init_data->{'error'} eq "Can't resume session" ) { #ick - do_template('agent_login',{}); - exit; - } else { #? - die $init_data->{'error'}; - } - } - - my $customer_info = customer_info ( - 'agent_session_id' => $session_id, - 'custnum' => $cgi->param('custnum'), - ); - - return { - ( map { $_ => $init_data->{$_} } - qw( part_pkg security_phrase svc_acct_pop ), - ), - %$customer_info, - }; - -} - -sub agent_provision { - my $result = list_pkgs( - 'agent_session_id' => $session_id, - 'custnum' => $cgi->param('custnum'), - ); - die $result->{'error'} if exists $result->{'error'} && $result->{'error'}; - $result; -} - -sub provision_svc { - - my $result = part_svc_info( - 'agent_session_id' => $session_id, - map { $_ => $cgi->param($_) } qw( pkgnum svcpart custnum ), - ); - die $result->{'error'} if exists $result->{'error'} && $result->{'error'}; - - $result->{'svcdb'} =~ /^svc_(.*)$/ - #or return { 'error' => 'Unknown svcdb '. $result->{'svcdb'} }; - or die 'Unknown svcdb '. $result->{'svcdb'}; - $action .= "_$1"; - $action = "agent_$action"; - - $result; -} - -sub process_svc_acct { - - my $result = provision_acct ( - 'agent_session_id' => $session_id, - map { $_ => $cgi->param($_) } qw( - custnum pkgnum svcpart username _password _password2 sec_phrase popnum ) - ); - - if ( exists $result->{'error'} && $result->{'error'} ) { - #warn "$result $result->{'error'}"; - $action = 'provision_svc_acct'; - $action = "agent_$action"; - return { - $cgi->Vars, - %{ part_svc_info( 'agent_session_id' => $session_id, - map { $_ => $cgi->param($_) } qw(pkgnum svcpart custnum) - ) - }, - 'error' => $result->{'error'}, - }; - } else { - #warn "$result $result->{'error'}"; - $action = 'agent_provision'; - return { - %{agent_provision()}, - 'message' => $result->{'svc'}. ' setup successfully.', - }; - } - -} - -sub process_svc_external { - - my $result = provision_external ( - 'agent_session_id' => $session_id, - map { $_ => $cgi->param($_) } qw( custnum pkgnum svcpart ) - ); - - #warn "$result $result->{'error'}"; - $action = 'agent_provision'; - return { - %{agent_provision()}, - 'message' => $result->{'error'} - ? ''. $result->{'error'}. '' - : $result->{'svc'}. ' setup successfully'. - ': serial number '. - sprintf('%010d', $result->{'id'}). '-'. $result->{'title'} - }; - -} - -sub delete_svc { - my $result = unprovision_svc( - 'agent_session_id' => $session_id, - 'custnum' => $cgi->param('custnum'), - 'svcnum' => $cgi->param('svcnum'), - ); - - $action = 'agent_provision'; - - return { - %{agent_provision()}, - 'message' => $result->{'error'} - ? ''. $result->{'error'}. '' - : $result->{'svc'}. ' removed.' - }; - -} - -sub process_order_pkg { - - my $results = ''; - - unless ( length($cgi->param('_password')) ) { - my $init_data = signup_info( 'session_id' => $session_id ); - #die $init_data->{'error'} if $init_data->{'error'}; - $results = { 'error' => $init_data->{msgcat}{empty_password} }; - } - if ( $cgi->param('_password') ne $cgi->param('_password2') ) { - my $init_data = signup_info( 'session_id' => $session_id ); - $results = { 'error' => $init_data->{msgcat}{passwords_dont_match} }; - $cgi->param('_password', ''); - $cgi->param('_password2', ''); - } - - $results ||= order_pkg ( - 'agent_session_id' => $session_id, - map { $_ => $cgi->param($_) } - qw( custnum pkgpart username _password _password2 sec_phrase popnum ) - ); - - if ( $results->{'error'} ) { - $action = 'agent_order_pkg'; - return { - $cgi->Vars, - %{agent_order_pkg()}, - #'message' => ''. $results->{'error'}. '', - 'error' => ''. $results->{'error'}. '', - }; - } else { - $action = 'view_customer'; - #$cgi->delete( grep { $_ ne 'custnum' } $cgi->param ); - return { - %{view_customer()}, - 'message' => 'Package order successful.', - }; - } - -} - -#-- - -sub do_template { - my $name = shift; - my $fill_in = shift; - #warn join(' / ', map { "$_=>".$fill_in->{$_} } keys %$fill_in). "\n"; - - $cgi->delete_all(); - $fill_in->{'selfurl'} = $cgi->self_url; #OLD - $fill_in->{'self_url'} = $cgi->self_url; - $fill_in->{'cgi'} = \$cgi; - - my $template = new Text::Template( TYPE => 'FILE', - SOURCE => "$template_dir/$name.html", - DELIMITERS => [ '<%=', '%>' ], - UNTAINT => 1, ) - or die $Text::Template::ERROR; - - local $^W = 0; - print $cgi->header( '-expires' => 'now' ), - $template->fill_in( PACKAGE => 'FS::SelfService::_agentcgi', - HASH => $fill_in - ); -} - -package FS::SelfService::_agentcgi; - -use HTML::Entities; -use FS::SelfService qw(regionselector expselect popselector); - -#false laziness w/selfservice.cgi -sub include { - my $name = shift; - my $template = new Text::Template( TYPE => 'FILE', - SOURCE => "$main::template_dir/$name.html", - DELIMITERS => [ '<%=', '%>' ], - UNTAINT => 1, - ) - or die $Text::Template::ERROR; - - $template->fill_in( PACKAGE => 'FS::SelfService::_agentcgi', - #HASH => $fill_in - ); - -} - diff --git a/fs_selfservice/FS-SelfService/cgi/agent_customer_menu.html b/fs_selfservice/FS-SelfService/cgi/agent_customer_menu.html deleted file mode 100644 index 603fc0bd2..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent_customer_menu.html +++ /dev/null @@ -1,7 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;custnum=$custnum;action="; ''; %> - -Setup services

-Purchase additional package

- - - diff --git a/fs_selfservice/FS-SelfService/cgi/agent_delete_svc.html b/fs_selfservice/FS-SelfService/cgi/agent_delete_svc.html deleted file mode 100644 index 7a2b75071..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent_delete_svc.html +++ /dev/null @@ -1,19 +0,0 @@ -MyAccount -MyAccount

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> - -<%= $small_custview %> -
-<%= if ( $error ) { - - $OUT .= qq!Error: $error!; -} else { - $OUT .= "$svc removed."; -} %> - - -
-powered by freeside - - diff --git a/fs_selfservice/FS-SelfService/cgi/agent_login.html b/fs_selfservice/FS-SelfService/cgi/agent_login.html deleted file mode 100644 index 4b0778ec5..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent_login.html +++ /dev/null @@ -1,22 +0,0 @@ -Reseller Login -Reseller Login

-<%= $error %> -
- - - - - - - - - - -
Username - -
Password - -
-

-
- diff --git a/fs_selfservice/FS-SelfService/cgi/agent_logout.html b/fs_selfservice/FS-SelfService/cgi/agent_logout.html deleted file mode 100644 index 98094679a..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent_logout.html +++ /dev/null @@ -1,5 +0,0 @@ -Reseller -Reseller

-You have been logged out. - - diff --git a/fs_selfservice/FS-SelfService/cgi/agent_main.html b/fs_selfservice/FS-SelfService/cgi/agent_main.html deleted file mode 100644 index 9dd338382..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent_main.html +++ /dev/null @@ -1,37 +0,0 @@ -Reseller -Reseller

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> - -<%= include('agent_menu') %> -
- -<%= $message - ? "$message" - : "Hello $agent!" -%>

- - - -
Customer summary
- - <%= $num_prospect %> - <%= $num_prospect ? qq!! : '' %>prospects - -
<%= $num_active %> - <%= $num_active ? qq!! : '' %>active - -
<%= $num_susp %> - <%= $num_susp ? qq!! : '' %>suspended - -
<%= $num_cancel %> - <%= $num_cancel ? qq!! : '' %>cancelled - -
- -
-
-powered by freeside - - - - diff --git a/fs_selfservice/FS-SelfService/cgi/agent_menu.html b/fs_selfservice/FS-SelfService/cgi/agent_menu.html deleted file mode 100644 index 84a295304..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent_menu.html +++ /dev/null @@ -1,15 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> - - -Overview

-New customer

-
- - -
-cust #, last name, or company
-
-
-Logout

- - diff --git a/fs_selfservice/FS-SelfService/cgi/agent_order_pkg.html b/fs_selfservice/FS-SelfService/cgi/agent_order_pkg.html deleted file mode 100644 index 0a665c99e..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent_order_pkg.html +++ /dev/null @@ -1,19 +0,0 @@ -Reseller -Reseller

-<%= $url = "$selfurl?session=$session_id;custnum=$custnum;action="; ''; %> - -<%= include('agent_menu') %> -
-<%= $small_custview %> -
- - -<%= include('agent_customer_menu') %> -
-<%= include('order_pkg') %> -
- -
-
-powered by freeside - diff --git a/fs_selfservice/FS-SelfService/cgi/agent_provision.html b/fs_selfservice/FS-SelfService/cgi/agent_provision.html deleted file mode 100644 index 8770e2f9e..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent_provision.html +++ /dev/null @@ -1,25 +0,0 @@ -Reseller -Reseller

-<%= $url = "$selfurl?session=$session_id;custnum=$custnum;action="; ''; %> - -<%= include('agent_menu') %> -
- -<%= $message - ? "$message

" - : '' -%> - -<%= $small_custview %> -
- - -<%= include('agent_customer_menu') %> -
-<%= include('provision_list') %> -
- -
-
-powered by freeside - diff --git a/fs_selfservice/FS-SelfService/cgi/agent_provision_svc_acct.html b/fs_selfservice/FS-SelfService/cgi/agent_provision_svc_acct.html deleted file mode 100644 index 8d299cdc5..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent_provision_svc_acct.html +++ /dev/null @@ -1,19 +0,0 @@ -Reseller -Reseller

-<%= $url = "$selfurl?session=$session_id;custnum=$custnum;action="; ''; %> - -<%= include('agent_menu') %> -
-<%= $small_custview %> -
- -<%= include('agent_customer_menu') %> -
-<%= include('svc_acct') %> -
- -
-
-powered by freeside - - diff --git a/fs_selfservice/FS-SelfService/cgi/change_password.html b/fs_selfservice/FS-SelfService/cgi/change_password.html deleted file mode 100644 index af7b45313..000000000 --- a/fs_selfservice/FS-SelfService/cgi/change_password.html +++ /dev/null @@ -1,53 +0,0 @@ -MyAccount -MyAccount

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> - - -Change password

- -<%= if ( $error ) { - $OUT .= qq!$error

!; -} ''; %> - -
- - - - - - - - - - - - - - - - - - - - -
Change password for account: - -
New password:
Re-enter new password:
-
- - - -
- - -
-powered by freeside - diff --git a/fs_selfservice/FS-SelfService/cgi/cust_bill-logo.cgi b/fs_selfservice/FS-SelfService/cgi/cust_bill-logo.cgi deleted file mode 100644 index cade712d1..000000000 --- a/fs_selfservice/FS-SelfService/cgi/cust_bill-logo.cgi +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/perl -Tw - -use strict; -use CGI; -use FS::SelfService qw( invoice_logo ); - -my $cgi = new CGI; - -my($query) = $cgi->keywords; -$query =~ /^([^\.\/]*)$/ or '' =~ /^()$/; -my $templatename = $1; -my $hashref = invoice_logo('templatename' => $templatename); - -print $cgi->header( '-type' => $hashref->{'content_type'}, - '-expires' => 'now', - ). - $hashref->{'logo'}; - diff --git a/fs_selfservice/FS-SelfService/cgi/cvv2.html b/fs_selfservice/FS-SelfService/cgi/cvv2.html deleted file mode 100644 index b178c8513..000000000 --- a/fs_selfservice/FS-SelfService/cgi/cvv2.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - CVV2 information - - - - The CVV2 number (also called CVC2 or CID) is a three- or four-digit - security code used to reduce credit card fraud.

- - - - - - - - -
Visa / MasterCard / DiscoverAmerican Express
- Visa/MasterCard/Discover - - American Express -
-
(close window)
- - diff --git a/fs_selfservice/FS-SelfService/cgi/cvv2.png b/fs_selfservice/FS-SelfService/cgi/cvv2.png deleted file mode 100644 index 4610dcbe6..000000000 Binary files a/fs_selfservice/FS-SelfService/cgi/cvv2.png and /dev/null differ diff --git a/fs_selfservice/FS-SelfService/cgi/cvv2_amex.png b/fs_selfservice/FS-SelfService/cgi/cvv2_amex.png deleted file mode 100644 index 21c36a0ab..000000000 Binary files a/fs_selfservice/FS-SelfService/cgi/cvv2_amex.png and /dev/null differ diff --git a/fs_selfservice/FS-SelfService/cgi/decline.html b/fs_selfservice/FS-SelfService/cgi/decline.html deleted file mode 100644 index a37ba3ab6..000000000 --- a/fs_selfservice/FS-SelfService/cgi/decline.html +++ /dev/null @@ -1,5 +0,0 @@ -Processing error -Processing error

-There has been an error processing your account. Please contact customer -support. - diff --git a/fs_selfservice/FS-SelfService/cgi/delete_svc.html b/fs_selfservice/FS-SelfService/cgi/delete_svc.html deleted file mode 100644 index 8468deb4b..000000000 --- a/fs_selfservice/FS-SelfService/cgi/delete_svc.html +++ /dev/null @@ -1,17 +0,0 @@ -MyAccount -MyAccount

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> - - -<%= if ( $error ) { - $OUT .= qq!Error: $error!; -} else { - $OUT .= "$svc removed."; -} %> - - -
-powered by freeside - - diff --git a/fs_selfservice/FS-SelfService/cgi/list_customers.html b/fs_selfservice/FS-SelfService/cgi/list_customers.html deleted file mode 100644 index 858e5e9ba..000000000 --- a/fs_selfservice/FS-SelfService/cgi/list_customers.html +++ /dev/null @@ -1,39 +0,0 @@ -Reseller -Reseller

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> - -<%= include('agent_menu') %> -
- -<%= - if ( @customers ) { - $OUT .= ''. - ''. - "$td{'statuscolor'}. '">'. - ucfirst($customer->{'status'}). "". "$td". - "$td$a". $customer->{'name'}. "". - ''; - #"$td". - $col = $col eq $col1 ? $col2 : $col1; - } - $OUT .= '
Customers'; - my $col1 = "ffffff"; - my $col2 = "dddddd"; - my $col = $col1; - - foreach my $customer ( @customers ) { - my $td = qq!!; - my $a = qq!'; - $OUT .= - '
'; - } else { - $OUT .= 'No customers.

'; - } -%> - -
-
-powered by freeside - - diff --git a/fs_selfservice/FS-SelfService/cgi/login.html b/fs_selfservice/FS-SelfService/cgi/login.html deleted file mode 100644 index 5607de783..000000000 --- a/fs_selfservice/FS-SelfService/cgi/login.html +++ /dev/null @@ -1,29 +0,0 @@ -Login -Login

-<%= $error %> -
- - - - - - - - - - - - - - - -
Username - -
Domain - -
Password - -
-

-
- diff --git a/fs_selfservice/FS-SelfService/cgi/logout.html b/fs_selfservice/FS-SelfService/cgi/logout.html deleted file mode 100644 index 0e774e9eb..000000000 --- a/fs_selfservice/FS-SelfService/cgi/logout.html +++ /dev/null @@ -1,5 +0,0 @@ -MyAccount -MyAccount

-You have been logged out. - - diff --git a/fs_selfservice/FS-SelfService/cgi/make_payment.html b/fs_selfservice/FS-SelfService/cgi/make_payment.html deleted file mode 100644 index 1bbbe90b2..000000000 --- a/fs_selfservice/FS-SelfService/cgi/make_payment.html +++ /dev/null @@ -1,118 +0,0 @@ -MyAccount -MyAccount

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> - -Make a payment

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Amount Due -
- $<%=sprintf("%.2f",$balance)%> -
-
Payment amount -
- $"> -
-
Card type - -
Card number - - - - - - - - -
- Exp. - - / - -
-
Exact name on card
Card billing address - -
Address line 2 - -
City - - - - - - - - -
- - State - - Zip - -
-
- - Remember this information -
- NAME="auto" VALUE="1" onClick="if (this.checked) { document.OneTrueForm.save.checked=true; }"> - Charge future payments to this card automatically -
-
- - -
- -
-powered by freeside - - diff --git a/fs_selfservice/FS-SelfService/cgi/map.gif b/fs_selfservice/FS-SelfService/cgi/map.gif deleted file mode 100644 index ef884d8f9..000000000 Binary files a/fs_selfservice/FS-SelfService/cgi/map.gif and /dev/null differ diff --git a/fs_selfservice/FS-SelfService/cgi/myaccount.html b/fs_selfservice/FS-SelfService/cgi/myaccount.html deleted file mode 100644 index 546ca1112..000000000 --- a/fs_selfservice/FS-SelfService/cgi/myaccount.html +++ /dev/null @@ -1,45 +0,0 @@ -MyAccount -MyAccount

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> - - -Hello <%= $name %>!

-<%= $small_custview %> -
-<%= if ( $balance > 0 ) { - $OUT .= qq! Make a payment

!; -} %> -<%= - if ( @open_invoices ) { - $OUT .= ''. - ''; - my $link = qq!!; - my $a=qq!'; - $OUT .= - "$td${a}Invoice #". $invoice->{'invnum'}. "$td". - "$td$a". $invoice->{'date'}. "$td". - qq!'. - ''; - $col = $col eq $col1 ? $col2 : $col1; - } - $OUT .= '
Open Invoices
$a\$!. $invoice->{'owed'}. - '
'; - } else { - $OUT .= 'You have no outstanding invoices.

'; - } -%> - - -
-powered by freeside - - - - diff --git a/fs_selfservice/FS-SelfService/cgi/myaccount_menu.html b/fs_selfservice/FS-SelfService/cgi/myaccount_menu.html deleted file mode 100644 index 6dacc3ef4..000000000 --- a/fs_selfservice/FS-SelfService/cgi/myaccount_menu.html +++ /dev/null @@ -1,91 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> - - diff --git a/fs_selfservice/FS-SelfService/cgi/order_pkg.html b/fs_selfservice/FS-SelfService/cgi/order_pkg.html deleted file mode 100644 index 9cdd4cd6c..000000000 --- a/fs_selfservice/FS-SelfService/cgi/order_pkg.html +++ /dev/null @@ -1,75 +0,0 @@ - -Purchase additional package

-<%= if ( $error ) { - $OUT .= qq!$error

!; -} ''; %> - - - - -
- - - -<%= - -my @menu = ( -{ title=>' ' }, -{ title=>'Overview', url=>'myaccount', size=>'+1', }, -{ title=>' ' }, - -{ title=>'Purchase', size=>'+1', }, -# { title=>'Purchase additional package*', url=>'order', 'indent'=>2 }, -); - -if ( 1 ) { #XXXFIXME "enable selfservice prepay features" flag or something, eventually per-pkg or something really fancy - - push @menu, ( - { title=>'Recharge my account with a credit card', - url=>'make_payment', indent=>2 }, - { title=>'Recharge my account with a prepaid card', - url=>'recharge_prepay', indent=>2 }, - ); - -} - -push @menu, ( - -{ title=>' ' }, - -{ title=>'Setup my services', url=>'provision', size=>'+1', }, - -{ title=>' ' }, - -{ title=>'Change my information', size=>'+1', }, -# { title=>'Change payment information*', url=>'change_bill', indent=>2 }, -# { title=>'Change service address*', url=>'change_ship', indent=>2 }, - { title=>'Change password(s)', url=>'change_password', indent=>2 }, - -{ title=>' ' }, - -{ title=>'Logout', url=>'logout', size=>'+1', }, - -); - -foreach my $item ( @menu ) { - - $OUT .= '{'url'} && $action eq $item->{'url'} ) { - $OUT .= ' BGCOLOR="#eeeeee" '. - ' STYLE="border-top: 1px solid black;'. - ' border-left: 1px solid black;'. - ' border-bottom: 1px solid black"'; - } else { - $OUT .= ' STYLE="border-right: 1px solid black"'; - } - $OUT.='>'; - - $OUT .= '' - if exists $item->{'size'}; - - $OUT .= ' ' x $item->{'indent'} - if exists $item->{'indent'}; - - $OUT .= '' - if exists $item->{'url'} && $action ne $item->{'url'}; - - $item->{'title'} =~ s/ / /g; - $OUT .= $item->{'title'}; - - $OUT .= '' - if exists $item->{'size'}; - - $OUT .= '' - if exists $item->{'url'} && $action ne $item->{'url'}; - - $OUT .= ''; - -} - -%> - - - - - -




- -
- - - - - - - - - - - - - - - -<%= - if ( $security_phrase ) { - $OUT .= < - - - -ENDOUT - } else { - $OUT .= ''; - } -%> -<%= - if ( @svc_acct_pop ) { - $OUT .= ''; - } else { - $OUT .= popselector(popnum=>$popnum, pops=>\@svc_acct_pop); - } -%> -
Username
Password
Re-enter Password
Security Phrase -
Access number'. - popselector( 'popnum' => $popnum, - 'pops' => \@svc_acct_pop, - 'init_popstate' => $init_popstate, - 'popac' => $popac, - 'acstate' => $acstate, - ). - '
- - - diff --git a/fs_selfservice/FS-SelfService/cgi/passwd.cgi b/fs_selfservice/FS-SelfService/cgi/passwd.cgi deleted file mode 100755 index d77876e37..000000000 --- a/fs_selfservice/FS-SelfService/cgi/passwd.cgi +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/perl -Tw - -use strict; -use Getopt::Std; -use FS::SelfService qw(passwd); -use CGI; -use CGI::Carp qw(fatalsToBrowser); - -my $freeside_uid = scalar(getpwnam('freeside')); - -$ENV{'PATH'} ='/usr/local/bin:/usr/bin:/usr/ucb:/bin'; -$ENV{'SHELL'} = '/bin/sh'; -$ENV{'IFS'} = " \t\n"; -$ENV{'CDPATH'} = ''; -$ENV{'ENV'} = ''; -$ENV{'BASH_ENV'} = ''; - -die "passwd.cgi isn't running as freeside user\n" if $> != $freeside_uid; - -my $cgi = new CGI; - -$cgi->param('username') =~ /^([^\n]{0,255}$)/ or die "Illegal username"; -my $me = $1; - -$cgi->param('domain') =~ /^([^\n]{0,255}$)/ or die "Illegal domain"; -my $domain = $1; - -$cgi->param('old_password') =~ /^([^\n]{0,255}$)/ or die "Illegal old_password"; -my $old_password = $1; - -$cgi->param('new_password') =~ /^([^\n]{0,255}$)/ or die "Illegal new_password"; -my $new_password = $1; - -die "New passwords don't match" - unless $new_password eq $cgi->param('new_password2'); - -my $rv = passwd( - 'username' => $me, - 'domain' => $domain, - 'old_password' => $old_password, - 'new_password' => $new_password, -); - -my $error = $rv->{error}; - -if ($error) { - die $error; -} else { - print $cgi->header(), < - - Password changed - - -

Password changed

-
Your password has been changed. - - -END -} diff --git a/fs_selfservice/FS-SelfService/cgi/passwd.html b/fs_selfservice/FS-SelfService/cgi/passwd.html deleted file mode 100644 index 459c96aa8..000000000 --- a/fs_selfservice/FS-SelfService/cgi/passwd.html +++ /dev/null @@ -1,28 +0,0 @@ - - - Change password - - -

Change password

-
- - - - - - - - - - - - - - - - -
Username
Domain
Current password
New password
Re-enter new password
-
- - - diff --git a/fs_selfservice/FS-SelfService/cgi/payment_results.html b/fs_selfservice/FS-SelfService/cgi/payment_results.html deleted file mode 100644 index 9fe400faf..000000000 --- a/fs_selfservice/FS-SelfService/cgi/payment_results.html +++ /dev/null @@ -1,16 +0,0 @@ -MyAccount -MyAccount

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> - -Payment results

-<%= if ( $error ) { - $OUT .= qq!Error processing your payment: $error!; -} else { - $OUT .= 'Your payment was processed successfully. Thank you.'; -} %> - -
-powered by freeside - - diff --git a/fs_selfservice/FS-SelfService/cgi/process_change_password.html b/fs_selfservice/FS-SelfService/cgi/process_change_password.html deleted file mode 100644 index 4fdee79f3..000000000 --- a/fs_selfservice/FS-SelfService/cgi/process_change_password.html +++ /dev/null @@ -1,13 +0,0 @@ -MyAccount -MyAccount

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> - - -Password changed for <%= $value %> <%= $label %>. - - -
-powered by freeside - - diff --git a/fs_selfservice/FS-SelfService/cgi/process_svc_acct.html b/fs_selfservice/FS-SelfService/cgi/process_svc_acct.html deleted file mode 100644 index 3b812919a..000000000 --- a/fs_selfservice/FS-SelfService/cgi/process_svc_acct.html +++ /dev/null @@ -1,13 +0,0 @@ -MyAccount -MyAccount

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> - - -<%= $svc %> setup successfully. - - -
-powered by freeside - - diff --git a/fs_selfservice/FS-SelfService/cgi/process_svc_external.html b/fs_selfservice/FS-SelfService/cgi/process_svc_external.html deleted file mode 100644 index 19fec737f..000000000 --- a/fs_selfservice/FS-SelfService/cgi/process_svc_external.html +++ /dev/null @@ -1,15 +0,0 @@ -<%= $error ? 'MyAccount' : sprintf("Your serial number is %010d-$title", $id) %> -MyAccount

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> - - -<%= $svc %> setup successfully. - -

Your serial number is <%= sprintf("%010d-$title", $id) %> - - -
-powered by freeside - - diff --git a/fs_selfservice/FS-SelfService/cgi/promocode.html b/fs_selfservice/FS-SelfService/cgi/promocode.html deleted file mode 100644 index f8ee7f6eb..000000000 --- a/fs_selfservice/FS-SelfService/cgi/promocode.html +++ /dev/null @@ -1,14 +0,0 @@ -ISP Signup -ISP Signup - promotional code

- - -Enter promotional code - - -
- - diff --git a/fs_selfservice/FS-SelfService/cgi/provision.html b/fs_selfservice/FS-SelfService/cgi/provision.html deleted file mode 100644 index d31e6070b..000000000 --- a/fs_selfservice/FS-SelfService/cgi/provision.html +++ /dev/null @@ -1,10 +0,0 @@ -MyAccount -MyAccount

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> - -<%= include('provision_list') %> - -
-powered by freeside - diff --git a/fs_selfservice/FS-SelfService/cgi/provision_list.html b/fs_selfservice/FS-SelfService/cgi/provision_list.html deleted file mode 100644 index cd587f072..000000000 --- a/fs_selfservice/FS-SelfService/cgi/provision_list.html +++ /dev/null @@ -1,90 +0,0 @@ -Setup services

- - - - - -<%= foreach my $pkg ( - grep { scalar(@{$_->{part_svc}}) - || scalar(@{$_->{cust_svc}}) - } @cust_pkg - ) { - - $OUT .= #'
'. - ''; - - my $col1 = "ffffff"; - my $col2 = "dddddd"; - my $col = $col1; - - foreach my $cust_svc ( @{ $pkg->{cust_svc} } ) { - my $td = qq!'. - "$td>". $cust_svc->{label}[1]. ''; - $OUT .= '
password: '. encode_entities($cust_svc->{_password}). '' - if exists($cust_svc->{_password}); - $OUT .= ''. - "$td>"; - - #if ( $cust_svc->{label}[2] eq 'svc_acct' ) { - # $OUT .= qq!(!. - # 'change pw) '; - #} - - unless ( $cust_svc->{'svcnum'} == $svcnum ) { - $OUT .= qq!(!. - 'delete)'; - - } - $OUT .= ''; - $col = $col eq $col1 ? $col2 : $col1; - } - - $OUT .= '' - if scalar(@{$pkg->{part_svc}}) && scalar(@{$pkg->{cust_svc}}); - - $col = $col1; - - foreach my $part_svc ( @{ $pkg->{part_svc} } ) { - - my $td = qq!$td COLSPAN=3 ALIGN=center>". - qq!!. 'Setup '. $part_svc->{'svc'}. ' '. - '('. $part_svc->{'num_avail'}. ' available)'. - '' - #self-service only supports these services so far - if grep { $part_svc->{'svcdb'} eq $_ } qw( svc_acct svc_external ); - - $col = $col eq $col1 ? $col2 : $col1; - } - - #$OUT .= '
'. - $pkg->{'pkg'}. - '
". $cust_svc->{label}[0]. ':
{'svcdb'} eq 'svc_external' - #&& $conf->exists('svc_external-skip_manual') - ) { - $link = "${url}process_svc_external;". - "pkgnum=$pkg->{'pkgnum'};". - "svcpart=$part_svc->{'svcpart'}"; - } else { - $link = "${url}provision_svc;". - "pkgnum=$pkg->{'pkgnum'};". - "svcpart=$part_svc->{'svcpart'}"; - } - - $OUT .= "

'; - $OUT .= ' '; - -} %> - - diff --git a/fs_selfservice/FS-SelfService/cgi/provision_svc_acct.html b/fs_selfservice/FS-SelfService/cgi/provision_svc_acct.html deleted file mode 100644 index 50540742a..000000000 --- a/fs_selfservice/FS-SelfService/cgi/provision_svc_acct.html +++ /dev/null @@ -1,11 +0,0 @@ -MyAccount -MyAccount

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> - -<%= include('svc_acct') %> - -
-powered by freeside - - diff --git a/fs_selfservice/FS-SelfService/cgi/recharge_prepay.html b/fs_selfservice/FS-SelfService/cgi/recharge_prepay.html deleted file mode 100644 index f8584597a..000000000 --- a/fs_selfservice/FS-SelfService/cgi/recharge_prepay.html +++ /dev/null @@ -1,36 +0,0 @@ -MyAccount -MyAccount

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> - -Recharge with prepaid card

-
- - - - - - - - -
Prepaid card number - -
-
- - -
- -
-powered by freeside - - diff --git a/fs_selfservice/FS-SelfService/cgi/recharge_results.html b/fs_selfservice/FS-SelfService/cgi/recharge_results.html deleted file mode 100644 index b1eb7cb7a..000000000 --- a/fs_selfservice/FS-SelfService/cgi/recharge_results.html +++ /dev/null @@ -1,24 +0,0 @@ -MyAccount -MyAccount

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> - -Recharge results

-<%= if ( $error ) { - $OUT .= qq!Error processing your prepaid card: $error!; -} else { - $OUT .= 'Prepaid card recharge successful!

'; - - $OUT .= '$'. sprintf('%.2f', $amount). ' added to your account.

' - if $amount; - - $OUT .= $duration. ' added to your account.

' - if $seconds; - - $OUT .= 'Thank you.'; -} %> - -
-powered by freeside - - diff --git a/fs_selfservice/FS-SelfService/cgi/regcode.html b/fs_selfservice/FS-SelfService/cgi/regcode.html deleted file mode 100644 index e639b9b53..000000000 --- a/fs_selfservice/FS-SelfService/cgi/regcode.html +++ /dev/null @@ -1,14 +0,0 @@ -ISP Signup -ISP Signup - registration code

- -
-Enter registration code - - -
- - diff --git a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi deleted file mode 100644 index 4ab13090f..000000000 --- a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi +++ /dev/null @@ -1,341 +0,0 @@ -#!/usr/bin/perl -Tw - -use strict; -use vars qw($cgi $session_id $form_max $template_dir); -use subs qw(do_template); -use CGI; -use CGI::Carp qw(fatalsToBrowser); -use Text::Template; -use HTML::Entities; -use FS::SelfService qw( login customer_info invoice - payment_info process_payment - process_prepay - list_pkgs - part_svc_info provision_acct provision_external - unprovision_svc - list_svcs myaccount_passwd - ); - -$template_dir = '.'; - -$form_max = 255; - -$cgi = new CGI; - -unless ( defined $cgi->param('session') ) { - do_template('login',{}); - exit; -} - -if ( $cgi->param('session') eq 'login' ) { - - $cgi->param('username') =~ /^\s*([a-z0-9_\-\.\&]{0,$form_max})\s*$/i - or die "illegal username"; - my $username = $1; - - $cgi->param('domain') =~ /^\s*([\w\-\.]{0,$form_max})\s*$/ - or die "illegal domain"; - my $domain = $1; - - $cgi->param('password') =~ /^(.{0,$form_max})$/ - or die "illegal password"; - my $password = $1; - - my $rv = login( - 'username' => $username, - 'domain' => $domain, - 'password' => $password, - ); - if ( $rv->{error} ) { - do_template('login', { - 'error' => $rv->{error}, - 'username' => $username, - 'domain' => $domain, - } ); - exit; - } else { - $cgi->param('session' => $rv->{session_id} ); - $cgi->param('action' => 'myaccount' ); - } -} - -$session_id = $cgi->param('session'); - -#order|pw_list XXX ??? -$cgi->param('action') =~ - /^(myaccount|view_invoice|make_payment|payment_results|recharge_prepay|recharge_results|logout|change_bill|change_ship|provision|provision_svc|process_svc_acct|process_svc_external|delete_svc|change_password|process_change_password)$/ - or die "unknown action ". $cgi->param('action'); -my $action = $1; - -my $result = eval "&$action();"; -die $@ if $@; - -if ( $result->{error} eq "Can't resume session" ) { #ick - do_template('login',{}); - exit; -} - -#warn $result->{'open_invoices'}; -#warn scalar(@{$result->{'open_invoices'}}); - -warn "processing template $action\n"; -do_template($action, { - 'session_id' => $session_id, - 'action' => $action, #so the menu knows what tab we're on... - %{$result} -}); - -#-- - -sub myaccount { customer_info( 'session_id' => $session_id ); } - -sub view_invoice { - - $cgi->param('invnum') =~ /^(\d+)$/ or die "illegal invnum"; - my $invnum = $1; - - invoice( 'session_id' => $session_id, - 'invnum' => $invnum, - ); - -} - -sub make_payment { - payment_info( 'session_id' => $session_id ); -} - -sub payment_results { - - use Business::CreditCard; - - $cgi->param('amount') =~ /^\s*(\d+(\.\d{2})?)\s*$/ - or die "illegal amount"; #!!! - my $amount = $1; - - my $payinfo = $cgi->param('payinfo'); - $payinfo =~ s/\D//g; - $payinfo =~ /^(\d{13,16})$/ - #or $error ||= $init_data->{msgcat}{invalid_card}; #. $self->payinfo; - or die "illegal card"; #!!! - $payinfo = $1; - validate($payinfo) - #or $error ||= $init_data->{msgcat}{invalid_card}; #. $self->payinfo; - or die "invalid card"; #!!! - cardtype($payinfo) eq $cgi->param('card_type') - #or $error ||= $init_data->{msgcat}{not_a}. $cgi->param('CARD_type'); - or die "not a ". $cgi->param('card_type'); - - $cgi->param('month') =~ /^(\d{2})$/ or die "illegal month"; - my $month = $1; - $cgi->param('year') =~ /^(\d{4})$/ or die "illegal year"; - my $year = $1; - - $cgi->param('payname') =~ /^(.{0,80})$/ or die "illegal payname"; - my $payname = $1; - - $cgi->param('address1') =~ /^(.{0,80})$/ or die "illegal address1"; - my $address1 = $1; - - $cgi->param('address2') =~ /^(.{0,80})$/ or die "illegal address2"; - my $address2 = $1; - - $cgi->param('city') =~ /^(.{0,80})$/ or die "illegal city"; - my $city = $1; - - $cgi->param('state') =~ /^(.{2})$/ or die "illegal state"; - my $state = $1; - - $cgi->param('zip') =~ /^(.{0,10})$/ or die "illegal zip"; - my $zip = $1; - - my $save = 0; - $save = 1 if $cgi->param('save'); - - my $auto = 0; - $auto = 1 if $cgi->param('auto'); - - $cgi->param('paybatch') =~ /^([\w\-\.]+)$/ or die "illegal paybatch"; - my $paybatch = $1; - - process_payment( - 'session_id' => $session_id, - 'amount' => $amount, - 'payinfo' => $payinfo, - 'month' => $month, - 'year' => $year, - 'payname' => $payname, - 'address1' => $address1, - 'address2' => $address2, - 'city' => $city, - 'state' => $state, - 'zip' => $zip, - 'save' => $save, - 'auto' => $auto, - 'paybatch' => $paybatch, - ); - -} - -sub recharge_prepay { - customer_info( 'session_id' => $session_id ); -} - -sub recharge_results { - - my $prepaid_cardnum = $cgi->param('prepaid_cardnum'); - $prepaid_cardnum =~ s/\W//g; - $prepaid_cardnum =~ /^(\w*)$/ or die "illegal prepaid card number"; - $prepaid_cardnum = $1; - - process_prepay ( 'session_id' => $session_id, - 'prepaid_cardnum' => $prepaid_cardnum, - ); -} - -sub logout { - FS::SelfService::logout( 'session_id' => $session_id ); -} - -sub provision { - my $result = list_pkgs( 'session_id' => $session_id ); - die $result->{'error'} if exists $result->{'error'} && $result->{'error'}; - $result; -} - -sub provision_svc { - - my $result = part_svc_info( - 'session_id' => $session_id, - map { $_ => $cgi->param($_) } qw( pkgnum svcpart ), - ); - die $result->{'error'} if exists $result->{'error'} && $result->{'error'}; - - $result->{'svcdb'} =~ /^svc_(.*)$/ - #or return { 'error' => 'Unknown svcdb '. $result->{'svcdb'} }; - or die 'Unknown svcdb '. $result->{'svcdb'}; - $action .= "_$1"; - - $result; -} - -sub process_svc_acct { - - my $result = provision_acct ( - 'session_id' => $session_id, - map { $_ => $cgi->param($_) } qw( - pkgnum svcpart username _password _password2 sec_phrase popnum ) - ); - - if ( exists $result->{'error'} && $result->{'error'} ) { - #warn "$result $result->{'error'}"; - $action = 'provision_svc_acct'; - return { - $cgi->Vars, - %{ part_svc_info( 'session_id' => $session_id, - map { $_ => $cgi->param($_) } qw( pkgnum svcpart ) - ) - }, - 'error' => $result->{'error'}, - }; - } else { - #warn "$result $result->{'error'}"; - return $result; - } - -} - -sub process_svc_external { - provision_external ( - 'session_id' => $session_id, - map { $_ => $cgi->param($_) } qw( pkgnum svcpart ) - ); -} - -sub delete_svc { - unprovision_svc( - 'session_id' => $session_id, - 'svcnum' => $cgi->param('svcnum'), - ); -} - -sub change_password { - list_svcs( - 'session_id' => $session_id, - 'svcdb' => 'svc_acct', - ); -}; - -sub process_change_password { - - my $result = myaccount_passwd( - 'session_id' => $session_id, - map { $_ => $cgi->param($_) } qw( svcnum new_password new_password2 ) - ); - - if ( exists $result->{'error'} && $result->{'error'} ) { - - $action = 'change_password'; - return { - $cgi->Vars, - %{ list_svcs( 'session_id' => $session_id, - 'svcdb' => 'svc_acct', - ) - }, - #'svcnum' => $cgi->param('svcnum'), - 'error' => $result->{'error'} - }; - - } else { - - return $result; - - } - -} - -#-- - -sub do_template { - my $name = shift; - my $fill_in = shift; - - $cgi->delete_all(); - $fill_in->{'selfurl'} = $cgi->self_url; - $fill_in->{'cgi'} = \$cgi; - - my $template = new Text::Template( TYPE => 'FILE', - SOURCE => "$template_dir/$name.html", - DELIMITERS => [ '<%=', '%>' ], - UNTAINT => 1, ) - or die $Text::Template::ERROR; - - print $cgi->header( '-expires' => 'now' ), - $template->fill_in( PACKAGE => 'FS::SelfService::_selfservicecgi', - HASH => $fill_in - ); -} - -#*FS::SelfService::_selfservicecgi::include = \&Text::Template::fill_in_file; - -package FS::SelfService::_selfservicecgi; - -#use FS::SelfService qw(regionselector expselect popselector); -use HTML::Entities; -use FS::SelfService qw(popselector); - -#false laziness w/agent.cgi -sub include { - my $name = shift; - my $template = new Text::Template( TYPE => 'FILE', - SOURCE => "$main::template_dir/$name.html", - DELIMITERS => [ '<%=', '%>' ], - UNTAINT => 1, - ) - or die $Text::Template::ERROR; - - $template->fill_in( PACKAGE => 'FS::SelfService::_selfservicecgi', - #HASH => $fill_in - ); - -} - diff --git a/fs_selfservice/FS-SelfService/cgi/signup-agentselect.html b/fs_selfservice/FS-SelfService/cgi/signup-agentselect.html deleted file mode 100755 index 7851c5601..000000000 --- a/fs_selfservice/FS-SelfService/cgi/signup-agentselect.html +++ /dev/null @@ -1,195 +0,0 @@ -ISP Signup form -ISP Signup form

-<%= $error %> -
- - - -Agent

-Contact Information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*Contact name
(last, first)
, -
Company
*Address
 
*City*State/Country - <%= - ($county_html, $state_html, $country_html) = - regionselector( $county, $state, $country ); - - "$county_html $state_html"; - %> - *Zip
*Country<%= $country_html %>
Day Phone
Night Phone
Fax
* required fields
-
Billing information - - -<%= scalar(@payby) > 1 ? '' : '' %> -
- - <%= - $OUT .= ' - - Postal mail invoice -
Email invoice -
Billing type
- - - - <%= - - my $cardselect = ''; - - my %payby = ( - 'CARD' => qq!Credit card
*$cardselect
*Exp !. expselect("CARD"). qq!
*Name on card
!, - 'DCRD' => qq!Credit card
*$cardselect
*Exp !. expselect("DCRD"). qq!
*Name on card
!, - 'CHEK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'DCHK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'LECB' => qq!Phone bill billing
${r}Phone number !, - 'BILL' => qq!Billing
P.O.
*Exp !. expselect("BILL", "12-2037"). qq!
*Attention
!, - 'COMP' => qq!Complimentary
*Approved by
*Exp !. expselect("COMP"), - 'PREPAY' => qq!Prepaid card
*!, - ); - - my( $account, $aba ) = split('@', $payinfo); - my %paybychecked = ( - 'CARD' => qq!Credit card
*$cardselect
*Exp !. expselect("CARD", $paydate). qq!
*Name on card
!, - 'DCRD' => qq!Credit card
*$cardselect
*Exp !. expselect("DCRD", $paydate). qq!
*Name on card
!, - 'CHEK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'DCHK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'LECB' => qq!Phone bill billing
${r}Phone number !, - 'BILL' => qq!Billing
P.O.
*Exp !. expselect("BILL", $paydate). qq!
*Attention
!, - 'COMP' => qq!Complimentary
*Approved by
*Exp !. expselect("COMP", $paydate), - 'PREPAY' => qq!Prepaid card
*!, - ); - - for (@payby) { - if ( scalar(@payby) == 1) { - $OUT .= '"; - } else { - $OUT .= qq!!; - } else { - $OUT .= qq!> $payby{$_}!; - } - - } - } - %> - -
'. - qq!!. - "$paybychecked{$_} $paybychecked{$_}
* required fields for each billing type -

First package - - - - - - - - - - - - - - - - -<%= - if ( $init_data->{'security_phrase'} ) { - $OUT .= < - - - -ENDOUT - } else { - $OUT .= ''; - } -%> -<%= - if ( scalar(@$pops) ) { - $OUT .= ''; - } else { - $OUT .= popselector($popnum); - } -%> -
Username
Password
Re-enter Password
Security Phrase -
Access number'. - popselector($popnum). '
-

-
diff --git a/fs_selfservice/FS-SelfService/cgi/signup-alternate.html b/fs_selfservice/FS-SelfService/cgi/signup-alternate.html deleted file mode 100755 index 490cefa5e..000000000 --- a/fs_selfservice/FS-SelfService/cgi/signup-alternate.html +++ /dev/null @@ -1,218 +0,0 @@ -ISP Signup form -ISP Signup form

-<%= $error %> -
- - - - -Contact Information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*Contact name
(last, first)
, -
Company
*Address
 
*City*State/Country*Zip
Day Phone
Night Phone
Fax
* required fields
- -

- - - - - - - - - - - - - - -<%= if ( $init_data->{'security_phrase'} ) { - < - - - -ENDOUT - } else { - ''; - } -%> - -<%= if ( scalar(@$pops) ) { - ''; - } else { - popselector($popnum); - } -%> - -
*Username
*Password
*Re-enter Password
Security Phrase -
Access number'. - popselector($popnum). '
* required fields - -

First package - - <%= use Tie::IxHash; - my %pkgpart2payby = map { $_->{pkgpart} => $_->{payby}[0] } @{$packages}; - tie my %options, 'Tie::IxHash', - '' => '(none)', - map { $_->{pkgpart} => $_->{pkg} } - sort { $a->{recur} <=> $b->{recur} } - @{$packages} - ; - - use HTML::Widgets::SelectLayers 0.02; - my @form_text = qw( magic ref ss agentnum - last first company address1 address2 - city zip daytime night fax - username _password _password2 sec_phrase ); - my @form_select = qw( state ); #county country - if ( scalar(@$pops) == 0 or scalar(@$pops) == 1 ) { - push @form_text, 'popnum', - } else { - push @form_select, 'popnum', - } - my $widget = new HTML::Widgets::SelectLayers( - options => \%options, - selected_layer => $pkgpart, - form_name => 'dummy', - form_action => $self_url, - form_text => \@form_text, - form_select => \@form_select, - layer_callback => sub { - my $layer = shift; - my $html = qq( ); - - if ( $pkgpart2payby{$layer} eq 'BILL' ) { - $html .= < - - - - - -

-ENDOUT - } elsif ( $pkgpart2payby{$layer} eq 'CARD' ) { - my $postal_checked = ''; - my @invoicing_list = split(', ', $invoicing_list ); - $postal_checked = 'CHECKED' - if ! @invoicing_list || grep { $_ eq 'POST' } @invoicing_list; - - $invoicing_list= join(', ', grep { $_ ne 'POST' } @invoicing_list ); - - my $expselect = expselect("CARD", $paydate); - - my $cardselect = ''; - - $html .= < -

Billing information - - - - - - - - - - - - - - - - - - - - - - -
Email statement to
*Credit card type$cardselect
*Card number
**Exp$expselect
*Name on card
-* required fields -

-ENDOUT - } else { - $html = <Please select a package.
-ENDOUT - - } - - $html; - - }, - ); - - $widget->html; - - - %> - diff --git a/fs_selfservice/FS-SelfService/cgi/signup-billaddress.html b/fs_selfservice/FS-SelfService/cgi/signup-billaddress.html deleted file mode 100755 index 3cf9d2505..000000000 --- a/fs_selfservice/FS-SelfService/cgi/signup-billaddress.html +++ /dev/null @@ -1,307 +0,0 @@ -ISP Signup form - - -ISP Signup form

-<%= $error %> - - - - -Where did you hear about our service?

-Billing Address (where credit card statement is sent) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*Exact name on card
(last, first)
, -
Company
*Address
 
*City*State/Country - <%= - ($county_html, $state_html, $country_html) = - regionselector( $county, $state, $country, '', 'changed(this)' ); - - "$county_html $state_html"; - %> - *Zip
*Country<%= $country_html %>
Day Phone
Night Phone
Fax
- - - -

-Service Address -(>same as billing address)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*Contact name
(last, first)
, -
Company
*Address
 
*City*State/Country - <%= - ($ship_county_html, $ship_state_html, $ship_country_html) = - regionselector( $ship_county, - $ship_state, - $ship_country, - 'ship_', - 'changed(this)', - ); - - "$ship_county_html $ship_state_html"; - %> - *Zip
*Country<%= $ship_country_html %>
Day Phone
Night Phone
Fax
- -* required fields
- -
Billing information - - -<%= scalar(@payby) > 1 ? '' : '' %> -
- - <%= - $OUT .= ' - - Postal mail invoice -
Email invoice -
Billing type
- - - - <%= - - my $cardselect = ''; - - my %payby = ( - 'CARD' => qq!Credit card
*$cardselect
*Exp !. expselect("CARD"), #. qq!
*Name on card
!, - 'DCRD' => qq!Credit card
*$cardselect
*Exp !. expselect("DCRD"), #. qq!
*Name on card
!, - 'CHEK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'DCHK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'LECB' => qq!Phone bill billing
${r}Phone number !, - 'BILL' => qq!Billing
P.O.
*Exp !. expselect("BILL", "12-2037"). qq!
*Attention
!, - 'COMP' => qq!Complimentary
*Approved by
*Exp !. expselect("COMP"), - 'PREPAY' => qq!Prepaid card
*!, - ); - - if ( $init_data->{'cvv_enabled'} ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $payby{$payby} .= qq!
CVV2 (help!; - } - } - - my( $account, $aba ) = split('@', $payinfo); - my %paybychecked = ( - 'CARD' => qq!Credit card
*$cardselect
*Exp !. expselect("CARD", $paydate), #. qq!
*Name on card
!, - 'DCRD' => qq!Credit card
*$cardselect
*Exp !. expselect("DCRD", $paydate), #. qq!
*Name on card
!, - 'CHEK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'DCHK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'LECB' => qq!Phone bill billing
${r}Phone number !, - 'BILL' => qq!Billing
P.O.
*Exp !. expselect("BILL", $paydate). qq!
*Attention
!, - 'COMP' => qq!Complimentary
*Approved by
*Exp !. expselect("COMP", $paydate), - 'PREPAY' => qq!Prepaid card
*!, - ); - - if ( $init_data->{'cvv_enabled'} ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $paybychecked{$payby} .= qq!
CVV2 (help!; - } - } - - for (@payby) { - if ( scalar(@payby) == 1) { - $OUT .= '"; - } else { - $OUT .= qq!!; - } else { - $OUT .= qq!> $payby{$_}!; - } - - } - } - %> - -
'. - qq!!. - "$paybychecked{$_} $paybychecked{$_}
* required fields for each billing type -

First package - - - - - - - - - - - - - - - - - -<%= - if ( $init_data->{'security_phrase'} ) { - $OUT .= < - - - -ENDOUT - } else { - $OUT .= ''; - } -%> -<%= - if ( scalar(@$pops) ) { - $OUT .= ''; - } else { - $OUT .= popselector($popnum); - } -%> -
Username
Password
Re-enter Password
Security Phrase -
Access number'. - popselector($popnum). '
-

- diff --git a/fs_selfservice/FS-SelfService/cgi/signup-freeoption.html b/fs_selfservice/FS-SelfService/cgi/signup-freeoption.html deleted file mode 100755 index 40ad03c0b..000000000 --- a/fs_selfservice/FS-SelfService/cgi/signup-freeoption.html +++ /dev/null @@ -1,262 +0,0 @@ -ISP Signup form - - -ISP Signup form

-<%= $error %> -
- - - -Where did you hear about our service?

-Contact Information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*Contact name
(last, first)
, -
Company
*Address
 
*City*State/Country - <%= - ($county_html, $state_html, $country_html) = - regionselector( $county, $state, $country ); - - "$county_html $state_html"; - %> - *Zip
*Country<%= $country_html %>
Day Phone
Night Phone
Fax
* required fields
-
-<%= - my $first_payby = $packages->[0]{'payby'}[0]; - unless ( grep { scalar( @{$_->{'payby'}} ) > 1 - || $_->{'payby'}->[0] ne $first_payby - } @$packages - ) { - @payby = ( $first_payby ); - } - - unless ( scalar(@payby) == 1 && $payby[0] eq 'BILL' ) { - - $OUT .= ' Billing information - - '; - - $OUT .= '' - if scalar(@payby) > 1; - - $OUT .= '
-
Billing type
'; - - } else { - $OUT .= ' - '; - } - -%> - - - - - <%= - - my $cardselect = ''; - - my %payby = ( - 'CARD' => qq!Credit card
*$cardselect
*Exp !. expselect("CARD"). qq!
*Name on card
!, - 'DCRD' => qq!Credit card
*$cardselect
*Exp !. expselect("DCRD"). qq!
*Name on card
!, - 'CHEK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'DCHK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'LECB' => qq!Phone bill billing
${r}Phone number !, - 'BILL' => <<'END', - - - - -END - 'COMP' => qq!Complimentary
*Approved by
*Exp !. expselect("COMP"), - 'PREPAY' => qq!Prepaid card
*!, - ); - - if ( $init_data->{'cvv_enabled'} ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $payby{$payby} .= qq!
CVV2 (help!; - } - } - - my( $account, $aba ) = split('@', $payinfo); - my %paybychecked = ( - 'CARD' => qq!Credit card
*$cardselect
*Exp !. expselect("CARD", $paydate). qq!
*Name on card
!, - 'DCRD' => qq!Credit card
*$cardselect
*Exp !. expselect("DCRD", $paydate). qq!
*Name on card
!, - 'CHEK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'DCHK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'LECB' => qq!Phone bill billing
${r}Phone number !, - 'BILL' => <<'END', - - - - -END - - 'COMP' => qq!Complimentary
*Approved by
*Exp !. expselect("COMP", $paydate), - 'PREPAY' => qq!Prepaid card
*!, - ); - - if ( $init_data->{'cvv_enabled'} ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $paybychecked{$payby} .= qq!
CVV2 (help!; - } - } - - for (@payby) { - if ( scalar(@payby) == 1) { - $OUT .= '"; - } else { - $OUT .= qq!!; - } else { - $OUT .= qq!> $payby{$_}!; - } - - } - } - %> - -
'. - qq!!. - "$paybychecked{$_} $paybychecked{$_}
-<%= unless ( scalar(@payby) == 1 && $payby[0] eq 'BILL' ) { - $OUT .= '* required fields for each billing type'; - } - ''; -%> -

First package - - - - - - - - - - - - - - - - -<%= - if ( $init_data->{'security_phrase'} ) { - $OUT .= < - - - -ENDOUT - } else { - $OUT .= ''; - } -%> -<%= - if ( scalar(@$pops) ) { - $OUT .= ''; - } else { - $OUT .= popselector($popnum); - } -%> -
Username
Password
Re-enter Password
Security Phrase -
Access number'. - popselector($popnum). '
-

-
diff --git a/fs_selfservice/FS-SelfService/cgi/signup-snarf.html b/fs_selfservice/FS-SelfService/cgi/signup-snarf.html deleted file mode 100755 index d167efbf9..000000000 --- a/fs_selfservice/FS-SelfService/cgi/signup-snarf.html +++ /dev/null @@ -1,228 +0,0 @@ -ISP Signup form - - -ISP Signup form

-<%= $error %> -
- - - -Contact Information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*Contact name
(last, first)
, -
Company
*Address
 
*City*State/Country - <%= - ($county_html, $state_html, $country_html) = - regionselector( $county, $state, $country ); - - "$county_html $state_html"; - %> - *Zip
*Country<%= $country_html %>
Day Phone
Night Phone
Fax
* required fields
-
Billing information - - -<%= scalar(@payby) > 1 ? '' : '' %> -
- - <%= - $OUT .= ' - - Postal mail invoice -
Email invoice -
Billing type
- - - - <%= - - my $cardselect = ''; - - my %payby = ( - 'CARD' => qq!Credit card
*$cardselect
*Exp !. expselect("CARD"). qq!
*Name on card
!, - 'DCRD' => qq!Credit card
*$cardselect
*Exp !. expselect("DCRD"). qq!
*Name on card
!, - 'CHEK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'DCHK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'LECB' => qq!Phone bill billing
${r}Phone number !, - 'BILL' => qq!Billing
P.O.
*Exp !. expselect("BILL", "12-2037"). qq!
*Attention
!, - 'COMP' => qq!Complimentary
*Approved by
*Exp !. expselect("COMP"), - 'PREPAY' => qq!Prepaid card
*!, - ); - - if ( $init_data->{'cvv_enabled'} ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $payby{$payby} .= qq!
CVV2 (help!; - } - } - - my( $account, $aba ) = split('@', $payinfo); - my %paybychecked = ( - 'CARD' => qq!Credit card
*$cardselect
*Exp !. expselect("CARD", $paydate). qq!
*Name on card
!, - 'DCRD' => qq!Credit card
*$cardselect
*Exp !. expselect("DCRD", $paydate). qq!
*Name on card
!, - 'CHEK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'DCHK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'LECB' => qq!Phone bill billing
${r}Phone number !, - 'BILL' => qq!Billing
P.O.
*Exp !. expselect("BILL", $paydate). qq!
*Attention
!, - 'COMP' => qq!Complimentary
*Approved by
*Exp !. expselect("COMP", $paydate), - 'PREPAY' => qq!Prepaid card
*!, - ); - - if ( $init_data->{'cvv_enabled'} ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $paybychecked{$payby} .= qq!
CVV2 (help!; - } - } - - for (@payby) { - if ( scalar(@payby) == 1) { - $OUT .= '"; - } else { - $OUT .= qq!!; - } else { - $OUT .= qq!> $payby{$_}!; - } - - } - } - %> - -
'. - qq!!. - "$paybychecked{$_} $paybychecked{$_}
* required fields for each billing type -

First package - - - - - - - - - - - - - - - - -<%= - if ( $init_data->{'security_phrase'} ) { - $OUT .= < - - - -ENDOUT - } else { - $OUT .= ''; - } -%> -<%= - if ( scalar(@$pops) ) { - $OUT .= ''; - } else { - $OUT .= popselector($popnum); - } -%> -
Username
Password
Re-enter Password
Security Phrase -
Access number'. - popselector($popnum). '
-

Enter up to ten external accounts from which to retrieve email - - - - - - -<%= - for my $num ( 1..10 ) { - no strict 'vars'; - $OUT .= qq!!. - qq!!. - qq!!. - qq!!. - qq!!; - } -%> -
Mail serverUsernamePassword
- -

-
diff --git a/fs_selfservice/FS-SelfService/cgi/signup.cgi b/fs_selfservice/FS-SelfService/cgi/signup.cgi deleted file mode 100755 index d2ad0d64b..000000000 --- a/fs_selfservice/FS-SelfService/cgi/signup.cgi +++ /dev/null @@ -1,333 +0,0 @@ -#!/usr/bin/perl -T -#!/usr/bin/perl -Tw -# -# $Id: signup.cgi,v 1.2 2005-03-12 14:35:12 ivan Exp $ - -use strict; -use vars qw( @payby $cgi $init_data - $self_url $error $agentnum - - $ieak_file $ieak_template - $signup_html $signup_template - $success_html $success_template - $decline_html $decline_template - ); - -use subs qw( print_form print_okay print_decline - success_default decline_default - ); -use CGI; -#use CGI::Carp qw(fatalsToBrowser); -use Text::Template; -use Business::CreditCard; -use HTTP::BrowserDetect; -use FS::SelfService qw( signup_info new_customer ); - -#acceptable payment methods -# -#@payby = qw( CARD BILL COMP ); -#@payby = qw( CARD BILL ); -#@payby = qw( CARD ); -@payby = qw( CARD PREPAY ); - -$ieak_file = '/usr/local/freeside/ieak.template'; -$signup_html = -e 'signup.html' - ? 'signup.html' - : '/usr/local/freeside/signup.html'; -$success_html = -e 'success.html' - ? 'success.html' - : '/usr/local/freeside/success.html'; -$decline_html = -e 'decline.html' - ? 'decline.html' - : '/usr/local/freeside/decline.html'; - - -if ( -e $ieak_file ) { - my $ieak_txt = Text::Template::_load_text($ieak_file) - or die $Text::Template::ERROR; - $ieak_txt =~ /^(.*)$/s; #untaint the template source - it's trusted - $ieak_txt = $1; - $ieak_txt =~ s/\r//g; # don't double \r on old templates - $ieak_txt =~ s/\n/\r\n/g; - $ieak_template = new Text::Template ( TYPE => 'STRING', SOURCE => $ieak_txt ) - or die $Text::Template::ERROR; -} else { - $ieak_template = ''; -} - -$agentnum = ''; -if ( -e $signup_html ) { - my $signup_txt = Text::Template::_load_text($signup_html) - or die $Text::Template::ERROR; - $signup_txt =~ /^(.*)$/s; #untaint the template source - it's trusted - $signup_txt = $1; - $signup_template = new Text::Template ( TYPE => 'STRING', - SOURCE => $signup_txt, - DELIMITERS => [ '<%=', '%>' ] - ) - or die $Text::Template::ERROR; - if ( $signup_txt =~ - /<\s*INPUT TYPE="?hidden"?\s+NAME="?agentnum"?\s+VALUE="?(\d+)"?\s*>/si - ) { - $agentnum = $1; - } -} else { - #too much maintenance hassle to keep in this file - die "can't find ./signup.html or /usr/local/freeside/signup.html"; - #$signup_template = new Text::Template ( TYPE => 'STRING', - # SOURCE => &signup_default, - # DELIMITERS => [ '<%=', '%>' ] - # ) - # or die $Text::Template::ERROR; -} - -if ( -e $success_html ) { - my $success_txt = Text::Template::_load_text($success_html) - or die $Text::Template::ERROR; - $success_txt =~ /^(.*)$/s; #untaint the template source - it's trusted - $success_txt = $1; - $success_template = new Text::Template ( TYPE => 'STRING', - SOURCE => $success_txt, - DELIMITERS => [ '<%=', '%>' ], - ) - or die $Text::Template::ERROR; -} else { - $success_template = new Text::Template ( TYPE => 'STRING', - SOURCE => &success_default, - DELIMITERS => [ '<%=', '%>' ], - ) - or die $Text::Template::ERROR; -} - -if ( -e $decline_html ) { - my $decline_txt = Text::Template::_load_text($decline_html) - or die $Text::Template::ERROR; - $decline_txt =~ /^(.*)$/s; #untaint the template source - it's trusted - $decline_txt = $1; - $decline_template = new Text::Template ( TYPE => 'STRING', - SOURCE => $decline_txt, - DELIMITERS => [ '<%=', '%>' ], - ) - or die $Text::Template::ERROR; -} else { - $decline_template = new Text::Template ( TYPE => 'STRING', - SOURCE => &decline_default, - DELIMITERS => [ '<%=', '%>' ], - ) - or die $Text::Template::ERROR; -} - -$cgi = new CGI; - -$init_data = signup_info( 'agentnum' => $agentnum, - 'promo_code' => scalar($cgi->param('promo_code')), - 'reg_code' => uc(scalar($cgi->param('reg_code'))), - ); - -if ( ( defined($cgi->param('magic')) && $cgi->param('magic') eq 'process' ) - || ( defined($cgi->param('action')) && $cgi->param('action') eq 'process_signup' ) - ) { - - $error = ''; - - $cgi->param('agentnum', $agentnum) if $agentnum; - $cgi->param('reg_code', uc(scalar($cgi->param('reg_code'))) ); - - #false laziness w/agent.cgi, identical except for agentnum - my $payby = $cgi->param('payby'); - if ( $payby eq 'CHEK' || $payby eq 'DCHK' ) { - #$payinfo = join('@', map { $cgi->param( $payby. "_payinfo$_" ) } (1,2) ); - $cgi->param('payinfo' => $cgi->param($payby. '_payinfo1'). '@'. - $cgi->param($payby. '_payinfo2') - ); - } else { - $cgi->param('payinfo' => $cgi->param( $payby. '_payinfo' ) ); - } - $cgi->param('paydate' => $cgi->param( $payby. '_month' ). '-'. - $cgi->param( $payby. '_year' ) - ); - $cgi->param('payname' => $cgi->param( $payby. '_payname' ) ); - $cgi->param('paycvv' => defined $cgi->param( $payby. '_paycvv' ) - ? $cgi->param( $payby. '_paycvv' ) - : '' - ); - - if ( $cgi->param('invoicing_list') ) { - $cgi->param('invoicing_list' => $cgi->param('invoicing_list'). ', POST') - if $cgi->param('invoicing_list_POST'); - } else { - $cgi->param('invoicing_list' => 'POST' ); - } - - if ( $cgi->param('_password') ne $cgi->param('_password2') ) { - $error = $init_data->{msgcat}{passwords_dont_match}; #msgcat - $cgi->param('_password', ''); - $cgi->param('_password2', ''); - } - - if ( $payby =~ /^(CARD|DCRD)$/ && $cgi->param('CARD_type') ) { - my $payinfo = $cgi->param('payinfo'); - $payinfo =~ s/\D//g; - - $payinfo =~ /^(\d{13,16})$/ - or $error ||= $init_data->{msgcat}{invalid_card}; #. $self->payinfo; - $payinfo = $1; - validate($payinfo) - or $error ||= $init_data->{msgcat}{invalid_card}; #. $self->payinfo; - cardtype($payinfo) eq $cgi->param('CARD_type') - or $error ||= $init_data->{msgcat}{not_a}. $cgi->param('CARD_type'); - } - - unless ( $error ) { - my $rv = new_customer( { - map { $_ => scalar($cgi->param($_)) } - qw( last first ss company - address1 address2 city county state zip country - daytime night fax - - ship_last ship_first ship_company - ship_address1 ship_address2 ship_city ship_county ship_state - ship_zip ship_country - ship_daytime ship_night ship_fax - - payby payinfo paycvv paydate payname invoicing_list - referral_custnum promo_code reg_code - pkgpart username sec_phrase _password popnum refnum - agentnum - ), - grep { /^snarf_/ } $cgi->param - } ); - $error = $rv->{'error'}; - } - #eslaf - - 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( - 'pkgpart' => scalar($cgi->param('pkgpart')), - ); - } - -} else { - $error = ''; - print_form; -} - -sub print_form { - - $error = "Error: $error" if $error; - - my $r = { - $cgi->Vars, - %{$init_data}, - 'error' => $error, - }; - - $r->{referral_custnum} = $r->{'ref'}; - #$cgi->delete('ref'); - #$cgi->delete('init_popstate'); - $r->{self_url} = $cgi->self_url; - - print $cgi->header( '-expires' => 'now' ), - $signup_template->fill_in( PACKAGE => 'FS::SelfService::_signupcgi', - HASH => $r - ); -} - -sub print_decline { - print $cgi->header( '-expires' => 'now' ), - $decline_template->fill_in(); -} - -sub print_okay { - my %param = @_; - my $user_agent = new HTTP::BrowserDetect $ENV{HTTP_USER_AGENT}; - - $cgi->param('username') =~ /^(.+)$/ - or die "fatal: invalid username got past FS::SelfService::new_customer"; - my $username = $1; - $cgi->param('_password') =~ /^(.+)$/ - or die "fatal: invalid password got past FS::SelfService::new_customer"; - my $password = $1; - ( $cgi->param('first'). ' '. $cgi->param('last') ) =~ /^(.*)$/ - or die "fatal: invalid email_name got past FS::SelfService::new_customer"; - my $email_name = $1; #global for template - - #my %pop = (); - my %popnum2pop = (); - foreach ( @{ $init_data->{'svc_acct_pop'} } ) { - #push @{ $pop{ $_->{state} }->{ $_->{ac} } }, $_; - $popnum2pop{$_->{popnum}} = $_; - } - - my( $ac, $exch, $loc); - my $pop = $popnum2pop{$cgi->param('popnum')}; - #or die "fatal: invalid popnum got past FS::SelfService::new_customer"; - if ( $pop ) { - ( $ac, $exch, $loc ) = ( $pop->{'ac'}, $pop->{'exch'}, $pop->{'loc'} ); - } else { - ( $ac, $exch, $loc ) = ( '', '', ''); #presumably you're not using them. - } - - #global for template - my $pkg = ( grep { $_->{'pkgpart'} eq $param{'pkgpart'} } - @{ $init_data->{'part_pkg'} } - )[0]->{'pkg'}; - - if ( $ieak_template && $user_agent->windows && $user_agent->ie ) { - #send an IEAK config - print $cgi->header('application/x-Internet-signup'), - $ieak_template->fill_in(); - } else { #send a simple confirmation - print $cgi->header( '-expires' => 'now' ), - $success_template->fill_in( HASH => { - username => $username, - password => $password, - _password => $password, - email_name => $email_name, - ac => $ac, - exch => $exch, - loc => $loc, - pkg => $pkg, - }); - } -} - -sub success_default { #html to use if you don't specify a success file - <<'END'; -Signup successful -Signup successful

-Thanks for signing up! -

-Signup information for <%= $email_name %>: -

-Username: <%= $username %>
-Password: <%= $password %>
-Access number: (<%= $ac %>) / <%= $exch %> - <%= $local %>
-Package: <%= $pkg %>
- -END -} - -sub decline_default { #html to use if there is a decline - <<'END'; -Processing error -Processing error

-There has been an error processing your account. Please contact customer -support. - -END -} - -# subs for the templates... - -package FS::SelfService::_signupcgi; -use HTML::Entities; -use FS::SelfService qw(regionselector expselect popselector); - diff --git a/fs_selfservice/FS-SelfService/cgi/signup.html b/fs_selfservice/FS-SelfService/cgi/signup.html deleted file mode 100755 index 2ab07b37e..000000000 --- a/fs_selfservice/FS-SelfService/cgi/signup.html +++ /dev/null @@ -1,236 +0,0 @@ -<%= $agent || 'ISP' %> Signup form - - -<%= $agent || 'ISP' %> Signup form

-<%= $error %> -
- - - - -Where did you hear about our service?

-Contact Information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*Contact name
(last, first)
, -
Company
*Address
 
*City*State/Country - <%= - ($county_html, $state_html, $country_html) = - regionselector( { - selected_county => $county, - selected_state => $state, - selected_country => $country, - default_state => $statedefault, - default_country => $countrydefault, - locales => \@cust_main_county, - } ); - - "$county_html $state_html"; - %> - *Zip
*Country<%= $country_html %>
Day Phone
Night Phone
Fax
* required fields
-
Billing information - - -<%= scalar(@payby) > 1 ? '' : '' %> -
- - <%= - $OUT .= ' - - Postal mail invoice -
Email invoice -
Billing type
- - - - <%= - - my $cardselect = ''; - - my %payby = ( - 'CARD' => qq!Credit card
*$cardselect
*Exp !. expselect("CARD"). qq!
*Name on card
!, - 'DCRD' => qq!Credit card
*$cardselect
*Exp !. expselect("DCRD"). qq!
*Name on card
!, - 'CHEK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'DCHK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'LECB' => qq!Phone bill billing
${r}Phone number !, - 'BILL' => qq!Billing
P.O.
*Exp !. expselect("BILL", "12-2037"). qq!
*Attention
!, - 'COMP' => qq!Complimentary
*Approved by
*Exp !. expselect("COMP"), - 'PREPAY' => qq!Prepaid card
*!, - ); - - if ( $cvv_enabled ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $payby{$payby} .= qq!
CVV2 (help!; - } - } - - my( $account, $aba ) = split('@', $payinfo); - my %paybychecked = ( - 'CARD' => qq!Credit card
*$cardselect
*Exp !. expselect("CARD", $paydate). qq!
*Name on card
!, - 'DCRD' => qq!Credit card
*$cardselect
*Exp !. expselect("DCRD", $paydate). qq!
*Name on card
!, - 'CHEK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'DCHK' => qq!Electronic check
${r}Account number
${r}ABA/Routing code
${r}Bank name !, - 'LECB' => qq!Phone bill billing
${r}Phone number !, - 'BILL' => qq!Billing
P.O.
*Exp !. expselect("BILL", $paydate). qq!
*Attention
!, - 'COMP' => qq!Complimentary
*Approved by
*Exp !. expselect("COMP", $paydate), - 'PREPAY' => qq!Prepaid card
*!, - ); - - if ( $cvv_enabled ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $paybychecked{$payby} .= qq!
CVV2 (help!; - } - } - - for (@payby) { - if ( scalar(@payby) == 1) { - $OUT .= '"; - } else { - $OUT .= qq!!; - } else { - $OUT .= qq!> $payby{$_}!; - } - - } - } - %> - -
'. - qq!!. - "$paybychecked{$_} $paybychecked{$_}
* required fields for each billing type -

First package - - - - - - - - - - - - - - - - - - -<%= - if ( $security_phrase ) { - $OUT .= < - - - -ENDOUT - } else { - $OUT .= ''; - } -%> -<%= - if ( @svc_acct_pop ) { - $OUT .= ''; - } else { - $OUT .= popselector(popnum=>$popnum, pops=>\@svc_acct_pop); - } -%> -
Username
Password
Re-enter Password
Security Phrase -
Access number'. - popselector( 'popnum' => $popnum, - 'pops' => \@svc_acct_pop, - 'init_popstate' => $init_popstate, - 'popac' => $popac, - 'acstate' => $acstate, - ). - '
-

-
diff --git a/fs_selfservice/FS-SelfService/cgi/stateselect.html b/fs_selfservice/FS-SelfService/cgi/stateselect.html deleted file mode 100644 index ba55bff74..000000000 --- a/fs_selfservice/FS-SelfService/cgi/stateselect.html +++ /dev/null @@ -1,134 +0,0 @@ -ISP Signup -ISP Signup - state selection

- -
-Select your state from the map or dropdown: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - diff --git a/fs_selfservice/FS-SelfService/cgi/success.html b/fs_selfservice/FS-SelfService/cgi/success.html deleted file mode 100644 index 397cc6c30..000000000 --- a/fs_selfservice/FS-SelfService/cgi/success.html +++ /dev/null @@ -1,11 +0,0 @@ -Signup successful -Signup successful

-Thanks for signing up! -

-Signup information for <%= $email_name %>: -

-Username: <%= $username %>
-Password: <%= $password %>
-Access number: (<%= $ac %>) / <%= $exch %> - <%= $local %>
-Package: <%= $pkg %>
- diff --git a/fs_selfservice/FS-SelfService/cgi/svc_acct.html b/fs_selfservice/FS-SelfService/cgi/svc_acct.html deleted file mode 100644 index abed8786e..000000000 --- a/fs_selfservice/FS-SelfService/cgi/svc_acct.html +++ /dev/null @@ -1,55 +0,0 @@ -Setup <%= $svc %>

- -<%= if ( $error ) { - $OUT .= qq!Error setting up $svc: $error!. - '

'; -} ''; %> -
- - - - - - - - - - - - - - - - - - -<%= - if ( $security_phrase ) { - $OUT .= < - - - -ENDOUT - } else { - $OUT .= ''; - } -%> -<%= - if ( @svc_acct_pop ) { - $OUT .= ''; - } else { - $OUT .= popselector(popnum=>$popnum, pops=>\@svc_acct_pop); - } -%> -
Username
Password
Re-enter Password
Security Phrase -
Access number'. - popselector( 'popnum' => $popnum, - 'pops' => \@svc_acct_pop, - 'init_popstate' => $init_popstate, - 'popac' => $popac, - 'acstate' => $acstate, - ). - '
- -
diff --git a/fs_selfservice/FS-SelfService/cgi/view_customer.html b/fs_selfservice/FS-SelfService/cgi/view_customer.html deleted file mode 100644 index 11e4432d0..000000000 --- a/fs_selfservice/FS-SelfService/cgi/view_customer.html +++ /dev/null @@ -1,29 +0,0 @@ -Reseller -Reseller

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> - -<%= include('agent_menu') %> -
- -<%= $message - ? "$message

" - : '' -%> - -<%= $small_custview %> - -
- - -<%= include('agent_customer_menu') %> -
- -
- -
-
-powered by freeside - - - - diff --git a/fs_selfservice/FS-SelfService/cgi/view_invoice.html b/fs_selfservice/FS-SelfService/cgi/view_invoice.html deleted file mode 100644 index ad2f4f419..000000000 --- a/fs_selfservice/FS-SelfService/cgi/view_invoice.html +++ /dev/null @@ -1,15 +0,0 @@ -MyAccount -MyAccount

-<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> - - -<%= $invoice_html %> - - -
-powered by freeside - - - - diff --git a/fs_selfservice/FS-SelfService/freeside-selfservice-clientd b/fs_selfservice/FS-SelfService/freeside-selfservice-clientd deleted file mode 100644 index bdc8e1547..000000000 --- a/fs_selfservice/FS-SelfService/freeside-selfservice-clientd +++ /dev/null @@ -1,272 +0,0 @@ -#!/usr/bin/perl -w -# -# freeside-selfservice-clientd -# -# This is run REMOTELY over ssh by freeside-selfservice-server - -use strict; -use subs qw(spawn logmsg lock_write unlock_write); -use Fcntl qw(:flock); -use POSIX qw(:sys_wait_h); -use Socket; -use Storable 2.09 qw(nstore_fd fd_retrieve); -use IO::Handle qw(_IONBF); -use IO::Select; -use IO::File; - -#STDOUT->setbuf(''); - -my $tag = scalar(@ARGV) ? '.'.shift : ''; - -use vars qw( $Debug ); -$Debug = 2; #2 will turn on child logging - #3 will log packet contents,#including passwords - #4 will log receipts of all packets from server including - # keepalives (big!) - -my $socket = "/usr/local/freeside/selfservice_socket$tag"; -my $pid_file = "$socket.pid"; - -my $log_file = "/usr/local/freeside/selfservice$tag.log"; - -my $lock_file = "/usr/local/freeside/selfservice$tag.writelock"; - -#my $me = '[client]'; - -$|=1; - -$SIG{__WARN__} = \&_logmsg; - -#read data to be cached or something -#warn "$me Reading init data\n" if $Debug; -#my $signup_init = - -warn "Creating $lock_file\n" if $Debug; -open(LOCKFILE,">$lock_file") or die "can't open $lock_file: $!"; -close LOCKFILE; - -warn "Creating $socket\n" if $Debug; -my $uaddr = sockaddr_un($socket); -my $proto = getprotobyname('tcp'); -socket(Server,PF_UNIX,SOCK_STREAM,0) or die "socket: $!"; -unlink($socket); -bind(Server, $uaddr) or die "bind: $!"; -listen(Server,SOMAXCONN) or die "listen: $!"; - -if ( -e $pid_file ) { - open(PIDFILE,"<$pid_file"); - my $old_pid = ; - close PIDFILE; - if ( $old_pid =~ /^(\d+)$/ ) { - kill 'TERM', $1; - } -} -open(PIDFILE,">$pid_file"); -print PIDFILE "$$\n"; -close PIDFILE; - -#my $waitedpid; -#sub REAPER { $waitedpid = wait; $SIG{CHLD} = \&REAPER; } -#$SIG{CHLD} = \&REAPER; - -warn "enabling keep alives\n" if $Debug; -nstore_fd( { _packet => '_enable_keepalive' } , \*STDOUT ); - -warn "entering main loop\n" if $Debug; - -my %kids; - -my $s = new IO::Select; -$s->add(\*STDIN); -$s->add(\*Server); - -#for ( $waitedpid = 0; -# accept(Client,Server) || $waitedpid; -# $waitedpid = 0, close Client) -#{ -# next if $waitedpid; - -#$SIG{PIPE} = sub { warn "SIGPIPE received" }; -#$SIG{CHLD} = sub { warn "SIGCHLD received" }; - -#sub REAPER { warn "SIGCHLD received"; my $pid = wait; $SIG{CHLD} = \&REAPER; } -#sub REAPER { my $pid = wait; $SIG{CHLD} = \&REAPER; } -#sub REAPER { my $pid = wait; delete $kids{$pid}; $SIG{CHLD} = \&REAPER; } -#$SIG{CHLD} = \&REAPER; - -my $undisp = 0; -while (1) { - - &reap_kids; - - warn "waiting for connection\n" if $Debug && !$undisp; - - #my @handles = $s->can_read(); - my @handles = $s->can_read(5); - $undisp = !scalar(@handles); - foreach my $handle ( @handles ) { - - if ( $handle == \*STDIN ) { - - warn "receiving packet from server\n" if $Debug > 3; - - my $packet = fd_retrieve(\*STDIN); - my $token = $packet->{'_token'}; - - if ( $token eq '_keepalive' ) { - $undisp = 1; - next; - } - - warn "received packet from server with token $token\n". - ( $Debug > 2 - ? join('', map { " $_=>$packet->{$_}\n" } keys %$packet ) - : '' ) - if $Debug; - - if ( exists($kids{$token}) ) { - warn "sending return packet to $token via $kids{$token}\n" - if $Debug; - nstore_fd($packet, $kids{$token}); - warn "flushing to $token\n" if $Debug; - until ( $kids{$token}->flush ) { - warn "WARNING: error flushing: $!"; - sleep 1; - } - #no close or delete here - will block waiting for child - warn "done with $token\n" if $Debug; - } else { - warn "WARNING: unknown token $token, discarding message"; - } - - } elsif ( $handle == \*Server ) { - - until ( accept(Client, Server) ) { - warn "WARNING: accept failed: $!"; - next; - } - - warn "received local connection; forking\n" if $Debug; - - spawn sub { #child - warn "[child-$$] reading packet from local client" if $Debug > 1; - my $packet = fd_retrieve(\*Client); - warn "[child-$$] packet received:\n". - join('', map { " $_=>$packet->{$_}\n" } keys %$packet ) - if $Debug > 2; - my $command = $packet->{'command'}; - #handle some commands weirdly? - $packet->{_token}=$$; - - warn "[child-$$] locking write stream\n" if $Debug > 1; - lock_write; - - warn "[child-$$] sending packet to remote server\n" if $Debug > 1; - nstore_fd($packet, \*STDOUT) or die "FATAL: can't send response: $!"; - - warn "[child-$$] flushing write stream\n" if $Debug > 1; - STDOUT->flush or die "FATAL: can't flush: $!"; - - warn "[child-$$] releasing write lock\n" if $Debug > 1; - unlock_write; - - warn "[child-$$] closing write stream\n" if $Debug > 1; - close STDOUT or die "FATAL: can't close write stream: $!"; #??! - - warn "[child-$$] waiting for response from parent\n" if $Debug > 1; - my $w = new IO::Select; - $w->add(\*STDIN); - until ( $w->can_read ) { - warn "[child-$$] WARNING: interrupted select: $!\n"; - } - my $rv = fd_retrieve(\*STDIN); - - #close STDIN; - - warn "[child-$$] sending response to local client" if $Debug > 1; - nstore_fd($rv, \*Client); - Client->flush or die "FATAL: can't flush to local client: $!"; - close Client or die "FATAL: can't close connection to local client: $!"; - - warn "[child-$$] child exiting" if $Debug > 1; - exit; - - }; #eo child - - #close Client; - - } else { - die "wtf? $handle"; - } - - } - -} - -sub reap_kids { - #warn "reaping kids\n"; - foreach my $pid ( keys %kids ) { - my $kid = waitpid($pid, WNOHANG); - if ( $kid > 0 ) { - close $kids{$kid}; - delete $kids{$kid}; - } - } - #warn "done reaping\n"; -} - -sub spawn { - my $coderef = shift; - - unless (@_ == 0 && $coderef && ref($coderef) eq 'CODE') { - use Carp; - confess "usage: spawn CODEREF"; - } - - my $pid; - #if (!defined($pid = fork)) { - my $kid = new IO::Handle; - if (!defined($pid = open($kid, '|-'))) { - warn "WARNING: cannot fork: $!"; - return; - } elsif ($pid) { - warn "begat $pid" if $Debug; - $kids{$pid} = $kid; - #$kids{$pid}->autoflush; - return; # I'm the parent - } - # else I'm the child -- go spawn - -# open(STDIN, "<&Client") || die "can't dup client to stdin"; -# open(STDOUT, ">&Client") || die "can't dup client to stdout"; -# open(STDERR, ">&STDOUT") || die "can't dup stdout to stderr"; - exit &$coderef(); -} - -sub _logmsg { - chomp( my $msg = shift ); - my $log = new IO::File ">>$log_file"; - die "can't open $log_file: $!" unless defined($log); - flock($log, LOCK_EX); - seek($log, 0, 2); - print $log "[client] [". scalar(localtime). "] [$$] $msg\n"; - flock($log, LOCK_UN); - close $log; -} - -sub lock_write { - #broken on freebsd? - #flock(STDOUT, LOCK_EX) or die "FATAL: can't lock write stream: $!"; - - #open a new one for each kid to get a unique lock - open(LOCKFILE,">$lock_file") or die "can't open $lock_file: $!"; - - flock(LOCKFILE, LOCK_EX) or die "FATAL: can't lock $lock_file: $!"; -} - -sub unlock_write { - #broken on freebsd? - #flock(STDOUT, LOCK_UN) or die "FATAL: can't release write lock: $!"; - - flock(LOCKFILE, LOCK_UN) or die "FATAL: can't unlock $lock_file: $!"; -} diff --git a/fs_selfservice/FS-SelfService/ieak.template b/fs_selfservice/FS-SelfService/ieak.template deleted file mode 100755 index 52edaa951..000000000 --- a/fs_selfservice/FS-SelfService/ieak.template +++ /dev/null @@ -1,40 +0,0 @@ -[Entry] -Entry_Name = The Internet -[Phone] -Dial_As_Is=no -Phone_Number = { $exch. $loc } -Area_Code = { $ac } -Country_Code = 1 -Country_Id = 1 -[Server] -Type = PPP -SW_Compress = Yes -PW_Encrypt = Yes -Negotiate_TCP/IP = Yes -Disable_LCP = No -[TCP/IP] -Specify_IP_Address = No -Specity_Server_Address = No -IP_Header_Compress = Yes -Gateway_On_Remote = Yes -[User] -Name = { $username } -Password = { $password } -Display_Password = Yes -[Internet_Mail] -Email_Name = { $email_name } -Email_Address = { $username }\@domain.tld -POP_Server = mail.domain.tld -POP_Server_Port_Number = 110 -POP_Login_Name = { $username } -POP_Login_Password = { $password } -SMTP_Server = mail.domain.tld -SMTP_Server_Port_Number = 25 -Install_Mail = 1 -[Internet_News] -NNTP_Server = news.domain.tld -NNTP_Server_Port_Number = 119 -Logon_Required = No -Install_News = 1 -[Branding] -Window_Title = The Internet diff --git a/fs_selfservice/FS-SelfService/test.pl b/fs_selfservice/FS-SelfService/test.pl deleted file mode 100644 index 7468ea471..000000000 --- a/fs_selfservice/FS-SelfService/test.pl +++ /dev/null @@ -1,17 +0,0 @@ -# Before `make install' is performed this script should be runnable with -# `make test'. After `make install' it should work as `perl test.pl' - -######################### - -# change 'tests => 1' to 'tests => last_test_to_print'; - -use Test; -BEGIN { plan tests => 1 }; -use FS::SelfService; -ok(1); # If we made it this far, we're ok. - -######################### - -# Insert your test code below, the Test module is use()ed here so read -# its man page ( perldoc Test ) for help writing this test script. - -- cgit v1.2.1