diff options
author | ivan <ivan> | 2008-11-29 21:54:35 +0000 |
---|---|---|
committer | ivan <ivan> | 2008-11-29 21:54:35 +0000 |
commit | b023b9a96799ee2ad11abc0c23fcaf33a8bf12ca (patch) | |
tree | cc3622520f32ea2442c020125882c77f2780995e /fs_selfservice/FS-SelfService/SelfService.pm | |
parent | 7efa0ac8ebfef28bf6cb277c0c2b53159479df21 (diff) |
add selfservice_server-single_domain config, and login_info self-service method to give the login page a bit more configurability
Diffstat (limited to 'fs_selfservice/FS-SelfService/SelfService.pm')
-rw-r--r-- | fs_selfservice/FS-SelfService/SelfService.pm | 50 |
1 files changed, 38 insertions, 12 deletions
diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm index cba85e0db..56c96f61b 100644 --- a/fs_selfservice/FS-SelfService/SelfService.pm +++ b/fs_selfservice/FS-SelfService/SelfService.pm @@ -25,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', @@ -63,7 +64,11 @@ $socket .= '.'.$tag if defined $tag && length($tag); 'call_time_nanpa' => 'PrepaidPhone/call_time_nanpa', 'phonenum_balance' => 'PrepaidPhone/phonenum_balance', ); -@EXPORT_OK = ( keys(%autoload), qw( regionselector expselect popselector domainselector didselector) ); +@EXPORT_OK = ( + keys(%autoload), + qw( regionselector regionselector_hashref + expselect popselector domainselector didselector ) +); $ENV{'PATH'} ='/usr/bin:/usr/ucb:/bin'; $ENV{'SHELL'} = '/bin/sh'; @@ -1189,24 +1194,45 @@ END } $state_html .= '</SELECT>'; - $state_html .= '</SELECT>'; + my $country_html = ''; + if ( scalar( keys %cust_main_county ) > 1 ) { + + $country_html = qq(<SELECT NAME="${prefix}country" ). + qq(onChange="${prefix}country_changed(this); ). + $param->{'onchange'}. + '"'. + '>'; + my $countrydefault = $param->{default_country} || 'US'; + foreach my $country ( + sort { ($b eq $countrydefault) <=> ($a eq $countrydefault) or $a cmp $b } + keys %cust_main_county + ) { + my $selected = $country eq $param->{'selected_country'} + ? ' SELECTED' + : ''; + $country_html .= "\n<OPTION$selected>$country</OPTION>" + } + $country_html .= '</SELECT>'; + } else { + + $country_html = qq(<INPUT TYPE="hidden" NAME="${prefix}country" ). + ' VALUE="'. (keys %cust_main_county )[0]. '">'; - my $country_html = qq!<SELECT NAME="${prefix}country" !. - qq!onChange="${prefix}country_changed(this); $param->{'onchange'}">!; - my $countrydefault = $param->{default_country} || 'US'; - foreach my $country ( - sort { ($b eq $countrydefault) <=> ($a eq $countrydefault) or $a cmp $b } - keys %cust_main_county - ) { - my $selected = $country eq $param->{'selected_country'} ? ' SELECTED' : ''; - $country_html .= "\n<OPTION$selected>$country</OPTION>" } - $country_html .= '</SELECT>'; ($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: |