X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=fs_selfservice%2FFS-SelfService%2FSelfService.pm;h=56c96f61bae0c942b6d5e7c8e70cf415ee9d0412;hb=b023b9a96799ee2ad11abc0c23fcaf33a8bf12ca;hp=0492b0934f55243a36ef0da5dd479ead1a16a922;hpb=533c1a26db76bcd486e36099da3976d7853ea46d;p=freeside.git
diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm
index 0492b0934..56c96f61b 100644
--- a/fs_selfservice/FS-SelfService/SelfService.pm
+++ b/fs_selfservice/FS-SelfService/SelfService.pm
@@ -1,7 +1,8 @@
package FS::SelfService;
use strict;
-use vars qw($VERSION @ISA @EXPORT_OK $DEBUG $dir $socket %autoload $tag);
+use vars qw( $VERSION @ISA @EXPORT_OK $DEBUG
+ $skip_uid_check $dir $socket %autoload $tag );
use Exporter;
use Socket;
use FileHandle;
@@ -24,6 +25,7 @@ $socket .= '.'.$tag if defined $tag && length($tag);
'passwd' => 'passwd/passwd',
'chfn' => 'passwd/passwd',
'chsh' => 'passwd/passwd',
+ 'login_info' => 'MyAccount/login_info',
'login' => 'MyAccount/login',
'logout' => 'MyAccount/logout',
'customer_info' => 'MyAccount/customer_info',
@@ -58,8 +60,15 @@ $socket .= '.'.$tag if defined $tag && length($tag);
'agent_info' => 'Agent/agent_info',
'agent_list_customers' => 'Agent/agent_list_customers',
'mason_comp' => 'MasonComponent/mason_comp',
+ 'call_time' => 'PrepaidPhone/call_time',
+ 'call_time_nanpa' => 'PrepaidPhone/call_time_nanpa',
+ 'phonenum_balance' => 'PrepaidPhone/phonenum_balance',
+);
+@EXPORT_OK = (
+ keys(%autoload),
+ qw( regionselector regionselector_hashref
+ expselect popselector domainselector didselector )
);
-@EXPORT_OK = ( keys(%autoload), qw( regionselector expselect popselector domainselector didselector) );
$ENV{'PATH'} ='/usr/bin:/usr/ucb:/bin';
$ENV{'SHELL'} = '/bin/sh';
@@ -68,8 +77,11 @@ $ENV{'CDPATH'} = '';
$ENV{'ENV'} = '';
$ENV{'BASH_ENV'} = '';
+#you can add BEGIN { $FS::SelfService::skip_uid_check = 1; }
+#if you grant appropriate permissions to whatever user
my $freeside_uid = scalar(getpwnam('freeside'));
-die "not running as the freeside user\n" if $> != $freeside_uid;
+die "not running as the freeside user\n"
+ if $> != $freeside_uid && ! $skip_uid_check;
-e $dir or die "FATAL: $dir doesn't exist!";
-d $dir or die "FATAL: $dir isn't a directory!";
@@ -601,11 +613,17 @@ Array reference with three elements:
=over 4
-=item Name of this service
+=item
+
+Name of this service
+
+=item
+
+Meaningful user-specific identifier for the service (i.e. username, domain or mail alias)
-=item Meaningful user-specific identifier for the service (i.e. username, domain or mail alias)
+=item
-=item Table name of this service
+Table name of this service
=back
@@ -1176,24 +1194,45 @@ END
}
$state_html .= '';
- $state_html .= '';
+ my $country_html = '';
+ if ( scalar( keys %cust_main_county ) > 1 ) {
+
+ $country_html = qq(';
+ } else {
+
+ $country_html = qq(';
- my $country_html = qq!';
($county_html, $state_html, $country_html);
}
+sub regionselector_hashref {
+ my ($county_html, $state_html, $country_html) = regionselector(@_);
+ {
+ 'county_html' => $county_html,
+ 'state_html' => $state_html,
+ 'country_html' => $country_html,
+ };
+}
+
#=item expselect HASHREF | LIST
#
#Takes as input a hashref or list of key/value pairs with the following keys: