diff options
Diffstat (limited to 'fs_selfservice')
201 files changed, 0 insertions, 27856 deletions
diff --git a/fs_selfservice/DEPLOY b/fs_selfservice/DEPLOY deleted file mode 100755 index e73012f4b..000000000 --- a/fs_selfservice/DEPLOY +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -#this is a quick hack for my dev machine. do not use it. -# see the "make install-selfservice" and "make update-selfservice" makefile -# targets to properly install this stuff. - -#kill `cat /var/run/freeside-selfservice-server.fs_selfservice.pid` - -cd FS-SelfService -perl Makefile.PL && make && make install -cd .. - -#( cd ..; make deploy; cd fs_selfservice ) -( cd ..; make clean; make install-perl-modules; /etc/init.d/freeside restart; cd fs_selfservice ) - -#cp /home/ivan/freeside/fs_selfservice/FS-SelfService/cgi/* /var/www/MyAccount -#chown freeside /var/www/MyAccount/*.cgi -#chmod 755 /var/www/MyAccount/*.cgi -#ln -s /var/www/MyAccount/selfservice.cgi /var/www/MyAccount/index.cgi || true - - #cp /home/ivan/freeside/fs_signup/FS-SignupClient/cgi/* /var/www/signup/ - ##mv /var/www/signup/signup-snarf.html /var/www/signup/signup.html #!!!!! - ##mv /var/www/signup/signup-billaddress.html /var/www/signup/signup.html #!!!!! - ##mv /var/www/signup/signup-freeoption.html /var/www/signup/signup.html #!!!!! - #chown freeside /var/www/signup/signup.cgi - #chmod 755 /var/www/signup/signup.cgi - #ln -s /var/www/signup/signup.cgi /var/www/signup/index.cgi || true - - -chmod 755 /var/www/selfservice/*.cgi 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 2e4d3fec4..000000000 --- a/fs_selfservice/FS-SelfService/MANIFEST +++ /dev/null @@ -1,9 +0,0 @@ -Changes -Makefile.PL -MANIFEST -SelfService.pm -SelfService/XMLRPC.pm -test.pl -freeside-selfservice-clientd -freeside-selfservice-soap-server -freeside-selfservice-xmlrpc-server diff --git a/fs_selfservice/FS-SelfService/Makefile.PL b/fs_selfservice/FS-SelfService/Makefile.PL deleted file mode 100644 index 600c9d5f5..000000000 --- a/fs_selfservice/FS-SelfService/Makefile.PL +++ /dev/null @@ -1,21 +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-soap-server', - '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 <ivan-freeside-selfservice@420.am>') : ()), -); diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm deleted file mode 100644 index fe2feb3c1..000000000 --- a/fs_selfservice/FS-SelfService/SelfService.pm +++ /dev/null @@ -1,1852 +0,0 @@ -package FS::SelfService; - -use strict; -use vars qw( $VERSION @ISA @EXPORT_OK $DEBUG - $skip_uid_check $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 ); - -$DEBUG = 0; - -$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_info' => 'MyAccount/login_info', - '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', - 'payment_info_renew_info' => 'MyAccount/payment_info_renew_info', - 'process_payment' => 'MyAccount/process_payment', - 'process_payment_order_pkg' => 'MyAccount/process_payment_order_pkg', - 'process_payment_change_pkg' => 'MyAccount/process_payment_change_pkg', - 'process_payment_order_renew' => 'MyAccount/process_payment_order_renew', - 'process_prepay' => 'MyAccount/process_prepay', - 'realtime_collect' => 'MyAccount/realtime_collect', - 'list_pkgs' => 'MyAccount/list_pkgs', #add to ss (added?) - 'list_svcs' => 'MyAccount/list_svcs', #add to ss (added?) - 'list_svc_usage' => 'MyAccount/list_svc_usage', - 'list_cdr_usage' => 'MyAccount/list_cdr_usage', - 'list_support_usage' => 'MyAccount/list_support_usage', - 'order_pkg' => 'MyAccount/order_pkg', #add to ss cgi! - 'change_pkg' => 'MyAccount/change_pkg', - 'order_recharge' => 'MyAccount/order_recharge', - 'renew_info' => 'MyAccount/renew_info', - 'order_renew' => 'MyAccount/order_renew', - 'cancel_pkg' => 'MyAccount/cancel_pkg', #add to ss cgi! - 'suspend_pkg' => 'MyAccount/suspend_pkg', #add to ss cgi! - 'charge' => 'MyAccount/charge', #? - 'part_svc_info' => 'MyAccount/part_svc_info', - 'provision_acct' => 'MyAccount/provision_acct', - 'provision_phone' => 'MyAccount/provision_phone', - 'provision_external' => 'MyAccount/provision_external', - 'unprovision_svc' => 'MyAccount/unprovision_svc', - 'myaccount_passwd' => 'MyAccount/myaccount_passwd', - 'create_ticket' => 'MyAccount/create_ticket', - 'get_ticket' => 'MyAccount/get_ticket', - 'did_report' => 'MyAccount/did_report', - 'signup_info' => 'Signup/signup_info', - 'skin_info' => 'MyAccount/skin_info', - 'access_info' => 'MyAccount/access_info', - 'domain_select_hash' => 'Signup/domain_select_hash', # expose? - 'new_customer' => 'Signup/new_customer', - 'capture_payment' => 'Signup/capture_payment', - 'agent_login' => 'Agent/agent_login', - 'agent_logout' => 'Agent/agent_logout', - 'agent_info' => 'Agent/agent_info', - 'agent_list_customers' => 'Agent/agent_list_customers', - 'check_username' => 'Agent/check_username', - 'suspend_username' => 'Agent/suspend_username', - 'unsuspend_username' => 'Agent/unsuspend_username', - 'mason_comp' => 'MasonComponent/mason_comp', - 'call_time' => 'PrepaidPhone/call_time', - 'call_time_nanpa' => 'PrepaidPhone/call_time_nanpa', - 'phonenum_balance' => 'PrepaidPhone/phonenum_balance', - #izoom - #'bulk_processrow' => 'Bulk/processrow', - #conflicts w/Agent one# 'check_username' => 'Bulk/check_username', - #sg - 'ping' => 'SGNG/ping', - 'decompify_pkgs' => 'SGNG/decompify_pkgs', - 'previous_payment_info' => 'SGNG/previous_payment_info', - 'previous_payment_info_renew_info' - => 'SGNG/previous_payment_info_renew_info', - 'previous_process_payment' => 'SGNG/previous_process_payment', - 'previous_process_payment_order_pkg' - => 'SGNG/previous_process_payment_order_pkg', - 'previous_process_payment_change_pkg' - => 'SGNG/previous_process_payment_change_pkg', - 'previous_process_payment_order_renew' - => 'SGNG/previous_process_payment_order_renew', -); -@EXPORT_OK = ( - keys(%autoload), - qw( regionselector regionselector_hashref location_form - expselect popselector domainselector didselector - ) -); - -$ENV{'PATH'} ='/usr/bin:/usr/ucb:/bin'; -$ENV{'SHELL'} = '/bin/sh'; -$ENV{'IFS'} = " \t\n"; -$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 && ! $skip_uid_check; - --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; - warn "sending ". $packet->{_packet}. " to server" - if $DEBUG; - 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; - - warn "reading message from server" - if $DEBUG; - - my $return = fd_retrieve(\*SOCK) or die "error reading result: $!"; - die $return->{'_error'} if defined $return->{_error} && $return->{_error}; - - warn "returning message to client" - if $DEBUG; - - $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, - 'agentnum' => $agentnum, - 'pkgpart' => $pkgpart, - - 'username' => $username, - '_password' => $password, - 'popnum' => $popnum, - #OR - 'countrycode' => 1, - 'phonenum' => $phonenum, - 'pin' => $pin, - } - ); - - 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 - -Username - -=item domain - -Domain - -=item password - -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<session_id> - -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<error>, 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<session_id> - -Returns a hash reference with a single key, B<error>, 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<session_id>. - -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 - -Address line one - -=item address2 - -Address line two - -=item city - -City - -=item state - -State - -=item zip - -Zip or postal code - -=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<FS::cust_main_county>). 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 - -=cut - -#this doesn't actually work yet -# -#=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 - -Session identifier - -=item amount - -Amount - -=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<save> is set true. - -=item payname - -Name on card - -=item address1 - -Address line one - -=item address2 - -Address line two - -=item city - -City - -=item state - -State - -=item zip - -Zip or postal code - -=item country - -Two-letter country code - -=item payinfo - -Card number - -=item month - -Card expiration month - -=item year - -Card expiration year - -=cut - -#this doesn't actually work yet -# -#=item paybatch -# -#Unique transaction identifier, returned from the payment_info function. -#Prevents multiple charges. - -=back - -Returns a hash reference with a single key, B<error>, empty on success, or an -error message on errors. - -=item process_payment_order_pkg - -Combines the B<process_payment> and B<order_pkg> functions in one step. If the -payment processes sucessfully, the package is ordered. Takes a hash reference -as parameter with the keys of both methods. - -Returns a hash reference with a single key, B<error>, empty on success, or an -error message on errors. - -=item process_payment_change_pkg - -Combines the B<process_payment> and B<change_pkg> functions in one step. If the -payment processes sucessfully, the package is ordered. Takes a hash reference -as parameter with the keys of both methods. - -Returns a hash reference with a single key, B<error>, empty on success, or an -error message on errors. - - -=item process_payment_order_renew - -Combines the B<process_payment> and B<order_renew> functions in one step. If -the payment processes sucessfully, the renewal is processed. Takes a hash -reference as parameter with the keys of both methods. - -Returns a hash reference with a single key, B<error>, empty on success, or an -error message on errors. - -=item list_pkgs - -Returns package information for this customer. For more detail on services, -see L</list_svcs>. - -Takes a hash reference as parameter with a single key: B<session_id> - -Returns a hash reference containing customer package information. The hash reference contains the following keys: - -=over 4 - -=item custnum - -Customer number - -=item error - -Empty on success, or an error message on errors. - -=item cust_pkg HASHREF - -Array reference of hash references, each of which has the fields of a cust_pkg -record (see L<FS::cust_pkg>) as well as the fields below. Note these are not -the internal FS:: objects, but hash references of columns and values. - -=over 4 - -=item part_pkg fields - -All fields of part_pkg for this specific cust_pkg (be careful with this -information - it may reveal more about your available packages than you would -like users to know in aggregate) - -=cut - -#XXX pare part_pkg fields down to a more secure subset - -=item part_svc - -An array of hash references indicating information on unprovisioned services -available for provisioning for this specific cust_pkg. Each has the following -keys: - -=over 4 - -=item part_svc fields - -All fields of part_svc (be careful with this information - it may reveal more -about your available packages than you would like users to know in aggregate) - -=cut - -#XXX pare part_svc fields down to a more secure subset - -=back - -=item cust_svc - -An array of hash references indicating information on the customer services -already provisioned for this specific cust_pkg. Each has the following keys: - -=over 4 - -=item label - -Array reference with three elements: The first element is the name of this service. The second element is a meaningful user-specific identifier for the service (i.e. username, domain or mail alias). The last element is the table name of this service. - -=back - -=item svcnum - -Primary key for this service - -=item svcpart - -Service definition (see L<FS::part_svc>) - -=item pkgnum - -Customer package (see L<FS::cust_pkg>) - -=item overlimit - -Blank if the service is not over limit, or the date the service exceeded its usage limit (as a UNIX timestamp). - -=back - -=back - -=item list_svcs - -Returns service information for this customer. - -Takes a hash reference as parameter with a single key: B<session_id> - -Returns a hash reference containing customer package information. The hash reference contains the following keys: - -=over 4 - -=item custnum - -Customer number - -=item svcs - -An array of hash references indicating information on all of this customer's -services. Each has the following keys: - -=over 4 - -=item svcnum - -Primary key for this service - -=item label - -Name of this service - -=item value - -Meaningful user-specific identifier for the service (i.e. username, domain, or -mail alias). - -=back - -Account (svc_acct) services also have the following keys: - -=over 4 - -=item username - -Username - -=item email - -username@domain - -=item seconds - -Seconds remaining - -=item upbytes - -Upload bytes remaining - -=item downbytes - -Download bytes remaining - -=item totalbytes - -Total bytes remaining - -=item recharge_amount - -Cost of a recharge - -=item recharge_seconds - -Number of seconds gained by recharge - -=item recharge_upbytes - -Number of upload bytes gained by recharge - -=item recharge_downbytes - -Number of download bytes gained by recharge - -=item recharge_totalbytes - -Number of total bytes gained by recharge - -=back - -=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 - -Session identifier - -=item pkgpart - -Package to order (see L<FS::part_pkg>). - -=item svcpart - -Service to order (see L<FS::part_svc>). - -Normally optional; required only to provision a non-svc_acct service, or if the -package definition does not contain one svc_acct service definition with -quantity 1 (it may contain others with quantity >1). A svcpart of "none" can -also be specified to indicate that no initial service should be provisioned. - -=back - -Fields used when provisioning an svc_acct service: - -=over 4 - -=item username - -Username - -=item _password - -Password - -=item sec_phrase - -Optional security phrase - -=item popnum - -Optional Access number number - -=back - -Fields used when provisioning an svc_domain service: - -=over 4 - -=item domain - -Domain - -=back - -Fields used when provisioning an svc_phone service: - -=over 4 - -=item phonenum - -Phone number - -=item pin - -Voicemail PIN - -=item sip_password - -SIP password - -=back - -Fields used when provisioning an svc_external service: - -=over 4 - -=item id - -External numeric ID. - -=item title - -External text title. - -=back - -Returns a hash reference with a single key, B<error>, empty on success, or an -error message on errors. The special error '_decline' is returned for -declined transactions. - -=item change_pkg - -Changes a package for this customer. - -Takes a hash reference as parameter with the following keys: - -=over 4 - -=item session_id - -Session identifier - -=item pkgnum - -Existing customer package. - -=item pkgpart - -New package to order (see L<FS::part_pkg>). - -=back - -Returns a hash reference with a single key, B<error>, empty on success, or an -error message on errors. - -=item renew_info - -Provides useful info for early renewals. - -Takes a hash reference as parameter with the following keys: - -=over 4 - -=item session_id - -Session identifier - -=back - -Returns a hash reference. On errors, it contains a single key, B<error>, with -the error message. Otherwise, contains a single key, B<dates>, pointing to -an array refernce of hash references. Each hash reference contains the -following keys: - -=over 4 - -=item bill_date - -(Future) Bill date. Indicates a future date for which billing could be run. -Specified as a integer UNIX timestamp. Pass this value to the B<order_renew> -function. - -=item bill_date_pretty - -(Future) Bill date as a human-readable string. (Convenience for display; -subject to change, so best not to parse for the date.) - -=item amount - -Base amount which will be charged if renewed early as of this date. - -=item renew_date - -Renewal date; i.e. even-futher future date at which the customer will be paid -through if the early renewal is completed with the given B<bill-date>. -Specified as a integer UNIX timestamp. - -=item renew_date_pretty - -Renewal date as a human-readable string. (Convenience for display; -subject to change, so best not to parse for the date.) - -=item pkgnum - -Package that will be renewed. - -=item expire_date - -Expiration date of the package that will be renewed. - -=item expire_date_pretty - -Expiration date of the package that will be renewed, as a human-readable -string. (Convenience for display; subject to change, so best not to parse for -the date.) - -=back - -=item order_renew - -Renews this customer early; i.e. runs billing for this customer in advance. - -Takes a hash reference as parameter with the following keys: - -=over 4 - -=item session_id - -Session identifier - -=item date - -Integer date as returned by the B<renew_info> function, indicating the advance -date for which to run billing. - -=back - -Returns a hash reference with a single key, B<error>, empty on success, or an -error message on errors. - -=item cancel_pkg - -Cancels a package for this customer. - -Takes a hash reference as parameter with the following keys: - -=over 4 - -=item session_id - -Session identifier - -=item pkgpart - -pkgpart of package to cancel - -=back - -Returns a hash reference with a single key, B<error>, 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<FS::cust_main_county>). 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<FS::part_pkg>). 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<FS::part_pkg/payby>). 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<FS::agent>). 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<FS::svc_acct_pop>). 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, definitely 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 - -Company name - -=item address1 (required) - -Address line one - -=item address2 - -Address line two - -=item city (required) - -City - -=item county - -County - -=item state (required) - -State - -=item zip (required) - -Zip or postal code - -=item daytime - -Daytime phone number - -=item night - -Evening phone number - -=item fax - -Fax number - -=item payby - -CARD, DCRD, CHEK, DCHK, LECB, BILL, COMP or PREPAY (see L</signup_info> (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 agentnum - -Agent number - -=item pkgpart - -pkgpart of initial package - -=item username - -Username - -=item _password - -Password - -=item sec_phrase - -Security phrase - -=item popnum - -Access number (index, not the literal number) - -=item countrycode - -Country code (to be provisioned as a service) - -=item phonenum - -Phone number (to be provisioned as a service) - -=item pin - -Voicemail PIN - -=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 Configuration | 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 - -Currently selected county - -=item selected_state - -Currently selected state - -=item selected_country - -Currently 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 - -Default state - -=item default_country - -Default country - -=item locales - -An arrayref of hash references specifying regions. Normally you can just pass the value of the I<cust_main_county> field returned by B<signup_info>. - -=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 = <<END; - <SCRIPT> - 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 .= <<END; - } - function ${prefix}state_changed(what) { -END - - if ( $countyflag ) { - $script_html .= <<END; - state = what.options[what.selectedIndex].text; - country = what.form.${prefix}country.options[what.form.${prefix}country.selectedIndex].text; - for ( var i = what.form.${prefix}county.length; i >= 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; - } - </SCRIPT> -END - - my $county_html = $script_html; - if ( $countyflag ) { - $county_html .= qq!<SELECT NAME="${prefix}county" onChange="$param->{'onchange'}">!; - foreach my $county ( - sort keys %{ $cust_main_county{$param->{'selected_country'}}{$param->{'selected_state'}} } - ) { - my $text = $county || '(n/a)'; - $county_html .= qq!<OPTION VALUE="$county"!. - ($county eq $param->{'selected_county'} ? - ' SELECTED>' : - '>' - ). - $text. - '</OPTION>'; - } - $county_html .= '</SELECT>'; - } else { - $county_html .= - qq!<INPUT TYPE="hidden" NAME="${prefix}county" VALUE="$param->{'selected_county'}">!; - } - - my $state_html = qq!<SELECT NAME="${prefix}state" !. - qq!onChange="${prefix}state_changed(this); $param->{'onchange'}">!; - foreach my $state ( sort keys %{ $cust_main_county{$param->{'selected_country'}} } ) { - my $text = $state || '(n/a)'; - my $selected = $state eq $param->{'selected_state'} ? 'SELECTED' : ''; - $state_html .= "\n<OPTION $selected VALUE=$state>$text</OPTION>" - } - $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]. '">'; - - } - - ($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 location_form HASHREF | LIST - -Takes as input a hashref or list of key/value pairs with the following keys: - -=over 4 - -=item session_id - -Current customer session_id - -=item no_asterisks - -Omit red asterisks from required fields. - -=item address1_label - -Label for first address line. - -=back - -Returns an HTML fragment for a location form (address, city, state, zip, -country) - -=cut - -sub location_form { - my $param; - if ( ref($_[0]) ) { - $param = shift; - } else { - $param = { @_ }; - } - - my $session_id = delete $param->{'session_id'}; - - my $rv = mason_comp( 'session_id' => $session_id, - 'comp' => '/elements/location.html', - 'args' => [ %$param ], - ); - - #hmm. - $rv->{'error'} || $rv->{'output'}; - -} - - -#=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!<SELECT NAME="$prefix!. qq!_month" SIZE="1">!; - for ( 1 .. 12 ) { - $return .= qq!<OPTION VALUE="$_"!; - $return .= " SELECTED" if $_ == $m; - $return .= ">$_"; - } - $return .= qq!</SELECT>/<SELECT NAME="$prefix!. qq!_year" SIZE="1">!; - my @t = localtime; - my $thisYear = $t[5] + 1900; - for ( ($thisYear > $y && $y > 0 ? $y : $thisYear) .. ($thisYear+10) ) { - $return .= qq!<OPTION VALUE="$_"!; - $return .= " SELECTED" if $_ == $y; - $return .= ">$_"; - } - $return .= "</SELECT>"; - - $return; -} - -=item popselector HASHREF | LIST - -Takes as input a hashref or list of key/value pairs with the following keys: - -=over 4 - -=item popnum - -Access number number - -=item pops - -An arrayref of hash references specifying access numbers. Normally you can just pass the value of the I<svc_acct_pop> field returned by B<signup_info>. - -=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 '<INPUT TYPE="hidden" NAME="popnum" VALUE="">' unless @$pops; - return $pops->[0]{city}. ', '. $pops->[0]{state}. - ' ('. $pops->[0]{ac}. ')/'. $pops->[0]{exch}. '-'. $pops->[0]{loc}. - '<INPUT TYPE="hidden" NAME="popnum" VALUE="'. $pops->[0]{popnum}. '">' - if scalar(@$pops) == 1; - - my %pop = (); - my %popnum2pop = (); - foreach (@$pops) { - push @{ $pop{ $_->{state} }->{ $_->{ac} } }, $_; - $popnum2pop{$_->{popnum}} = $_; - } - - my $text = <<END; - <SCRIPT> - 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 .= '<INPUT TYPE="hidden" NAME="init_popstate" VALUE="'. - $init_popstate. '">'; - } else { - $text .= <<END; - function acstate_changed(what) { - state = what.options[what.selectedIndex].text; - what.form.popac.options.length = 0 - what.form.popac.options[0] = new Option("Area code", "-1", false, true); -END - } - - my @states = $init_popstate ? ( $init_popstate ) : keys %pop; - foreach my $state ( sort { $a cmp $b } @states ) { - $text .= "\nif ( state == \"$state\" ) {\n" unless $init_popstate; - - foreach my $ac ( sort { $a cmp $b } keys %{ $pop{$state} }) { - $text .= "opt(what.form.popac, \"$ac\", \"$ac\");\n"; - if ($ac eq $param->{'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 .= <<END; - function popac_changed(what) { - ac = what.options[what.selectedIndex].text; - what.form.popnum.options.length = 0; - what.form.popnum.options[0] = new Option("City", "-1", false, true); - -END - - foreach my $state ( @states ) { - foreach my $popac ( keys %{ $pop{$state} } ) { - $text .= "\nif ( ac == \"$popac\" ) {\n"; - - foreach my $pop ( @{$pop{$state}->{$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</SCRIPT>\n"; - - $param->{'acstate'} = '' unless defined($param->{'acstate'}); - - $text .= - qq!<TABLE CELLPADDING="0"><TR><TD><SELECT NAME="acstate"! . - qq!SIZE=1 onChange="acstate_changed(this)"><OPTION VALUE=-1>State!; - $text .= "<OPTION" . ($_ eq $param->{'acstate'} ? " SELECTED" : "") . - ">$_" foreach sort { $a cmp $b } @states; - $text .= '</SELECT>'; #callback? return 3 html pieces? #'</TD>'; - - $text .= - qq!<SELECT NAME="popac" SIZE=1 onChange="popac_changed(this)">!. - qq!<OPTION>Area code</SELECT></TR><TR VALIGN="top">!; - - $text .= qq!<TR><TD><SELECT NAME="popnum" SIZE=1 STYLE="width: 20em"><OPTION>City!; - - - #comment this block to disable initial list polulation - my @initial_select = (); - if ( scalar( @$pops ) > 100 ) { - push @initial_select, $popnum2pop{$popnum} if $popnum2pop{$popnum}; - } else { - @initial_select = @$pops; - } - foreach my $pop ( sort { $a->{state} cmp $b->{state} } @initial_select ) { - $text .= qq!<OPTION VALUE="!. $pop->{popnum}. '"'. - ( ( $popnum && $pop->{popnum} == $popnum ) ? ' SELECTED' : '' ). ">". - $pop->{city}. ', '. $pop->{state}. - ' ('. $pop->{ac}. ')/'. $pop->{exch}. '-'. $pop->{loc}; - } - - $text .= qq!</SELECT></TD></TR></TABLE>!; - - $text; - -} - -=item domainselector HASHREF | LIST - -Takes as input a hashref or list of key/value pairs with the following keys: - -=over 4 - -=item pkgnum - -Package number - -=item domsvc - -Service number of the selected item. - -=back - -Returns an HTML fragment for domain selection. - -=cut - -sub domainselector { - my $param; - if ( ref($_[0]) ) { - $param = shift; - } else { - $param = { @_ }; - } - my $domsvc= $param->{'domsvc'}; - my $rv = - domain_select_hash(map {$_ => $param->{$_}} qw(pkgnum svcpart pkgpart) ); - my $domains = $rv->{'domains'}; - $domsvc = $rv->{'domsvc'} unless $domsvc; - - return '<INPUT TYPE="hidden" NAME="domsvc" VALUE="">' - unless scalar(keys %$domains); - - if (scalar(keys %$domains) == 1) { - my $key; - foreach(keys %$domains) { - $key = $_; - } - return '<TR><TD ALIGN="right">Domain</TD><TD>'. $domains->{$key}. - '<INPUT TYPE="hidden" NAME="domsvc" VALUE="'. $key. '"></TD></TR>' - } - - my $text .= qq!<TR><TD ALIGN="right">Domain</TD><TD><SELECT NAME="domsvc" SIZE=1 STYLE="width: 20em"><OPTION>(Choose Domain)!; - - - foreach my $domain ( sort { $domains->{$a} cmp $domains->{$b} } keys %$domains ) { - $text .= qq!<OPTION VALUE="!. $domain. '"'. - ( ( $domsvc && $domain == $domsvc ) ? ' SELECTED' : '' ). ">". - $domains->{$domain}; - } - - $text .= qq!</SELECT></TD></TR>!; - - $text; - -} - -=item didselector HASHREF | LIST - -Takes as input a hashref or list of key/value pairs with the following keys: - -=over 4 - -=item field - -Field name for the returned HTML fragment. - -=item svcpart - -Service definition (see L<FS::part_svc>) - -=back - -Returns an HTML fragment for DID selection. - -=cut - -sub didselector { - my $param; - if ( ref($_[0]) ) { - $param = shift; - } else { - $param = { @_ }; - } - - my $rv = mason_comp( 'comp'=>'/elements/select-did.html', - 'args'=>[ %$param ], - ); - - #hmm. - $rv->{'error'} || $rv->{'output'}; - -} - -=back - -=head1 RESELLER FUNCTIONS - -Note: Resellers can also use the B<signup_info> and B<new_customer> functions -with their active session, and the B<customer_info> and B<order_pkg> functions -with their active session and an additional I<custnum> parameter. - -For the most part, development of the reseller web interface has been -superceded by agent-virtualized access to the backend. - -=over 4 - -=item agent_login - -Agent login - -=item agent_info - -Agent info - -=item agent_list_customers - -List agent's customers. - -=back - -=head1 BUGS - -=head1 SEE ALSO - -L<freeside-selfservice-clientd>, L<freeside-selfservice-server> - -=cut - -1; - diff --git a/fs_selfservice/FS-SelfService/SelfService/FreeRadiusVoip.pm b/fs_selfservice/FS-SelfService/SelfService/FreeRadiusVoip.pm deleted file mode 100644 index 0df24f7d7..000000000 --- a/fs_selfservice/FS-SelfService/SelfService/FreeRadiusVoip.pm +++ /dev/null @@ -1,61 +0,0 @@ -#Add this to the modules section of radiusd.conf -# perl { -# #path to this module -# module=/usr/local/share/perl/5.8.8/FS/SelfService/FreeRadiusVoip.pm -# func_authorize = authorize; -# } -# -#In the Authorize section -#Make sure that you have 'files' uncommented. Then add a line containing 'perl' -# after it. -# -# #N/A# Add a line containing 'perl' to the Accounting section. -# -# and on debian systems, add this to /etc/init.d/freeradius, with the -# correct path (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=416266) -# LD_PRELOAD=/usr/lib/libperl.so.5.8.8 -# export LD_PRELOAD - -BEGIN { $FS::SelfService::skip_uid_check = 1; } - -use strict; -use vars qw(%RAD_REQUEST %RAD_REPLY %RAD_CHECK); -#use Data::Dumper; -use FS::SelfService qw(call_time); - -use constant RLM_MODULE_REJECT=> 0; #immediately reject the request -use constant RLM_MODULE_FAIL=> 1; #module failed, don't reply -use constant RLM_MODULE_OK=> 2; #the module is OK, continue -use constant RLM_MODULE_HANDLED=> 3; #the module handled the request, so stop -use constant RLM_MODULE_INVALID=> 4; #the module considers the request invalid -use constant RLM_MODULE_USERLOCK=> 5; #reject the request (user is locked out) -use constant RLM_MODULE_NOTFOUND=> 6; #user not found -use constant RLM_MODULE_NOOP=> 7; #module succeeded without doing anything -use constant RLM_MODULE_UPDATED=> 8; #OK (pairs modified) -use constant RLM_MODULE_NUMCODES=> 9; #How many return codes there are - -sub authorize { - - #&log_request_attributes(); - - my $response = call_time( 'src' => $RAD_REQUEST{'Calling-Station-Id'}, - 'dst' => $RAD_REQUEST{'Called-Station-Id'}, ); - - if ( $response->{'error'} ) { - $RAD_REPLY{'Reply-Message'} = $response->{'error'}; - return RLM_MODULE_REJECT; - } else { - $RAD_REPLY{'Session-Timeout'} = $response->{'seconds'}; - return RLM_MODULE_OK; - } - -} - -sub log_request_attributes { - # This shouldn't be done in production environments! - # This is only meant for debugging! - for (keys %RAD_REQUEST) { - &radiusd::radlog(1, "RAD_REQUEST: $_ = $RAD_REQUEST{$_}"); - } -} - diff --git a/fs_selfservice/FS-SelfService/SelfService/XMLRPC.pm b/fs_selfservice/FS-SelfService/SelfService/XMLRPC.pm deleted file mode 100644 index 4e0d3e909..000000000 --- a/fs_selfservice/FS-SelfService/SelfService/XMLRPC.pm +++ /dev/null @@ -1,88 +0,0 @@ -package FS::SelfService::XMLRPC; - -=head1 NAME - -FS::SelfService::XMLRPC - Freeside XMLRPC accessible self-service API - -=head1 SYNOPSIS - -=head1 DESCRIPTION - -Use this API to implement your own client "self-service" module vi XMLRPC. - -Each routine described in L<FS::SelfService> is available vi XMLRPC as the -method FS.SelfService.XMLRPC.B<method>. All values are passed to the -selfservice-server in a struct of strings. The return values are in a -struct as strings, arrays, or structs as appropriate for the values -described in L<FS::SelfService>. - -=head1 BUGS - -=head1 SEE ALSO - -L<freeside-selfservice-clientd>, L<freeside-selfservice-server>,L<FS::SelfService> - -=cut - -use strict; -use vars qw($DEBUG $AUTOLOAD); -use FS::SelfService; - -$DEBUG = 0; -$FS::SelfService::DEBUG = $DEBUG; - -sub AUTOLOAD { - my $call = $AUTOLOAD; - $call =~ s/^FS::SelfService::XMLRPC:://; - if (exists($FS::SelfService::autoload{$call})) { - shift; #discard package name; - $call = "FS::SelfService::$call"; - no strict 'refs'; - &{$call}(@_); - }else{ - die "No such procedure: $call"; - } -} - -package SOAP::Transport::HTTP::Daemon; # yuck - -use POSIX qw(:sys_wait_h); - -no warnings 'redefine'; - -sub handle { - my $self = shift->new; - - local $SIG{CHLD} = 'IGNORE'; - -ACCEPT: - while (my $c = $self->accept) { - - my $kid = 0; - do { - $kid = waitpid(-1, WNOHANG); - warn "found kid $kid"; - } while $kid > 0; - - my $pid = fork; - next ACCEPT if $pid; - - if ( not defined $pid ) { - warn "fork() failed: $!"; - $c = undef; - } else { - while (my $r = $c->get_request) { - $self->request($r); - $self->SUPER::handle; - $c->send_response($self->response); - } - # replaced ->close, thanks to Sean Meisner <Sean.Meisner@VerizonWireless.com> - # shutdown() doesn't work on AIX. close() is used in this case. Thanks to Jos Clijmans <jos.clijmans@recyfin.be> - UNIVERSAL::isa($c, 'shutdown') ? $c->shutdown(2) : $c->close(); - $c->close; - } - exit; - } -} - -1; diff --git a/fs_selfservice/FS-SelfService/cgi/ach_payment_results.html b/fs_selfservice/FS-SelfService/cgi/ach_payment_results.html deleted file mode 100644 index 9cdb65e36..000000000 --- a/fs_selfservice/FS-SelfService/cgi/ach_payment_results.html +++ /dev/null @@ -1,10 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Payment results') %> - -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">Error processing your payment: $error</FONT>!; -} else { - $OUT .= 'Your payment was processed successfully. Thank you.'; -} %> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/agent.cgi b/fs_selfservice/FS-SelfService/cgi/agent.cgi deleted file mode 100644 index 6e8de619a..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent.cgi +++ /dev/null @@ -1,458 +0,0 @@ -#!/usr/bin/perl -T -#!/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'} - ? '<FONT COLOR="#FF0000">'. $result->{'error'}. '</FONT>' - : $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'} - ? '<FONT COLOR="#FF0000">'. $result->{'error'}. '</FONT>' - : $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' => '<FONT COLOR="#FF0000">'. $results->{'error'}. '</FONT>', - 'error' => '<FONT COLOR="#FF0000">'. $results->{'error'}. '</FONT>', - }; - } 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="; ''; %> -<TD VALIGN="top" HEIGHT=384 BGCOLOR="#dddddd"> -<A HREF="<%= $url %>agent_provision">Setup services</A><BR><BR> -<A HREF="<%= $url %>agent_order_pkg">Purchase additional package</A><BR><BR> - -</TD> - 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 63fa127b2..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent_delete_svc.html +++ /dev/null @@ -1,17 +0,0 @@ -<HTML><HEAD><TITLE>MyAccount</TITLE></HEAD> -<BODY BGCOLOR="#eeeeee"><FONT SIZE=5>MyAccount</FONT><BR><BR> -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> -<TD VALIGN="top"> -<%= $small_custview %> -<BR> -<%= if ( $error ) { - - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">Error: $error</FONT>!; -} else { - $OUT .= "<FONT SIZE=4>$svc removed.</FONT>"; -} %> - -</TD></TR></TABLE> - -<%= include('footer') %> 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 @@ -<HTML><HEAD><TITLE>Reseller Login</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8"><FONT SIZE=5>Reseller Login</FONT><BR><BR> -<FONT SIZE="+1" COLOR="#ff0000"><%= $error %></FONT> -<FORM ACTION="<%= $self_url %>" METHOD=POST> -<INPUT TYPE="hidden" NAME="session" VALUE="login"> -<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=2 CELLPADDING=0> -<TR> - <TH ALIGN="right">Username </TH> - <TD> - <INPUT TYPE="text" NAME="username" VALUE="<%= $username %>"> - </TD> -</TR> -<TR> - <TH ALIGN="right">Password </TH> - <TD> - <INPUT TYPE="password" NAME="password"> - </TD> -</TR> -</TABLE> -<BR><BR><INPUT TYPE="submit" VALUE="Login"> -</FORM></BODY></HTML> - 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 @@ -<HTML><HEAD><TITLE>Reseller</TITLE></HEAD> -<BODY BGCOLOR="#eeeeee"><FONT SIZE=5>Reseller</FONT><BR><BR> -You have been logged out. -</BODY></HTML> - 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 3aefd61b1..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent_main.html +++ /dev/null @@ -1,33 +0,0 @@ -<HTML><HEAD><TITLE>Reseller</TITLE></HEAD> -<BODY BGCOLOR="#eeeeee"><FONT SIZE=5>Reseller</FONT><BR><BR> -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<TABLE BORDER=0 CELLPADDING=4><TR> -<%= include('agent_menu') %> -<TD VALIGN="top"> - -<%= $message - ? "<FONT SIZE=\"+2\"><B>$message</B></FONT>" - : "Hello $agent!" -%><BR><BR> - -<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR="#eeeeee"> -<TR><TH BGCOLOR="#cccccc">Customer summary</TH></TR> -<TR><TD BGCOLOR="#dddddd"> - - <B><%= $num_prospect %></B> - <%= $num_prospect ? qq!<A HREF="${url}list_customers;prospect=1">! : '' %>prospects</A> - - <BR><FONT COLOR="#00CC00"><B><%= $num_active %></B></FONT> - <%= $num_active ? qq!<A HREF="${url}list_customers;active=1">! : '' %>active</A> - - <BR><FONT COLOR="#FF9900"><B><%= $num_susp %></B></FONT> - <%= $num_susp ? qq!<A HREF="${url}list_customers;susp=1">! : '' %>suspended</A> - - <BR><FONT COLOR="#FF0000"><B><%= $num_cancel %></B></FONT> - <%= $num_cancel ? qq!<A HREF="${url}list_customers;cancel=1">! : '' %>cancelled</A> - -</TD></TR></TABLE> - -</TD></TR></TABLE> - -<%= include('footer') %> 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="; ''; %> -<TD VALIGN="top" HEIGHT=384 BGCOLOR="#dddddd"> - -<A HREF="<%= $url %>agent_main">Overview</A><BR><BR> -<A HREF="<%= $url %>signup">New customer<!--/prospect--></A><BR><BR> -<FORM ACTION="<%= $selfurl %>"> -<INPUT TYPE="hidden" NAME="session" VALUE="<%= $session_id %>"> -<INPUT TYPE="hidden" NAME="action" VALUE="list_customers"> -<INPUT TYPE="text" NAME="search" SIZE=20><BR> -<SMALL><I>cust #, last name, or company</I></SMALL><BR> -<INPUT TYPE="submit" VALUE="Search customers"><BR> -</FORM> -<A HREF="<%= $url %>logout">Logout</A><BR><BR> - -</TD> 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 18a37e891..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent_order_pkg.html +++ /dev/null @@ -1,18 +0,0 @@ -<HTML><HEAD><TITLE>Reseller</TITLE></HEAD> -<BODY BGCOLOR="#eeeeee"><FONT SIZE=5>Reseller</FONT><BR><BR> -<%= $url = "$selfurl?session=$session_id;custnum=$custnum;action="; ''; %> -<TABLE BORDER=0 CELLPADDING=4><TR> -<%= include('agent_menu') %> -<TD VALIGN="top"> -<%= $small_custview %> -<BR> - -<TABLE BORDER=0 CELLPADDING=4><TR> -<%= include('agent_customer_menu') %> -<TD VALIGN="top"> -<%= include('order_pkg') %> -</TD></TR></TABLE> - -</TD></TR></TABLE> - -<%= include('footer') %> 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 f7f39b513..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent_provision.html +++ /dev/null @@ -1,23 +0,0 @@ -<HTML><HEAD><TITLE>Reseller</TITLE></HEAD> -<BODY BGCOLOR="#eeeeee"><FONT SIZE=5>Reseller</FONT><BR><BR> -<%= $url = "$selfurl?session=$session_id;custnum=$custnum;action="; ''; %> -<TABLE BORDER=0 CELLPADDING=4><TR> -<%= include('agent_menu') %> -<TD VALIGN="top"> - -<%= $message - ? "<FONT SIZE=\"+2\"><B>$message</B></FONT><BR><BR>" - : '' -%> - -<%= $small_custview %> -<BR> - -<TABLE BORDER=0 CELLPADDING=4><TR> -<%= include('agent_customer_menu') %> -<TD VALIGN="top"> -<%= include('provision_list') %> -</TD></TR></TABLE> - -</TD></TR></TABLE> -<%= include('footer') %> 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 a867edb08..000000000 --- a/fs_selfservice/FS-SelfService/cgi/agent_provision_svc_acct.html +++ /dev/null @@ -1,16 +0,0 @@ -<HTML><HEAD><TITLE>Reseller</TITLE></HEAD> -<BODY BGCOLOR="#eeeeee"><FONT SIZE=5>Reseller</FONT><BR><BR> -<%= $url = "$selfurl?session=$session_id;custnum=$custnum;action="; ''; %> -<TABLE BORDER=0 CELLPADDING=4><TR> -<%= include('agent_menu') %> -<TD VALIGN="top"> -<%= $small_custview %> -<BR> -<TABLE BORDER=0 CELLPADDING=4><TR> -<%= include('agent_customer_menu') %> -<TD VALIGN="top"> -<%= include('svc_acct') %> -</TD></TR></TABLE> - -</TD></TR></TABLE> -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/bill.html b/fs_selfservice/FS-SelfService/cgi/bill.html deleted file mode 100644 index a3884e0f2..000000000 --- a/fs_selfservice/FS-SelfService/cgi/bill.html +++ /dev/null @@ -1,15 +0,0 @@ -<TR> - <TD ALIGN="right">P.O. number</TD> - <TD><INPUT TYPE="text" NAME="payinfo" SIZE=10 MAXLENGTH=20 VALUE="<%=$payinfo%>"></TD> -</TR><TR> - <TD ALIGN="right">Attention</TD> - <TD><INPUT TYPE="text" SIZE=32 MAXLENGTH=80 NAME="payname" VALUE="<%=$payname%>"></TD> -</TR><TR> - <TD ALIGN="right">Postal mail invoice</TD> - <TD><INPUT TYPE="checkbox" NAME="postal_invoicing" VALUE="POST" <%= - $postal_invoicing ? 'CHECKED' : '' - %>></TD> -</TR><TR> - <TD>Email address(es)</TD> - <TD><INPUT TYPE="text" NAME="invoicing_list" VALUE="<%= join(',', $invoicing_list ) %>"></TD> -</TR> diff --git a/fs_selfservice/FS-SelfService/cgi/card.html b/fs_selfservice/FS-SelfService/cgi/card.html deleted file mode 100644 index c7db2b398..000000000 --- a/fs_selfservice/FS-SelfService/cgi/card.html +++ /dev/null @@ -1,47 +0,0 @@ -<TR> - <TH ALIGN="right">Card number</TH> - <TD COLSPAN=6> - <TABLE> - <TR> - <TD> - <INPUT TYPE="text" NAME="payinfo" SIZE=20 MAXLENGTH=19 VALUE="<%=$payinfo%>"> </TD> - <TH>Exp.</TH> - <TD> - <SELECT NAME="month"> - <%= for ( ( map "0$_", 1 .. 9 ), 10 .. 12 ) { - $OUT .= '<OPTION'. ($_ == $month ? ' SELECTED' : ''). ">$_\n"; - } %> - </SELECT> - </TD> - <TD> / </TD> - <TD> - <SELECT NAME="year"> - <%= my @a = localtime; for ( $a[5]+1900 .. $a[5]+1915 ) { - $OUT .= '<OPTION'. ($_ == $year ? ' SELECTED' : ''). ">$_\n"; - } %> - </SELECT> - </TD> - </TR> - </TABLE> - </TD> -</TR> -<%= - if ( $withcvv ) { - $OUT .= qq!<TR>!; - $OUT .= qq!<TD ALIGN="right">CVV2 (<A HREF="javascript:myopen('cvv2.html','cvv2','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=480,height=288')">help</A>)</TD>!; - $OUT .= qq!<TD><INPUT TYPE="text" NAME="paycvv" VALUE="" SIZE=4 MAXLENGTH=4></TD>!; - $OUT .= qq!</TR>!; - } - ''; -%> -<TR> - <TH ALIGN="right">Exact name on card</TH> - <TD COLSPAN=6><INPUT TYPE="text" SIZE=32 MAXLENGTH=80 NAME="payname" VALUE="<%=$payname%>"></TD> -</TR> - -<%= location_form( 'session_id' => $session_id, - 'no_asterisks' => 1, - #'address1_label' => 'Card billing address', - 'address1_label' => 'Card billing address', - ) -%> diff --git a/fs_selfservice/FS-SelfService/cgi/change_bill.html b/fs_selfservice/FS-SelfService/cgi/change_bill.html deleted file mode 100755 index 7941971ba..000000000 --- a/fs_selfservice/FS-SelfService/cgi/change_bill.html +++ /dev/null @@ -1,19 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Edit billing address') %> - -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">Error: $error</FONT><BR><BR>!; -} ''; %> - -<FORM NAME="ChangeBillForm" ACTION="<%= $selfurl %>" METHOD=POST onSubmit="document.bottomform.submit.disabled=true;"> -<INPUT TYPE="hidden" NAME="session" VALUE="<%= $session_id %>"> -<INPUT TYPE="hidden" NAME="action" VALUE="process_change_bill"> -<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0> - -<%= $r=qq!<font color="#ff0000">*</font> !; include('contact') %> - -<INPUT TYPE="submit" NAME="submit" VALUE="<%= $custnum ? "Apply Changes" : "Add Customer" %>"> -<BR> -</FORM> - -<%= include('footer') %> 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 68b6fd824..000000000 --- a/fs_selfservice/FS-SelfService/cgi/change_password.html +++ /dev/null @@ -1,46 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Change password') %> - -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">$error</FONT><BR><BR>!; -} ''; %> - -<FORM ACTION="<%= $selfurl %>" METHOD="POST"> -<INPUT TYPE="hidden" NAME="session" VALUE="<%= $session_id %>"> -<INPUT TYPE="hidden" NAME="action" VALUE="process_change_password"> - -<TABLE BGCOLOR="#cccccc"> - - <TR> - <TH ALIGN="right">Change password for account: </TH> - <TD> - <SELECT NAME="svcnum"> - <%= foreach my $svc ( @svcs ) { - $OUT .= '<OPTION VALUE="'. $svc->{'svcnum'}. '"'. - ( $svc->{'svcnum'} eq $svcnum ? ' SELECTED' : '' ). '>'. - $svc->{'label'}. ': '. $svc->{'value'}. "\n"; - } - %> - </SELECT> - </TD> - </TR> - - <TR> - <TH ALIGN="right">New password: </TH> - <TD><INPUT TYPE="password" NAME="new_password" SIZE="18"></TD> - </TR> - - <TR> - <TH ALIGN="right">Re-enter new password: </TH> - <TD><INPUT TYPE="password" NAME="new_password2" SIZE="18"></TD> - </TR> - -</TABLE> -<BR> - -<INPUT TYPE="submit" VALUE="Change password"> - -</FORM> - - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/change_pay.html b/fs_selfservice/FS-SelfService/cgi/change_pay.html deleted file mode 100644 index 9633e8920..000000000 --- a/fs_selfservice/FS-SelfService/cgi/change_pay.html +++ /dev/null @@ -1,69 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Change payment information') %> - -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">Error: $error</FONT><BR><BR>!; - } ''; %> - -<FORM NAME="OneTrueForm" METHOD="POST" ACTION="<%=$selfurl%>" onSubmit="document.OneTrueForm.process.disabled=true"> -<%= - use Tie::IxHash; - use HTML::Widgets::SelectLayers; - - my $preauto = '<TR><TD COLSPAN=3><INPUT TYPE="checkbox" NAME="auto" VALUE="1"'; - my $postauto = '>Charge future payments to this card automatically</TD></TR>'; - - my $tail = qq(</TABLE><INPUT TYPE="hidden" NAME="session" VALUE="$session_id">). - qq(<INPUT TYPE="hidden" NAME="action" VALUE="process_change_pay">). - qq(<BR>). - qq(<INPUT TYPE="submit" NAME="process" ). - qq(VALUE="Save payment information"> ). - qq(<!-- onClick="this.disabled=true"> -->); - - - my %paybychecked = ( - 'BILL' => include('bill'), - 'CARD' => include('card')."$preauto CHECKED $postauto", - 'DCRD' => include('card')."$preauto $postauto", - 'CHEK' => include('check')."$preauto CHECKED $postauto", - 'DCHK' => include('check')."$preauto $postauto", - ); - my %payby_index = ( 'CARD' => qq/Credit Card/, - 'DCRD' => qq/Credit Card/, - 'CHEK' => qq/Check/, - 'DCHK' => qq/Check/, - 'LECB' => qq/Phone Bill Billing/, - 'BILL' => qq/Billing/, - 'COMP' => qq/Complimentary/, - 'PREP' => qq/Prepaid Card/, - 'PREPAY' => qq/Prepaid Card/, - ); - tie my %options, 'Tie::IxHash', (); - foreach my $payby_option ( grep { exists( $payby_index{$_} ) } @paybys ) { - $options{$payby_option} = $payby_index{$payby_option}; - } - $options{$payby} = $payby_index{$payby} - unless exists($options{$payby}); - - #don't want to show multiple "Credit card" or "Check" options - my %paybyremove = ( - 'CARD' => 'DCRD', - 'DCRD' => 'CARD', - 'CHEK' => 'DCHK', - 'DCHK' => 'CHEK', - ); - delete( $options{ $paybyremove{$payby} } ); - delete $options{'DCRD'} unless $payby eq 'DCRD' || ! exists $options{'CARD'}; - delete $options{'DCHK'} unless $payby eq 'DCHK' || ! exists $options{'CHEK'}; - - HTML::Widgets::SelectLayers->new( - options => \%options, - selected_layer => $payby, -# form_name => 'dummy', -# form_action => 'dummy.cgi', - layer_callback => sub { my $layer = shift; return '<TABLE BGCOLOR="#cccccc">'.$paybychecked{$layer}.qq!<INPUT TYPE="hidden" NAME="payby" VALUE="$layer">$tail!; }, - )->html; - -%> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/change_pkg.html b/fs_selfservice/FS-SelfService/cgi/change_pkg.html deleted file mode 100644 index a841308a5..000000000 --- a/fs_selfservice/FS-SelfService/cgi/change_pkg.html +++ /dev/null @@ -1,37 +0,0 @@ -<SCRIPT TYPE="text/javascript"> -function enable_change_pkg () { - if ( document.ChangePkgForm.pkgpart.selectedIndex > 0 ) { - document.ChangePkgForm.submit.disabled = false; - } else { - document.ChangePkgForm.submit.disabled = true; - } -} -</SCRIPT> -<FONT SIZE=4>Purchase replacement package for "<%= $pkg; %>"</FONT><BR><BR> -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">$error</FONT><BR><BR>!; -} ''; %> -<FORM NAME="ChangePkgForm" ACTION="<%= $selfurl %>" METHOD=POST> -<INPUT TYPE="hidden" NAME="session" VALUE="<%= $session_id %>"> -<INPUT TYPE="hidden" NAME="action" VALUE="process_change_pkg"> -<INPUT TYPE="hidden" NAME="pkgnum" VALUE="<%= $pkgnum %>"> -<INPUT TYPE="hidden" NAME="pkg" VALUE="<%= $pkg %>"> -<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0> -<TR> - <TD COLSPAN=2><SELECT NAME="pkgpart" onChange="enable_change_pkg()"> - <OPTION VALUE=""> - - <%= - foreach my $part_pkg ( @part_pkg ) { - $OUT .= '<OPTION VALUE="'. $part_pkg->{'pkgpart'}. '"'; - $OUT .= ' SELECTED' if $pkgpart && $part_pkg->{'pkgpart'} == $pkgpart; - $OUT .= '>'. $part_pkg->{'pkg'}; - } - %> - - </SELECT></TD> -</TR> -</TABLE> -<INPUT NAME="submit" TYPE="submit" VALUE="Purchase" disabled> -</FORM> - diff --git a/fs_selfservice/FS-SelfService/cgi/change_ship.html b/fs_selfservice/FS-SelfService/cgi/change_ship.html deleted file mode 100755 index 59f91767a..000000000 --- a/fs_selfservice/FS-SelfService/cgi/change_ship.html +++ /dev/null @@ -1,98 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Edit service address') %> - -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">Error: $error</FONT><BR><BR>!; -} ''; %> - -<FORM NAME="OneTrueForm" ACTION="<%= $selfurl %>" METHOD=POST onSubmit="document.bottomform.submit.disabled=true;"> -<INPUT TYPE="hidden" NAME="session" VALUE="<%= $session_id %>"> -<INPUT TYPE="hidden" NAME="action" VALUE="process_change_ship"> -<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0> - -<%= - foreach ( - qw( last first company address1 address2 city county state zip country - daytime night fax ) - ) { - $OUT .= qq!<INPUT TYPE="hidden" NAME="$_" VALUE="${$_}">!; - }; - ''; -%> -<SCRIPT> -function bill_changed(what) { - if ( what.form.same.checked ) { -<%= - for (qw( last first company address1 address2 city zip daytime night fax )) { - $OUT .= "what.form.ship_$_.value = what.form.$_.value;"; - } - ''; -%> - what.form.ship_country.selectedIndex = what.form.country.selectedIndex; - - function fix_ship_county() { - what.form.ship_county.selectedIndex = what.form.county.selectedIndex; - } - - function fix_ship_state() { - what.form.ship_state.selectedIndex = what.form.state.selectedIndex; - ship_state_changed(what.form.ship_state, fix_ship_county ); - } - - ship_country_changed(what.form.ship_country, fix_ship_state ); - - } -} -function samechanged(what) { - if ( what.checked ) { - bill_changed(what); - -<%= - for (qw( last first company address1 address2 city county state zip country daytime night fax )) { - $OUT .= "what.form.ship_$_.disabled = true;"; - $OUT .= "what.form.ship_$_.style.backgroundColor = '#dddddd';"; - } - if ( $require_address2 ) { - $OUT .= "document.getElementById('ship_address2_required').style.visibility = 'hidden';"; - $OUT .= "document.getElementById('ship_address2_label').style.visibility = 'hidden';"; - } -%> - - } else { - -<%= - for (qw( last first company address1 address2 city county state zip country daytime night fax )) { - $OUT .= "what.form.ship_$_.disabled = false;"; - $OUT .= "what.form.ship_$_.style.backgroundColor = '#ffffff';"; - } - if ( $require_address2 ) { - $OUT .= "document.getElementById('ship_address2_required').style.visibility = '';"; - $OUT .= "document.getElementById('ship_address2_label').style.visibility = '';"; - } -%> - } -} -</SCRIPT> -(<INPUT TYPE="checkbox" NAME="same" VALUE="Y" onClick="samechanged(this)" - <%= (!$ship_last || $cgi->param('same') eq 'Y') ? 'CHECKED' : '' %> - >same as billing address) -<%= $r=qq!<font color="#ff0000">*</font> !; - if (!$ship_last || $cgi->param('same') eq 'Y') { - $disabled = 'DISABLED STYLE="background-color: #dddddd"'; - foreach ( qw( last first company address1 address2 city county state - zip country daytime night fax ) - ) { - ${"ship_$_"} = ${$_}; - } - }else{ - $disabled = ''; - } - $pre = 'ship_'; - include('contact'); -%> - -<INPUT TYPE="submit" NAME="submit" VALUE="<%= $custnum ? "Apply Changes" : "Add Customer" %>"> -<BR> -</FORM> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/check.html b/fs_selfservice/FS-SelfService/cgi/check.html deleted file mode 100644 index 68753fe08..000000000 --- a/fs_selfservice/FS-SelfService/cgi/check.html +++ /dev/null @@ -1,54 +0,0 @@ -<TR> - <TD ALIGN="right">Account type</TD> - <TD> - <SELECT NAME="paytype"> - <%= foreach ( @paytypes ) { - $selected = $paytype eq $_ ? ' SELECTED' : ''; - $OUT .= qq(<OPTION$selected VALUE="$_">$_\n); - } %> - </SELECT> - </TD> -</TD><TR> - <TD ALIGN="right">Account number</TD> - <TD><INPUT TYPE="text" NAME="payinfo1" SIZE=10 MAXLENGTH=20 VALUE="<%=$payinfo1%>"></TD> -</TD><TR> - <TD ALIGN="right">ABA/Routing number</TD> - <TD><INPUT TYPE="text" NAME="payinfo2" SIZE=10 MAXLENGTH=9 VALUE="<%=$payinfo2%>"></TD> -</TR><TR> - <TD ALIGN="right">Bank name</TD> - <TD><INPUT TYPE="text" SIZE=32 MAXLENGTH=80 NAME="payname" VALUE="<%=$payname%>"></TD> -</TR><TR> - <%= - $OUT = ''; - if ($show_paystate) { - $OUT .= qq!<TD ALIGN="right">Bank state</TD><TD><SELECT NAME="paystate">!; - for ( @states ) { - $OUT .= '<OPTION'. ($_ eq $paystate ? ' SELECTED' : '' ). ">$_\n"; - } - $OUT .= '</SELECT></TD></TR><TR>'; - } - %> - <%= - $OUT = ''; - if ($show_ss) { - $OUT .= '<TD ALIGN="right">Account holder<BR>Social '; - $OUT .= 'security or tax ID #</TD><TD>'; - $OUT .= qq!<INPUT TYPE="text" SIZE=32 MAXLENGTH=80 NAME="ss" VALUE="$ss">!; - $OUT .= '</TD></TR><TR>'; - } - %> - <%= - $OUT = ''; - if ($show_stateid) { - $OUT .= '<TD ALIGN="right">'; - $OUT .= qq!Account holder<BR>$stateid_label</TD><TD>!; - $OUT .= qq!<INPUT TYPE="text" SIZE=32 MAXLENGTH=80 NAME="stateid" VALUE="$stateid"></TD>!; - $OUT .= qq!<TD ALIGN="right">$stateid_state_label</TD>!; - $OUT .= '<TD><SELECT NAME="stateid_state">'; - for ( @states ) { - $OUT .= '<OPTION'. ($_ eq $stateid_state ? ' SELECTED' : '' ). ">$_\n"; - } - $OUT .='</SELECT></TD></TR><TR>'; - } - %> -</TR> diff --git a/fs_selfservice/FS-SelfService/cgi/contact.html b/fs_selfservice/FS-SelfService/cgi/contact.html deleted file mode 100644 index 20c15df78..000000000 --- a/fs_selfservice/FS-SelfService/cgi/contact.html +++ /dev/null @@ -1,135 +0,0 @@ -<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0> - -<TR> - <TH ALIGN="right"><%=$r%>Contact name<BR>(last, first)</TH> - <TD COLSPAN=5> - <INPUT TYPE="text" NAME="<%=$pre%>last" VALUE="<%= ${$pre.'last'} %>" onChange="<%= $onchange %>" <%=$disabled%>> , - <INPUT TYPE="text" NAME="<%=$pre%>first" VALUE="<%= ${$pre.'first'} %>" onChange="<%= $onchange %>" <%=$disabled%>> - </TD> -</TR> - -<TR> - <TD ALIGN="right">Company</TD> - <TD COLSPAN=7> - <INPUT TYPE="text" NAME="<%=$pre%>company" VALUE="<%= ${$pre.'company'} %>" SIZE=70 onChange="<%= $onchange %>" <%=$disabled%>> - </TD> -</TR> - -<TR> - <TH ALIGN="right"><%=$r%>Address</TH> - <TD COLSPAN=7> - <INPUT TYPE="text" NAME="<%=$pre%>address1" VALUE="<%= ${$pre.'address1'} %>" SIZE=70 onChange="<%= $onchange %>" <%=$disabled%>> - </TD> -</TR> - -<TR> - <TD ALIGN="right"> - <%= - my $style = - ( $disabled - || !$require_address2 - || ( !$pre && $ship_last ) - ) - ? 'visibility:hidden' - : ''; - - $OUT .= qq!<FONT ID="${pre}address2_required" color="#ff0000" STYLE="$style">*</FONT> <FONT ID="${pre}address2_label" STYLE="$style"><B>Unit #</B></FONT>!; - %> - </TD> - <TD COLSPAN=7> - <INPUT TYPE="text" NAME="<%=$pre%>address2" VALUE="<%= ${$pre.'address2'} %>" SIZE=70 onChange="<%= $onchange %>" <%=$disabled%>> - </TD> -</TR> - -<TR> - <TH ALIGN="right"><%=$r%>City</TH> - <TD> - <INPUT TYPE="text" ID="<%=$pre%>city" NAME="<%=$pre%>city" VALUE="<%= ${$pre.'city'} %>" onChange="<%= $onchange %>" <%=$disabled%>> - </TD> - <%= - ($county_html, $state_html, $country_html) = - FS::SelfService::regionselector( { - prefix => $pre, - selected_county => ${$pre.'county'}, - selected_state => ${$pre.'state'}, - selected_country => ${$pre.'country'}, - default_state => $statedefault, - default_country => $countrydefault, - locales => \@cust_main_county, - } ); - - $OUT .= qq!<TH ALIGN="right">${r}State/County</TH>!; - $OUT .= qq!<TD>$county_html $state_html</TD>!; - $OUT .= qq!<TH>${r}Zip</TH>!; - $OUT .= qq!<TD><INPUT TYPE="text" NAME="${pre}zip" VALUE="${$pre.'zip'}" SIZE=10 onChange="$onchange" $disabled></TD>!; - $OUT .= qq!</TR>!; - $OUT .= qq!<TR>!; - $OUT .= qq!<TH ALIGN="right">${r}Country</TH>!; - $OUT .= qq!<TD COLSPAN=5>$country_html</TD>!; - %> -</TR> - -<SCRIPT> - <%= - if ( $disabled ) { - $OUT .= qq!var what = document.getElementById("${pre}city");!; - for (qw( county state country ) ) { - $OUT .= "what.form.$pre$_.disabled = true;"; - $OUT .= "what.form.$pre$_.style.backgroundColor = '#dddddd';"; - } - }else{ - ''; - } - %> -</SCRIPT> - -<TR> - <TD ALIGN="right">Day Phone</TD> - <TD COLSPAN=5> - <INPUT TYPE="text" NAME="<%=$pre%>daytime" VALUE="<%= ${$pre.'daytime'} %>" SIZE=18 onChange="<%= $onchange %>" <%=$disabled%>> - </TD> -</TR> - -<TR> - <TD ALIGN="right">Night Phone</TD> - <TD COLSPAN=5> - <INPUT TYPE="text" NAME="<%=$pre%>night" VALUE="<%= ${$pre.'night'} %>" SIZE=18 onChange="<%= $onchange %>" <%=$disabled%>> - </TD> -</TR> - -<TR> - <TD ALIGN="right">Fax</TD> - <TD COLSPAN=5> - <INPUT TYPE="text" NAME="<%=$pre%>fax" VALUE="<%= ${$pre.'fax'} %>" SIZE=12 onChange="<%= $onchange %>" <%=$disabled%>> - </TD> -</TR> - -</TABLE> -<%=$r%>required fields<BR> - -<!-- -#my($county_html, $state_html, $country_html) = -# FS::cust_main_county::regionselector( $cust_main->get($pre.'county'), -# $cust_main->get($pre.'state'), -# $cust_main->get($pre.'country'), -# $pre, -# $onchange, -# $disabled, -# ); - -my %select_hash = ( - 'county' => ${$pre.'county'}, - 'state' => ${$pre.'state'}, - 'country' => ${$pre.'country'}, - 'prefix' => $pre, - 'onchange' => $onchange, - 'disabled' => $disabled, -); - -my @counties = counties( ${$pre.'state'}, - ${$pre.'country'}, - ); -my $county_style = scalar(@counties) > 1 ? '' : 'STYLE="visibility:hidden"'; - -my $r = qq!<font color="#ff0000">*</font> !; ---> 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 253f853f8..000000000 --- a/fs_selfservice/FS-SelfService/cgi/cust_bill-logo.cgi +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/perl -T -#!/usr/bin/perl -Tw - -use strict; -use CGI; -use FS::SelfService qw( invoice_logo ); - -my $cgi = new CGI; - -my %hash = (); -if ( $cgi->param('invnum') ) { - $hash{$_} = scalar($cgi->param($_)) foreach qw( invnum template ); -} else { - my($query) = $cgi->keywords; - $query =~ /^([^\.\/]*)$/ or '' =~ /^()$/; - $hash{'template'} = $1; -} - -my $hashref = invoice_logo(%hash); - -print $cgi->header( '-type' => $hashref->{'content_type'}, - '-expires' => 'now', - ). - $hashref->{'logo'}; - diff --git a/fs_selfservice/FS-SelfService/cgi/customer_change_pkg.html b/fs_selfservice/FS-SelfService/cgi/customer_change_pkg.html deleted file mode 100644 index 37dccaaf2..000000000 --- a/fs_selfservice/FS-SelfService/cgi/customer_change_pkg.html +++ /dev/null @@ -1,6 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Change package') %> - -<%= include('change_pkg') %> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/customer_order_pkg.html b/fs_selfservice/FS-SelfService/cgi/customer_order_pkg.html deleted file mode 100755 index 192c29fa4..000000000 --- a/fs_selfservice/FS-SelfService/cgi/customer_order_pkg.html +++ /dev/null @@ -1,6 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Purchase additional package') %> - -<%= include('order_pkg') %> - -<%= include('footer') %> 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 @@ -<HTML> - <HEAD> - <TITLE> - CVV2 information - </TITLE> - </HEAD> - <BODY BGCOLOR="#e8e8e8"> - The CVV2 number (also called CVC2 or CID) is a three- or four-digit - security code used to reduce credit card fraud.<BR><BR> - <TABLE BORDER=0 CELLSPACING=4> - <TR> - <TH>Visa / MasterCard / Discover</TH> - <TH>American Express</TH> - </TR> - <TR> - <TD> - <IMG BORDER=0 ALT="Visa/MasterCard/Discover" SRC="cvv2.png"> - </TD> - <TD> - <IMG BORDER=0 ALT="American Express" SRC="cvv2_amex.png"> - </TD> - </TABLE> - <CENTER><A HREF="javascript:close()">(close window)</A></CENTER> - </BODY> -</HTML> diff --git a/fs_selfservice/FS-SelfService/cgi/cvv2.png b/fs_selfservice/FS-SelfService/cgi/cvv2.png Binary files differdeleted file mode 100644 index 4610dcbe6..000000000 --- a/fs_selfservice/FS-SelfService/cgi/cvv2.png +++ /dev/null diff --git a/fs_selfservice/FS-SelfService/cgi/cvv2_amex.png b/fs_selfservice/FS-SelfService/cgi/cvv2_amex.png Binary files differdeleted file mode 100644 index 21c36a0ab..000000000 --- a/fs_selfservice/FS-SelfService/cgi/cvv2_amex.png +++ /dev/null diff --git a/fs_selfservice/FS-SelfService/cgi/decline.html b/fs_selfservice/FS-SelfService/cgi/decline.html deleted file mode 100644 index c50081e38..000000000 --- a/fs_selfservice/FS-SelfService/cgi/decline.html +++ /dev/null @@ -1,14 +0,0 @@ -<HTML> - <HEAD> - <TITLE>Processing error</TITLE> - <%= $head %> - </HEAD> - <BODY BGCOLOR="<%= $body_bgcolor || '#eeeeee' %>"> - <%= $body_header %> - - -<FONT SIZE=7>Processing error</FONT><BR><BR> -There has been an error processing your account. Please contact customer -support. - -<%= $body_footer %> 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 80a14f85c..000000000 --- a/fs_selfservice/FS-SelfService/cgi/delete_svc.html +++ /dev/null @@ -1,11 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Remove service') %> - -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">Error: $error</FONT>!; -} else { - $OUT .= "<FONT SIZE=4>$svc removed.</FONT>"; -} %> - - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/discount_term.html b/fs_selfservice/FS-SelfService/cgi/discount_term.html deleted file mode 100644 index 7d9ee4d1f..000000000 --- a/fs_selfservice/FS-SelfService/cgi/discount_term.html +++ /dev/null @@ -1,17 +0,0 @@ -<%= -if ( scalar(keys %discount_terms_hash) ) { - $OUT .= '<TR>'; - $OUT .= '<TD ALIGN="right">Prepayment for</TD>'; - $OUT .= '<TD>'; - $OUT .= '<SELECT NAME="discount_term">'; - $OUT .= qq(<OPTION VALUE="">1 month\n); - foreach ( keys %discount_terms_hash ) { - $selected = $discount_term eq $_ ? ' SELECTED' : ''; - $OUT .= qq(<OPTION$selected VALUE="$_">$_ months\n); - } - $OUT .= '</SELECT>'; - $OUT .= '</TD>'; - $OUT .= '</TR>'; -} -$OUT .= ''; -%> diff --git a/fs_selfservice/FS-SelfService/cgi/footer.html b/fs_selfservice/FS-SelfService/cgi/footer.html deleted file mode 100644 index 4889b741a..000000000 --- a/fs_selfservice/FS-SelfService/cgi/footer.html +++ /dev/null @@ -1,3 +0,0 @@ -</TD></TR></TABLE> -<%= $body_footer %> -</BODY></HTML> diff --git a/fs_selfservice/FS-SelfService/cgi/header.html b/fs_selfservice/FS-SelfService/cgi/header.html deleted file mode 100644 index 692348f44..000000000 --- a/fs_selfservice/FS-SelfService/cgi/header.html +++ /dev/null @@ -1,62 +0,0 @@ -<HTML> - <HEAD> - <TITLE><%= $title || 'MyAccount' %></TITLE> - <%= $head %> - </HEAD> - <STYLE TYPE="text/css"> - body { - color: <%= $text_color || '#000000' %>; - <%= $font ? "font: $font;" : '' %> - } - a { - color: <%= $link_color || 'blue' %>; - <%= $menu_nounderline ? 'text-decoration: none' : '' %> - } - a:visited { - color: <%= $vlink_color || 'purple' %>; - <%= $menu_nounderline ? 'text-decoration: none' : '' %> - } - a:active { - color: <%= $alink_color || 'blue' %>; - <%= $menu_nounderline ? 'text-decoration: none' : '' %> - } - a:hover { - color: <%= $hlink_color || '' %>; - <%= $menu_nounderline ? 'text-decoration: none' : '' %> - } - </STYLE> - <BODY BGCOLOR="<%= $body_bgcolor || '#eeeeee' %>"> - <script language="JavaScript"><!-- - var mywindow = -1; - function myopen(filename,windowname,properties) { - myclose(); - mywindow = window.open(filename,windowname,properties); - } - function myclose() { - if ( mywindow != -1 ) - mywindow.close(); - mywindow = -1 - } - //--></script> - <%= $body_header %> - - <TABLE BORDER=0 WIDTH="100%" CELLPADDING=0 CELLSPACING=0> - <TR STYLE="padding:0px"> - <TD><IMG SRC="image.cgi?logo"></TD> - <TD WIDTH = "29%" - STYLE = "background: url(image.cgi?title_left_image) no-repeat left center; padding:0px"> - </TD> - <TD WIDTH = "49%" - ALIGN="<%= $title_align || 'left' %>" - STYLE = "background: url(image.cgi?title_right_image) no-repeat right center; padding:0px"> - <FONT SIZE = "<%= $title_size || 5 %>" - COLOR = "<%= $title_color %>" - ><%= $INCLUDE_ARGS[0] %> </FONT> - </DIV> - </TD> - </TR> - </TABLE> - - <%= include('myaccount_menu') %> - <TD VALIGN="top"> - diff --git a/fs_selfservice/FS-SelfService/cgi/iframecontentmws.js b/fs_selfservice/FS-SelfService/cgi/iframecontentmws.js deleted file mode 100644 index f2a91d21b..000000000 --- a/fs_selfservice/FS-SelfService/cgi/iframecontentmws.js +++ /dev/null @@ -1,59 +0,0 @@ -/*
- iframecontentmws.js - Foteos Macrides (author and copyright holder)
- Initial: October 10, 2004 - Last Revised: January 26, 2008
- Scripts for using HTML documents as iframe content in overlibmws popups.
-
- See http://www.macridesweb.com/oltest/IFRAME.html
- and http://www.macridesweb.com/oltest/AJAX.html#ajaxex3
- for more information.
-*/
-
-/*
- Use as lead argument in overlib or overlb2 calls. Include WRAP and
- TEXTPADDING,0 in the call to ensure that the width arg is respected (unless
- the CAPTION plus CLOSETEXT widths add up to more than the width arg, in which
- case you should increase the width arg). The name arg should be a unique
- string for each popup with iframe content in the document. The frameborder
- arg should be 1 (browser default if omitted) or 0. The scrolling arg should
- be 'auto' (default if omitted), 'yes' or 'no'.
-*/
-function OLiframeContent(src, width, height, name, frameborder, scrolling) {
-
- /* stupid safari iframe location caching... */
- var d = new Date();
- var unique = d.getTime() + '' + Math.floor(1000 * Math.random());
- name = name + '' + unique;
-
- return ('<iframe src="'+src+'" width="'+width+'" height="'+height+'"'
- +(name!=null?' name="'+name+'" id="'+name+'"':'')
- +(frameborder!=null?' frameborder="'+frameborder+'"':'')
- +' scrolling="'+(scrolling!=null?scrolling:'auto')
- +'"><div>[iframe not supported]</div></iframe>');
-}
-
-/*
- Swap the src if we are iframe content. The name arg should be the same
- string as in the OLiframeContent function for the popup. The src arg is
- a partial, relative, or complete URL for the document to be swapped in.
-*/
-function OLswapIframeSrc(name, src){
- if(parent==self){
- alert(src+'\n\n is only for iframe content');
- return;
- }
- var o=parent.OLgetRef(name);
- if(o)o.src=src;
- else alert(src+'\n\n is not available');
-}
-
-/*
- Emulate the Back button if we are iframe content. Use only in documents
- which are swapped in by using the OLswapIframeSrc function.
-*/
-function OLiframeBack(){
- if(parent==self){
- alert('This feature is only for iframe content');
- return;
- }
- history.back();
-}
diff --git a/fs_selfservice/FS-SelfService/cgi/image.cgi b/fs_selfservice/FS-SelfService/cgi/image.cgi deleted file mode 100755 index e951dcd1a..000000000 --- a/fs_selfservice/FS-SelfService/cgi/image.cgi +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/perl -T -#!/usr/bin/perl -Tw - -use strict; -use CGI; -use FS::SelfService qw( skin_info ); - -my $cgi = new CGI; - -my($query) = $cgi->keywords; -$query =~ /^(\w+)$/ or '' =~ /^()$/; -my $name = $1; - -my $info = skin_info(); - -print $cgi->header( '-type' => 'image/png', #for now - #'-expires' => 'now', - ). - $info->{$name}; - diff --git a/fs_selfservice/FS-SelfService/cgi/images/cross.png b/fs_selfservice/FS-SelfService/cgi/images/cross.png Binary files differdeleted file mode 100644 index 1514d51a3..000000000 --- a/fs_selfservice/FS-SelfService/cgi/images/cross.png +++ /dev/null diff --git a/fs_selfservice/FS-SelfService/cgi/images/wait-orange.gif b/fs_selfservice/FS-SelfService/cgi/images/wait-orange.gif Binary files differdeleted file mode 100644 index 92c7f3476..000000000 --- a/fs_selfservice/FS-SelfService/cgi/images/wait-orange.gif +++ /dev/null diff --git a/fs_selfservice/FS-SelfService/cgi/invoices.html b/fs_selfservice/FS-SelfService/cgi/invoices.html deleted file mode 100644 index c4eece32a..000000000 --- a/fs_selfservice/FS-SelfService/cgi/invoices.html +++ /dev/null @@ -1,27 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'All Invoices') %> - -<%= - if ( @invoices ) { - $OUT .= '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR="#eeeeee">'. - '<TR><TH BGCOLOR="#ff6666" COLSPAN=4>All Invoices</TH></TR>'; - my $col1 = "ffffff"; - my $col2 = "dddddd"; - my $col = $col1; - - foreach my $invoice ( @invoices ) { - my $td = qq!<TD BGCOLOR="#$col">!; - my $a=qq!<A HREF="${url}view_invoice;invnum=!. $invoice->{'invnum'}. '">'; - $OUT .= - "<TR>$td${a}Invoice #". $invoice->{'invnum'}. "</A></TD>$td</TD>". - "$td$a". $invoice->{'date'}. "</A></TD>$td</TD>". - '</TR>'; - $col = $col eq $col1 ? $col2 : $col1; - } - $OUT .= '</TABLE><BR>'; - } else { - $OUT .= 'You have no invoices.<BR><BR>'; - } -%> - -<%= include('footer') %> 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 7fe7fa493..000000000 --- a/fs_selfservice/FS-SelfService/cgi/list_customers.html +++ /dev/null @@ -1,36 +0,0 @@ -<HTML><HEAD><TITLE>Reseller</TITLE></HEAD> -<BODY BGCOLOR="#eeeeee"><FONT SIZE=5>Reseller</FONT><BR><BR> -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<TABLE BORDER=0 CELLPADDING=4><TR> -<%= include('agent_menu') %> -<TD VALIGN="top"> - -<%= - if ( @customers ) { - $OUT .= '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR="#eeeeee">'. - '<TR><TH BGCOLOR="#cccccc" COLSPAN=3>Customers</TH><TD>'; - my $col1 = "ffffff"; - my $col2 = "dddddd"; - my $col = $col1; - - foreach my $customer ( @customers ) { - my $td = qq!<TD BGCOLOR="#$col">!; - my $a = qq!<A HREF="${url}view_customer;custnum=!. - $customer->{'custnum'}. '">'; - $OUT .= - '<TR>'. - "$td<FONT COLOR=\"". $customer->{'statuscolor'}. '">'. - ucfirst($customer->{'status'}). "</TD>". "$td</TD>". - "$td$a". $customer->{'name'}. "</A></TD>". - '</TR>'; - #"$td</TD>". - $col = $col eq $col1 ? $col2 : $col1; - } - $OUT .= '</TABLE>'; - } else { - $OUT .= 'No customers.<BR><BR>'; - } -%> - -</TD></TR></TABLE> -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/login.html b/fs_selfservice/FS-SelfService/cgi/login.html deleted file mode 100644 index f7473b1d5..000000000 --- a/fs_selfservice/FS-SelfService/cgi/login.html +++ /dev/null @@ -1,95 +0,0 @@ -<HTML> - <HEAD> - <TITLE>Login</TITLE> - <%= $head %> - </HEAD> - <BODY BGCOLOR="<%= $body_bgcolor || '#eeeeee' %>"> - <%= $body_header %> - -<FONT SIZE=5>Login</FONT><BR><BR> -<FONT SIZE="+1" COLOR="#ff0000"><%= $error %></FONT> - -<FORM ACTION="<%= $self_url %>" METHOD=POST> -<INPUT TYPE="hidden" NAME="session" VALUE="login"> -<INPUT TYPE="hidden" NAME="agentnum" VALUE="<%= $agentnum %>"> - -<TABLE BGCOLOR="<%= $box_bgcolor || '#c0c0c0' %>" BORDER=0 CELLSPACING=2 CELLPADDING=0> - -<TR> - <TH ALIGN="right">Username </TH> - <TD> - <INPUT TYPE="text" NAME="username" VALUE="<%= $username %>"><%= $single_domain ? '@'.$single_domain : '' %> - </TD> -</TR> - -<%= -if ( $single_domain ) { - - $OUT .= qq(<INPUT TYPE="hidden" NAME="domain" VALUE="$single_domain">); - -} else { - - $OUT .= qq( - <TR> - <TH ALIGN="right">Domain </TH> - <TD> - <INPUT TYPE="text" NAME="domain" VALUE="$domain"> - </TD> - </TR> - ); - -} - -%> - -<TR> - <TH ALIGN="right">Password </TH> - <TD> - <INPUT TYPE="password" NAME="password"> - </TD> -</TR> -<TR> - <TD COLSPAN=2 ALIGN="center"><INPUT TYPE="submit" VALUE="Login"></TD> -</TR> -</TABLE> -</FORM> - -<%= - -if ( $phone_login ) { - - $box_bgcolor ||= '#c0c0c0'; - - $OUT .= qq( - - <B>OR</B><BR><BR> - - <FORM ACTION="$self_url" METHOD=POST> - <INPUT TYPE="hidden" NAME="session" VALUE="login"> - <TABLE BGCOLOR="$box_bgcolor" BORDER=0 CELLSPACING=2 CELLPADDING=0> - <TR> - <TH ALIGN="right">Phone number </TH> - <TD> - <INPUT TYPE="text" NAME="username" VALUE="$username"> - </TD> - </TR> - <INPUT TYPE="hidden" NAME="domain" VALUE="svc_phone"> - <TR> - <TH ALIGN="right">PIN </TH> - <TD> - <INPUT TYPE="password" NAME="password"> - </TD> - </TR> - <TR> - <TD COLSPAN=2 ALIGN="center"><INPUT TYPE="submit" VALUE="Login"></TD> - </TR> - </TABLE> - </FORM> - - ); - -} - -%> - -<%= $body_footer %> diff --git a/fs_selfservice/FS-SelfService/cgi/logout.html b/fs_selfservice/FS-SelfService/cgi/logout.html deleted file mode 100644 index 5e22ad80c..000000000 --- a/fs_selfservice/FS-SelfService/cgi/logout.html +++ /dev/null @@ -1,13 +0,0 @@ -<HTML> - <HEAD> - <TITLE>MyAccount</TITLE> - <%= $head %> - </HEAD> - <BODY BGCOLOR="<%= $body_bgcolor || '#eeeeee' %>"> - <%= $body_header %> - - <FONT SIZE=5>MyAccount</FONT><BR><BR> -You have been logged out. - -<%= $body_footer %> - diff --git a/fs_selfservice/FS-SelfService/cgi/make_ach_payment.html b/fs_selfservice/FS-SelfService/cgi/make_ach_payment.html deleted file mode 100644 index 5b81b00a4..000000000 --- a/fs_selfservice/FS-SelfService/cgi/make_ach_payment.html +++ /dev/null @@ -1,43 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Make a payment') %> - -<FORM NAME="OneTrueForm" METHOD="POST" ACTION="<%=$selfurl%>" onSubmit="document.OneTrueForm.process.disabled=true"> -<INPUT TYPE="hidden" NAME="session" VALUE="<%=$session_id%>"> -<INPUT TYPE="hidden" NAME="action" VALUE="ach_payment_results"> -<TABLE BGCOLOR="#cccccc"> -<TR> - <TD ALIGN="right">Amount Due</TD> - <TD> - <TABLE><TR><TD BGCOLOR="#ffffff"> - $<%=sprintf("%.2f",$balance)%> - </TD></TR></TABLE> - </TD> -</TR> -<TR> - <TD ALIGN="right">Payment amount</TD> - <TD> - <TABLE><TR><TD BGCOLOR="#ffffff"> - $<INPUT TYPE="text" NAME="amount" SIZE=8 VALUE="<%=sprintf("%.2f",$balance)%>"> - </TD></TR></TABLE> - </TD> -</TR> -<%= include('discount_term') %> -<%= include('check') %> -<TR> - <TD COLSPAN=2> - <INPUT TYPE="checkbox" <%= $save_unchecked ? '' : 'CHECKED' %> NAME="save" VALUE="1"> - Remember this information - </TD> -</TR><TR> - <TD COLSPAN=2> - <INPUT TYPE="checkbox"<%= $payby eq 'CHEK' ? ' CHECKED' : '' %> NAME="auto" VALUE="1" onClick="if (this.checked) { document.OneTrueForm.save.checked=true; }"> - Charge future payments to this account automatically - </TD> -</TR> -</TABLE> -<BR> -<INPUT TYPE="hidden" NAME="paybatch" VALUE="<%=$paybatch%>"> -<INPUT TYPE="submit" NAME="process" VALUE="Process payment"> <!-- onClick="this.disabled=true"> --> -</FORM> - -<%= include('footer') %> 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 645b68ec7..000000000 --- a/fs_selfservice/FS-SelfService/cgi/make_payment.html +++ /dev/null @@ -1,54 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Make a payment') %> - -<FORM NAME="OneTrueForm" METHOD="POST" ACTION="<%=$selfurl%>" onSubmit="document.OneTrueForm.process.disabled=true"> -<INPUT TYPE="hidden" NAME="session" VALUE="<%=$session_id%>"> -<INPUT TYPE="hidden" NAME="action" VALUE="payment_results"> -<TABLE BGCOLOR="#cccccc"> -<TR> - <TH ALIGN="right">Amount Due</TH> - <TD COLSPAN=7> - <TABLE><TR><TD BGCOLOR="#ffffff"> - $<%=sprintf("%.2f",$balance)%> - </TD></TR></TABLE> - </TD> -</TR> -<TR> - <TH ALIGN="right">Payment amount</TH> - <TD COLSPAN=7> - <TABLE><TR><TD BGCOLOR="#ffffff"> - $<INPUT TYPE="text" NAME="amount" SIZE=8 VALUE="<%=sprintf("%.2f",$balance)%>"> - </TD></TR></TABLE> - </TD> -</TR> -<%= include('discount_term') %> -<TR> - <TH ALIGN="right">Card type</TH> - <TD COLSPAN=7> - <SELECT NAME="card_type"><OPTION></OPTION> - <%= foreach ( keys %card_types ) { - $selected = $card_type eq $card_types{$_} ? ' SELECTED' : ''; - $OUT .= qq(<OPTION$selected VALUE="). $card_types{$_}. qq(">$_\n); - } %> - </SELECT> - </TD> -</TR> -<%= include('card') %> -<TR> - <TD COLSPAN=8> - <INPUT TYPE="checkbox" <%= $save_unchecked ? '' : 'CHECKED' %> NAME="save" VALUE="1"> - Remember this card and billing address - </TD> -</TR><TR> - <TD COLSPAN=8> - <INPUT TYPE="checkbox"<%= $payby eq 'CARD' ? ' CHECKED' : '' %> NAME="auto" VALUE="1" onClick="if (this.checked) { document.OneTrueForm.save.checked=true; }"> - Charge future payments to this card automatically - </TD> -</TR> -</TABLE> -<BR> -<INPUT TYPE="hidden" NAME="paybatch" VALUE="<%=$paybatch%>"> -<INPUT TYPE="submit" NAME="process" VALUE="Process payment"> <!-- onClick="this.disabled=true"> --> -</FORM> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/make_thirdparty_payment.html b/fs_selfservice/FS-SelfService/cgi/make_thirdparty_payment.html deleted file mode 100755 index b5b9eea1f..000000000 --- a/fs_selfservice/FS-SelfService/cgi/make_thirdparty_payment.html +++ /dev/null @@ -1,36 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; - $cgi = new CGI; - ''; %> -<%= include('header', 'Make a payment') %> - -<FORM NAME="OneTrueForm" METHOD="POST" ACTION="<%=$selfurl%>" -onSubmit="document.OneTrueForm.process.disabled=true"> -<INPUT TYPE="hidden" NAME="session" VALUE="<%=$session_id%>"> -<INPUT TYPE="hidden" NAME="action" VALUE="post_thirdparty_payment"> -<INPUT TYPE="hidden" NAME="payby_method" VALUE="<%= -$cgi->param('payby_method') =~ /(CC|ECHECK)/; -$1 %>"> -<TABLE BGCOLOR="#cccccc"> -<TR> - <TH ALIGN="right">Balance due</TH> - <TD COLSPAN=7> - <SPAN STYLE="background-color: #ffffff;">$<%=sprintf("%.2f", $balance)%> - </TD> -</TR> -<TR> - <TH ALIGN="right">Payment amount</TH> - <TD COLSPAN=7> - $<INPUT TYPE="text" NAME="amount" SIZE=8 VALUE="<%=sprintf("%.2f", $balance)%>"> - </TD> -</TR> -<TR><TH></TH> -<TD><INPUT TYPE="submit" NAME="process" VALUE="Process payment"> -</FORM> - -<SCRIPT TYPE="text/javascript" SRC="overlibmws.js"></SCRIPT> -<SCRIPT TYPE="text/javascript" SRC="overlibmws_iframe.js"></SCRIPT> -<SCRIPT TYPE="text/javascript" SRC="overlibmws_draggable.js"></SCRIPT> -<SCRIPT TYPE="text/javascript" SRC="overlibmws_crossframe.js"></SCRIPT> -<SCRIPT TYPE="text/javascript" SRC="iframecontentmws.js"></SCRIPT> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/map.gif b/fs_selfservice/FS-SelfService/cgi/map.gif Binary files differdeleted file mode 100644 index ef884d8f9..000000000 --- a/fs_selfservice/FS-SelfService/cgi/map.gif +++ /dev/null diff --git a/fs_selfservice/FS-SelfService/cgi/misc/areacodes.cgi b/fs_selfservice/FS-SelfService/cgi/misc/areacodes.cgi deleted file mode 100755 index b33e58c5a..000000000 --- a/fs_selfservice/FS-SelfService/cgi/misc/areacodes.cgi +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -use CGI; -use FS::SelfService qw( mason_comp ); - -my $cgi = new CGI; - -my $rv = mason_comp( 'comp' => '/misc/areacodes.cgi', - 'query_string' => $cgi->query_string, #pass CGI params... - ); - -#hmm. -my $output = $rv->{'error'} || $rv->{'output'}; - -print $cgi->header( '-expires' => 'now' ). - $output; - diff --git a/fs_selfservice/FS-SelfService/cgi/misc/counties.cgi b/fs_selfservice/FS-SelfService/cgi/misc/counties.cgi deleted file mode 100755 index 476fe09a4..000000000 --- a/fs_selfservice/FS-SelfService/cgi/misc/counties.cgi +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -use CGI; -use FS::SelfService qw( mason_comp ); - -my $cgi = new CGI; - -my $rv = mason_comp( 'comp' => '/misc/counties.cgi', - 'query_string' => $cgi->query_string, #pass CGI params... - ); - -#hmm. -my $output = $rv->{'error'} || $rv->{'output'}; - -print $cgi->header( '-expires' => 'now' ). - $output; - diff --git a/fs_selfservice/FS-SelfService/cgi/misc/exchanges.cgi b/fs_selfservice/FS-SelfService/cgi/misc/exchanges.cgi deleted file mode 100755 index d8df970d9..000000000 --- a/fs_selfservice/FS-SelfService/cgi/misc/exchanges.cgi +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -use CGI; -use FS::SelfService qw( mason_comp ); - -my $cgi = new CGI; - -my $rv = mason_comp( 'comp' => '/misc/exchanges.cgi', - 'query_string' => $cgi->query_string, #pass CGI params... - ); - -#hmm. -my $output = $rv->{'error'} || $rv->{'output'}; - -print $cgi->header( '-expires' => 'now' ). - $output; - diff --git a/fs_selfservice/FS-SelfService/cgi/misc/part_svc-columns.cgi b/fs_selfservice/FS-SelfService/cgi/misc/part_svc-columns.cgi deleted file mode 100755 index 4ee83ca96..000000000 --- a/fs_selfservice/FS-SelfService/cgi/misc/part_svc-columns.cgi +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -use CGI; -use FS::SelfService qw( mason_comp ); - -my $cgi = new CGI; - -my $rv = mason_comp( 'comp' => '/misc/part_svc-columns.cgi', - 'query_string' => $cgi->query_string, #pass CGI params... - ); - -#hmm. -my $output = $rv->{'error'} || $rv->{'output'}; - -print $cgi->header( '-expires' => 'now' ). - $output; - diff --git a/fs_selfservice/FS-SelfService/cgi/misc/phonenums.cgi b/fs_selfservice/FS-SelfService/cgi/misc/phonenums.cgi deleted file mode 100755 index e7d695d07..000000000 --- a/fs_selfservice/FS-SelfService/cgi/misc/phonenums.cgi +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -use CGI; -use FS::SelfService qw( mason_comp ); - -my $cgi = new CGI; - -my $rv = mason_comp( 'comp' => '/misc/phonenums.cgi', - 'query_string' => $cgi->query_string, #pass CGI params... - ); - -#hmm. -my $output = $rv->{'error'} || $rv->{'output'}; - -print $cgi->header( '-expires' => 'now' ). - $output; - diff --git a/fs_selfservice/FS-SelfService/cgi/misc/states.cgi b/fs_selfservice/FS-SelfService/cgi/misc/states.cgi deleted file mode 100755 index f75f2ae1d..000000000 --- a/fs_selfservice/FS-SelfService/cgi/misc/states.cgi +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -use CGI; -use FS::SelfService qw( mason_comp ); - -my $cgi = new CGI; - -my $rv = mason_comp( 'comp' => '/misc/states.cgi', - 'query_string' => $cgi->query_string, #pass CGI params... - ); - -#hmm. -my $output = $rv->{'error'} || $rv->{'output'}; - -print $cgi->header( '-expires' => 'now' ). - $output; - diff --git a/fs_selfservice/FS-SelfService/cgi/misc/svc_acct-domains.cgi b/fs_selfservice/FS-SelfService/cgi/misc/svc_acct-domains.cgi deleted file mode 100755 index c5413bac6..000000000 --- a/fs_selfservice/FS-SelfService/cgi/misc/svc_acct-domains.cgi +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -use CGI; -use FS::SelfService qw( mason_comp ); - -my $cgi = new CGI; - -my $rv = mason_comp( 'comp' => '/misc/svc_acct-domains.cgi', - 'query_string' => $cgi->query_string, #pass CGI params... - ); - -#hmm. -my $output = $rv->{'error'} || $rv->{'output'}; - -print $cgi->header( '-expires' => 'now' ). - $output; - diff --git a/fs_selfservice/FS-SelfService/cgi/myaccount.html b/fs_selfservice/FS-SelfService/cgi/myaccount.html deleted file mode 100644 index a57bfb14a..000000000 --- a/fs_selfservice/FS-SelfService/cgi/myaccount.html +++ /dev/null @@ -1,114 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'My Account') %> - -Hello <%= $name %>!<BR><BR> -<%= $small_custview %> -<BR> -<%= if ( $access_pkgnum ) { - $OUT .= qq!Balance: <B>\$$balance</B><BR><BR>!; - } - ''; -%> - -<%= - $OUT .= qq! <B><A HREF="${url}invoices">View All Invoices</A></B> !; -%> - -<%= if ( $balance > 0 ) { - if (scalar(grep $_, @hide_payment_fields)) { - $OUT .= qq! <B><A HREF="${url}make_thirdparty_payment&payby_method=CC">Make a payment</A></B><BR><BR>!; - } else { - $OUT .= qq! <B><A HREF="${url}make_payment">Make a payment</A></B><BR>!; - foreach my $term ( sort { $b <=> $a } keys %discount_terms_hash ) { - my $saved = $discount_terms_hash{$term}->[1]; - my $amount = $discount_terms_hash{$term}->[2]; - my $savings = ( $amount + $saved > 0 ) - ? sprintf('%d', $saved / ( $amount + $saved ) * 100 ) : '0'; - $OUT .= qq! <B><A HREF="${url}make_term_payment;discount_term=$term;amount=$amount">Save $savings\% by paying for $term months: $amount</A></B><BR>!; - } - $OUT .= qq! <BR>!; - } -} %> -<%= - if ( @open_invoices ) { - $OUT .= '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR="#eeeeee">'. - '<TR><TH BGCOLOR="#ff6666" COLSPAN=5>Open Invoices</TH></TR>'; - my $link = qq!<A HREF="<%= $url %>myaccount!; - my $col1 = "ffffff"; - my $col2 = "dddddd"; - my $col = $col1; - - foreach my $invoice ( @open_invoices ) { - my $td = qq!<TD BGCOLOR="#$col">!; - my $a=qq!<A HREF="${url}view_invoice;invnum=!. $invoice->{'invnum'}. '">'; - $OUT .= - "<TR>$td${a}Invoice #". $invoice->{'invnum'}. "</A></TD>$td</TD>". - "$td$a". $invoice->{'date'}. "</A></TD>$td</TD>". - qq!<TD BGCOLOR="#$col" ALIGN="right">$a\$!. $invoice->{'owed'}. - '</A></TD>'. - '</TR>'; - $col = $col eq $col1 ? $col2 : $col1; - } - $OUT .= '</TABLE><BR>'; - } else { - $OUT .= 'You have no outstanding invoices.<BR><BR>'; - } -%> - -<%= - if ( @support_services ) { - $OUT .= '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR="#eeeeee">'. - '<TR><TH BGCOLOR="#ff6666" COLSPAN="3">Support Time Remaining</TH>'. - '</TR><TR><TH ALIGN="left">#</TH><TH>Package</TH>'. - '<TH>Time Remaining</TH></TR>'; - my $col1 = "ffffff"; - my $col2 = "dddddd"; - my $col = $col1; - - foreach my $support ( @support_services ) { - my $td = qq!<TD BGCOLOR="#$col">!; - my $a = qq!<A HREF="${url}view_support_details;svcnum=!. - $support->{'svcnum'}. '">'; - $OUT .= - "<TR>$td$a". $support->{'pkgnum'}. "</A></TD>". - $td.$a. $support->{'pkg'}. "</A></TD>". - $td.$a. $support->{'time'}. "</A></TD>". - '</TR>'; - $col = $col eq $col1 ? $col2 : $col1; - } - $OUT .= '</TABLE><BR>'; - } else { - $OUT .= ''; - } -%> - -<%= - if ( @tickets ) { - $OUT .= '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR="#eeeeee">'. - '<TR><TH BGCOLOR="#ff6666" COLSPAN=6>Open Tickets</TH></TR>'. - '<TR><TH>#</TH><TH>Subject</TH><TH>Priority</TH><TH>Queue</TH>'. - '<TH>Status</TH><TH>Created</TH></TR>'; - my $col1 = "ffffff"; - my $col2 = "dddddd"; - my $col = $col1; - - foreach my $ticket ( @tickets ) { - my $td = qq!<TD BGCOLOR="#$col">!; - my $link = qq!<A HREF="${url}tktview;ticket_id=$ticket->{id}">!; - $OUT .= - "<TR>$td $link". $ticket->{'id'}. "</A></TD>". - $td. $ticket->{'subject'}. "</TD>". - $td. ($ticket->{'content'} || $ticket->{'priority'}). "</TD>". - $td. $ticket->{'queue'}. "</TD>". - $td. $ticket->{'status'}. "</TD>". - $td. $ticket->{'created'}. "</TD>". - '</TR>'; - $col = $col eq $col1 ? $col2 : $col1; - } - $OUT .= '</TABLE>'; - } else { - $OUT .= ''; - } -%> - -<%= include('footer') %> 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 4036432aa..000000000 --- a/fs_selfservice/FS-SelfService/cgi/myaccount_menu.html +++ /dev/null @@ -1,154 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<TABLE BORDER=0><TR> -<TD VALIGN="top" BGCOLOR="<%= $menu_bgcolor || $box_bgcolor || '#c0c0c0' %>"> - -<TABLE CELLSPACING=0 BORDER=0 HEIGHT="100%"> - -<%= - -if ( $menu_top_image ) { - $OUT .= '<TR><TD STYLE="padding:0px"><IMG SRC="image.cgi?menu_top_image"></TD></TR>'; -} - -my @menu = ( - { title=>' ' }, - { title=>'Overview', url=>'myaccount', size=>'+1', }, - { title=>' ' }, - { title=>'Purchase', size=>'+1', }, -); - -unless ( $access_pkgnum ) { - push @menu, - { title=>'Purchase additional package', - url=>'customer_order_pkg', 'indent'=>2 }; -} - -if ( 1 ) { #XXXFIXME "enable selfservice prepay features" flag or something, eventually per-pkg or something really fancy - - #XXXFIXME still a bit sloppy for multi-gateway of differing namespace - my $i = 0; - while($i < scalar(@cust_paybys)) { last if $cust_paybys[$i] =~ /^CARD/; $i++ } - if ( $cust_paybys[$i] && $cust_paybys[$i] =~ /^CARD/ ) { - push @menu, { title => 'Recharge my account with a credit card', - url => $hide_payment_fields[$i] - ? 'make_thirdparty_payment&payby_method=CC' - : 'make_payment', - indent => 2, - } - } - - $i = 0; - while($i < scalar(@cust_paybys)) { last if $cust_paybys[$i] =~ /^CHEK/; $i++ } - if ( $cust_paybys[$i] && $cust_paybys[$i] =~ /^CHEK/ ) { - push @menu, { title => 'Recharge my account with a check', - url => $hide_payment_fields[$i] - ? 'make_thirdparty_payment&payby_method=ECHECK' - : 'make_ach_payment', - indent => 2, - } - } - - push @menu, { title => 'Recharge my account with a prepaid card', - url => 'recharge_prepay', - indent => 2, - } - if grep(/^PREP/, @cust_paybys); - -} - -push @menu, - { title=>' ' }, - { title=>'View my usage', url=>'view_usage', size=>'+1', }, - { title=>'Create a ticket', url=>'tktcreate', size=>'+1', }, -; - -unless ( $access_pkgnum ) { - push @menu, - { title=>'Setup my services', url=>'provision', size=>'+1', }, - ; -} - -push @menu, - { title=>' ' }; - -push @menu, - { title=>'Change my information', size=>'+1', }; - -unless ( $access_pkgnum ) { - push @menu, - { title=>'Change billing address', url=>'change_bill', indent=>2 }, - { title=>'Change service address', url=>'change_ship', indent=>2 }, - { title=>'Change payment information', url=>'change_pay', indent=>2 }, - ; -} - -push @menu, - { title=>'Change password(s)', url=>'change_password', indent=>2 }, - { title=>' ' }, - { title=>'Logout', url=>'logout', size=>'+1', }, -; - -foreach my $item ( @menu ) { - - next if $menu_skipblanks && $item->{'title'} =~ /^\s*$/; - next if $menu_skipheadings && ! $item->{'url'}; - - $OUT .= '<TR><TD'; - if ( $menu_body_image ) { - if ( exists $item->{'url'} && $action eq $item->{'url'} ) { - $OUT .= #' BGCOLOR="'. ( $body_bgcolor || '#eeeeee' ). '" '. - ' STYLE="background: url(image.cgi?menu_body_image) 0 bottom; '. - ' color:#3366CC"; '. #XXX config - ' " '; - } else { - $OUT .= ' STYLE="background: url(image.cgi?menu_body_image) 0 bottom" '; - } - } else { - if ( exists $item->{'url'} && $action eq $item->{'url'} ) { - $OUT .= ' BGCOLOR="'. ( $body_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.='>'; - - if ( $menu_skipheadings ) { - $OUT .= ' '; - } else { - $OUT .= ' ' x $item->{'indent'} - if exists $item->{'indent'}; - } - - $OUT .= '<A HREF="'. $url. $item->{'url'}. '">' - if exists $item->{'url'} && $action ne $item->{'url'}; - - $OUT .= '<FONT SIZE="'. ( $menu_fontsize || $item->{'size'} ). '">' - if $menu_fontsize || exists($item->{'size'}); - - $item->{'title'} =~ s/ / /g; - $OUT .= $item->{'title'}; - - $OUT .= '</FONT>' - if exists $item->{'size'}; - - $OUT .= '</A>' - if exists $item->{'url'} && $action ne $item->{'url'}; - - $OUT .= '</TD></TR>'; - -} - -if ( $menu_bottom_image ) { - $OUT .= '<TR><TD STYLE="padding:0px"><IMG SRC="image.cgi?menu_bottom_image"></TD></TR>'; -} else { - $OUT .= '<TR><TD STYLE="border-right: 1px solid black" HEIGHT="100%"><BR><BR><BR><BR></TD></TR>'; -} - -%> - -</TABLE> - -</TD> 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 79335a0c2..000000000 --- a/fs_selfservice/FS-SelfService/cgi/order_pkg.html +++ /dev/null @@ -1,47 +0,0 @@ -<SCRIPT TYPE="text/javascript"> -function enable_order_pkg () { - if ( document.OrderPkgForm.pkgpart_svcpart.selectedIndex > 0 ) { - document.OrderPkgForm.submit.disabled = false; - } else { - document.OrderPkgForm.submit.disabled = true; - } -} -</SCRIPT> - -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">$error</FONT><BR><BR>!; -} ''; %> -<FORM NAME="OrderPkgForm" ACTION="<%= $selfurl %>" METHOD=POST> -<INPUT TYPE="hidden" NAME="session" VALUE="<%= $session_id %>"> -<INPUT TYPE="hidden" NAME="action" VALUE="process_order_pkg"> -<INPUT TYPE="hidden" NAME="custnum" VALUE="<%= $custnum %>"> -<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0> - -<TR> - <TD COLSPAN=2> - <TABLE><TR><TD> <%= $pkg_selector %> - - </TD> -</TR> - -<%= - if ( 0 ) { - if ( @svc_acct_pop ) { - $OUT .= '<TR><TD ALIGN="right">Access number</TD><TD>'. - popselector( 'popnum' => $popnum, - 'pops' => \@svc_acct_pop, - 'init_popstate' => $init_popstate, - 'popac' => $popac, - 'acstate' => $acstate, - ). - '</TD></TR>'; - } else { - $OUT .= popselector(popnum=>$popnum, pops=>\@svc_acct_pop); - } - } - ''; -%> -</TABLE> -<INPUT NAME="submit" TYPE="submit" VALUE="Purchase" DISABLED> -</FORM> - diff --git a/fs_selfservice/FS-SelfService/cgi/overlibmws.js b/fs_selfservice/FS-SelfService/cgi/overlibmws.js deleted file mode 100644 index df2bd1db7..000000000 --- a/fs_selfservice/FS-SelfService/cgi/overlibmws.js +++ /dev/null @@ -1,620 +0,0 @@ -/*
- Do not remove or change this notice.
- overlibmws.js core module - Copyright Foteos Macrides 2002-2008. All rights reserved.
- Initial: August 18, 2002 - Last Revised: March 22, 2008
- This module is subject to the same terms of usage as for Erik Bosrup's overLIB,
- though only a minority of the code and API now correspond with Erik's version.
- See the overlibmws Change History and Command Reference via:
-
- http://www.macridesweb.com/oltest/
-
- Published under an open source license: http://www.macridesweb.com/oltest/license.html
- Give credit on sites that use overlibmws and submit changes so others can use them as well.
- You can get Erik's version via: http://www.bosrup.com/web/overlib/
-*/
-
-// PRE-INIT -- Ignore these lines, configuration is below.
-var OLloaded=0,OLbubblePI=0,OLcrossframePI=0,OLdebugPI=0,OLdraggablePI=0,OLexclusivePI=0,OLfilterPI=0,
-OLfunctionPI=0,OLhidePI=0,OLiframePI=0,OLmodalPI=0,OLovertwoPI=0,OLscrollPI=0,OLshadowPI=0,OLprintPI=0,
-pmCnt=1,pMtr=new Array(),OLcmdLine=new Array(),OLrunTime=new Array(),OLv,OLudf,OLrefXY,
-OLpct=new Array("83%","67%","83%","100%","117%","150%","200%","267%");if(typeof OLgateOK=='undefined')var OLgateOK=1;
-var OLp1or2c='inarray,caparray,caption,closetext,right,left,center,autostatuscap,padx,pady,below,above,vcenter,donothing',
-OLp1or2co='nofollow,background,offsetx,offsety,fgcolor,bgcolor,cgcolor,textcolor,capcolor,width,wrap,wrapmax,height,border,'
-+'base,status,autostatus,snapx,snapy,fixx,fixy,relx,rely,midx,midy,ref,refc,refp,refx,refy,fgbackground,bgbackground,'
-+'cgbackground,fullhtml,capicon,textfont,captionfont,textsize,captionsize,timeout,delay,hauto,vauto,nojustx,nojusty,fgclass,'
-+'bgclass,cgclass,capbelow,textpadding,textfontclass,captionpadding,captionfontclass,sticky,noclose,mouseoff,offdelay,'
-+'closecolor,closefont,closesize,closeclick,closetitle,closefontclass,decode',OLp1or2o='text,cap,close,hpos,vpos,padxl,'
-+'padxr,padyt,padyb',OLp1co='label',OLp1or2=OLp1or2co+','+OLp1or2o,OLp1=OLp1co+','+'frame';
-OLregCmds(OLp1or2c+','+OLp1or2co+','+OLp1co);
-function OLud(v){return eval('typeof ol_'+v+'=="undefined"')?1:0;}
-
-// DEFAULT CONFIGURATION -- See overlibConfig.txt for descriptions
-if(OLud('fgcolor'))var ol_fgcolor="#ccccff";
-if(OLud('bgcolor'))var ol_bgcolor="#333399";
-if(OLud('cgcolor'))var ol_cgcolor="#333399";
-if(OLud('textcolor'))var ol_textcolor="#000000";
-if(OLud('capcolor'))var ol_capcolor="#ffffff";
-if(OLud('closecolor'))var ol_closecolor="#eeeeff";
-if(OLud('textfont'))var ol_textfont="Verdana,Arial,Helvetica";
-if(OLud('captionfont'))var ol_captionfont="Verdana,Arial,Helvetica";
-if(OLud('closefont'))var ol_closefont="Verdana,Arial,Helvetica";
-if(OLud('textsize'))var ol_textsize=1;
-if(OLud('captionsize'))var ol_captionsize=1;
-if(OLud('closesize'))var ol_closesize=1;
-if(OLud('fgclass'))var ol_fgclass="";
-if(OLud('bgclass'))var ol_bgclass="";
-if(OLud('cgclass'))var ol_cgclass="";
-if(OLud('textpadding'))var ol_textpadding=2;
-if(OLud('textfontclass'))var ol_textfontclass="";
-if(OLud('captionpadding'))var ol_captionpadding=2;
-if(OLud('captionfontclass'))var ol_captionfontclass="";
-if(OLud('closefontclass'))var ol_closefontclass="";
-if(OLud('close'))var ol_close="Close";
-if(OLud('closeclick'))var ol_closeclick=0;
-if(OLud('closetitle'))var ol_closetitle="Click to Close";
-if(OLud('text'))var ol_text="Default Text";
-if(OLud('cap'))var ol_cap="";
-if(OLud('capbelow'))var ol_capbelow=0;
-if(OLud('background'))var ol_background="";
-if(OLud('width'))var ol_width=200;
-if(OLud('wrap'))var ol_wrap=0;
-if(OLud('wrapmax'))var ol_wrapmax=0;
-if(OLud('height'))var ol_height= -1;
-if(OLud('border'))var ol_border=1;
-if(OLud('base'))var ol_base=0;
-if(OLud('offsetx'))var ol_offsetx=10;
-if(OLud('offsety'))var ol_offsety=10;
-if(OLud('sticky'))var ol_sticky=0;
-if(OLud('nofollow'))var ol_nofollow=0;
-if(OLud('noclose'))var ol_noclose=0;
-if(OLud('mouseoff'))var ol_mouseoff=0;
-if(OLud('offdelay'))var ol_offdelay=300;
-if(OLud('hpos'))var ol_hpos=RIGHT;
-if(OLud('vpos'))var ol_vpos=BELOW;
-if(OLud('status'))var ol_status="";
-if(OLud('autostatus'))var ol_autostatus=0;
-if(OLud('snapx'))var ol_snapx=0;
-if(OLud('snapy'))var ol_snapy=0;
-if(OLud('fixx'))var ol_fixx= -1;
-if(OLud('fixy'))var ol_fixy= -1;
-if(OLud('relx'))var ol_relx=null;
-if(OLud('rely'))var ol_rely=null;
-if(OLud('midx'))var ol_midx=null;
-if(OLud('midy'))var ol_midy=null;
-if(OLud('ref'))var ol_ref="";
-if(OLud('refc'))var ol_refc='UL';
-if(OLud('refp'))var ol_refp='UL';
-if(OLud('refx'))var ol_refx=0;
-if(OLud('refy'))var ol_refy=0;
-if(OLud('fgbackground'))var ol_fgbackground="";
-if(OLud('bgbackground'))var ol_bgbackground="";
-if(OLud('cgbackground'))var ol_cgbackground="";
-if(OLud('padxl'))var ol_padxl=1;
-if(OLud('padxr'))var ol_padxr=1;
-if(OLud('padyt'))var ol_padyt=1;
-if(OLud('padyb'))var ol_padyb=1;
-if(OLud('fullhtml'))var ol_fullhtml=0;
-if(OLud('capicon'))var ol_capicon="";
-if(OLud('frame'))var ol_frame=self;
-if(OLud('timeout'))var ol_timeout=0;
-if(OLud('delay'))var ol_delay=0;
-if(OLud('hauto'))var ol_hauto=0;
-if(OLud('vauto'))var ol_vauto=0;
-if(OLud('nojustx'))var ol_nojustx=0;
-if(OLud('nojusty'))var ol_nojusty=0;
-if(OLud('label'))var ol_label="";
-if(OLud('decode'))var ol_decode=0;
-// ARRAY CONFIGURATION - See overlibConfig.txt for descriptions.
-if(OLud('texts'))var ol_texts=new Array("Text 0","Text 1");
-if(OLud('caps'))var ol_caps=new Array("Caption 0","Caption 1");
-// END CONFIGURATION -- Don't change anything below, all configuration is above.
-
-// INIT -- Runtime variables.
-var o3_text="",o3_cap="",o3_sticky=0,o3_nofollow=0,o3_background="",o3_noclose=0,o3_mouseoff=0,o3_offdelay=300,o3_hpos=RIGHT,
-o3_offsetx=10,o3_offsety=10,o3_fgcolor="",o3_bgcolor="",o3_cgcolor="",o3_textcolor="",o3_capcolor="",o3_closecolor="",
-o3_width=200,o3_wrap=0,o3_wrapmax=0,o3_height= -1,o3_border=1,o3_base=0,o3_status="",o3_autostatus=0,o3_snapx=0,o3_snapy=0,
-o3_fixx= -1,o3_fixy= -1,o3_relx=null,o3_rely=null,o3_midx=null,o3_midy=null,o3_ref="",o3_refc='UL',o3_refp='UL',o3_refx=0,
-o3_refy=0,o3_fgbackground="",o3_bgbackground="",o3_cgbackground="",o3_padxl=0,o3_padxr=0,o3_padyt=0,o3_padyb=0,o3_fullhtml=0,
-o3_vpos=BELOW,o3_capicon="",o3_textfont="Verdana,Arial,Helvetica",o3_captionfont="",o3_closefont="",o3_textsize=1,OLcC=null,
-o3_captionsize=1,o3_closesize=1,o3_frame=self,o3_timeout=0,o3_delay=0,o3_hauto=0,o3_vauto=0,o3_nojustx=0,o3_nojusty=0,
-o3_close="",o3_closeclick=0,o3_closetitle="",o3_fgclass="",o3_bgclass="",o3_cgclass="",o3_textpadding=2,o3_textfontclass="",
-o3_captionpadding=2,o3_captionfontclass="",o3_closefontclass="",o3_capbelow=0,o3_label="",o3_decode=0,
-CSSOFF=DONOTHING,CSSCLASS=DONOTHING,over=null,OLdelayid=0,OLtimerid=0,OLshowid=0,OLndt=0,OLfnRef="",OLhover=0,OLx=0,OLy=0,
-OLshowingsticky=0,OLallowmove=0,OLoverHTML="",OLover2HTML="",OLifRef="",OLo2Ref="",OLifX=0,OLifY=0,
-OLua=(OLv=navigator.userAgent)?OLv.toLowerCase():'',
-OLns4=(navigator.appName=='Netscape'&&parseInt(navigator.appVersion)==4)?1:0,
-OLns6=(document.getElementById)?1:0,
-OLie4=(document.all)?1:0,
-OLgek=(OLv=OLua.match(/gecko\/(\d{8})/i))?parseInt(OLv[1]):0,
-OLmac=(OLua.indexOf('mac')>=0)?1:0,
-OLsaf=(OLua.indexOf('safari')>=0)?1:0,
-OLkon=(OLua.indexOf('konqueror')>=0)?1:0,
-OLkht=(OLsaf||OLkon)?1:0,
-OLopr=(OLua.indexOf('opera')>=0)?1:0,
-OLop7=(OLopr&&document.createTextNode)?1:0;
-if(OLopr){OLns4=OLns6=OLgek=0;OLie4=(OLop7)?1:0;}
-var OLieM=((OLie4&&OLmac)&&!(OLkht||OLopr))?1:0,
-OLie5=0,OLie55=0;OLie7=0;if(OLie4&&!OLop7){
-if((OLv=OLua.match(/msie (\d\.\d+)\.*/i))&&(OLv=parseFloat(OLv[1]))>=5.0){
-OLie5=1;OLns6=0;if(OLv>=5.5)OLie55=1;if(OLv>=7.0)OLie7=1;}if(OLns6)OLie4=0;}
-if(OLns4)window.onresize=function(){location.reload();};var OLchkMh=1,OLdw;
-if(OLns4||OLie4||OLns6){OLmh();if(window.addEventListener)window.addEventListener("unload",
-OLulCl,false);}else{overlib=nd=cClick=OLpageDefaults=no_overlib;}
-function OLulCl(){if(over)cClick();window.removeEventListener("unload",OLulCl,false);}
-
-/*
- PUBLIC FUNCTIONS
-*/
-// Loads defaults then args into runtime variables.
-function overlib(){
-if(!(OLloaded&&OLgateOK))return;if((OLexclusivePI)&&OLisExclusive(arguments))return true;if(OLchkMh)OLmh();
-if(OLndt&&!OLtimerid)OLndt=0;if(over)cClick();if(parent!=self){if(parent.OLo2Ref){parent.OLeval(parent.OLo2Ref);
-parent.OLo2Ref="";}if(parent.OLifRef){parent.OLeval(parent.OLifRef);parent.OLifRef="";}}if(OLo2Ref){eval(OLo2Ref);
-OLo2Ref="";}if(OLifRef){eval(OLifRef);OLifRef="";}OLload(OLp1or2);OLload(OLp1);OLfnRef="";OLifX=0;OLifY=0;OLhover=0;
-OLsetRunTimeVar();OLparseTokens('o3_',arguments);if(!(over=OLmkLyr()))return false;if(o3_decode)OLdecode();if(OLprintPI)
-OLchkPrint();if(OLbubblePI)OLchkForBubbleEffect();if(OLdebugPI)OLsetDebugCanShow();if(OLshadowPI)OLinitShadow();
-if(OLiframePI)OLinitIfs();if(OLfilterPI)OLinitFilterLyr();if(OLexclusivePI&&o3_exclusive&&o3_exclusivestatus!="")
-o3_status=o3_exclusivestatus;else if(o3_autostatus==2&&o3_cap!="")o3_status=o3_cap;else if(o3_autostatus==1&&o3_text!="")
-o3_status=o3_text;if(!o3_delay){return OLmain();}else{OLdelayid=setTimeout("OLmain()",o3_delay);if(o3_status!=""){
-self.status=o3_status;return true;}else if(!(OLop7&&event&&event.type=='mouseover'))return false;}
-}
-function OLeval(s){eval(s);}
-
-// Clears popups if appropriate
-function nd(time){
-if(OLloaded&&OLgateOK){if(!((OLexclusivePI)&&OLisExclusive())){if(time&&over&&!o3_delay){
-if(OLtimerid>0)clearTimeout(OLtimerid);OLtimerid=(OLhover&&o3_frame==self&&!OLcursorOff())?0:
-setTimeout("cClick()",(o3_timeout=OLndt=time));}else{if(!OLshowingsticky){OLallowmove=0;
-if(over)OLhideObject(over);}}}}return false;
-}
-
-// Close function for stickies
-function cClick(){
-if(OLloaded&&OLgateOK){OLhover=0;if(over){if(OLo2Ref){eval(OLo2Ref);OLo2Ref="";}if(OLovertwoPI&&over==over2)cClick2();
-OLhideObject(over);OLshowingsticky=0;OLallowmove=0;}if(OLmodalPI)OLclearModal();}return false;
-}
-
-// Sets page-specific defaults.
-function OLpageDefaults(){
-OLparseTokens('ol_',arguments);
-}
-
-// Gets object referenced by its id or name
-function OLgetRef(l,d){var r=OLgetRefById(l,d);return (r)?r:OLgetRefByName(l,d);}
-
-// For unsupported browsers.
-function no_overlib(){return false;}
-
-/*
- OVERLIB MAIN FUNCTION SET
-*/
-function OLmain(){
-o3_delay=0;if(parent!=self&&o3_frame==parent&&parent.OLscrollPI&&parent.over)parent.OLclearScroll();if(o3_frame==self){
-if(o3_noclose)OLoptMOUSEOFF(0);else if(o3_mouseoff)OLoptMOUSEOFF(1);}if(o3_sticky){OLshowingsticky=1;if(OLfnRef&&
-parent!=self&&o3_frame==parent&&parent.overlib){parent.OLifRef=OLfnRef+'cClick()';}}OLdoLyr();OLallowmove=0;if(o3_timeout>0){
-if(OLtimerid>0)clearTimeout(OLtimerid);OLtimerid=setTimeout("cClick()",o3_timeout);}OLchkRef();OLdisp(o3_status);
-if(OLdraggablePI)OLcheckDrag();if(o3_status!="")return true;else if(!(OLop7&&event&&event.type=='mouseover'))return false;
-}
-function OLchkRef(){
-if(o3_ref){OLrefXY=OLgetRefXY(o3_ref);if(OLrefXY[0]==null&&OLcrossframePI)OLchkIfRef();
-if(OLrefXY[0]==null){o3_ref="";o3_midx=0;o3_midy=0;}}
-}
-
-// Loads o3_ variables
-function OLload(c){var i,m=c.split(',');for(i=0;i<m.length;i++)eval('o3_'+m[i]+'=ol_'+m[i]);}
-
-// Chooses LGF
-function OLdoLGF(){
-return (o3_background!=''||o3_fullhtml)?OLcontentBackground(o3_text,o3_background,o3_fullhtml):(o3_cap=="")?
-OLcontentSimple(o3_text):(o3_sticky)?OLcontentCaption(o3_text,o3_cap,o3_close):OLcontentCaption(o3_text,o3_cap,'');
-}
-
-// Makes Layer
-function OLmkLyr(id,f,z){
-id=(id||'overDiv');f=(f||o3_frame);z=(z||1000);var fd=f.document,d=OLgetRefById(id,fd);
-if(!d){if(OLns4)d=fd.layers[id]=new Layer(1024,f);else if(OLie4&&!OLop7){
-fd.body.insertAdjacentHTML('AfterBegin','<div id="'+id+'"></div>');d=fd.all[id];}else{d=fd.createElement('div');
-if(d){d.id=id;fd.body.appendChild(d);}}if(!d)return null;if(OLns4)d.zIndex=z;else{var o=d.style;o.position='absolute';
-o.visibility='hidden';o.zIndex=z;}}return d;
-}
-
-// Creates and writes layer content
-function OLdoLyr(){
-if(o3_sticky&&OLtimerid>0){clearTimeout(OLtimerid);OLtimerid=0;}if(o3_background==''&&!o3_fullhtml){
-if(o3_fgbackground!='')o3_fgbackground=' background="'+o3_fgbackground+'"';
-if(o3_bgbackground!='')o3_bgbackground=' background="'+o3_bgbackground+'"';
-if(o3_cgbackground!='')o3_cgbackground=' background="'+o3_cgbackground+'"';
-if(o3_fgcolor!='')o3_fgcolor=' bgcolor="'+o3_fgcolor+'"';if(o3_bgcolor!='')o3_bgcolor=' bgcolor="'+o3_bgcolor+'"';
-if(o3_cgcolor!='')o3_cgcolor=' bgcolor="'+o3_cgcolor+'"';if(o3_height>0)o3_height=' height="'+o3_height+'"';
-else o3_height='';}if(!OLns4)OLrepositionTo(over,(OLns6?20:0),0);var lyrHtml=OLdoLGF();
-if(o3_wrap&&!o3_fullhtml){OLlayerWrite(lyrHtml);o3_width=(OLns4?over.clip.width:over.offsetWidth);if(OLie4){
-var w=OLfd().clientWidth;if(o3_width>=w){if(OLop7){if(OLovertwoPI&&over==over2){var z=over2.style.zIndex;
-o3_frame.document.body.removeChild(over);over2=OLmkLyr('overDiv2',o3_frame,z);over=over2;}else{
-o3_frame.document.body.removeChild(over);over=OLmkLyr();}}o3_width=w-20;}}
-if(o3_wrapmax<1&&o3_frame.innerWidth)o3_wrapmax=o3_frame.innerWidth-40;
-if(o3_wrapmax>0&&o3_width>o3_wrapmax)o3_width=o3_wrapmax;o3_wrap=0;lyrHtml=OLdoLGF();}OLlayerWrite(lyrHtml);
-o3_width=(OLns4?over.clip.width:over.offsetWidth);if(OLbubblePI)OLgenerateBubble(lyrHtml);
-}
-
-/*
- LAYER GENERATION FUNCTIONS
-*/
-// Makes simple table without caption
-function OLcontentSimple(txt){
-var t=OLbgLGF()+OLfgLGF(txt)+OLbaseLGF();OLsetBackground('');return t;
-}
-
-// Makes table with caption and optional close link
-function OLcontentCaption(txt,title,close){
-var closing=(OLprintPI?OLprintCapLGF():''),closeevent='onmouseover',caption,t,cC='javascript:return '+OLfnRef
-+(OLovertwoPI&&over==over2?'cClick2();':'cClick();');if(o3_closeclick)closeevent=(o3_closetitle?'title="'
-+o3_closetitle+'" ':'')+'onclick';if(o3_capicon!=''&&o3_capicon.indexOf('<img')!=0)o3_capicon='<img src="'+o3_capicon
-+'" /> ';if(close){closing+='<td align="right"><a href="'+cC+'" '+closeevent+'="'+cC+'"'+(o3_closefontclass?' class="'
-+o3_closefontclass+'">':(OLns4?'><':'')+OLlgfUtil(0,1,'','a',o3_closecolor,o3_closefont,o3_closesize))+close+
-(o3_closefontclass?'':(OLns4?OLlgfUtil(1,1,'','a'):''))+'</a></td>';}caption='<table id="overCap'
-+(OLovertwoPI&&over==over2?'2':'')+'"'+OLwd(0)+' border="0" cellpadding="'+o3_captionpadding+'" cellspacing="0"'
-+(o3_cgclass?' class="'+o3_cgclass+'"':o3_cgcolor+o3_cgbackground)+'><tr><td'+OLwd(0)+(o3_cgclass?' class="'
-+o3_cgclass+'">':'>')+(o3_captionfontclass?'<div'+OLhL(1)+' class="'+o3_captionfontclass+'">':OLlgfUtil(0,1,'','div',
-o3_capcolor,o3_captionfont,o3_captionsize))+o3_capicon+title+OLlgfUtil(1,1,'','div')+'</td>'+closing+'</tr></table>';
-t=OLbgLGF()+(o3_capbelow?OLfgLGF(txt)+caption:caption+OLfgLGF(txt))+OLbaseLGF();OLsetBackground('');return t;
-}
-
-// For BACKGROUND and FULLHTML commands
-function OLcontentBackground(txt,image,hasfullhtml){
-var t;if(hasfullhtml){t=txt;}else{t='<table'+OLwd(1)+' border="0" cellpadding="0" '+'cellspacing="0" '+'height="'
-+o3_height+'"><tr><td colspan="3" height="'+o3_padyt+'"></td></tr><tr><td width="'+o3_padxl+'"></td><td valign="top"'
-+OLwd(2)+'>'+OLlgfUtil(0,0,o3_textfontclass,'div',o3_textcolor,o3_textfont,o3_textsize)+txt+OLlgfUtil(1,0,'','div')
-+'</td><td width="'+o3_padxr+'"></td></tr><tr><td colspan="3" height="'+o3_padyb+'"></td></tr></table>';}
-OLsetBackground(image);return t;
-}
-
-// LGF utilities
-function OLbgLGF(){
-return '<table'+OLwd(1)+o3_height+' border="0" cellpadding="'+o3_border+'" cellspacing="0"'+(o3_bgclass?' class="'
-+o3_bgclass+'"':o3_bgcolor+o3_bgbackground)+'><tr><td>';
-}
-function OLfgLGF(t){
-return '<table'+OLwd(0)+o3_height+' border="0" cellpadding="'+o3_textpadding+'" cellspacing="0"'+(o3_fgclass?' class="'
-+o3_fgclass+'"':o3_fgcolor+o3_fgbackground)+'><tr><td valign="top"'+(o3_fgclass?' class="'+o3_fgclass+'"':'')+'>'
-+OLlgfUtil(0,0,o3_textfontclass,'div',o3_textcolor,o3_textfont,o3_textsize)+t+(OLprintPI?OLprintFgLGF():'')
-+OLlgfUtil(1,0,'','div')+'</td></tr></table>';
-}
-function OLlgfUtil(end,stg,tfc,ele,col,fac,siz){
-if(end)return('</'+(OLns4?'font'+(stg?'></strong':''):ele)+'>');else return(tfc?'<div'+OLhL(1)+' class="'+tfc+'">':
-((ele=='a'?'':'<')+(OLns4?(stg?'strong><':'')+'font color="'+col+'" face="'+OLquoteMultiNameFonts(fac)+'" size="'
-+siz:(ele=='a'?'':ele)+' style="'+((ele=='div')?OLhL(0):'')+'color:'+col+(stg?';font-weight:bold':'')+';font-family:'
-+OLquoteMultiNameFonts(fac)+';font-size:'+siz+';'+(ele=='span'?'text-decoration:underline;':''))+'">'));
-}
-function OLquoteMultiNameFonts(f){
-var i,v,pM=f.split(',');for(i=0;i<pM.length;i++){v=pM[i];v=v.replace(/^\s+/,'').replace(/\s+$/,'');
-if(/\s/.test(v) && !/['"]/.test(v)){v="\'"+v+"\'";pM[i]=v;}}return pM.join();
-}
-function OLbaseLGF(){
-return ((o3_base>0&&!o3_wrap)?('<table width="100%" border="0" cellpadding="0" cellspacing="0"'+(o3_bgclass?' class="'
-+o3_bgclass+'"':'')+'><tr><td height="'+o3_base+'"></td></tr></table>'):'')+'</td></tr></table>';
-}
-function OLwd(a){return(o3_wrap?'':' width="'+(!a?'100%':(a==1?o3_width:(o3_width-o3_padxl-o3_padxr)))+'"');}
-function OLhL(s){return(s?' style="width:100%;"':'width:100%;');}
-
-// Loads image into the div.
-function OLsetBackground(i){
-if(i==''){if(OLns4)over.background.src=null;else{if(OLns6)over.style.width='';over.style.backgroundImage='none';}}
-else{if(OLns4)over.background.src=i;else{if(OLns6)over.style.width=o3_width+'px';over.style.backgroundImage='url('+i+')';}}
-}
-
-/*
- HANDLING FUNCTIONS
-*/
-// Displays layer
-function OLdisp(s){
-if(OLmodalPI&&!o3_modalscroll)OLchkModal();if(!OLallowmove){if(OLshadowPI)OLdispShadow();if(OLiframePI)OLdispIfs();
-OLplaceLayer();if(OLmodalPI&&o3_modalscroll)OLchkModal();if(OLndt)OLshowObject(over);
-else OLshowid=setTimeout("OLshowObject(over)",1);OLallowmove=(o3_sticky||o3_nofollow)?0:1;}OLndt=0;if(s!="")self.status=s;
-}
-
-// Decides placement of layer.
-function OLplaceLayer(){
-var snp,X,Y,pgLeft,pgTop,pWd=o3_width,pHt,iWd=100,iHt=100,SB=0,LM=0,CX=0,TM=0,BM=0,CY=0,o=OLfd(),
-nsb=(OLgek>=20010505&&!o3_frame.scrollbars.visible)?1:0;
-if(!OLkht&&o&&o.clientWidth)iWd=o.clientWidth;
-else if(o3_frame.innerWidth){SB=Math.ceil(1.4*(o3_frame.outerWidth-o3_frame.innerWidth));
-if(SB>20)SB=20;iWd=o3_frame.innerWidth;}
-pgLeft=(OLie4)?o.scrollLeft:o3_frame.pageXOffset;
-if(OLie55&&OLfilterPI&&o3_filter&&o3_filtershadow)SB=CX=5;else
-if((OLshadowPI)&&bkdrop&&o3_shadow&&o3_shadowx){SB+=((o3_shadowx>0)?o3_shadowx:0);
-LM=((o3_shadowx<0)?Math.abs(o3_shadowx):0);CX=Math.abs(o3_shadowx);}
-if(o3_ref!=""||o3_fixx> -1||o3_relx!=null||o3_midx!=null){
-if(o3_ref!=""){X=OLrefXY[0];if(OLie55&&OLfilterPI&&o3_filter&&o3_filtershadow){
-if(o3_refp=='UR'||o3_refp=='LR')X-=5;}
-else if((OLshadowPI)&&bkdrop&&o3_shadow&&o3_shadowx){
-if(o3_shadowx<0&&(o3_refp=='UL'||o3_refp=='LL'))X-=o3_shadowx;else
-if(o3_shadowx>0&&(o3_refp=='UR'||o3_refp=='LR'))X-=o3_shadowx;}
-}else{if(o3_midx!=null){
-X=parseInt(pgLeft+((iWd-pWd-SB-LM)/2)+o3_midx);
-}else{if(o3_relx!=null){
-if(o3_relx>=0)X=pgLeft+o3_relx+LM;else X=pgLeft+o3_relx+iWd-pWd-SB;
-}else{X=o3_fixx+LM;}}}
-}else{
-if(o3_hauto){
-if(o3_hpos==LEFT&&OLx-pgLeft+OLifX<iWd/2&&OLx-pWd-o3_offsetx+OLifX<pgLeft+LM)o3_hpos=RIGHT;else
-if(o3_hpos==RIGHT&&OLx-pgLeft+OLifX>iWd/2&&OLx+pWd+o3_offsetx+OLifX>pgLeft+iWd-SB)o3_hpos=LEFT;}
-X=(o3_hpos==CENTER)?parseInt(OLx-((pWd+CX)/2)+o3_offsetx):
-(o3_hpos==LEFT)?OLx-o3_offsetx-pWd:OLx+o3_offsetx;
-if(o3_snapx>1){
-snp=X % o3_snapx;
-if(o3_hpos==LEFT){X=X-(o3_snapx+snp);}else{X=X+(o3_snapx-snp);}}X+=OLifX;}
-if(!o3_nojustx&&X+pWd>pgLeft+iWd-SB)
-X=iWd+pgLeft-pWd-SB;if(!o3_nojustx&&X-LM<pgLeft)X=pgLeft+LM;
-pgTop=OLie4?o.scrollTop:o3_frame.pageYOffset;
-if(!OLkht&&!nsb&&o&&o.clientHeight)iHt=o.clientHeight;
-else if(o3_frame.innerHeight)iHt=o3_frame.innerHeight;
-if(OLbubblePI&&o3_bubble)pHt=OLbubbleHt;else pHt=OLns4?over.clip.height:over.offsetHeight;
-if((OLshadowPI)&&bkdrop&&o3_shadow&&o3_shadowy){TM=(o3_shadowy<0)?Math.abs(o3_shadowy):0;
-if(OLie55&&OLfilterPI&&o3_filter&&o3_filtershadow)BM=CY=5;else
-BM=(o3_shadowy>0)?o3_shadowy:0;CY=Math.abs(o3_shadowy);}
-if(o3_ref!=""||o3_fixy> -1||o3_rely!=null||o3_midy!=null){
-if(o3_ref!=""){Y=OLrefXY[1];if(OLie55&&OLfilterPI&&o3_filter&&o3_filtershadow){
-if(o3_refp=='LL'||o3_refp=='LR')Y-=5;}else if((OLshadowPI)&&bkdrop&&o3_shadow&&o3_shadowy){
-if(o3_shadowy<0&&(o3_refp=='UL'||o3_refp=='UR'))Y-=o3_shadowy;else
-if(o3_shadowy>0&&(o3_refp=='LL'||o3_refp=='LR'))Y-=o3_shadowy;}
-}else{if(o3_midy!=null){
-Y=parseInt(pgTop+((iHt-pHt-CY)/2)+o3_midy);
-}else{if(o3_rely!=null){
-if(o3_rely>=0)Y=pgTop+o3_rely+TM;else Y=pgTop+o3_rely+iHt-pHt-BM;}else{
-Y=o3_fixy+TM;}}}
-}else{
-if(o3_vauto){
-if(o3_vpos==ABOVE&&OLy-pgTop+OLifY<iHt/2&&OLy-pHt-o3_offsety+OLifY<pgTop)o3_vpos=BELOW;else
-if(o3_vpos==BELOW&&OLy-pgTop+OLifY>iHt/2&&OLy+pHt+o3_offsety+((OLns4||OLkht)?17:0)+OLifY>pgTop+iHt-BM)
-o3_vpos=ABOVE;}Y=(o3_vpos==VCENTER)?parseInt(OLy-((pHt+CY)/2)+o3_offsety):
-(o3_vpos==ABOVE)?OLy-(pHt+o3_offsety+BM):OLy+o3_offsety+TM;
-if(o3_snapy>1){
-snp=Y % o3_snapy;
-if(pHt>0&&o3_vpos==ABOVE){Y=Y-(o3_snapy+snp);}else{Y=Y+(o3_snapy-snp);}}Y+=OLifY;}
-if(!o3_nojusty&&Y+pHt+BM>pgTop+iHt)Y=pgTop+iHt-pHt-BM;if(!o3_nojusty&&Y-TM<pgTop)Y=pgTop+TM;
-OLrepositionTo(over,X,Y);
-if(OLshadowPI)OLrepositionShadow(X,Y);if(OLiframePI)OLrepositionIfs(X,Y);
-if(OLns6&&o3_frame.innerHeight){iHt=o3_frame.innerHeight;OLrepositionTo(over,X,Y);}
-if(OLscrollPI)OLchkScroll(X-pgLeft,Y-pgTop);
-}
-
-// Chooses body or documentElement
-function OLfd(f){
-var fd=((f)?f:o3_frame).document,fdc=fd.compatMode,fdd=fd.documentElement;
-return (!OLop7&&fdc&&fdc!='BackCompat'&&fdd&&fdd.clientWidth)?fd.documentElement:fd.body;
-}
-
-// Gets location of REFerence object
-function OLgetRefXY(r,d){
-var o=OLgetRef(r,d),ob=o,rXY=[o3_refx,o3_refy],of;if(!o)return [null,null];if(OLns4){
-if(typeof o.length!='undefined'&&o.length>1){ob=o[0];rXY[0]+=o[0].x+o[1].pageX;rXY[1]+=o[0].y+o[1].pageY;}else{
-if((o.toString().indexOf('Image')!= -1)||(o.toString().indexOf('Anchor')!= -1)){rXY[0]+=o.x;rXY[1]+=o.y;}
-else{rXY[0]+=o.pageX;rXY[1]+=o.pageY;}}}else{rXY[0]+=OLpageLoc(o,'Left');rXY[1]+=OLpageLoc(o,'Top');}
-of=OLgetRefOffsets(ob);rXY[0]+=of[0];rXY[1]+=of[1];return rXY;
-}
-
-// Seeks REFerence by id
-function OLgetRefById(l,d){
-l=(l||'overDiv');d=(d||o3_frame.document);var j,r;if(d.getElementById)return d.getElementById(l);
-if(OLie4&&d.all)return d.all[l];if(d.layers&&d.layers.length>0){if(d.layers[l])return d.layers[l];
-for(j=0;j<d.layers.length;j++){r=OLgetRefById(l,d.layers[j].document);if(r)return r;}}return null;
-}
-
-// Seeks REFerence by name
-function OLgetRefByName(l,d){
-d=(d||o3_frame.document);var j,r,v=OLie4?d.all.tags('iframe'):OLns6?d.getElementsByTagName('iframe'):null;
-if(typeof d.images!='undefined'&&d.images[l])return d.images[l];
-if(typeof d.anchors!='undefined'&&d.anchors[l])return d.anchors[l];
-if(v)for(j=0;j<v.length;j++)if(v[j].name==l)return v[j];if(d.layers&&d.layers.length>0)for(j=0;j<d.layers.length;j++){
-r=OLgetRefByName(l,d.layers[j].document);if(r&&r.length>0)return r;else if(r)return [r,d.layers[j]];}return null;
-}
-
-// Gets layer vs REFerence offsets
-function OLgetRefOffsets(o){
-var c=o3_refc.toUpperCase(),p=o3_refp.toUpperCase(),W=0,H=0,pW=0,pH=0,of=[0,0];pW=(OLbubblePI&&o3_bubble)?
-o3_width:OLns4?over.clip.width:over.offsetWidth;pH=(OLbubblePI&&o3_bubble)?OLbubbleHt:OLns4?
-over.clip.height:over.offsetHeight;if((!OLop7)&&o.toString().indexOf('Image')!= -1){W=o.width;H=o.height;}
-else if((!OLop7)&&o.toString().indexOf('Anchor')!= -1){c=o3_refc='UL';}else{W=(OLns4)?o.clip.width:o.offsetWidth;
-H=(OLns4)?o.clip.height:o.offsetHeight;}if((OLns4||(OLns6&&OLgek))&&o.border){W+=2*parseInt(o.border);
-H+=2*parseInt(o.border);}if(c=='UL'){of=(p=='UR')?[-pW,0]:(p=='LL')?[0,-pH]:(p=='LR')?[-pW,-pH]:[0,0];}else if(c=='UR'){
-of=(p=='UR')?[W-pW,0]:(p=='LL')?[W,-pH]:(p=='LR')?[W-pW,-pH]:[W,0];}else if(c=='LL'){of=(p=='UR')?[-pW,H]:(p=='LL')?[0,H-pH]:
-(p=='LR')?[-pW,H-pH]:[0,H];}else if(c=='LR'){of=(p=='UR')?[W-pW,H]:(p=='LL')?[W,H-pH]:(p=='LR')?[W-pW,H-pH]:[W,H];}return of;
-}
-
-// Gets x or y location of object
-function OLpageLoc(o,t){
-var l=0,s=o;while(o.offsetParent&&o.offsetParent.tagName.toLowerCase()!='html'){l+=o['offset'+t];o=o.offsetParent;}
-l+=o['offset'+t];while(s=s.parentNode){if((s['scroll'+t]>0)&&s.tagName.toLowerCase()=='div')l-=s['scroll'+t];}return l;
-}
-
-// Moves layer
-function OLmouseMove(e){
-var e=(e||event);OLcC=(OLovertwoPI&&over2&&over==over2?cClick2:cClick);OLx=(e.pageX||e.clientX+OLfd().scrollLeft);
-OLy=(e.pageY||e.clientY+OLfd().scrollTop);if((OLallowmove&&over)&&(o3_frame==self||over==OLgetRefById()||(OLovertwoPI&&
-over2==over&&over==OLgetRefById('overDiv2')))){OLplaceLayer();if(OLhidePI)OLhideUtil(0,1,1,0,0,0);}if(OLhover&&over&&
-o3_frame==self&&OLcursorOff())if(o3_offdelay<1)OLcC();else{if(OLtimerid>0)clearTimeout(OLtimerid);
-OLtimerid=setTimeout("OLcC()",o3_offdelay);}
-}
-
-// Capture mouse and chain other scripts.
-function OLmh(){
-var fN,f,j,k,s,mh=OLmouseMove,w=(OLns4&&window.onmousemove),re=/function[ ]*(\w*)\(/;OLdw=document;if(document.onmousemove||
-w){if(w)OLdw=window;f=OLdw.onmousemove.toString();fN=f.match(re);if(!fN||fN[1]=='anonymous'||fN[1]=='OLmouseMove'){OLchkMh=0;
-return;}if(fN[1])s=fN[1]+'(e)';else{j=f.indexOf('{');k=f.lastIndexOf('}')+1;s=f.substring(j,k);}s+=';OLmouseMove(e);';
-mh=new Function('e',s);}OLdw.onmousemove=mh;if(OLns4)OLdw.captureEvents(Event.MOUSEMOVE);
-}
-
-/*
- PARSING
-*/
-function OLparseTokens(pf,ar){
-var i,v,md= -1,par=(pf!='ol_'),p=OLpar,q=OLparQuo,t=OLtoggle;OLudf=(par&&!ar.length?1:0);
-for(i=0;i<ar.length;i++){if(md<0){if(typeof ar[i]=='number'){OLudf=(par?1:0);i--;}
-else{switch(pf){case 'ol_':ol_text=ar[i];break;default:o3_text=ar[i];}}md=0;}else{
-if(ar[i]==INARRAY){OLudf=0;eval(pf+'text=ol_texts['+ar[++i]+']');continue;}
-if(ar[i]==CAPARRAY){eval(pf+'cap=ol_caps['+ar[++i]+']');continue;}
-if(ar[i]==CAPTION){q(ar[++i],pf+'cap');continue;}
-if(Math.abs(ar[i])==STICKY){t(ar[i],pf+'sticky');continue;}
-if(Math.abs(ar[i])==NOFOLLOW){t(ar[i],pf+'nofollow');continue;}
-if(ar[i]==BACKGROUND){q(ar[++i],pf+'background');continue;}
-if(Math.abs(ar[i])==NOCLOSE){t(ar[i],pf+'noclose');continue;}
-if(Math.abs(ar[i])==MOUSEOFF){t(ar[i],pf+'mouseoff');continue;}
-if(ar[i]==OFFDELAY){p(ar[++i],pf+'offdelay');continue;}
-if(ar[i]==RIGHT||ar[i]==LEFT||ar[i]==CENTER){p(ar[i],pf+'hpos');continue;}
-if(ar[i]==OFFSETX){p(ar[++i],pf+'offsetx');continue;}
-if(ar[i]==OFFSETY){p(ar[++i],pf+'offsety');continue;}
-if(ar[i]==FGCOLOR){q(ar[++i],pf+'fgcolor');continue;}
-if(ar[i]==BGCOLOR){q(ar[++i],pf+'bgcolor');continue;}
-if(ar[i]==CGCOLOR){q(ar[++i],pf+'cgcolor');continue;}
-if(ar[i]==TEXTCOLOR){q(ar[++i],pf+'textcolor');continue;}
-if(ar[i]==CAPCOLOR){q(ar[++i],pf+'capcolor');continue;}
-if(ar[i]==CLOSECOLOR){q(ar[++i],pf+'closecolor');continue;}
-if(ar[i]==WIDTH){p(ar[++i],pf+'width');continue;}
-if(Math.abs(ar[i])==WRAP){t(ar[i],pf+'wrap');continue;}
-if(ar[i]==WRAPMAX){p(ar[++i],pf+'wrapmax');continue;}
-if(ar[i]==HEIGHT){p(ar[++i],pf+'height');continue;}
-if(ar[i]==BORDER){p(ar[++i],pf+'border');continue;}
-if(ar[i]==BASE){p(ar[++i],pf+'base');continue;}
-if(ar[i]==STATUS){q(ar[++i],pf+'status');continue;}
-if(Math.abs(ar[i])==AUTOSTATUS){v=pf+'autostatus';
-eval(v+'=('+ar[i]+'<0)?('+v+'==2?2:0):('+v+'==1?0:1)');continue;}
-if(Math.abs(ar[i])==AUTOSTATUSCAP){v=pf+'autostatus';
-eval(v+'=('+ar[i]+'<0)?('+v+'==1?1:0):('+v+'==2?0:2)');continue;}
-if(ar[i]==CLOSETEXT){q(ar[++i],pf+'close');continue;}
-if(ar[i]==SNAPX){p(ar[++i],pf+'snapx');continue;}
-if(ar[i]==SNAPY){p(ar[++i],pf+'snapy');continue;}
-if(ar[i]==FIXX){p(ar[++i],pf+'fixx');continue;}
-if(ar[i]==FIXY){p(ar[++i],pf+'fixy');continue;}
-if(ar[i]==RELX){p(ar[++i],pf+'relx');continue;}
-if(ar[i]==RELY){p(ar[++i],pf+'rely');continue;}
-if(ar[i]==MIDX){p(ar[++i],pf+'midx');continue;}
-if(ar[i]==MIDY){p(ar[++i],pf+'midy');continue;}
-if(ar[i]==REF){q(ar[++i],pf+'ref');continue;}
-if(ar[i]==REFC){q(ar[++i],pf+'refc');continue;}
-if(ar[i]==REFP){q(ar[++i],pf+'refp');continue;}
-if(ar[i]==REFX){p(ar[++i],pf+'refx');continue;}
-if(ar[i]==REFY){p(ar[++i],pf+'refy');continue;}
-if(ar[i]==FGBACKGROUND){q(ar[++i],pf+'fgbackground');continue;}
-if(ar[i]==BGBACKGROUND){q(ar[++i],pf+'bgbackground');continue;}
-if(ar[i]==CGBACKGROUND){q(ar[++i],pf+'cgbackground');continue;}
-if(ar[i]==PADX){p(ar[++i],pf+'padxl');p(ar[++i],pf+'padxr');continue;}
-if(ar[i]==PADY){p(ar[++i],pf+'padyt');p(ar[++i],pf+'padyb');continue;}
-if(Math.abs(ar[i])==FULLHTML){t(ar[i],pf+'fullhtml');continue;}
-if(ar[i]==BELOW||ar[i]==ABOVE||ar[i]==VCENTER){p(ar[i],pf+'vpos');continue;}
-if(ar[i]==CAPICON){q(ar[++i],pf+'capicon');continue;}
-if(ar[i]==TEXTFONT){q(ar[++i],pf+'textfont');continue;}
-if(ar[i]==CAPTIONFONT){q(ar[++i],pf+'captionfont');continue;}
-if(ar[i]==CLOSEFONT){q(ar[++i],pf+'closefont');continue;}
-if(ar[i]==TEXTSIZE){q(ar[++i],pf+'textsize');continue;}
-if(ar[i]==CAPTIONSIZE){q(ar[++i],pf+'captionsize');continue;}
-if(ar[i]==CLOSESIZE){q(ar[++i],pf+'closesize');continue;}
-if(ar[i]==TIMEOUT){p(ar[++i],pf+'timeout');continue;}
-if(ar[i]==DELAY){p(ar[++i],pf+'delay');continue;}
-if(Math.abs(ar[i])==HAUTO){t(ar[i],pf+'hauto');continue;}
-if(Math.abs(ar[i])==VAUTO){t(ar[i],pf+'vauto');continue;}
-if(Math.abs(ar[i])==NOJUSTX){t(ar[i],pf+'nojustx');continue;}
-if(Math.abs(ar[i])==NOJUSTY){t(ar[i],pf+'nojusty');continue;}
-if(Math.abs(ar[i])==CLOSECLICK){t(ar[i],pf+'closeclick');continue;}
-if(ar[i]==CLOSETITLE){q(ar[++i],pf+'closetitle');continue;}
-if(ar[i]==FGCLASS){q(ar[++i],pf+'fgclass');continue;}
-if(ar[i]==BGCLASS){q(ar[++i],pf+'bgclass');continue;}
-if(ar[i]==CGCLASS){q(ar[++i],pf+'cgclass');continue;}
-if(ar[i]==TEXTPADDING){p(ar[++i],pf+'textpadding');continue;}
-if(ar[i]==TEXTFONTCLASS){q(ar[++i],pf+'textfontclass');continue;}
-if(ar[i]==CAPTIONPADDING){p(ar[++i],pf+'captionpadding');continue;}
-if(ar[i]==CAPTIONFONTCLASS){q(ar[++i],pf+'captionfontclass');continue;}
-if(ar[i]==CLOSEFONTCLASS){q(ar[++i],pf+'closefontclass');continue;}
-if(Math.abs(ar[i])==CAPBELOW){t(ar[i],pf+'capbelow');continue;}
-if(ar[i]==LABEL){q(ar[++i],pf+'label');continue;}
-if(Math.abs(ar[i])==DECODE){t(ar[i],pf+'decode');continue;}
-if(ar[i]==DONOTHING){continue;}
-i=OLparseCmdLine(pf,i,ar);}}
-if((OLfunctionPI)&&OLudf&&o3_function)o3_text=o3_function();
-if(pf=='o3_')OLfontSize();
-}
-function OLpar(a,v){eval(v+'='+a);}
-function OLparQuo(a,v){eval(v+"='"+OLescSglQt(a)+"'");}
-function OLescSglQt(s){return s.toString().replace(/\\/g,"\\\\").replace(/'/g,"\\'");}
-function OLtoggle(a,v){eval(v+'=('+v+'==0&&'+a+'>=0)?1:0');}
-function OLhasDims(s){return /[%\-a-z]+$/.test(s);}
-function OLfontSize(){
-var i;if(OLhasDims(o3_textsize)){if(OLns4)o3_textsize="2";}else
-if(!OLns4){i=parseInt(o3_textsize);o3_textsize=(i>0&&i<8)?OLpct[i]:OLpct[0];}
-if(OLhasDims(o3_captionsize)){if(OLns4)o3_captionsize="2";}else
-if(!OLns4){i=parseInt(o3_captionsize);o3_captionsize=(i>0&&i<8)?OLpct[i]:OLpct[0];}
-if(OLhasDims(o3_closesize)){if(OLns4)o3_closesize="2";}else
-if(!OLns4){i=parseInt(o3_closesize);o3_closesize=(i>0&&i<8)?OLpct[i]:OLpct[0];}
-if(OLprintPI)OLprintDims();
-}
-function OLdecode(){
-var re=/%[0-9A-Fa-f]{2,}/,t=o3_text,c=o3_cap,u=unescape,d=!OLns4&&(!OLgek||OLgek>=20020826)&&typeof decodeURIComponent?
-decodeURIComponent:u;if(typeof(window.TypeError)=='function'){if(re.test(t)){eval(new Array('try{','o3_text=d(t);',
-'}catch(e){','o3_text=u(t);','}').join('\n'))};if(c&&re.test(c)){eval(new Array('try{','o3_cap=d(c);','}catch(e){',
-'o3_cap=u(c);','}').join('\n'))}}else{if(re.test(t))o3_text=u(t);if(c&&re.test(c))o3_cap=u(c);}
-}
-
-/*
- LAYER FUNCTIONS
-*/
-// Writes to layer
-function OLlayerWrite(t){
-t+="\n";if(OLns4){over.document.write(t);over.document.close();}else if(typeof over.innerHTML!='undefined'){
-if(OLieM)over.innerHTML='';over.innerHTML=t;}else{var range=o3_frame.document.createRange();range.setStartAfter(over);
-var domfrag=range.createContextualFragment(t);while(over.hasChildNodes()){over.removeChild(over.lastChild);}
-over.appendChild(domfrag);}if(OLovertwoPI&&over==over2)OLover2HTML=t;else OLoverHTML=t;
-if(OLprintPI)over.print=o3_print?t:null;
-}
-
-// Makes object visible
-function OLshowObject(o){
-OLshowid=0;o=(OLns4)?o:o.style;if(((OLfilterPI)&&!OLchkFilter(o))||!OLfilterPI)o.visibility="visible";
-if(OLshadowPI)OLshowShadow();if(OLiframePI)OLshowIfs();if(OLhidePI)OLhideUtil(1,1,0);
-}
-
-// Hides object
-function OLhideObject(o){
-if(OLshowid>0){clearTimeout(OLshowid);OLshowid=0;}if(OLtimerid>0)clearTimeout(OLtimerid);
-if(OLdelayid>0)clearTimeout(OLdelayid);OLtimerid=0;OLdelayid=0;self.status="";o3_label=ol_label;
-if(o3_frame!=self)o=OLgetRefById();if(o){if(o.onmouseover)o.onmouseover=null;if(OLscrollPI&&o==over)OLclearScroll();
-if(OLdraggablePI)OLclearDrag();if(OLfilterPI)OLcleanupFilter(o);if(OLshadowPI)OLhideShadow();var os=(OLns4)?o:o.style;
-if(((OLfilterPI)&&!OLchkFadeOut(os))||!OLfilterPI){os.visibility="hidden";if(!OLie55||!OLfilterPI||!o3_filter||
-o3_fadeout<0)o.innerHTML='';}if(OLhidePI&&o==over)OLhideUtil(0,0,1);if(OLiframePI)OLhideIfs(o);}
-}
-
-// Moves layer
-function OLrepositionTo(o,xL,yL){
-o=(OLns4)?o:o.style;o.left=(OLns4?xL:xL+'px');o.top=(OLns4?yL:yL+'px');
-}
-
-// Handle NOCLOSE-MOUSEOFF
-function OLoptMOUSEOFF(c){
-if(!c)o3_close="";
-over.onmouseover=function(){OLhover=1;if(OLtimerid>0){clearTimeout(OLtimerid);OLtimerid=0;}}
-}
-function OLcursorOff(){
-var o=(OLns4?over:over.style),pHt=OLns4?over.clip.height:over.offsetHeight,left=parseInt(o.left),top=parseInt(o.top),
-right=left+o3_width,bottom=top+((OLbubblePI&&o3_bubble)?OLbubbleHt:pHt);
-if(OLx<left||OLx>right||OLy<top||OLy>bottom)return true;return false;
-}
-
-/*
- REGISTRATION
-*/
-function OLsetRunTimeVar(){
-if(OLrunTime.length)for(var k=0;k<OLrunTime.length;k++)OLrunTime[k]();
-}
-function OLparseCmdLine(pf,i,ar){
-if(OLcmdLine.length){for(var k=0;k<OLcmdLine.length;k++){var j=OLcmdLine[k](pf,i,ar);if(j>-1){i=j;break;}}}return i;
-}
-function OLregCmds(c){
-if(typeof c!='string')return;var pM=c.split(',');pMtr=pMtr.concat(pM);
-for(var i=0;i<pM.length;i++)eval(pM[i].toUpperCase()+'='+pmCnt++);
-}
-function OLregRunTimeFunc(f){
-if(typeof f=='object')OLrunTime=OLrunTime.concat(f);else OLrunTime[OLrunTime.length++]=f;
-}
-function OLregCmdLineFunc(f){
-if(typeof f=='object')OLcmdLine=OLcmdLine.concat(f);else OLcmdLine[OLcmdLine.length++]=f;
-}
-
-OLloaded=1;
diff --git a/fs_selfservice/FS-SelfService/cgi/overlibmws_crossframe.js b/fs_selfservice/FS-SelfService/cgi/overlibmws_crossframe.js deleted file mode 100644 index dd6422313..000000000 --- a/fs_selfservice/FS-SelfService/cgi/overlibmws_crossframe.js +++ /dev/null @@ -1,53 +0,0 @@ -/*
- overlibmws_crossframe.js plug-in module - Copyright Foteos Macrides 2003-2008. All rights reserved.
- For support of FRAME.
- Initial: August 3, 2003 - Last Revised: January 16, 2008
- See the Change History and Command Reference for overlibmws via:
-
- http://www.macridesweb.com/oltest/
-
- Published under an open source license: http://www.macridesweb.com/oltest/license.html
-*/
-
-OLloaded=0;
-OLregCmds('frame');
-
-function OLparseCrossframe(pf,i,ar){
-var k=i,v;
-if(k<ar.length){
-if(ar[k]==FRAME){v=ar[++k];if(pf=='ol_')ol_frame=v;else OLoptFRAME(v);return k;}}
-return -1;
-}
-
-function OLgetFrameRef(thisFrame,ofrm){
-var i,v,retVal='';for(i=0;i<thisFrame.length;i++){if((((thisFrame[i].length>0)))&&(((OLns4))||
-((OLie4)&&(v=thisFrame[i].document.all.tags('iframe'))!=null&&v.length==0)||
-((OLns6)&&(v=thisFrame[i].document.getElementsByTagName('iframe'))!=null&&v.length==0))){
-retVal=OLgetFrameRef(thisFrame[i],ofrm);if(retVal=='')continue;}
-else if(thisFrame[i]!=ofrm)continue;retVal='['+i+']'+retVal;break;}
-return retVal;
-}
-
-function OLoptFRAME(frm){
-o3_frame=OLmkLyr('overDiv',frm)?frm:self;if(o3_frame!=self){var l,tFrm=OLgetFrameRef(top.frames,o3_frame),
-sFrm=OLgetFrameRef(top.frames,ol_frame);if(sFrm.length==tFrm.length) {l=tFrm.lastIndexOf('[');if(l){
-while(sFrm.substring(0,l)!=tFrm.substring(0,l))l=tFrm.lastIndexOf('[',l-1);tFrm=tFrm.substr(l);sFrm=sFrm.substr(l);}}
-var i,k,cnt=0,p='',str=tFrm;while((k=str.lastIndexOf('['))!= -1){cnt++;str=str.substring(0,k);}
-for(i=0;i<cnt;i++)p=p+'parent.';OLfnRef=p+'frames'+sFrm+'.';var n=window.name,o;
-if((n&&parent!=self&&o3_frame==parent)&&(o=OLgetRef(n,parent.document))){if(OLie4&&!OLop7){
-OLx=event.clientX+OLfd().scrollLeft;OLy=event.clientY+OLfd().scrollTop;}
-OLifX=OLpageLoc(o,'Left')-(OLie4&&!OLop7?OLfd().scrollLeft:self.pageXOffset);
-OLifY=OLpageLoc(o,'Top')-(OLie4&&!OLop7?OLfd().scrollTop:self.pageYOffset);}}
-}
-
-function OLchkIfRef(){
-var n=(parent!=self&&o3_frame==parent)?window.name:'',o=n?OLgetRef(n):null;
-if(o){var oR=OLgetRef(o3_ref,document);if(oR){OLrefXY=OLgetRefXY(o3_ref,document);
-OLrefXY[0]+=(OLpageLoc(o,'Left')-(OLie4&&!OLop7?OLfd(self).scrollLeft:self.pageXOffset));
-OLrefXY[1]+=(OLpageLoc(o,'Top')-(OLie4&&!OLop7?OLfd(self).scrollTop:self.pageYOffset));}}
-}
-
-OLregCmdLineFunc(OLparseCrossframe);
-
-OLcrossframePI=1;
-OLloaded=1;
diff --git a/fs_selfservice/FS-SelfService/cgi/overlibmws_draggable.js b/fs_selfservice/FS-SelfService/cgi/overlibmws_draggable.js deleted file mode 100644 index 1bf0ecfd1..000000000 --- a/fs_selfservice/FS-SelfService/cgi/overlibmws_draggable.js +++ /dev/null @@ -1,85 +0,0 @@ -/*
- overlibmws_draggable.js plug-in module - Copyright Foteos Macrides 2002-2008. All rights reserved.
- For support of the DRAGGABLE feature.
- Initial: August 24, 2002 - Last Revised: January 26, 2008
- See the Change History and Command Reference for overlibmws via:
-
- http://www.macridesweb.com/oltest/
-
- Published under an open source license: http://www.macridesweb.com/oltest/license.html
-*/
-
-OLloaded=0;
-var OLdraggableCmds='draggable,dragcap,dragid';
-OLregCmds(OLdraggableCmds);
-
-// DEFAULT CONFIGURATION
-if(OLud('draggable'))var ol_draggable=0;
-if(OLud('dragcap'))var ol_dragcap=0;
-if(OLud('dragid'))var ol_dragid='';
-// END CONFIGURATION
-
-var o3_draggable=0,o3_dragcap=0,o3_dragid='',o3_dragging=0,OLdrg=null,OLmMv,
-OLcX,OLcY,OLcbX,OLcbY;function OLloadDraggable(){OLload(OLdraggableCmds);}
-function OLparseDraggable(pf,i,ar){var t=OLtoggle,k=i;if(k<ar.length){
-if(Math.abs(ar[k])==DRAGGABLE){t(ar[k],pf+'draggable');return k;}
-if(Math.abs(ar[k])==DRAGCAP){t(ar[k],pf+'dragcap');return k;}
-if(ar[k]==DRAGID){OLparQuo(ar[++k],pf+'dragid');return k;}}return -1;
-}
-
-function OLcheckDrag(){
-if(o3_draggable){if(o3_sticky&&(o3_frame==self))OLinitDrag();else o3_draggable=0;}
-}
-function OLinitDrag(){
-OLmMv=OLdw.onmousemove;o3_dragging=0;
-if(OLns4){document.captureEvents(Event.MOUSEDOWN|Event.CLICK);
-document.onmousedown=OLgrabEl;document.onclick=function(e){return routeEvent(e);}}
-else{var dvido=(o3_dragid)?OLgetRef(o3_dragid):null,capid=(OLovertwoPI&&over==over2?
-'overCap2':'overCap');if(dvido)dvido.onscroll=function(){OLdw.onmousemove=OLmMv;
-OLinitDrag();};OLdrg=(o3_cap&&o3_dragcap)?OLgetRef(capid):over;
-if(!OLdrg||!OLdrg.style)OLdrg=over;OLdrg.onmousedown=OLgrabEl;OLsetDrgCur(1);}
-}
-function OLsetDrgCur(d){if(!OLns4&&OLdrg)OLdrg.style.cursor=(d?'move':'auto');}
-
-function OLgrabEl(e){
-var e=(e||event);
-var cKy=(OLns4?e.modifiers&Event.ALT_MASK:(e.altKey||(OLop7&&e.ctrlKey)));o3_dragging=1;
-if(cKy){OLsetDrgCur(0);document.onmouseup=function(){OLsetDrgCur(1);o3_dragging=0;}
-return(OLns4?routeEvent(e):true);}
-OLx=(e.pageX||e.clientX+OLfd().scrollLeft);OLy=(e.pageY||e.clientY+OLfd().scrollTop);
-if(OLie4)over.onselectstart=function(){return false;}
-if(OLns4){OLcX=OLx;OLcY=OLy;document.captureEvents(Event.MOUSEUP)}else{
-OLcX=OLx-(OLns4?over.left:parseInt(over.style.left));
-OLcY=OLy-(OLns4?over.top:parseInt(over.style.top));
-if((OLshadowPI)&&bkdrop&&o3_shadow){OLcbX=OLx-(parseInt(bkdrop.style.left));
-OLcbY=OLy-(parseInt(bkdrop.style.top));}}OLdw.onmousemove=OLmoveEl;
-document.onmouseup=function(){
-if(OLie4)over.onselectstart=null;o3_dragging=0;OLdw.onmousemove=OLmMv;}
-return(OLns4?routeEvent(e):false);
-}
-
-function OLmoveEl(e){
-var e=(e||event);
-OLx=(e.pageX||e.clientX+OLfd().scrollLeft);OLy=(e.pageY||e.clientY+OLfd().scrollTop);
-if(o3_dragging){if(OLns4){over.moveBy(OLx-OLcX,OLy-OLcY);
-if(OLshadowPI&&bkdrop&&o3_shadow)bkdrop.moveBy(OLx-OLcX,OLy-OLcY);}
-else{OLrepositionTo(over,OLx-OLcX,OLy-OLcY);
-if((OLiframePI)&&OLie55&&OLifsP1)OLrepositionTo(OLifsP1,OLx-OLcX,OLy-OLcY);
-if((OLshadowPI)&&bkdrop&&o3_shadow){OLrepositionTo(bkdrop,OLx-OLcbX,OLy-OLcbY);
-if((OLiframePI)&&OLie55&&OLifsSh)OLrepositionTo(OLifsSh,OLx-OLcbX,OLy-OLcbY);}}
-if(OLhidePI)OLhideUtil(0,1,1,0,0,0);}if(OLns4){OLcX=OLx;OLcY=OLy;}
-return false;
-}
-
-function OLclearDrag(){
-if(OLns4){document.releaseEvents(Event.MOUSEDOWN|Event.MOUSEUP|Event.CLICK);
-document.onmousedown=document.onclick=null;}else{
-if(OLdrg)OLdrg.onmousedown=null;over.onmousedown=null;OLsetDrgCur(0);}
-document.onmouseup=null;o3_dragging=0;
-}
-
-OLregRunTimeFunc(OLloadDraggable);
-OLregCmdLineFunc(OLparseDraggable);
-
-OLdraggablePI=1;
-OLloaded=1;
diff --git a/fs_selfservice/FS-SelfService/cgi/overlibmws_iframe.js b/fs_selfservice/FS-SelfService/cgi/overlibmws_iframe.js deleted file mode 100644 index 4c937d3d7..000000000 --- a/fs_selfservice/FS-SelfService/cgi/overlibmws_iframe.js +++ /dev/null @@ -1,93 +0,0 @@ -/*
- overlibmws_iframe.js plug-in module - Copyright Foteos Macrides 2003-2008. All rights reserved.
- Masks system controls to prevent obscuring of popops for IE v5.5 or higher.
- Initial: October 19, 2003 - Last Revised: January 26, 2008
- See the Change History and Command Reference for overlibmws via:
-
- http://www.macridesweb.com/oltest/
-
- Published under an open source license: http://www.macridesweb.com/oltest/license.html
-*/
-
-OLloaded=0;
-
-var OLifsP1=null,OLifsSh=null,OLifsP2=null;
-
-// IFRAME SHIM SUPPORT FUNCTIONS
-function OLinitIfs(){
-if(!OLie55)return;
-if((OLovertwoPI)&&over2&&over==over2){
-var o=o3_frame.document.all['overIframeOvertwo'];
-if(!o||OLifsP2!=o){OLifsP2=null;OLgetIfsP2Ref();}return;}
-o=o3_frame.document.all['overIframe'];
-if(!o||OLifsP1!=o){OLifsP1=null;OLgetIfsRef();}
-if((OLshadowPI)&&o3_shadow){o=o3_frame.document.all['overIframeShadow'];
-if(!o||OLifsSh!=o){OLifsSh=null;OLgetIfsShRef();}}
-}
-
-function OLsetIfsRef(o,i,z){
-o.id=i;o.src='javascript:false;';o.scrolling='no';var os=o.style;os.position='absolute';
-os.top='0px';os.left='0px';os.width='1px';os.height='1px';os.visibility='hidden';
-os.zIndex=over.style.zIndex-z;os.filter='Alpha(style=0,opacity=0)';
-}
-
-function OLgetIfsRef(){
-if(OLifsP1||!OLie55)return;
-OLifsP1=o3_frame.document.createElement('iframe');
-OLsetIfsRef(OLifsP1,'overIframe',2);
-o3_frame.document.body.appendChild(OLifsP1);
-}
-
-function OLgetIfsShRef(){
-if(OLifsSh||!OLie55)return;
-OLifsSh=o3_frame.document.createElement('iframe');
-OLsetIfsRef(OLifsSh,'overIframeShadow',3);
-o3_frame.document.body.appendChild(OLifsSh);
-}
-
-function OLgetIfsP2Ref(){
-if(OLifsP2||!OLie55)return;
-OLifsP2=o3_frame.document.createElement('iframe');
-OLsetIfsRef(OLifsP2,'overIframeOvertwo',1);
-o3_frame.document.body.appendChild(OLifsP2);
-}
-
-function OLsetDispIfs(o,w,h){
-var os=o.style;
-os.width=w+'px';os.height=h+'px';os.clip='rect(0px '+w+'px '+h+'px 0px)';
-o.filters.alpha.enabled=true;
-}
-
-function OLdispIfs(){
-if(!OLie55)return;
-var wd=over.offsetWidth,ht=over.offsetHeight;
-if(OLfilterPI&&o3_filter&&o3_filtershadow){wd+=5;ht+=5;}
-if((OLovertwoPI)&&over2&&over==over2){
-if(!OLifsP2)return;
-OLsetDispIfs(OLifsP2,wd,ht);return;}
-if(!OLifsP1)return;
-OLsetDispIfs(OLifsP1,wd,ht);
-if((!OLshadowPI)||!o3_shadow||!OLifsSh)return;
-OLsetDispIfs(OLifsSh,wd,ht);
-}
-
-function OLshowIfs(){
-if(OLifsP1){OLifsP1.style.visibility="visible";
-if((OLshadowPI)&&o3_shadow&&OLifsSh)OLifsSh.style.visibility="visible";}
-}
-
-function OLhideIfs(o){
-if(!OLie55||o!=over)return;
-if(OLifsP1)OLifsP1.style.visibility="hidden";
-if((OLshadowPI)&&o3_shadow&&OLifsSh)OLifsSh.style.visibility="hidden";
-}
-
-function OLrepositionIfs(X,Y){
-if(OLie55){if((OLovertwoPI)&&over2&&over==over2){
-if(OLifsP2)OLrepositionTo(OLifsP2,X,Y);}
-else{if(OLifsP1){OLrepositionTo(OLifsP1,X,Y);if((OLshadowPI)&&o3_shadow&&OLifsSh)
-OLrepositionTo(OLifsSh,X+o3_shadowx,Y+o3_shadowy);}}}
-}
-
-OLiframePI=1;
-OLloaded=1;
diff --git a/fs_selfservice/FS-SelfService/cgi/passwd.cgi b/fs_selfservice/FS-SelfService/cgi/passwd.cgi deleted file mode 100755 index 1e6e2e530..000000000 --- a/fs_selfservice/FS-SelfService/cgi/passwd.cgi +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/perl -T -#!/usr/bin/perl -Tw - -use strict; -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(), <<END; -<html> - <head> - <title>Password changed</title> - </head> - <body bgcolor="#e8e8e8"> - <h3>Password changed</h3> -<br>Your password has been changed. - </body> -</html> -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 @@ -<html> - <head> - <title>Change password</title> - </head> - <body bgcolor="#e8e8e8"> - <h3>Change password</h3> - <form action="passwd.cgi" method="post"> - <table bgcolor="#cccccc" border=0 cellspacing=2> - <tr><th align="right">Username</th> - <td><input type="text" name="username" size="18"></td> - </tr> - <tr><th align="right">Domain</th> - <td><input type="text" name="domain" size="18"></td> - </tr> - <tr><th align="right">Current password</th> - <td><input type="password" name="old_password" size="18"></td> - </tr> - <tr><th align="right">New password</th> - <td><input type="password" name="new_password" size="18"></td> - </tr> - <tr><th align="right">Re-enter new password</th> - <td><input type="password" name="new_password2" size="18"></td> - </tr> - </table> - <br><input type="submit" value="Change password"> - </body> -</html> - 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 9cdb65e36..000000000 --- a/fs_selfservice/FS-SelfService/cgi/payment_results.html +++ /dev/null @@ -1,10 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Payment results') %> - -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">Error processing your payment: $error</FONT>!; -} else { - $OUT .= 'Your payment was processed successfully. Thank you.'; -} %> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/post_thirdparty_payment.html b/fs_selfservice/FS-SelfService/cgi/post_thirdparty_payment.html deleted file mode 100644 index 17710b2e5..000000000 --- a/fs_selfservice/FS-SelfService/cgi/post_thirdparty_payment.html +++ /dev/null @@ -1,42 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Pay now') %> - -<SCRIPT TYPE="text/javascript" SRC="overlibmws.js"></SCRIPT> -<SCRIPT TYPE="text/javascript" SRC="overlibmws_iframe.js"></SCRIPT> -<SCRIPT TYPE="text/javascript" SRC="overlibmws_draggable.js"></SCRIPT> -<SCRIPT TYPE="text/javascript" SRC="overlibmws_crossframe.js"></SCRIPT> -<SCRIPT TYPE="text/javascript" SRC="iframecontentmws.js"></SCRIPT> - -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">$error</FONT><BR><BR>!; -}else{ - $OUT .= <<EOF; - You are about to contact our payment processor to pay $amount.<BR><BR> - Your transaction reference number is $reference <BR><BR> - <FORM METHOD="POST" ACTION="$popup_url"> -EOF - -#<FORM NAME="collect_popper" method="post" action="javascript:void(0)" onSubmit="popcollect()"> - my %itemhash = @collectitems; -# my $query = join(';', -# map { uri_escape($_) . '=' . uri_escape($itemhash{$_}) } -# keys(%itemhash) -# ); - foreach my $input (keys(%itemhash)) { - $OUT .= qq!<INPUT NAME="$input" TYPE="hidden" VALUE="$itemhash{$input}">\n!; - } - $OUT .= qq!<INPUT NAME="submit" TYPE="submit" VALUE="Pay now"></FORM>! -} -%> - -<%= -#<SCRIPT TYPE="text/javascript"> -# function popcollect() { -# overlib( OLiframeContent('<%= $popup_url %>', 336, 550, 'Secure Payment Area', 0, 'auto' ), CAPTION, 'Pay now', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK, BGCOLOR, '#333399', CGCOLOR, '#333399', CLOSETEXT, 'Close' ); -# overlib( OLpostAJAX('<%= $popup_url %>', -# return false; -# } -#</SCRIPT> -%> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/process_change_bill.html b/fs_selfservice/FS-SelfService/cgi/process_change_bill.html deleted file mode 100644 index bf7ad778d..000000000 --- a/fs_selfservice/FS-SelfService/cgi/process_change_bill.html +++ /dev/null @@ -1,4 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Information updated successfully') %> -<FONT SIZE=4>Information updated successfully.</FONT> -<%= include('footer') %> 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 4eca91fb6..000000000 --- a/fs_selfservice/FS-SelfService/cgi/process_change_password.html +++ /dev/null @@ -1,6 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', "Password changed" ) %> - -<FONT SIZE=4>Password changed for <%= $value %> <%= $label %>.</FONT> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/process_change_pay.html b/fs_selfservice/FS-SelfService/cgi/process_change_pay.html deleted file mode 100644 index e399aea17..000000000 --- a/fs_selfservice/FS-SelfService/cgi/process_change_pay.html +++ /dev/null @@ -1,4 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Information updated successfully' ) %> -<FONT SIZE=4>Information updated successfully.</FONT> -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/process_change_pkg.html b/fs_selfservice/FS-SelfService/cgi/process_change_pkg.html deleted file mode 100644 index bf15b6ea6..000000000 --- a/fs_selfservice/FS-SelfService/cgi/process_change_pkg.html +++ /dev/null @@ -1,4 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Package change successful') %> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/process_change_ship.html b/fs_selfservice/FS-SelfService/cgi/process_change_ship.html deleted file mode 100644 index bf7ad778d..000000000 --- a/fs_selfservice/FS-SelfService/cgi/process_change_ship.html +++ /dev/null @@ -1,4 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Information updated successfully') %> -<FONT SIZE=4>Information updated successfully.</FONT> -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/process_order_pkg.html b/fs_selfservice/FS-SelfService/cgi/process_order_pkg.html deleted file mode 100755 index 649d92092..000000000 --- a/fs_selfservice/FS-SelfService/cgi/process_order_pkg.html +++ /dev/null @@ -1,6 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Package order successful') %> - -<FONT SIZE=4>Package order successful.</FONT> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/process_order_recharge.html b/fs_selfservice/FS-SelfService/cgi/process_order_recharge.html deleted file mode 100644 index 4a16ec56a..000000000 --- a/fs_selfservice/FS-SelfService/cgi/process_order_recharge.html +++ /dev/null @@ -1,6 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', "$svc recharged successfully") %> - -<FONT SIZE=4><%= $svc %> recharged successfully.</FONT> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/process_suspend_pkg.html b/fs_selfservice/FS-SelfService/cgi/process_suspend_pkg.html deleted file mode 100644 index d5c62f4f1..000000000 --- a/fs_selfservice/FS-SelfService/cgi/process_suspend_pkg.html +++ /dev/null @@ -1,3 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Package suspended') %> -<%= include('footer') %> 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 d6515e7f4..000000000 --- a/fs_selfservice/FS-SelfService/cgi/process_svc_acct.html +++ /dev/null @@ -1,6 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', "$svc setup successfully") %> - -<FONT SIZE=4><%= $svc %> setup successfully.</FONT> - -<%= include('footer') %> 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 c20aae02c..000000000 --- a/fs_selfservice/FS-SelfService/cgi/process_svc_external.html +++ /dev/null @@ -1,8 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', "$svc setup successfully") %> - -<FONT SIZE=4><%= $svc %> setup successfully.</FONT> - -<BR><BR>Your serial number is <%= sprintf("%010d-$title", $id) %> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/process_svc_phone.html b/fs_selfservice/FS-SelfService/cgi/process_svc_phone.html deleted file mode 100644 index d6515e7f4..000000000 --- a/fs_selfservice/FS-SelfService/cgi/process_svc_phone.html +++ /dev/null @@ -1,6 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', "$svc setup successfully") %> - -<FONT SIZE=4><%= $svc %> setup successfully.</FONT> - -<%= include('footer') %> 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 @@ -<HTML><HEAD><TITLE>ISP Signup</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8"><FONT SIZE=7>ISP Signup - promotional code</FONT><BR><BR> -<SCRIPT> -function gotoURL(object) { - window.location.href = 'signup.cgi?promo_code=' + object.promo_code.value; -} -</SCRIPT> -<FORM> -Enter promotional code <INPUT TYPE="text" NAME="promo_code"> -<INPUT type="submit" VALUE="Signup" onClick="gotoURL(this.form)"> - -</FORM> -</BODY> -</HTML> diff --git a/fs_selfservice/FS-SelfService/cgi/provision.html b/fs_selfservice/FS-SelfService/cgi/provision.html deleted file mode 100644 index cd8028a0d..000000000 --- a/fs_selfservice/FS-SelfService/cgi/provision.html +++ /dev/null @@ -1,19 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; - $heading1 = "Setup my services"; - $heading1 = "Package list" if $wholesale_view; - $provision_list = "provision_list"; - $provision_list = "ws_list" if $wholesale_view; - ''; %> - -<SCRIPT> -function areyousure(href, message) { - if (confirm(message) == true) - window.location.href = href; -} -</SCRIPT> - -<%= include('header', $heading1) %> - -<%= include($provision_list) %> - -<%= include('footer') %> 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 a1a519490..000000000 --- a/fs_selfservice/FS-SelfService/cgi/provision_list.html +++ /dev/null @@ -1,97 +0,0 @@ -<FONT SIZE=4>Setup services</FONT><BR><BR> - -<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR="#ffffff"> - -<%= - -foreach my $pkg ( - grep { scalar(@{$_->{part_svc}}) - || scalar(@{$_->{cust_svc}}) - } @cust_pkg - ) { - my $susp = $pkg->{'susp'} || ''; - warn $pkg->{'pkg'}. ' '.$susp."\n"; - my @pkg_actions = ( [ 'customer_change_pkg' => 'change' ] ); - push @pkg_actions, [ 'process_suspend_pkg' => 'suspend' ] - if $self_suspend_reason and !$susp; - - my $bgcolor = $susp ? '"#ff9900"' : '"#8888ff"'; - $OUT .= #'<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR="#ffffff">'. - '<TR><TH BGCOLOR='.$bgcolor.' COLSPAN=2>'. - $pkg->{'pkg'}. ($susp && ' (suspended)'). - '</TH><TH ALIGN="left" BGCOLOR='.$bgcolor.'>'; - foreach my $action (@pkg_actions) { - $OUT .= '(<A style="font-size: smaller;color: #000000" HREF="' . - $url . $action->[0] . ';pkgnum=' . $pkg->{'pkgnum'} . ';pkg=' . - $pkg->{'pkg'} . '">' . $action->[1] . '</A>) '; - } - $OUT .= '</TH></TR>'; - - my $col1 = "ffffff"; - my $col2 = "dddddd"; - my $col = $col1; - - foreach my $cust_svc ( @{ $pkg->{cust_svc} } ) { - my $td = qq!<TD BGCOLOR="#$col"!; - - $OUT .= '<TR>'. - "$td ALIGN=right>". $cust_svc->{label}[0]. ': </TD>'. - "$td><B>". $cust_svc->{label}[1]. '</B>'; - $OUT .= '<BR><I>password: '. encode_entities($cust_svc->{_password}). '</I>' - if exists($cust_svc->{_password}); - $OUT .= '</TD>'. - "$td><FONT SIZE=-1>"; - - #if ( $cust_svc->{label}[2] eq 'svc_acct' ) { - # $OUT .= qq!(<A HREF="${url}changepw;svcnum=$cust_svc->{'svcnum'}">!. - # 'change pw) '; - #} - - unless ( $cust_svc->{'svcnum'} == $svcnum ) { - $OUT .= qq!(<A HREF="javascript:areyousure('${url}delete_svc;svcnum=$cust_svc->{svcnum}', 'This will permanently delete the $cust_svc->{label}[1] $cust_svc->{label}[0]. Are you sure?')">!. - 'delete</A>)'; - - } - $OUT .= '</FONT></TD></TR>'; - $col = $col eq $col1 ? $col2 : $col1; - } - - $OUT .= '<TR><TD COLSPAN=3 BGCOLOR="#000000"></TD></TR>' - if scalar(@{$pkg->{part_svc}}) && scalar(@{$pkg->{cust_svc}}); - - $col = $col1; - - foreach my $part_svc ( @{ $pkg->{part_svc} } ) { - - my $td = qq!<TD BGCOLOR="#$col"!; - - my $link; - - if ( $part_svc->{'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 .= "<TR>$td COLSPAN=3 ALIGN=center>". - qq!<A HREF="$link">!. 'Setup '. $part_svc->{'svc'}. '</A> '. - '('. $part_svc->{'num_avail'}. ' available)'. - '</TD></TR>' - #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 .= '</TABLE><BR>'; - $OUT .= '<TR><TD BGCOLOR="#eeeeee" COLSPAN=3> </TD></TR>'; - -} %> - -</TABLE> 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 bae57305e..000000000 --- a/fs_selfservice/FS-SelfService/cgi/provision_svc_acct.html +++ /dev/null @@ -1,6 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Setup account') %> - -<%= include('svc_acct') %> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/provision_svc_phone.html b/fs_selfservice/FS-SelfService/cgi/provision_svc_phone.html deleted file mode 100644 index ab9827e93..000000000 --- a/fs_selfservice/FS-SelfService/cgi/provision_svc_phone.html +++ /dev/null @@ -1,43 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; - $heading2 = $lnp ? "Port-In Number" : "Setup phone number"; - ''; -%> -<%= include('header', $heading2) %> -<%= - -sub lnp_textfield { - my ($name,$label) = (shift,shift); - qq!<tr><td>$label</td><td><input type="text" name="$name"></td></tr>!; -} - -if($error) { - $OUT .= qq!<div style="color:red; font-size: 115%">$error</div>!; -} -%> - -<FORM name="OneTrueForm" action="<%= $url %>" METHOD="POST"> -<INPUT TYPE="hidden" NAME="session" VALUE="<%= $session_id %>"> -<INPUT TYPE="hidden" NAME="action" VALUE="process_svc_phone"> -<INPUT TYPE="hidden" NAME="pkgnum" VALUE="<%= $pkgnum %>"> -<INPUT TYPE="hidden" NAME="svcpart" VALUE="<%= $svcpart %>"> -<INPUT TYPE="hidden" NAME="numavail" VALUE="<%= $numavail %>"> -<%= -if($lnp) { - $OUT .= "<table>" - . qq!<input type="hidden" name="lnp" value="1">! - . lnp_textfield(phonenum,"Phone Number") - . lnp_textfield("lnp_desired_due_date","Requested Port-In Date") - . lnp_textfield("lnp_other_provider","Current Provider") - . lnp_textfield("lnp_other_provider_account","Current Provider's Account #") - . "</table>"; -} else { - didselector('field' => 'phonenum', - 'svcpart' => $svcpart, - 'bulknum' => $numavail, - ); -} -%> -<BR><BR><INPUT TYPE="submit" VALUE="Setup"> -</FORM> - -<%= include('footer') %> 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 c716e8242..000000000 --- a/fs_selfservice/FS-SelfService/cgi/recharge_prepay.html +++ /dev/null @@ -1,30 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Recharge with prepaid card') %> - -<FORM NAME="OneTrueForm" METHOD="POST" ACTION="<%=$selfurl%>" onSubmit="document.OneTrueForm.process.disabled=true"> -<INPUT TYPE="hidden" NAME="session" VALUE="<%=$session_id%>"> -<INPUT TYPE="hidden" NAME="action" VALUE="recharge_results"> -<TABLE BGCOLOR="#cccccc"> -<!-- -<TR> - <TD ALIGN="right">Amount Due</TD> - <TD> - <TABLE><TR><TD BGCOLOR="#ffffff"> - $<%=sprintf("%.2f",$balance)%> - </TD></TR></TABLE> - </TD> -</TR> ---> -<TR> - <TD ALIGN="right">Prepaid card number</TD> - <TD> - <INPUT TYPE="text" NAME="prepaid_cardnum" SIZE=20 MAXLENGTH=19 VALUE="<%=$prepaid_cardnum%>"> - </TD> -</TR> -</TABLE> -<BR> -<INPUT TYPE="hidden" NAME="paybatch" VALUE="<%=$paybatch%>"> -<INPUT TYPE="submit" NAME="process" VALUE="Recharge"> <!-- onClick="this.disabled=true"> --> -</FORM> - -<%= include('footer') %> 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 147b66bbe..000000000 --- a/fs_selfservice/FS-SelfService/cgi/recharge_results.html +++ /dev/null @@ -1,18 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Recharge results') %> - -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">Error processing your prepaid card: $error</FONT>!; -} else { - $OUT .= 'Prepaid card recharge successful!<BR><BR>'; - - $OUT .= '$'. sprintf('%.2f', $amount). ' added to your account.<BR><BR>' - if $amount; - - $OUT .= $duration. ' added to your account.<BR><BR>' - if $seconds; - - $OUT .= 'Thank you.'; -} %> - -<%= include('footer') %> 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 @@ -<HTML><HEAD><TITLE>ISP Signup</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8"><FONT SIZE=7>ISP Signup - registration code</FONT><BR><BR> -<SCRIPT> -function gotoURL(object) { - window.location.href = 'signup.cgi?reg_code=' + object.reg_code.value; -} -</SCRIPT> -<FORM> -Enter registration code <INPUT TYPE="text" NAME="reg_code"> -<INPUT type="submit" VALUE="Signup" onClick="gotoURL(this.form)"> - -</FORM> -</BODY> -</HTML> diff --git a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi b/fs_selfservice/FS-SelfService/cgi/selfservice.cgi deleted file mode 100644 index 5b2d2980c..000000000 --- a/fs_selfservice/FS-SelfService/cgi/selfservice.cgi +++ /dev/null @@ -1,946 +0,0 @@ -#!/usr/bin/perl -Tw - -use strict; -use vars qw($DEBUG $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 Date::Format; -use Number::Format 1.50; -use FS::SelfService qw( - access_info login_info login customer_info edit_info invoice - payment_info process_payment realtime_collect process_prepay - list_pkgs order_pkg signup_info order_recharge - part_svc_info provision_acct provision_external provision_phone - unprovision_svc change_pkg suspend_pkg domainselector - list_svcs list_svc_usage list_cdr_usage list_support_usage - myaccount_passwd list_invoices create_ticket get_ticket did_report - mason_comp -); - -$template_dir = '.'; - -$DEBUG = 0; - -$form_max = 255; - -$cgi = new CGI; - -unless ( defined $cgi->param('session') ) { - my $login_info = login_info( 'agentnum' => scalar($cgi->param('agentnum')) ); - - do_template('login', $login_info ); - 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} ) { - my $login_info = login_info( 'agentnum' => $cgi->param('agentnum') ); - do_template('login', { - 'error' => $rv->{error}, - 'username' => $username, - 'domain' => $domain, - %$login_info, - } ); - exit; - } else { - $cgi->param('session' => $rv->{session_id} ); - $cgi->param('action' => 'myaccount' ); - } -} - -$session_id = $cgi->param('session'); - -#order|pw_list XXX ??? -my @actions = ( qw( - myaccount - tktcreate - tktview - didreport - invoices - view_invoice - make_payment - make_ach_payment - make_term_payment - make_thirdparty_payment - post_thirdparty_payment - payment_results - ach_payment_results - recharge_prepay - recharge_results - logout - change_bill - change_ship - change_pay - process_change_bill - process_change_ship - process_change_pay - customer_order_pkg - process_order_pkg - customer_change_pkg - process_change_pkg - process_order_recharge - provision - provision_svc - process_svc_acct - process_svc_phone - process_svc_external - delete_svc - view_usage - view_usage_details - view_cdr_details - view_support_details - change_password - process_change_password - customer_suspend_pkg - process_suspend_pkg -)); - -$cgi->param('action') =~ ( '^(' . join('|', @actions) . ')$' ) - or die "unknown action ". $cgi->param('action'); -my $action = $1; - -warn "calling $action sub\n" - if $DEBUG; -$FS::SelfService::DEBUG = $DEBUG; -my $result = eval "&$action();"; -die $@ if $@; - -warn Dumper($result) if $DEBUG; - -if ( $result->{error} && ( $result->{error} eq "Can't resume session" - || $result->{error} eq "Expired session") ) { #ick - - my $login_info = login_info(); - do_template('login', $login_info); - exit; -} - -#warn $result->{'open_invoices'}; -#warn scalar(@{$result->{'open_invoices'}}); - -warn "processing template $action\n" - if $DEBUG; -do_template($action, { - 'session_id' => $session_id, - 'action' => $action, #so the menu knows what tab we're on... - #%{ payment_info( 'session_id' => $session_id ) }, # cust_paybys for the menu - %{$result} -}); - -#-- - -use Data::Dumper; -sub myaccount { - customer_info( 'session_id' => $session_id ); -} - -sub change_bill { my $payment_info = - payment_info( 'session_id' => $session_id ); - return $payment_info if ( $payment_info->{'error'} ); - my $customer_info = - customer_info( 'session_id' => $session_id ); - return { - %$payment_info, - %$customer_info, - }; - } -sub change_ship { change_bill(@_); } -sub change_pay { change_bill(@_); } - -sub _process_change_info { - my ($erroraction, @fields) = @_; - - my $results = ''; - - $results ||= edit_info ( - 'session_id' => $session_id, - map { ($_ => $cgi->param($_)) } grep { defined($cgi->param($_)) } @fields, - ); - - - if ( $results->{'error'} ) { - no strict 'refs'; - $action = $erroraction; - return { - $cgi->Vars, - %{&$action()}, - 'error' => '<FONT COLOR="#FF0000">'. $results->{'error'}. '</FONT>', - }; - } else { - return $results; - } -} - -sub process_change_bill { - _process_change_info( 'change_bill', - qw( first last company address1 address2 city state - county zip country daytime night fax ) - ); -} - -sub process_change_ship { - my @list = map { "ship_$_" } - qw( first last company address1 address2 city state - county zip country daytime night fax - ); - if ($cgi->param('same') eq 'Y') { - foreach (@list) { $cgi->param($_, '') } - } - - _process_change_info( 'change_ship', @list ); -} - -sub process_change_pay { - my $postal = $cgi->param( 'postal_invoicing' ); - my $payby = $cgi->param( 'payby' ); - my @list = - qw( payby payinfo payinfo1 payinfo2 month year payname - address1 address2 city county state zip country auto paytype - paystate ss stateid stateid_state invoicing_list - ); - push @list, 'postal_invoicing' if $postal; - unless ( $payby ne 'BILL' - || $postal - || $cgi->param( 'invoicing_list' ) - ) - { - $action = 'change_pay'; - return { - %{&change_pay()}, - $cgi->Vars, - 'error' => '<FONT COLOR="#FF0000">Postal or email required.</FONT>', - }; - } - _process_change_info( 'change_pay', @list ); -} - -sub view_invoice { - - $cgi->param('invnum') =~ /^(\d+)$/ or die "illegal invnum"; - my $invnum = $1; - - invoice( 'session_id' => $session_id, - 'invnum' => $invnum, - ); - -} - -sub invoices { - list_invoices( 'session_id' => $session_id, ); -} - -sub tktcreate { - my $customer_info = customer_info( 'session_id' => $session_id ); - return $customer_info if ( $customer_info->{'error'} ); - - my $requestor = ""; - if ( $customer_info->{'invoicing_list'} ) { - my @requestor = split( /\s*\,\s*/, $customer_info->{'invoicing_list'} ); - $requestor = $requestor[0] if scalar(@requestor); - } - - return { 'requestor' => $requestor } - unless ($cgi->param('subject') && $cgi->param('message') && - length($cgi->param('subject')) && length($cgi->param('message'))); - - create_ticket( 'session_id' => $session_id, - 'subject' => $cgi->param('subject'), - 'message' => $cgi->param('message'), - 'requestor' => $requestor, - ); -} - -sub tktview { - get_ticket( 'session_id' => $session_id, - 'ticket_id' => $cgi->param('ticket_id'), - 'reply' => $cgi->param('reply'), - ); -} - -sub customer_order_pkg { - my $init_data = signup_info( 'customer_session_id' => $session_id ); - return $init_data if ( $init_data->{'error'} ); - - my $customer_info = customer_info( 'session_id' => $session_id ); - return $customer_info if ( $customer_info->{'error'} ); - - my $pkgselect = mason_comp( - 'session_id' => $session_id, - 'comp' => '/edit/cust_main/first_pkg/select-part_pkg.html', - 'args' => [ 'password_verify' => 1, - 'onchange' => 'enable_order_pkg()', - 'relurls' => 1, - 'empty_label' => 'Select package', - ], - ); - - $pkgselect = $pkgselect->{'error'} || $pkgselect->{'output'}; - - return { - ( map { $_ => $init_data->{$_} } - qw( part_pkg security_phrase svc_acct_pop ), - ), - %$customer_info, - 'pkg_selector' => $pkgselect, - }; -} - -sub customer_change_pkg { - my $init_data = signup_info( 'customer_session_id' => $session_id ); - return $init_data if ( $init_data->{'error'} ); - - my $customer_info = customer_info( 'session_id' => $session_id ); - return $customer_info if ( $customer_info->{'error'} ); - - return { - ( map { $_ => $init_data->{$_} } - qw( part_pkg security_phrase svc_acct_pop ), - ), - ( map { $_ => $cgi->param($_) } - qw( pkgnum pkg ) - ), - %$customer_info, - }; -} - -sub process_order_pkg { - - my $results = ''; - - my @params = (qw( custnum pkgpart )); - my $svcdb = ''; - if ( $cgi->param('pkgpart_svcpart') =~ /^(\d+)_(\d+)$/ ) { - $cgi->param('pkgpart', $1); - $cgi->param('svcpart', $2); - push @params, 'svcpart'; - $svcdb = $cgi->param('svcdb'); - push @params, 'domsvc' if $svcdb eq 'svc_acct'; - } else { - $svcdb = 'svc_acct'; - } - - if ( $svcdb eq 'svc_acct' ) { - - push @params, qw( username _password _password2 sec_phrase popnum ); - - unless ( length($cgi->param('_password')) ) { - my $init_data = signup_info( 'customer_session_id' => $session_id ); - $results = { 'error' => $init_data->{msgcat}{empty_password} }; - $results = { 'error' => $init_data->{error} } if($init_data->{error}); - } - if ( $cgi->param('_password') ne $cgi->param('_password2') ) { - my $init_data = signup_info( 'customer_session_id' => $session_id ); - $results = { 'error' => $init_data->{msgcat}{passwords_dont_match} }; - $results = { 'error' => $init_data->{error} } if($init_data->{error}); - $cgi->param('_password', ''); - $cgi->param('_password2', ''); - } - - } elsif ( $svcdb eq 'svc_phone' ) { - - push @params, qw( phonenum sip_password pin phone_name ); - - } else { - die "$svcdb not handled on process_order_pkg yet"; - } - - $results ||= order_pkg ( - 'session_id' => $session_id, - map { $_ => $cgi->param($_) } @params - ); - - - if ( $results->{'error'} ) { - $action = 'customer_order_pkg'; - return { - $cgi->Vars, - %{customer_order_pkg()}, - 'error' => '<FONT COLOR="#FF0000">'. $results->{'error'}. '</FONT>', - }; - } else { - return $results; - } - -} - -sub process_change_pkg { - - my $results = ''; - - $results ||= change_pkg ( - 'session_id' => $session_id, - map { $_ => $cgi->param($_) } - qw( pkgpart pkgnum ) - ); - - - if ( $results->{'error'} ) { - $action = 'customer_change_pkg'; - return { - $cgi->Vars, - %{customer_change_pkg()}, - 'error' => '<FONT COLOR="#FF0000">'. $results->{'error'}. '</FONT>', - }; - } else { - return $results; - } - -} - -sub process_suspend_pkg { - my $results = ''; - $results = suspend_pkg ( - 'session_id' => $session_id, - map { $_ => $cgi->param($_) } - qw( pkgnum ) - ); - if ( $results->{'error'} ) { - $action = 'provision'; - return { - 'error' => '<FONT COLOR="#FF0000">'. $results->{'error'}. '</FONT>', - } - } - else { - return $results; - } -} - -sub process_order_recharge { - - my $results = ''; - - $results ||= order_recharge ( - 'session_id' => $session_id, - map { $_ => $cgi->param($_) } - qw( svcnum ) - ); - - - if ( $results->{'error'} ) { - $action = 'view_usage'; - if ($results->{'error'} eq '_decline') { - $results->{'error'} = "There has been an error processing your account. Please contact customer support." - } - return { - $cgi->Vars, - %{view_usage()}, - 'error' => '<FONT COLOR="#FF0000">'. $results->{'error'}. '</FONT>', - }; - } else { - return $results; - } - -} - -sub make_payment { - payment_info( 'session_id' => $session_id ); -} - -sub payment_results { - - use Business::CreditCard 0.30; - - #we should only do basic checking here for DoS attacks and things - #that couldn't be constructed by the web form... let process_payment() do - #the rest, it gives better error messages - - $cgi->param('amount') =~ /^\s*(\d+(\.\d{2})?)\s*$/ - or die "Illegal amount: ". $cgi->param('amount'); #!!! - my $amount = $1; - - my $payinfo = $cgi->param('payinfo'); - $payinfo =~ s/[^\dx]//g; - $payinfo =~ /^([\dx]{13,16})$/ - #or $error ||= $init_data->{msgcat}{invalid_card}; #. $self->payinfo; - or die "illegal card"; #!!! - $payinfo = $1; - unless ( $payinfo =~ /x/ ) { - validate($payinfo) - #or $error ||= $init_data->{msgcat}{invalid_card}; #. $self->payinfo; - or die "invalid card"; #!!! - } - - if ( $cgi->param('card_type') ) { - 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('paycvv') =~ /^\s*(.{0,4})\s*$/ or die "illegal CVV2"; - my $paycvv = $1; - - $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') =~ /^(.{0,80})$/ or die "illegal state"; - my $state = $1; - - $cgi->param('zip') =~ /^(.{0,10})$/ or die "illegal zip"; - my $zip = $1; - - $cgi->param('country') =~ /^(.{0,2})$/ or die "illegal country"; - my $country = $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; - - $cgi->param('discount_term') =~ /^(\d*)$/ or die "illegal discount_term"; - my $discount_term = $1; - - - process_payment( - 'session_id' => $session_id, - 'payby' => 'CARD', - 'amount' => $amount, - 'payinfo' => $payinfo, - 'paycvv' => $paycvv, - 'month' => $month, - 'year' => $year, - 'payname' => $payname, - 'address1' => $address1, - 'address2' => $address2, - 'city' => $city, - 'state' => $state, - 'zip' => $zip, - 'country' => $country, - 'save' => $save, - 'auto' => $auto, - 'paybatch' => $paybatch, - 'discount_term' => $discount_term, - ); - -} - -sub make_ach_payment { - payment_info( 'session_id' => $session_id ); -} - -sub ach_payment_results { - - #we should only do basic checking here for DoS attacks and things - #that couldn't be constructed by the web form... let process_payment() do - #the rest, it gives better error messages - - $cgi->param('amount') =~ /^\s*(\d+(\.\d{2})?)\s*$/ - or die "illegal amount"; #!!! - my $amount = $1; - - my $payinfo1 = $cgi->param('payinfo1'); - $payinfo1 =~ s/[^\dx]//g; - $payinfo1 =~ /^([\dx]+)$/ - or die "illegal account"; #!!! - $payinfo1 = $1; - - my $payinfo2 = $cgi->param('payinfo2'); - $payinfo2 =~ s/[^\dx]//g; - $payinfo2 =~ /^([\dx]+)$/ - or die "illegal ABA/routing code"; #!!! - $payinfo2 = $1; - - $cgi->param('payname') =~ /^(.{0,80})$/ or die "illegal payname"; - my $payname = $1; - - $cgi->param('paystate') =~ /^(.{0,2})$/ or die "illegal paystate"; - my $paystate = $1; - - $cgi->param('paytype') =~ /^(.{0,80})$/ or die "illegal paytype"; - my $paytype = $1; - - $cgi->param('ss') =~ /^(.{0,80})$/ or die "illegal ss"; - my $ss = $1; - - $cgi->param('stateid') =~ /^(.{0,80})$/ or die "illegal stateid"; - my $stateid = $1; - - $cgi->param('stateid_state') =~ /^(.{0,2})$/ or die "illegal stateid_state"; - my $stateid_state = $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, - 'payby' => 'CHEK', - 'amount' => $amount, - 'payinfo1' => $payinfo1, - 'payinfo2' => $payinfo2, - 'month' => '12', - 'year' => '2037', - 'payname' => $payname, - 'paytype' => $paytype, - 'paystate' => $paystate, - 'ss' => $ss, - 'stateid' => $stateid, - 'stateid_state' => $stateid_state, - 'save' => $save, - 'auto' => $auto, - 'paybatch' => $paybatch, - ); - -} - -sub make_thirdparty_payment { - payment_info('session_id' => $session_id); -} - -sub post_thirdparty_payment { - $cgi->param('payby_method') =~ /^(CC|ECHECK)$/ - or die "illegal payby method"; - my $method = $1; - $cgi->param('amount') =~ /^(\d+(\.\d*)?)$/ - or die "illegal amount"; - my $amount = $1; - my $result = realtime_collect( - 'session_id' => $session_id, - 'method' => $method, - 'amount' => $amount, - ); - $result; -} - -sub make_term_payment { - $cgi->param('amount') =~ /^(\d+\.\d{2})$/ - or die "illegal payment amount"; - my $balance = $1; - $cgi->param('discount_term') =~ /^(\d+)$/ - or die "illegal discount term"; - my $discount_term = $1; - $action = 'make_payment'; - ({ %{payment_info( 'session_id' => $session_id )}, - 'balance' => $balance, - 'discount_term' => $discount_term, - }) -} - -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 didreport { - my $result = did_report( 'session_id' => $session_id, - 'format' => $cgi->param('type'), - 'recentonly' => $cgi->param('recentonly'), - ); - die $result->{'error'} if exists $result->{'error'} && $result->{'error'}; - $result; -} - -sub provision { - my $result = list_pkgs( 'session_id' => $session_id ); - die $result->{'error'} if exists $result->{'error'} && $result->{'error'}; - $result->{'pkgpart'} = $cgi->param('pkgpart') if $cgi->param('pkgpart'); - $result->{'filter'} = $cgi->param('filter') if $cgi->param('filter'); - $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->{'numavail'} = $cgi->param('numavail'); - $result->{'lnp'} = $cgi->param('lnp'); - - $result; -} - -sub process_svc_phone { - my @bulkdid = $cgi->param('bulkdid'); - my $phonenum = $cgi->param('phonenum'); - my $lnp = $cgi->param('lnp'); - - my $result; - if($lnp) { - $result = provision_phone ( - 'session_id' => $session_id, - 'countrycode' => '1', - map { $_ => $cgi->param($_) } qw( pkgnum svcpart phonenum - lnp_desired_due_date lnp_other_provider - lnp_other_provider_account ) - ); - } else { - $result = provision_phone ( - 'session_id' => $session_id, - 'bulkdid' => [ @bulkdid ], - 'countrycode' => '1', - map { $_ => $cgi->param($_) } qw( pkgnum svcpart phonenum ) - ); - } - - if ( exists $result->{'error'} && $result->{'error'} ) { - $action = 'provision_svc_phone'; - return { - $cgi->Vars, - %{ part_svc_info( 'session_id' => $session_id, - map { $_ => $cgi->param($_) } qw( pkgnum svcpart ) - ) - }, - 'error' => $result->{'error'}, - }; - } - - $result; -} - -sub process_svc_acct { - - my $result = provision_acct ( - 'session_id' => $session_id, - map { $_ => $cgi->param($_) } qw( - pkgnum svcpart username domsvc _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 view_usage { - list_svcs( - 'session_id' => $session_id, - 'svcdb' => [ 'svc_acct', 'svc_phone' ], - 'ncancelled' => 1, - ); -} - -sub view_usage_details { - list_svc_usage( - 'session_id' => $session_id, - 'svcnum' => $cgi->param('svcnum'), - 'beginning' => $cgi->param('beginning') || '', - 'ending' => $cgi->param('ending') || '', - ); -} - -sub view_cdr_details { - list_cdr_usage( - 'session_id' => $session_id, - 'svcnum' => $cgi->param('svcnum'), - 'beginning' => $cgi->param('beginning') || '', - 'ending' => $cgi->param('ending') || '', - ); -} - -sub view_support_details { - list_support_usage( - 'session_id' => $session_id, - 'svcnum' => $cgi->param('svcnum'), - 'beginning' => $cgi->param('beginning') || '', - 'ending' => $cgi->param('ending') || '', - ); -} - -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 $access_info = $session_id - ? access_info( 'session_id' => $session_id ) - : {}; - $fill_in->{$_} = $access_info->{$_} foreach keys %$access_info; - - my $source = "$template_dir/$name.html"; - #warn "creating template for $source\n"; - my $template = new Text::Template( TYPE => 'FILE', - SOURCE => $source, - DELIMITERS => [ '<%=', '%>' ], - UNTAINT => 1, - ) - or die $Text::Template::ERROR; - - if($result && ref($result) && $result->{'format'} && $result->{'content'} - && $result->{'format'} eq 'csv') { - print $cgi->header('-expires' => 'now', - '-Content-Type' => 'text/csv', - '-Content-Disposition' => "attachment;filename=output.csv", - ), - $result->{'content'}; - } - elsif($result && ref($result) && $result->{'format'} && $result->{'content'} - && $result->{'format'} eq 'xls') { - print $cgi->header('-expires' => 'now', - '-Content-Type' => 'application/vnd.ms-excel', - '-Content-Disposition' => "attachment;filename=output.xls", - '-Content-Length' => length($result->{'content'}), - ), - $result->{'content'}; - } - else { - my $data = $template->fill_in( - PACKAGE => 'FS::SelfService::_selfservicecgi', - HASH => $fill_in, - ) || "Error processing template $source"; # at least print _something_ - print $cgi->header( '-expires' => 'now' ); - print $data; - } - } - -#*FS::SelfService::_selfservicecgi::include = \&Text::Template::fill_in_file; - -package FS::SelfService::_selfservicecgi; - -use HTML::Entities; -use FS::SelfService qw( - regionselector popselector domainselector location_form didselector -); - -#false laziness w/agent.cgi -use vars qw(@INCLUDE_ARGS); -sub include { - my $name = shift; - - @INCLUDE_ARGS = @_; - - 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 - ); - -} - -1; 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 @@ -<HTML><HEAD><TITLE>ISP Signup form</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8"><FONT SIZE=7>ISP Signup form</FONT><BR><BR> -<FONT SIZE="+1" COLOR="#ff0000"><%= $error %></FONT> -<FORM NAME="OneTrueForm" ACTION="<%= $self_url %>" METHOD=POST onSubmit="document.OneTrueForm.signup.disabled=true"> -<INPUT TYPE="hidden" NAME="magic" VALUE="process"> -<INPUT TYPE="hidden" NAME="ref" VALUE="<%= $referral_custnum %>"> -<INPUT TYPE="hidden" NAME="ss" VALUE=""> -Agent <SELECT NAME="agentnum"> -<%= - warn $init_data; - warn $init_data->{'agent'}; - foreach my $agent ( @{$init_data->{'agent'}} ) { - $OUT .= '<OPTION VALUE="'. $agent->{'agentnum'}. '"'; - $OUT .= ' SELECTED' if $agent->{'agentnum'} eq $agentnum; - $OUT .= '>'. $agent->{'agent'}; - } -%> -</SELECT><BR><BR> -Contact Information -<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Contact name<BR>(last, first)</TH> - <TD COLSPAN=5><INPUT TYPE="text" NAME="last" VALUE="<%= $last %>">, - <INPUT TYPE="text" NAME="first" VALUE="<%= $first %>"></TD> -</TR> -<TR> - <TD ALIGN="right">Company</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="company" SIZE=70 VALUE="<%= $company %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Address</TH> - <TD COLSPAN=5><INPUT TYPE="text" NAME="address1" SIZE=70 VALUE="<%= $address1 %>"></TD> -</TR> -<TR> - <TD ALIGN="right"> </TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="address2" SIZE=70 VALUE="<%= $address2 %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>City</TH> - <TD><INPUT TYPE="text" NAME="city" VALUE="<%= $city %>"></TD> - <TH ALIGN="right"><font color="#ff0000">*</font>State/Country</TH> - <TD> - <%= - ($county_html, $state_html, $country_html) = - regionselector( $county, $state, $country ); - - "$county_html $state_html"; - %> - </TD> - <TH><font color="#ff0000">*</font>Zip</TH> - <TD><INPUT TYPE="text" NAME="zip" SIZE=10 VALUE="<%= $zip %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Country</TH> - <TD><%= $country_html %></TD> -<TR> - <TD ALIGN="right">Day Phone</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="daytime" VALUE="<%= $daytime %>" SIZE=18></TD> -</TR> -<TR> - <TD ALIGN="right">Night Phone</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="night" VALUE="<%= $night %>" SIZE=18></TD> -</TR> -<TR> - <TD ALIGN="right">Fax</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="fax" VALUE="<%= $fax %>" SIZE=12></TD> -</TR> -</TABLE><font color="#ff0000">*</font> required fields<BR> -<BR>Billing information<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR><TD> - - <%= - $OUT .= '<INPUT TYPE="checkbox" NAME="invoicing_list_POST" VALUE="POST"'; - my @invoicing_list = split(', ', $invoicing_list ); - $OUT .= ' CHECKED' - if ! @invoicing_list || grep { $_ eq 'POST' } @invoicing_list; - $OUT .= '>'; - %> - - Postal mail invoice -</TD></TR> -<TR><TD>Email invoice <INPUT TYPE="text" NAME="invoicing_list" VALUE="<%= join(', ', grep { $_ ne 'POST' } split(', ', $invoicing_list ) ) %>"> -</TD></TR> -<%= scalar(@payby) > 1 ? '<TR><TD>Billing type</TD></TR>' : '' %> -</TABLE> -<TABLE BGCOLOR="#c0c0c0" BORDER=1 WIDTH="100%"> -<TR> - - <%= - - my $cardselect = '<SELECT NAME="CARD_type"><OPTION></OPTION>'; - my %types = ( - 'VISA' => 'VISA card', - 'MasterCard' => 'MasterCard', - 'Discover' => 'Discover card', - 'American Express' => 'American Express card', - ); - foreach ( keys %types ) { - $selected = $cgi->param('CARD_type') eq $types{$_} ? 'SELECTED' : ''; - $cardselect .= qq!<OPTION $selected VALUE="$types{$_}">$_</OPTION>!; - } - $cardselect .= '</SELECT>'; - - my %payby = ( - 'CARD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="CARD_payinfo" VALUE="" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("CARD"). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="CARD_payname" VALUE="">!, - 'DCRD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="DCRD_payinfo" VALUE="" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("DCRD"). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="DCRD_payname" VALUE="">!, - 'CHEK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="CHEK_payinfo1" VALUE="" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="CHEK_payinfo2" VALUE="" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="CHEK_month" VALUE="12"><INPUT TYPE="hidden" NAME="CHEK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="CHEK_payname" VALUE="">!, - 'DCHK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="DCHK_payinfo1" VALUE="" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="DCHK_payinfo2" VALUE="" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="DCHK_month" VALUE="12"><INPUT TYPE="hidden" NAME="DCHK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="DCHK_payname" VALUE="">!, - 'LECB' => qq!Phone bill billing<BR>${r}Phone number <INPUT TYPE="text" BANE="LECB_payinfo" VALUE="" MAXLENGTH=15 SIZE=16><INPUT TYPE="hidden" NAME="LECB_month" VALUE="12"><INPUT TYPE="hidden" NAME="LECB_year" VALUE="2037"><INPUT TYPE="hidden" NAME="LECB_payname" VALUE="">!, - 'BILL' => qq!Billing<BR>P.O. <INPUT TYPE="text" NAME="BILL_payinfo" VALUE=""><BR><font color="#ff0000">*</font>Exp !. expselect("BILL", "12-2037"). qq!<BR><font color="#ff0000">*</font>Attention<BR><INPUT TYPE="text" NAME="BILL_payname" VALUE="Accounts Payable">!, - 'COMP' => qq!Complimentary<BR><font color="#ff0000">*</font>Approved by<INPUT TYPE="text" NAME="COMP_payinfo" VALUE=""><BR><font color="#ff0000">*</font>Exp !. expselect("COMP"), - 'PREPAY' => qq!Prepaid card<BR><font color="#ff0000">*</font><INPUT TYPE="text" NAME="PREPAY_payinfo" VALUE="" MAXLENGTH=80>!, - ); - - my( $account, $aba ) = split('@', $payinfo); - my %paybychecked = ( - 'CARD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="CARD_payinfo" VALUE="$payinfo" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("CARD", $paydate). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="CARD_payname" VALUE="$payname">!, - 'DCRD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="DCRD_payinfo" VALUE="$payinfo" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("DCRD", $paydate). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="DCRD_payname" VALUE="$payname">!, - 'CHEK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="CHEK_payinfo1" VALUE="$account" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="CHEK_payinfo2" VALUE="$aba" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="CHEK_month" VALUE="12"><INPUT TYPE="hidden" NAME="CHEK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="CHEK_payname" VALUE="$payname">!, - 'DCHK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="DCHK_payinfo1" VALUE="$account" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="DCHK_payinfo2" VALUE="$aba" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="DCHK_month" VALUE="12"><INPUT TYPE="hidden" NAME="DCHK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="DCHK_payname" VALUE="$payname">!, - 'LECB' => qq!Phone bill billing<BR>${r}Phone number <INPUT TYPE="text" BANE="LECB_payinfo" VALUE="$payinfo" MAXLENGTH=15 SIZE=16><INPUT TYPE="hidden" NAME="LECB_month" VALUE="12"><INPUT TYPE="hidden" NAME="LECB_year" VALUE="2037"><INPUT TYPE="hidden" NAME="LECB_payname" VALUE="">!, - 'BILL' => qq!Billing<BR>P.O. <INPUT TYPE="text" NAME="BILL_payinfo" VALUE="$payinfo"><BR><font color="#ff0000">*</font>Exp !. expselect("BILL", $paydate). qq!<BR><font color="#ff0000">*</font>Attention<BR><INPUT TYPE="text" NAME="BILL_payname" VALUE="$payname">!, - 'COMP' => qq!Complimentary<BR><font color="#ff0000">*</font>Approved by<INPUT TYPE="text" NAME="COMP_payinfo" VALUE="$payinfo"><BR><font color="#ff0000">*</font>Exp !. expselect("COMP", $paydate), - 'PREPAY' => qq!Prepaid card<BR><font color="#ff0000">*</font><INPUT TYPE="text" NAME="PREPAY_payinfo" VALUE="$payinfo" MAXLENGTH=80>!, - ); - - for (@payby) { - if ( scalar(@payby) == 1) { - $OUT .= '<TD VALIGN=TOP>'. - qq!<INPUT TYPE="hidden" NAME="payby" VALUE="$_">!. - "$paybychecked{$_}</TD>"; - } else { - $OUT .= qq!<TD VALIGN=TOP><INPUT TYPE="radio" NAME="payby" VALUE="$_"!; - if ($payby eq $_) { - $OUT .= qq! CHECKED> $paybychecked{$_}</TD>!; - } else { - $OUT .= qq!> $payby{$_}</TD>!; - } - - } - } - %> - -</TR></TABLE><font color="#ff0000">*</font> required fields for each billing type -<BR><BR>First package -<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR> - <TD COLSPAN=2><SELECT NAME="pkgpart"><OPTION VALUE="">(none) - - <%= - foreach my $package ( @{$packages} ) { - $OUT .= '<OPTION VALUE="'. $package->{'pkgpart'}. '"'; - $OUT .= ' SELECTED' if $pkgpart && $package->{'pkgpart'} == $pkgpart; - $OUT .= '>'. $package->{'pkg'}; - } - %> - - </SELECT></TD> -</TR> -<TR> - <TD ALIGN="right">Username</TD> - <TD><INPUT TYPE="text" NAME="username" VALUE="<%= $username %>"></TD> -</TR> -<TR> - <TD ALIGN="right">Password</TD> - <TD><INPUT TYPE="password" NAME="_password" VALUE="<%= $password %>"></TD> -</TR> -<TR> - <TD ALIGN="right">Re-enter Password</TD> - <TD><INPUT TYPE="password" NAME="_password2" VALUE="<%= $password2 %>"></TD> -</TR> -<%= - if ( $init_data->{'security_phrase'} ) { - $OUT .= <<ENDOUT; -<TR> - <TD ALIGN="right">Security Phrase</TD> - <TD><INPUT TYPE="text" NAME="sec_phrase" VALUE="$sec_phrase"> - </TD> -</TR> -ENDOUT - } else { - $OUT .= '<INPUT TYPE="hidden" NAME="sec_phrase" VALUE="">'; - } -%> -<%= - if ( scalar(@$pops) ) { - $OUT .= '<TR><TD ALIGN="right">Access number</TD><TD>'. - popselector($popnum). '</TD></TR>'; - } else { - $OUT .= popselector($popnum); - } -%> -</TABLE> -<BR><BR><INPUT TYPE="submit" NAME="signup" VALUE="Signup" > -</FORM></BODY></HTML> 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 @@ -<HTML><HEAD><TITLE>ISP Signup form</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8"><FONT SIZE=7>ISP Signup form</FONT><BR><BR> -<FONT SIZE="+1" COLOR="#ff0000"><%= $error %></FONT> -<FORM NAME="dummy"> -<INPUT TYPE="hidden" NAME="magic" VALUE="process"> -<INPUT TYPE="hidden" NAME="ref" VALUE="<%= $referral_custnum %>"> -<INPUT TYPE="hidden" NAME="ss" VALUE=""> -<INPUT TYPE="hidden" NAME="agentnum" VALUE="3"> -Contact Information -<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Contact name<BR>(last, first)</TH> - <TD COLSPAN=5><INPUT TYPE="text" NAME="last" VALUE="<%= $last %>">, - <INPUT TYPE="text" NAME="first" VALUE="<%= $first %>"></TD> -</TR> -<TR> - <TD ALIGN="right">Company</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="company" SIZE=70 VALUE="<%= $company %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Address</TH> - <TD COLSPAN=5><INPUT TYPE="text" NAME="address1" SIZE=70 VALUE="<%= $address1 %>"></TD> -</TR> -<TR> - <TD ALIGN="right"> </TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="address2" SIZE=70 VALUE="<%= $address2 %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>City</TH> - <TD><INPUT TYPE="text" NAME="city" VALUE="<%= $city %>"></TD> - <TH ALIGN="right"><font color="#ff0000">*</font>State/Country</TH> - <TD><SELECT NAME="state" SIZE="1"> - - <%= - foreach ( @{$locales} ) { - my $value = $_->{'state'}; - $value .= ' ('. $_->{'county'}. ')' if $_->{'county'}; - $value .= ' / '. $_->{'country'}; - - $OUT .= qq(<OPTION VALUE="$value"); - $OUT .= ' SELECTED' if ( $state eq $_->{'state'} - && $county eq $_->{'county'} - && $country eq $_->{'country'} - ); - $OUT .= ">$value</OPTION>"; - } - %> - - </SELECT></TD> - <TH><font color="#ff0000">*</font>Zip</TH> - <TD><INPUT TYPE="text" NAME="zip" SIZE=10 VALUE="<%= $zip %>"></TD> -</TR> -<TR> - <TD ALIGN="right">Day Phone</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="daytime" VALUE="<%= $daytime %>" SIZE=18></TD> -</TR> -<TR> - <TD ALIGN="right">Night Phone</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="night" VALUE="<%= $night %>" SIZE=18></TD> -</TR> -<TR> - <TD ALIGN="right">Fax</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="fax" VALUE="<%= $fax %>" SIZE=12></TD> -</TR> -</TABLE><font color="#ff0000">*</font> required fields<BR> - -<BR><BR> -<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Username</TH> - <TD><INPUT TYPE="text" NAME="username" VALUE="<%= $username %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Password</TH> - <TD><INPUT TYPE="password" NAME="_password" VALUE="<%= $password %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Re-enter Password</TH> - <TD><INPUT TYPE="password" NAME="_password2" VALUE="<%= $password2 %>"></TD> -</TR> - -<%= if ( $init_data->{'security_phrase'} ) { - <<ENDOUT; -<TR> - <TD ALIGN="right">Security Phrase</TD> - <TD><INPUT TYPE="text" NAME="sec_phrase" VALUE="$sec_phrase"> - </TD> -</TR> -ENDOUT - } else { - '<INPUT TYPE="hidden" NAME="sec_phrase" VALUE="">'; - } -%> - -<%= if ( scalar(@$pops) ) { - '<TR><TD ALIGN="right">Access number</TD><TD>'. - popselector($popnum). '</TD></TR>'; - } else { - popselector($popnum); - } -%> - -</TABLE><font color="#ff0000">*</font> required fields - -<BR><BR>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( <INPUT TYPE="hidden" NAME="pkgpart" VALUE="$layer">); - - if ( $pkgpart2payby{$layer} eq 'BILL' ) { - $html .= <<ENDOUT; -<INPUT TYPE="hidden" NAME="payby" VALUE="BILL"> -<INPUT TYPE="hidden" NAME="invoicing_list_POST" VALUE=""> -<INPUT TYPE="hidden" NAME="BILL_payinfo" VALUE=""> -<INPUT TYPE="hidden" NAME="BILL_month" VALUE="12"> -<INPUT TYPE="hidden" NAME="BILL_year" VALUE="2037"> -<INPUT TYPE="hidden" NAME="BILL_payname" VALUE=""> -<BR><BR><INPUT TYPE="submit" VALUE="Signup"> -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 = '<SELECT NAME="CARD_type"><OPTION></OPTION>'; - my %types = ( - 'VISA' => 'VISA card', - 'MasterCard' => 'MasterCard', - 'Discover' => 'Discover card', - 'American Express' => 'American Express card', - ); - foreach ( keys %types ) { - $selected = - $cgi->param('CARD_type') eq $types{$_} ? 'SELECTED' : ''; - $cardselect .= - qq!<OPTION $selected VALUE="$types{$_}">$_</OPTION>!; - } - $cardselect .= '</SELECT>'; - - $html .= <<ENDOUT; -<INPUT TYPE="hidden" NAME="payby" VALUE="CARD"> -<BR><BR>Billing information -<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0> -<INPUT TYPE="hidden" NAME="invoicing_list_POST" VALUE=""> -<TR> - <TD ALIGN="right">Email statement to </TD> - <TD><INPUT TYPE="text" NAME="invoicing_list" VALUE="$invoicing_list"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Credit card type</TH> - <TD>$cardselect</TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Card number</TH> - <TD><INPUT TYPE="text" NAME="CARD_payinfo" VALUE="$payinfo" MAXLENGTH=19></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>*</font>Exp</TH> - <TD>$expselect</TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Name on card</TH> - <TD><INPUT TYPE="text" NAME="CARD_payname" VALUE="$payname"></TD> -</TR> -</TABLE> -<font color="#ff0000">*</font> required fields -<BR><BR><INPUT TYPE="submit" VALUE="Signup"> -ENDOUT - } else { - $html = <<ENDOUT; -<BR>Please select a package.<BR> -ENDOUT - - } - - $html; - - }, - ); - - $widget->html; - - - %> -</BODY></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 @@ -<HTML><HEAD><TITLE>ISP Signup form</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8" onUnload="myclose()"> -<script language="JavaScript"><!-- - var mywindow = -1; - function myopen(filename,windowname,properties) { - myclose(); - mywindow = window.open(filename,windowname,properties); - } - function myclose() { - if ( mywindow != -1 ) - mywindow.close(); - mywindow = -1 - } -//--></script> -<FONT SIZE=7>ISP Signup form</FONT><BR><BR> -<FONT SIZE="+1" COLOR="#ff0000"><%= $error %></FONT> -<FORM NAME="OneTrueForm" ACTION="<%= $self_url %>" METHOD=POST onSubmit="document.OneTrueForm.signup.disabled=true"> -<INPUT TYPE="hidden" NAME="magic" VALUE="process"> -<INPUT TYPE="hidden" NAME="ref" VALUE="<%= $referral_custnum %>"> -<INPUT TYPE="hidden" NAME="ss" VALUE=""> -Where did you hear about our service? <SELECT NAME="refnum"> -<%= - $OUT .= '<OPTION VALUE="">' unless $refnum; - foreach my $part_referral ( @{$init_data->{'part_referral'}} ) { - $OUT .= '<OPTION VALUE="'. $part_referral->{'refnum'}. '"'; - $OUT .= ' SELECTED' if $part_referral->{'refnum'} eq $refnum; - $OUT .= '>'. $part_referral->{'referral'}; - } -%> -</SELECT><BR><BR> -Billing Address (where credit card statement is sent) -<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Exact name on card<BR>(last, first)</TH> - <TD COLSPAN=5><INPUT TYPE="text" NAME="last" VALUE="<%= $last %>" onChange="changed(this)">, - <INPUT TYPE="text" NAME="first" VALUE="<%= $first %>" onChange="changed(this)"></TD> -</TR> -<TR> - <TD ALIGN="right">Company</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="company" SIZE=70 VALUE="<%= $company %>" onChange="changed(this)"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Address</TH> - <TD COLSPAN=5><INPUT TYPE="text" NAME="address1" SIZE=70 VALUE="<%= $address1 %>" onChange="changed(this)"></TD> -</TR> -<TR> - <TD ALIGN="right"> </TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="address2" SIZE=70 VALUE="<%= $address2 %>" onChange="changed(this)"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>City</TH> - <TD><INPUT TYPE="text" NAME="city" VALUE="<%= $city %>" onChange="changed(this)"></TD> - <TH ALIGN="right"><font color="#ff0000">*</font>State/Country</TH> - <TD> - <%= - ($county_html, $state_html, $country_html) = - regionselector( $county, $state, $country, '', 'changed(this)' ); - - "$county_html $state_html"; - %> - </TD> - <TH><font color="#ff0000">*</font>Zip</TH> - <TD><INPUT TYPE="text" NAME="zip" SIZE=10 VALUE="<%= $zip %>" onChange="changed(this)"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Country</TH> - <TD><%= $country_html %></TD> -<TR> - <TD ALIGN="right">Day Phone</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="daytime" VALUE="<%= $daytime %>" SIZE=18 onChange="changed(this)"></TD> -</TR> -<TR> - <TD ALIGN="right">Night Phone</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="night" VALUE="<%= $night %>" SIZE=18 onChange="changed(this)"></TD> -</TR> -<TR> - <TD ALIGN="right">Fax</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="fax" VALUE="<%= $fax %>" SIZE=12 onChange="changed(this)"></TD> -</TR> -</TABLE> - -<SCRIPT> -function changed(what) { - what.form.same.checked = false; -} -function samechanged(what) { - if ( what.checked ) { - - <%= foreach (qw( - last first company address1 address2 city zip daytime night fax - )) { - $OUT .= "what.form.ship_$_.value = what.form.$_.value;\n"; - } - %> - - what.form.ship_country.selectedIndex = what.form.country.selectedIndex; - ship_country_changed(what.form.ship_country); - what.form.ship_state.selectedIndex = what.form.state.selectedIndex; - ship_state_changed(what.form.ship_state); - what.form.ship_county.selectedIndex = what.form.county.selectedIndex; - } -} -</SCRIPT> - -<BR><BR> -Service Address -(<INPUT TYPE="checkbox" NAME="same" VALUE="Y" onClick="samechanged(this)" <%= $same eq 'Y' ? 'CHECKED' : '' %>>same as billing address)<BR> -<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Contact name<BR>(last, first)</TH> - <TD COLSPAN=5><INPUT TYPE="text" NAME="ship_last" VALUE="<%= $ship_last %>" onChange="changed(this)">, - <INPUT TYPE="text" NAME="ship_first" VALUE="<%= $ship_first %>" onChange="changed(this)"></TD> -</TR> -<TR> - <TD ALIGN="right">Company</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="ship_company" SIZE=70 VALUE="<%= $ship_company %>" onChange="changed(this)"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Address</TH> - <TD COLSPAN=5><INPUT TYPE="text" NAME="ship_address1" SIZE=70 VALUE="<%= $ship_address1 %>" onChange="changed(this)"></TD> -</TR> -<TR> - <TD ALIGN="right"> </TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="ship_address2" SIZE=70 VALUE="<%= $ship_address2 %>" onChange="changed(this)"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>City</TH> - <TD><INPUT TYPE="text" NAME="ship_city" VALUE="<%= $ship_city %>" onChange="changed(this)"></TD> - <TH ALIGN="right"><font color="#ff0000">*</font>State/Country</TH> - <TD> - <%= - ($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"; - %> - </TD> - <TH><font color="#ff0000">*</font>Zip</TH> - <TD><INPUT TYPE="text" NAME="ship_zip" SIZE=10 VALUE="<%= $ship_zip %>" onChange="changed(this)"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Country</TH> - <TD><%= $ship_country_html %></TD> -<TR> - <TD ALIGN="right">Day Phone</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="ship_daytime" VALUE="<%= $ship_daytime %>" SIZE=18 onChange="changed(this)"></TD> -</TR> -<TR> - <TD ALIGN="right">Night Phone</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="ship_night" VALUE="<%= $ship_night %>" SIZE=18 onChange="changed(this)"></TD> -</TR> -<TR> - <TD ALIGN="right">Fax</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="ship_fax" VALUE="<%= $ship_fax %>" SIZE=12 onChange="changed(this)"></TD> -</TR> -</TABLE> - -<font color="#ff0000">*</font> required fields<BR> - -<BR>Billing information<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR><TD> - - <%= - $OUT .= '<INPUT TYPE="checkbox" NAME="invoicing_list_POST" VALUE="POST"'; - my @invoicing_list = split(', ', $invoicing_list ); - $OUT .= ' CHECKED' - if ! @invoicing_list || grep { $_ eq 'POST' } @invoicing_list; - $OUT .= '>'; - %> - - Postal mail invoice -</TD></TR> -<TR><TD>Email invoice <INPUT TYPE="text" NAME="invoicing_list" VALUE="<%= join(', ', grep { $_ ne 'POST' } split(', ', $invoicing_list ) ) %>"> -</TD></TR> -<%= scalar(@payby) > 1 ? '<TR><TD>Billing type</TD></TR>' : '' %> -</TABLE> -<TABLE BGCOLOR="#c0c0c0" BORDER=1 WIDTH="100%"> -<TR> - - <%= - - my $cardselect = '<SELECT NAME="CARD_type"><OPTION></OPTION>'; - my %types = ( - 'VISA' => 'VISA card', - 'MasterCard' => 'MasterCard', - 'Discover' => 'Discover card', - 'American Express' => 'American Express card', - ); - foreach ( keys %types ) { - $selected = $cgi->param('CARD_type') eq $types{$_} ? 'SELECTED' : ''; - $cardselect .= qq!<OPTION $selected VALUE="$types{$_}">$_</OPTION>!; - } - $cardselect .= '</SELECT>'; - - my %payby = ( - 'CARD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="CARD_payinfo" VALUE="" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("CARD"), #. qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="CARD_payname" VALUE="">!, - 'DCRD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="DCRD_payinfo" VALUE="" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("DCRD"), #. qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="DCRD_payname" VALUE="">!, - 'CHEK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="CHEK_payinfo1" VALUE="" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="CHEK_payinfo2" VALUE="" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="CHEK_month" VALUE="12"><INPUT TYPE="hidden" NAME="CHEK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="CHEK_payname" VALUE="">!, - 'DCHK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="DCHK_payinfo1" VALUE="" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="DCHK_payinfo2" VALUE="" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="DCHK_month" VALUE="12"><INPUT TYPE="hidden" NAME="DCHK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="DCHK_payname" VALUE="">!, - 'LECB' => qq!Phone bill billing<BR>${r}Phone number <INPUT TYPE="text" BANE="LECB_payinfo" VALUE="" MAXLENGTH=15 SIZE=16><INPUT TYPE="hidden" NAME="LECB_month" VALUE="12"><INPUT TYPE="hidden" NAME="LECB_year" VALUE="2037"><INPUT TYPE="hidden" NAME="LECB_payname" VALUE="">!, - 'BILL' => qq!Billing<BR>P.O. <INPUT TYPE="text" NAME="BILL_payinfo" VALUE=""><BR><font color="#ff0000">*</font>Exp !. expselect("BILL", "12-2037"). qq!<BR><font color="#ff0000">*</font>Attention<BR><INPUT TYPE="text" NAME="BILL_payname" VALUE="Accounts Payable">!, - 'COMP' => qq!Complimentary<BR><font color="#ff0000">*</font>Approved by<INPUT TYPE="text" NAME="COMP_payinfo" VALUE=""><BR><font color="#ff0000">*</font>Exp !. expselect("COMP"), - 'PREPAY' => qq!Prepaid card<BR><font color="#ff0000">*</font><INPUT TYPE="text" NAME="PREPAY_payinfo" VALUE="" MAXLENGTH=80>!, - ); - - if ( $init_data->{'cvv_enabled'} ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $payby{$payby} .= qq!<BR>CVV2 (<A HREF="javascript:myopen('cvv2.html','cvv2','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=480,height=288')">help</A>) <INPUT TYPE="text" NAME=${payby}_paycvv VALUE="" SIZE=4 MAXLENGTH=4>!; - } - } - - my( $account, $aba ) = split('@', $payinfo); - my %paybychecked = ( - 'CARD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="CARD_payinfo" VALUE="$payinfo" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("CARD", $paydate), #. qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="CARD_payname" VALUE="$payname">!, - 'DCRD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="DCRD_payinfo" VALUE="$payinfo" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("DCRD", $paydate), #. qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="DCRD_payname" VALUE="$payname">!, - 'CHEK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="CHEK_payinfo1" VALUE="$account" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="CHEK_payinfo2" VALUE="$aba" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="CHEK_month" VALUE="12"><INPUT TYPE="hidden" NAME="CHEK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="CHEK_payname" VALUE="$payname">!, - 'DCHK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="DCHK_payinfo1" VALUE="$account" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="DCHK_payinfo2" VALUE="$aba" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="DCHK_month" VALUE="12"><INPUT TYPE="hidden" NAME="DCHK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="DCHK_payname" VALUE="$payname">!, - 'LECB' => qq!Phone bill billing<BR>${r}Phone number <INPUT TYPE="text" BANE="LECB_payinfo" VALUE="$payinfo" MAXLENGTH=15 SIZE=16><INPUT TYPE="hidden" NAME="LECB_month" VALUE="12"><INPUT TYPE="hidden" NAME="LECB_year" VALUE="2037"><INPUT TYPE="hidden" NAME="LECB_payname" VALUE="">!, - 'BILL' => qq!Billing<BR>P.O. <INPUT TYPE="text" NAME="BILL_payinfo" VALUE="$payinfo"><BR><font color="#ff0000">*</font>Exp !. expselect("BILL", $paydate). qq!<BR><font color="#ff0000">*</font>Attention<BR><INPUT TYPE="text" NAME="BILL_payname" VALUE="$payname">!, - 'COMP' => qq!Complimentary<BR><font color="#ff0000">*</font>Approved by<INPUT TYPE="text" NAME="COMP_payinfo" VALUE="$payinfo"><BR><font color="#ff0000">*</font>Exp !. expselect("COMP", $paydate), - 'PREPAY' => qq!Prepaid card<BR><font color="#ff0000">*</font><INPUT TYPE="text" NAME="PREPAY_payinfo" VALUE="$payinfo" MAXLENGTH=80>!, - ); - - if ( $init_data->{'cvv_enabled'} ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $paybychecked{$payby} .= qq!<BR>CVV2 (<A HREF="javascript:myopen('cvv2.html','cvv2','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=480,height=288')">help</A>) <INPUT TYPE="text" NAME=${payby}_paycvv VALUE="$paycvv" SIZE=4 MAXLENGTH=4>!; - } - } - - for (@payby) { - if ( scalar(@payby) == 1) { - $OUT .= '<TD VALIGN=TOP>'. - qq!<INPUT TYPE="hidden" NAME="payby" VALUE="$_">!. - "$paybychecked{$_}</TD>"; - } else { - $OUT .= qq!<TD VALIGN=TOP><INPUT TYPE="radio" NAME="payby" VALUE="$_"!; - if ($payby eq $_) { - $OUT .= qq! CHECKED> $paybychecked{$_}</TD>!; - } else { - $OUT .= qq!> $payby{$_}</TD>!; - } - - } - } - %> - -</TR></TABLE><font color="#ff0000">*</font> required fields for each billing type -<BR><BR>First package -<INPUT TYPE="hidden" NAME="promo_code" VALUE="<%= $cgi->param('promo_code') %>"> -<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR> - <TD COLSPAN=2><SELECT NAME="pkgpart"> - - <%= - $OUT .= '<OPTION VALUE="">(none)' unless scalar(@$packages) == 1; - foreach my $package ( @{$packages} ) { - $OUT .= '<OPTION VALUE="'. $package->{'pkgpart'}. '"'; - $OUT .= ' SELECTED' - if ( $pkgpart && $package->{'pkgpart'} == $pkgpart ) - || scalar(@$packages) == 1; - $OUT .= '>'. $package->{'pkg'}; - } - %> - - </SELECT></TD> -</TR> -<TR> - <TD ALIGN="right">Username</TD> - <TD><INPUT TYPE="text" NAME="username" VALUE="<%= $username %>"></TD> -</TR> -<TR> - <TD ALIGN="right">Password</TD> - <TD><INPUT TYPE="password" NAME="_password" VALUE="<%= $password %>"></TD> -</TR> -<TR> - <TD ALIGN="right">Re-enter Password</TD> - <TD><INPUT TYPE="password" NAME="_password2" VALUE="<%= $password2 %>"></TD> -</TR> -<%= - if ( $init_data->{'security_phrase'} ) { - $OUT .= <<ENDOUT; -<TR> - <TD ALIGN="right">Security Phrase</TD> - <TD><INPUT TYPE="text" NAME="sec_phrase" VALUE="$sec_phrase"> - </TD> -</TR> -ENDOUT - } else { - $OUT .= '<INPUT TYPE="hidden" NAME="sec_phrase" VALUE="">'; - } -%> -<%= - if ( scalar(@$pops) ) { - $OUT .= '<TR><TD ALIGN="right">Access number</TD><TD>'. - popselector($popnum). '</TD></TR>'; - } else { - $OUT .= popselector($popnum); - } -%> -</TABLE> -<BR><BR><INPUT TYPE="submit" NAME="signup" VALUE="Signup"> -</FORM></BODY></HTML> 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 @@ -<HTML><HEAD><TITLE>ISP Signup form</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8" onUnload="myclose()"> -<script language="JavaScript"><!-- - var mywindow = -1; - function myopen(filename,windowname,properties) { - myclose(); - mywindow = window.open(filename,windowname,properties); - } - function myclose() { - if ( mywindow != -1 ) - mywindow.close(); - mywindow = -1 - } -//--></script> -<FONT SIZE=7>ISP Signup form</FONT><BR><BR> -<FONT SIZE="+1" COLOR="#ff0000"><%= $error %></FONT> -<FORM NAME="OneTrueForm" ACTION="<%= $self_url %>" METHOD=POST onSubmit="document.OneTrueForm.signup.disabled=true"> -<INPUT TYPE="hidden" NAME="magic" VALUE="process"> -<INPUT TYPE="hidden" NAME="ref" VALUE="<%= $referral_custnum %>"> -<INPUT TYPE="hidden" NAME="ss" VALUE=""> -Where did you hear about our service? <SELECT NAME="refnum"> -<%= - $OUT .= '<OPTION VALUE="">' unless $refnum; - foreach my $part_referral ( @{$init_data->{'part_referral'}} ) { - $OUT .= '<OPTION VALUE="'. $part_referral->{'refnum'}. '"'; - $OUT .= ' SELECTED' if $part_referral->{'refnum'} eq $refnum; - $OUT .= '>'. $part_referral->{'referral'}; - } -%> -</SELECT><BR><BR> -Contact Information -<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Contact name<BR>(last, first)</TH> - <TD COLSPAN=5><INPUT TYPE="text" NAME="last" VALUE="<%= $last %>">, - <INPUT TYPE="text" NAME="first" VALUE="<%= $first %>"></TD> -</TR> -<TR> - <TD ALIGN="right">Company</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="company" SIZE=70 VALUE="<%= $company %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Address</TH> - <TD COLSPAN=5><INPUT TYPE="text" NAME="address1" SIZE=70 VALUE="<%= $address1 %>"></TD> -</TR> -<TR> - <TD ALIGN="right"> </TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="address2" SIZE=70 VALUE="<%= $address2 %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>City</TH> - <TD><INPUT TYPE="text" NAME="city" VALUE="<%= $city %>"></TD> - <TH ALIGN="right"><font color="#ff0000">*</font>State/Country</TH> - <TD> - <%= - ($county_html, $state_html, $country_html) = - regionselector( $county, $state, $country ); - - "$county_html $state_html"; - %> - </TD> - <TH><font color="#ff0000">*</font>Zip</TH> - <TD><INPUT TYPE="text" NAME="zip" SIZE=10 VALUE="<%= $zip %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Country</TH> - <TD><%= $country_html %></TD> -<TR> - <TD ALIGN="right">Day Phone</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="daytime" VALUE="<%= $daytime %>" SIZE=18></TD> -</TR> -<TR> - <TD ALIGN="right">Night Phone</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="night" VALUE="<%= $night %>" SIZE=18></TD> -</TR> -<TR> - <TD ALIGN="right">Fax</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="fax" VALUE="<%= $fax %>" SIZE=12></TD> -</TR> -</TABLE><font color="#ff0000">*</font> required fields<BR> -<BR> -<%= - 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 - <TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%"> - <TR><TD> - <INPUT TYPE="checkbox" NAME="invoicing_list_POST" VALUE="POST"'; - - my @invoicing_list = split(', ', $invoicing_list ); - - $OUT .= ' CHECKED' - if ! @invoicing_list || grep { $_ eq 'POST' } @invoicing_list; - - $OUT .= '> Postal mail invoice - </TD></TR> - <TR><TD>Email invoice - <INPUT TYPE="text" NAME="invoicing_list" VALUE="' - .join(', ', grep { $_ ne 'POST' } split(', ', $invoicing_list ) ). - '"></TD></TR>'; - - $OUT .= '<TR><TD>Billing type</TD></TR>' - if scalar(@payby) > 1; - - $OUT .= '</TABLE>'; - - } else { - $OUT .= '<INPUT TYPE="hidden" NAME="invoicing_list" VALUE=""> - <INPUT TYPE="hidden" NAME="invoicing_list_POST" VALUE="">'; - } - -%> - -<TABLE BGCOLOR="#c0c0c0" BORDER=1 WIDTH="100%"> -<TR> - - <%= - - my $cardselect = '<SELECT NAME="CARD_type"><OPTION></OPTION>'; - my %types = ( - 'VISA' => 'VISA card', - 'MasterCard' => 'MasterCard', - 'Discover' => 'Discover card', - 'American Express' => 'American Express card', - ); - foreach ( keys %types ) { - $selected = $cgi->param('CARD_type') eq $types{$_} ? 'SELECTED' : ''; - $cardselect .= qq!<OPTION $selected VALUE="$types{$_}">$_</OPTION>!; - } - $cardselect .= '</SELECT>'; - - my %payby = ( - 'CARD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="CARD_payinfo" VALUE="" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("CARD"). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="CARD_payname" VALUE="">!, - 'DCRD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="DCRD_payinfo" VALUE="" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("DCRD"). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="DCRD_payname" VALUE="">!, - 'CHEK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="CHEK_payinfo1" VALUE="" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="CHEK_payinfo2" VALUE="" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="CHEK_month" VALUE="12"><INPUT TYPE="hidden" NAME="CHEK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="CHEK_payname" VALUE="">!, - 'DCHK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="DCHK_payinfo1" VALUE="" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="DCHK_payinfo2" VALUE="" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="DCHK_month" VALUE="12"><INPUT TYPE="hidden" NAME="DCHK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="DCHK_payname" VALUE="">!, - 'LECB' => qq!Phone bill billing<BR>${r}Phone number <INPUT TYPE="text" BANE="LECB_payinfo" VALUE="" MAXLENGTH=15 SIZE=16><INPUT TYPE="hidden" NAME="LECB_month" VALUE="12"><INPUT TYPE="hidden" NAME="LECB_year" VALUE="2037"><INPUT TYPE="hidden" NAME="LECB_payname" VALUE="">!, - 'BILL' => <<'END', -<INPUT TYPE="hidden" NAME="BILL_payinfo" VALUE=""> -<INPUT TYPE="hidden" NAME="BILL_month" VALUE="12"> -<INPUT TYPE="hidden" NAME="BILL_year" VALUE="2037"> -<INPUT TYPE="hidden" NAME="BILL_payname" VALUE=""> -END - 'COMP' => qq!Complimentary<BR><font color="#ff0000">*</font>Approved by<INPUT TYPE="text" NAME="COMP_payinfo" VALUE=""><BR><font color="#ff0000">*</font>Exp !. expselect("COMP"), - 'PREPAY' => qq!Prepaid card<BR><font color="#ff0000">*</font><INPUT TYPE="text" NAME="PREPAY_payinfo" VALUE="" MAXLENGTH=80>!, - ); - - if ( $init_data->{'cvv_enabled'} ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $payby{$payby} .= qq!<BR>CVV2 (<A HREF="javascript:myopen('cvv2.html','cvv2','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=480,height=288')">help</A>) <INPUT TYPE="text" NAME=${payby}_paycvv VALUE="" SIZE=4 MAXLENGTH=4>!; - } - } - - my( $account, $aba ) = split('@', $payinfo); - my %paybychecked = ( - 'CARD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="CARD_payinfo" VALUE="$payinfo" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("CARD", $paydate). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="CARD_payname" VALUE="$payname">!, - 'DCRD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="DCRD_payinfo" VALUE="$payinfo" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("DCRD", $paydate). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="DCRD_payname" VALUE="$payname">!, - 'CHEK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="CHEK_payinfo1" VALUE="$account" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="CHEK_payinfo2" VALUE="$aba" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="CHEK_month" VALUE="12"><INPUT TYPE="hidden" NAME="CHEK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="CHEK_payname" VALUE="$payname">!, - 'DCHK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="DCHK_payinfo1" VALUE="$account" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="DCHK_payinfo2" VALUE="$aba" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="DCHK_month" VALUE="12"><INPUT TYPE="hidden" NAME="DCHK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="DCHK_payname" VALUE="$payname">!, - 'LECB' => qq!Phone bill billing<BR>${r}Phone number <INPUT TYPE="text" BANE="LECB_payinfo" VALUE="$payinfo" MAXLENGTH=15 SIZE=16><INPUT TYPE="hidden" NAME="LECB_month" VALUE="12"><INPUT TYPE="hidden" NAME="LECB_year" VALUE="2037"><INPUT TYPE="hidden" NAME="LECB_payname" VALUE="">!, - 'BILL' => <<'END', -<INPUT TYPE="hidden" NAME="BILL_payinfo" VALUE=""> -<INPUT TYPE="hidden" NAME="BILL_month" VALUE="12"> -<INPUT TYPE="hidden" NAME="BILL_year" VALUE="2037"> -<INPUT TYPE="hidden" NAME="BILL_payname" VALUE=""> -END - - 'COMP' => qq!Complimentary<BR><font color="#ff0000">*</font>Approved by<INPUT TYPE="text" NAME="COMP_payinfo" VALUE="$payinfo"><BR><font color="#ff0000">*</font>Exp !. expselect("COMP", $paydate), - 'PREPAY' => qq!Prepaid card<BR><font color="#ff0000">*</font><INPUT TYPE="text" NAME="PREPAY_payinfo" VALUE="$payinfo" MAXLENGTH=80>!, - ); - - if ( $init_data->{'cvv_enabled'} ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $paybychecked{$payby} .= qq!<BR>CVV2 (<A HREF="javascript:myopen('cvv2.html','cvv2','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=480,height=288')">help</A>) <INPUT TYPE="text" NAME=${payby}_paycvv VALUE="$paycvv" SIZE=4 MAXLENGTH=4>!; - } - } - - for (@payby) { - if ( scalar(@payby) == 1) { - $OUT .= '<TD VALIGN=TOP>'. - qq!<INPUT TYPE="hidden" NAME="payby" VALUE="$_">!. - "$paybychecked{$_}</TD>"; - } else { - $OUT .= qq!<TD VALIGN=TOP><INPUT TYPE="radio" NAME="payby" VALUE="$_"!; - if ($payby eq $_) { - $OUT .= qq! CHECKED> $paybychecked{$_}</TD>!; - } else { - $OUT .= qq!> $payby{$_}</TD>!; - } - - } - } - %> - -</TR></TABLE> -<%= unless ( scalar(@payby) == 1 && $payby[0] eq 'BILL' ) { - $OUT .= '<font color="#ff0000">*</font> required fields for each billing type'; - } - ''; -%> -<BR><BR>First package -<INPUT TYPE="hidden" NAME="promo_code" VALUE="<%= $cgi->param('promo_code') %>"><TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR> - <TD COLSPAN=2><SELECT NAME="pkgpart"> - - <%= - $OUT .= '<OPTION VALUE="">(none)' unless scalar(@$packages) == 1; - foreach my $package ( @{$packages} ) { - $OUT .= '<OPTION VALUE="'. $package->{'pkgpart'}. '"'; - $OUT .= ' SELECTED' - if ( $pkgpart && $package->{'pkgpart'} == $pkgpart ) - || scalar(@$packages) == 1; - $OUT .= '>'. $package->{'pkg'}; - } - %> - - </SELECT></TD> -</TR> -<TR> - <TD ALIGN="right">Username</TD> - <TD><INPUT TYPE="text" NAME="username" VALUE="<%= $username %>"></TD> -</TR> -<TR> - <TD ALIGN="right">Password</TD> - <TD><INPUT TYPE="password" NAME="_password" VALUE="<%= $password %>"></TD> -</TR> -<TR> - <TD ALIGN="right">Re-enter Password</TD> - <TD><INPUT TYPE="password" NAME="_password2" VALUE="<%= $password2 %>"></TD> -</TR> -<%= - if ( $init_data->{'security_phrase'} ) { - $OUT .= <<ENDOUT; -<TR> - <TD ALIGN="right">Security Phrase</TD> - <TD><INPUT TYPE="text" NAME="sec_phrase" VALUE="$sec_phrase"> - </TD> -</TR> -ENDOUT - } else { - $OUT .= '<INPUT TYPE="hidden" NAME="sec_phrase" VALUE="">'; - } -%> -<%= - if ( scalar(@$pops) ) { - $OUT .= '<TR><TD ALIGN="right">Access number</TD><TD>'. - popselector($popnum). '</TD></TR>'; - } else { - $OUT .= popselector($popnum); - } -%> -</TABLE> -<BR><BR><INPUT TYPE="submit" NAME="signup" VALUE="Signup"> -</FORM></BODY></HTML> 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 @@ -<HTML><HEAD><TITLE>ISP Signup form</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8" onUnload="myclose()"> -<script language="JavaScript"><!-- - var mywindow = -1; - function myopen(filename,windowname,properties) { - myclose(); - mywindow = window.open(filename,windowname,properties); - } - function myclose() { - if ( mywindow != -1 ) - mywindow.close(); - mywindow = -1 - } -//--></script> -<FONT SIZE=7>ISP Signup form</FONT><BR><BR> -<FONT SIZE="+1" COLOR="#ff0000"><%= $error %></FONT> -<FORM ACTION="<%= $self_url %>" METHOD=POST> -<INPUT TYPE="hidden" NAME="magic" VALUE="process"> -<INPUT TYPE="hidden" NAME="ref" VALUE="<%= $referral_custnum %>"> -<INPUT TYPE="hidden" NAME="ss" VALUE=""> -Contact Information -<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Contact name<BR>(last, first)</TH> - <TD COLSPAN=5><INPUT TYPE="text" NAME="last" VALUE="<%= $last %>">, - <INPUT TYPE="text" NAME="first" VALUE="<%= $first %>"></TD> -</TR> -<TR> - <TD ALIGN="right">Company</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="company" SIZE=70 VALUE="<%= $company %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Address</TH> - <TD COLSPAN=5><INPUT TYPE="text" NAME="address1" SIZE=70 VALUE="<%= $address1 %>"></TD> -</TR> -<TR> - <TD ALIGN="right"> </TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="address2" SIZE=70 VALUE="<%= $address2 %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>City</TH> - <TD><INPUT TYPE="text" NAME="city" VALUE="<%= $city %>"></TD> - <TH ALIGN="right"><font color="#ff0000">*</font>State/Country</TH> - <TD> - <%= - ($county_html, $state_html, $country_html) = - regionselector( $county, $state, $country ); - - "$county_html $state_html"; - %> - </TD> - <TH><font color="#ff0000">*</font>Zip</TH> - <TD><INPUT TYPE="text" NAME="zip" SIZE=10 VALUE="<%= $zip %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Country</TH> - <TD><%= $country_html %></TD> -<TR> - <TD ALIGN="right">Day Phone</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="daytime" VALUE="<%= $daytime %>" SIZE=18></TD> -</TR> -<TR> - <TD ALIGN="right">Night Phone</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="night" VALUE="<%= $night %>" SIZE=18></TD> -</TR> -<TR> - <TD ALIGN="right">Fax</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="fax" VALUE="<%= $fax %>" SIZE=12></TD> -</TR> -</TABLE><font color="#ff0000">*</font> required fields<BR> -<BR>Billing information<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR><TD> - - <%= - $OUT .= '<INPUT TYPE="checkbox" NAME="invoicing_list_POST" VALUE="POST"'; - my @invoicing_list = split(', ', $invoicing_list ); - $OUT .= ' CHECKED' - if ! @invoicing_list || grep { $_ eq 'POST' } @invoicing_list; - $OUT .= '>'; - %> - - Postal mail invoice -</TD></TR> -<TR><TD>Email invoice <INPUT TYPE="text" NAME="invoicing_list" VALUE="<%= join(', ', grep { $_ ne 'POST' } split(', ', $invoicing_list ) ) %>"> -</TD></TR> -<%= scalar(@payby) > 1 ? '<TR><TD>Billing type</TD></TR>' : '' %> -</TABLE> -<TABLE BGCOLOR="#c0c0c0" BORDER=1 WIDTH="100%"> -<TR> - - <%= - - my $cardselect = '<SELECT NAME="CARD_type"><OPTION></OPTION>'; - my %types = ( - 'VISA' => 'VISA card', - 'MasterCard' => 'MasterCard', - 'Discover' => 'Discover card', - 'American Express' => 'American Express card', - ); - foreach ( keys %types ) { - $selected = $cgi->param('CARD_type') eq $types{$_} ? 'SELECTED' : ''; - $cardselect .= qq!<OPTION $selected VALUE="$types{$_}">$_</OPTION>!; - } - $cardselect .= '</SELECT>'; - - my %payby = ( - 'CARD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="CARD_payinfo" VALUE="" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("CARD"). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="CARD_payname" VALUE="">!, - 'DCRD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="DCRD_payinfo" VALUE="" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("DCRD"). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="DCRD_payname" VALUE="">!, - 'CHEK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="CHEK_payinfo1" VALUE="" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="CHEK_payinfo2" VALUE="" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="CHEK_month" VALUE="12"><INPUT TYPE="hidden" NAME="CHEK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="CHEK_payname" VALUE="">!, - 'DCHK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="DCHK_payinfo1" VALUE="" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="DCHK_payinfo2" VALUE="" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="DCHK_month" VALUE="12"><INPUT TYPE="hidden" NAME="DCHK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="DCHK_payname" VALUE="">!, - 'LECB' => qq!Phone bill billing<BR>${r}Phone number <INPUT TYPE="text" BANE="LECB_payinfo" VALUE="" MAXLENGTH=15 SIZE=16><INPUT TYPE="hidden" NAME="LECB_month" VALUE="12"><INPUT TYPE="hidden" NAME="LECB_year" VALUE="2037"><INPUT TYPE="hidden" NAME="LECB_payname" VALUE="">!, - 'BILL' => qq!Billing<BR>P.O. <INPUT TYPE="text" NAME="BILL_payinfo" VALUE=""><BR><font color="#ff0000">*</font>Exp !. expselect("BILL", "12-2037"). qq!<BR><font color="#ff0000">*</font>Attention<BR><INPUT TYPE="text" NAME="BILL_payname" VALUE="Accounts Payable">!, - 'COMP' => qq!Complimentary<BR><font color="#ff0000">*</font>Approved by<INPUT TYPE="text" NAME="COMP_payinfo" VALUE=""><BR><font color="#ff0000">*</font>Exp !. expselect("COMP"), - 'PREPAY' => qq!Prepaid card<BR><font color="#ff0000">*</font><INPUT TYPE="text" NAME="PREPAY_payinfo" VALUE="" MAXLENGTH=80>!, - ); - - if ( $init_data->{'cvv_enabled'} ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $payby{$payby} .= qq!<BR>CVV2 (<A HREF="javascript:myopen('cvv2.html','cvv2','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=480,height=288')">help</A>) <INPUT TYPE="text" NAME=${payby}_paycvv VALUE="" SIZE=4 MAXLENGTH=4>!; - } - } - - my( $account, $aba ) = split('@', $payinfo); - my %paybychecked = ( - 'CARD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="CARD_payinfo" VALUE="$payinfo" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("CARD", $paydate). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="CARD_payname" VALUE="$payname">!, - 'DCRD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="DCRD_payinfo" VALUE="$payinfo" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("DCRD", $paydate). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="DCRD_payname" VALUE="$payname">!, - 'CHEK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="CHEK_payinfo1" VALUE="$account" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="CHEK_payinfo2" VALUE="$aba" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="CHEK_month" VALUE="12"><INPUT TYPE="hidden" NAME="CHEK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="CHEK_payname" VALUE="$payname">!, - 'DCHK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="DCHK_payinfo1" VALUE="$account" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="DCHK_payinfo2" VALUE="$aba" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="DCHK_month" VALUE="12"><INPUT TYPE="hidden" NAME="DCHK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="DCHK_payname" VALUE="$payname">!, - 'LECB' => qq!Phone bill billing<BR>${r}Phone number <INPUT TYPE="text" BANE="LECB_payinfo" VALUE="$payinfo" MAXLENGTH=15 SIZE=16><INPUT TYPE="hidden" NAME="LECB_month" VALUE="12"><INPUT TYPE="hidden" NAME="LECB_year" VALUE="2037"><INPUT TYPE="hidden" NAME="LECB_payname" VALUE="">!, - 'BILL' => qq!Billing<BR>P.O. <INPUT TYPE="text" NAME="BILL_payinfo" VALUE="$payinfo"><BR><font color="#ff0000">*</font>Exp !. expselect("BILL", $paydate). qq!<BR><font color="#ff0000">*</font>Attention<BR><INPUT TYPE="text" NAME="BILL_payname" VALUE="$payname">!, - 'COMP' => qq!Complimentary<BR><font color="#ff0000">*</font>Approved by<INPUT TYPE="text" NAME="COMP_payinfo" VALUE="$payinfo"><BR><font color="#ff0000">*</font>Exp !. expselect("COMP", $paydate), - 'PREPAY' => qq!Prepaid card<BR><font color="#ff0000">*</font><INPUT TYPE="text" NAME="PREPAY_payinfo" VALUE="$payinfo" MAXLENGTH=80>!, - ); - - if ( $init_data->{'cvv_enabled'} ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $paybychecked{$payby} .= qq!<BR>CVV2 (<A HREF="javascript:myopen('cvv2.html','cvv2','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=480,height=288')">help</A>) <INPUT TYPE="text" NAME=${payby}_paycvv VALUE="$paycvv" SIZE=4 MAXLENGTH=4>!; - } - } - - for (@payby) { - if ( scalar(@payby) == 1) { - $OUT .= '<TD VALIGN=TOP>'. - qq!<INPUT TYPE="hidden" NAME="payby" VALUE="$_">!. - "$paybychecked{$_}</TD>"; - } else { - $OUT .= qq!<TD VALIGN=TOP><INPUT TYPE="radio" NAME="payby" VALUE="$_"!; - if ($payby eq $_) { - $OUT .= qq! CHECKED> $paybychecked{$_}</TD>!; - } else { - $OUT .= qq!> $payby{$_}</TD>!; - } - - } - } - %> - -</TR></TABLE><font color="#ff0000">*</font> required fields for each billing type -<BR><BR>First package -<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR> - <TD COLSPAN=2><SELECT NAME="pkgpart"><OPTION VALUE="">(none) - - <%= - foreach my $package ( @{$packages} ) { - $OUT .= '<OPTION VALUE="'. $package->{'pkgpart'}. '"'; - $OUT .= ' SELECTED' if $pkgpart && $package->{'pkgpart'} == $pkgpart; - $OUT .= '>'. $package->{'pkg'}; - } - %> - - </SELECT></TD> -</TR> -<TR> - <TD ALIGN="right">Username</TD> - <TD><INPUT TYPE="text" NAME="username" VALUE="<%= $username %>"></TD> -</TR> -<TR> - <TD ALIGN="right">Password</TD> - <TD><INPUT TYPE="password" NAME="_password" VALUE="<%= $password %>"></TD> -</TR> -<TR> - <TD ALIGN="right">Re-enter Password</TD> - <TD><INPUT TYPE="password" NAME="_password2" VALUE="<%= $password2 %>"></TD> -</TR> -<%= - if ( $init_data->{'security_phrase'} ) { - $OUT .= <<ENDOUT; -<TR> - <TD ALIGN="right">Security Phrase</TD> - <TD><INPUT TYPE="text" NAME="sec_phrase" VALUE="$sec_phrase"> - </TD> -</TR> -ENDOUT - } else { - $OUT .= '<INPUT TYPE="hidden" NAME="sec_phrase" VALUE="">'; - } -%> -<%= - if ( scalar(@$pops) ) { - $OUT .= '<TR><TD ALIGN="right">Access number</TD><TD>'. - popselector($popnum). '</TD></TR>'; - } else { - $OUT .= popselector($popnum); - } -%> -</TABLE> -<BR><BR>Enter up to ten external accounts from which to retrieve email -<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR> - <TH ALIGN="left">Mail server</TH> - <TH ALIGN="left">Username</TH> - <TH ALIGN="left">Password</TH> -</TR> -<%= - for my $num ( 1..10 ) { - no strict 'vars'; - $OUT .= qq!<TR><TD><INPUT TYPE="text" NAME="snarf_machine$num" VALUE="${"snarf_machine$num"}"></TD>!. - qq!<INPUT TYPE="hidden" NAME="snarf_protocol$num" VALUE="pop3">!. - qq!<TD><INPUT TYPE="text" NAME="snarf_username$num" VALUE="${"snarf_username$num"}"></TD>!. - qq!<TD><INPUT TYPE="password" NAME="snarf_password$num" VALUE="${"snarf_password$num"}"></TD>!. - qq!</TR>!; - } -%> -</TABLE> - -<BR><BR><INPUT TYPE="submit" VALUE="Signup"> -</FORM></BODY></HTML> diff --git a/fs_selfservice/FS-SelfService/cgi/signup.cgi b/fs_selfservice/FS-SelfService/cgi/signup.cgi deleted file mode 100755 index 02acf14aa..000000000 --- a/fs_selfservice/FS-SelfService/cgi/signup.cgi +++ /dev/null @@ -1,492 +0,0 @@ -#!/usr/bin/perl -T -#!/usr/bin/perl -Tw - -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 - $collect_html $collect_template - $decline_html $decline_template - ); - -use subs qw( print_form print_okay print_decline - success_default collect_default decline_default - ); -use CGI; -#use CGI::Carp qw(fatalsToBrowser); -use Tie::IxHash; -use Text::Template; -use Business::CreditCard; -use HTTP::BrowserDetect; -use HTML::Widgets::SelectLayers; -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'; -$collect_html = -e 'collect.html' - ? 'collect.html' - : '/usr/local/freeside/collect.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*\/?\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 $collect_html ) { - my $collect_txt = Text::Template::_load_text($collect_html) - or die $Text::Template::ERROR; - $collect_txt =~ /^(.*)$/s; #untaint the template source - it's trusted - $collect_txt = $1; - $collect_template = new Text::Template ( TYPE => 'STRING', - SOURCE => $collect_txt, - DELIMITERS => [ '<%=', '%>' ], - ) - or die $Text::Template::ERROR; -} else { - $collect_template = new Text::Template ( TYPE => 'STRING', - SOURCE => &collect_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 || scalar($cgi->param('agentnum')), - 'promo_code' => scalar($cgi->param('promo_code')), - 'reg_code' => uc(scalar($cgi->param('reg_code'))), - ); - -my $magic = $cgi->param('magic') || ''; -my $action = $cgi->param('action') || ''; - -if ( $magic eq 'process' || $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' ) - : '' - ); - $cgi->param('paytype' => defined $cgi->param( $payby. '_paytype' ) - ? $cgi->param( $payby. '_paytype' ) - : '' - ); - $cgi->param('paystate' => defined $cgi->param( $payby. '_paystate' ) - ? $cgi->param( $payby. '_paystate' ) - : '' - ); - - 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 ( $svc_x eq 'svc_acct' ) { - 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'); - } - - if ($init_data->{emailinvoiceonly} && (length $cgi->param('invoicing_list') < 1)) { - $error ||= $init_data->{msgcat}{illegal_or_empty_text}; - } - - my $rv = ''; - unless ( $error ) { - $rv = new_customer( { - ( map { $_ => scalar($cgi->param($_)) } - qw( last first ss company - address1 address2 city county state zip country - daytime night fax stateid stateid_state - - 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 paystate paytype - invoicing_list referral_custnum promo_code reg_code - pkgpart refnum agentnum - username sec_phrase _password popnum - mac_addr - countrycode phonenum sip_password pin - ), - grep { /^snarf_/ } $cgi->param - ), - 'payip' => $cgi->remote_host(), - } ); - $error = $rv->{'error'}; - } - #eslaf - - if ( $error eq '_decline' ) { - print_decline(); - } elsif ( $error eq '_collect' ) { - map { $cgi->param($_, $rv->{$_}) } - qw( popup_url reference amount ); - print_collect($rv); - } 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')), - %$rv, - ); - } - -} elsif ( $magic eq 'success' || $action eq 'success' ) { - - $cgi->param('username', 'username'); #hmmm temp kludge - $cgi->param('_password', 'password'); - print_okay( map { /^([\w ]+)$/ ? ( $_ => $1 ) : () } $cgi->param ); #hmmm - -} elsif ( $magic eq 'decline' || $action eq 'decline' ) { - - print_decline(); - -} else { - $error = ''; - print_form; -} - -sub print_form { - - $error = "Error: $error" if $error; - - my $r = { - $cgi->Vars, - %{$init_data}, - 'error' => $error, - }; - - $r->{pkgpart} ||= $r->{default_pkgpart}; - - $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_collect { - - $error = "Error: $error" if $error; - - my $rv = shift || {}; - my $r = { - $cgi->Vars, - %{$init_data}, - %$rv, - 'error' => $error, - }; - - $r->{pkgpart} ||= $r->{default_pkgpart}; - - $r->{referral_custnum} = $r->{'ref'}; - $r->{self_url} = $cgi->self_url; - - print $cgi->header( '-expires' => 'now' ), - - $collect_template->fill_in( PACKAGE => 'FS::SelfService::_signupcgi', - HASH => $r - ); -} - -sub print_decline { - my $r = { - %{$init_data}, - }; - - print $cgi->header( '-expires' => 'now' ), - $decline_template->fill_in( PACKAGE => 'FS::SelfService::_signupcgi', - HASH => $r - ); -} - -sub print_okay { - my %param = @_; - my $user_agent = new HTTP::BrowserDetect $ENV{HTTP_USER_AGENT}; - - my( $username, $password ) = ( '', '' ); - my( $countrycode, $phonenum, $sip_password, $pin ) = ( '', '', '', '' ); - - my $svc_x = $param{signup_service} || 'svc_acct'; #just in case - if ( $svc_x eq 'svc_acct' ) { - - $cgi->param('username') =~ /^(.+)$/ - or die "fatal: invalid username got past FS::SelfService::new_customer"; - $username = $1; - $cgi->param('_password') =~ /^(.+)$/ - or die "fatal: invalid password got past FS::SelfService::new_customer"; - $password = $1; - - } elsif ( $svc_x eq 'svc_phone' ) { - - $countrycode = $param{countrycode}; - $phonenum = $param{phonenum}; - $sip_password = $param{sip_password}; - $pin = $param{pin}; - - } else { - die "unknown signup service $svc_x"; - } - - ( $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 $part_pkg = ( grep { $_->{'pkgpart'} eq $param{'pkgpart'} } - @{ $init_data->{'part_pkg'} } - )[0]; - my $pkg = $part_pkg->{'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 => { - - %{$init_data}, - - email_name => $email_name, - pkg => $pkg, - part_pkg => \$part_pkg, - - signup_service => $svc_x, - - #for svc_acct - username => $username, - password => $password, - _password => $password, - ac => $ac, #for dialup POP - exch => $exch, # - loc => $loc, # - - #for svc_phone - countrycode => $countrycode, - phonenum => $phonenum, - sip_password => $sip_password, - pin => $pin, - - }); - } - -} - -sub success_default { #html to use if you don't specify a success file - <<'END'; -<HTML><HEAD><TITLE>Signup successful</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8"><FONT SIZE=7>Signup successful</FONT><BR><BR> -Thanks for signing up! -<BR><BR> -Signup information for <%= $email_name %>: -<BR><BR> -Username: <%= $username %><BR> -Password: <%= $password %><BR> -Access number: (<%= $ac %>) / <%= $exch %> - <%= $local %><BR> -Package: <%= $pkg %><BR> -</BODY></HTML> -END -} - -sub collect_default { #html to use if there is a collect phase - <<'END'; -<HTML><HEAD><TITLE>Pay now</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8"><FONT SIZE=7>Pay now</FONT><BR><BR> -<%= -#<SCRIPT TYPE="text/javascript"> -# function popcollect() { -# overlib( OLiframeContent('<%= $popup_url %>', 336, 550, 'Secure Payment Area', 0, 'auto' ), CAPTION, 'Pay now', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK, BGCOLOR, '#333399', CGCOLOR, '#333399', CLOSETEXT, 'Close' ); -# return false; -# } -#</SCRIPT> -#<SCRIPT TYPE="text/javascript" SRC="overlibmws.js"></SCRIPT> -#<SCRIPT TYPE="text/javascript" SRC="overlibmws_iframe.js"></SCRIPT> -#<SCRIPT TYPE="text/javascript" SRC="overlibmws_draggable.js"></SCRIPT> -#<SCRIPT TYPE="text/javascript" SRC="overlibmws_crossframe.js"></SCRIPT> -#<SCRIPT TYPE="text/javascript" SRC="iframecontentmws.js"></SCRIPT> -%> -You are about to contact our payment processor to pay <%= $amount %> for -<%= $pkg %>.<BR><BR> -Your transaction reference number is <%= $reference %><BR><BR> -<FORM NAME="collect_popper" method="post" action="<%= $popup_url %>"> -<%= - my %itemhash = @collectitems ; - foreach my $input (keys %itemhash) { - $OUT .= qq!<INPUT NAME="$input" TYPE="hidden" VALUE="$itemhash{$input}">!; - } -%> -<INPUT NAME="submit" type="submit" value="Pay now"> -</FORM> -</BODY></HTML> -END -} - -sub decline_default { #html to use if there is a decline - <<'END'; -<HTML><HEAD><TITLE>Processing error</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8"><FONT SIZE=7>Processing error</FONT><BR><BR> -There has been an error processing your account. Please contact customer -support. -</BODY></HTML> -END -} - -# subs for the templates... - -package FS::SelfService::_signupcgi; -use HTML::Entities; -use FS::SelfService qw(regionselector expselect popselector didselector); - diff --git a/fs_selfservice/FS-SelfService/cgi/signup.html b/fs_selfservice/FS-SelfService/cgi/signup.html deleted file mode 100755 index 7a56a31a1..000000000 --- a/fs_selfservice/FS-SelfService/cgi/signup.html +++ /dev/null @@ -1,436 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<HTML> -<HEAD> - <TITLE><%= $agent || ( $signup_service eq 'svc_phone' ? 'ITSP' : 'ISP' ) %> Signup form</TITLE> - <%= $head %> -</HEAD> -<BODY BGCOLOR="<%= $body_bgcolor || '#e8e8e8' %>" onUnload="myclose()"> - -<script type="text/javascript"> - var mywindow = -1; - function myopen(filename,windowname,properties) { - myclose(); - mywindow = window.open(filename,windowname,properties); - } - function myclose() { - if ( mywindow != -1 ) - mywindow.close(); - mywindow = -1 - } -</script> - -<%= $OUT .= $body_header - || '<FONT SIZE=7>'. - ( $agent || ( $signup_service eq 'svc_phone' ? 'ITSP' : 'ISP' ) ). - ' Signup form</FONT><BR><BR>'; -%> - -<FONT SIZE="+1" COLOR="#ff0000"><%= $error %></FONT> - -<FORM NAME="OneTrueForm" ACTION="<%= $self_url %>" METHOD=POST onSubmit="document.OneTrueForm.signup.disabled=true"> -<INPUT TYPE="hidden" NAME="session" VALUE="<%= $session_id %>"> -<INPUT TYPE="hidden" NAME="action" VALUE="process_signup"> -<INPUT TYPE="hidden" NAME="agentnum" VALUE="<%= $agentnum %>"> -<INPUT TYPE="hidden" NAME="referral_custnum" VALUE="<%= $referral_custnum %>"> -<INPUT TYPE="hidden" NAME="ss" VALUE=""> -<input type="hidden" name="payby"> -<%= - $OUT = join("\n",map { my $method = $_ ; map { qq|<input type="hidden" name="${method}_$_" />| } qw / payinfo payinfo1 payinfo2 payname paystate paytype paycvv month year type / } @payby); -%> - -<%= - $OUT = join("\n", map { qq|<input type="hidden" name="$_" />| } qw / promo_code reg_code pkgpart username _password _password2 sec_phrase popnum mac_addr countrycode phonenum sip_password pin / ); -%> - -Where did you hear about our service? <SELECT NAME="refnum"> -<%= - $OUT .= '<OPTION VALUE="">' unless $refnum; - foreach my $part_referral ( @part_referral ) { - $OUT .= '<OPTION VALUE="'. $part_referral->{'refnum'}. '"'; - $OUT .= ' SELECTED' if $part_referral->{'refnum'} == $refnum; - $OUT .= '>'. $part_referral->{'referral'}; - } -%> -</SELECT><BR><BR> -Contact Information -<TABLE BGCOLOR="<%= $box_bgcolor || '#c0c0c0' %>" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Contact name<BR>(last, first)</TH> - <TD COLSPAN=5><INPUT TYPE="text" NAME="last" VALUE="<%= $last %>">, - <INPUT TYPE="text" NAME="first" VALUE="<%= $first %>"></TD> -</TR> -<TR> - <TD ALIGN="right">Company</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="company" SIZE=70 VALUE="<%= $company %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Address</TH> - <TD COLSPAN=5><INPUT TYPE="text" NAME="address1" SIZE=70 VALUE="<%= $address1 %>"></TD> -</TR> -<TR> - <TD ALIGN="right"> </TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="address2" SIZE=70 VALUE="<%= $address2 %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>City</TH> - <TD><INPUT TYPE="text" NAME="city" VALUE="<%= $city %>"></TD> - <%= - ($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, - } ); - - %> - <TH ALIGN="right"><font color="#ff0000">*</font> - <%= ($county_html =~ /SELECT/) ? 'County/State' : 'State' %></TH> - <TD> - <%= "$county_html $state_html"; %> - </TD> - <TH><font color="#ff0000">*</font>Zip</TH> - <TD><INPUT TYPE="text" NAME="zip" SIZE=10 VALUE="<%= $zip %>"></TD> -</TR> -<TR> - <TH ALIGN="right"><font color="#ff0000">*</font>Country</TH> - <TD><%= $country_html %></TD> -<TR> - <TD ALIGN="right">Day Phone</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="daytime" VALUE="<%= $daytime %>" SIZE=18></TD> -</TR> -<TR> - <TD ALIGN="right">Night Phone</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="night" VALUE="<%= $night %>" SIZE=18></TD> -</TR> -<TR> - <TD ALIGN="right">Fax</TD> - <TD COLSPAN=5><INPUT TYPE="text" NAME="fax" VALUE="<%= $fax %>" SIZE=12></TD> -</TR> -<%= - $OUT = ''; - if ( $stateid_enabled ) { - my ($county_html, $state_html, $country_html) = - regionselector( { - prefix => 'stateid_', - default_state => $statedefault, - default_country => $countrydefault, - locales => \@cust_main_county, - } ); - $OUT .= qq!<TR><TD ALIGN="right">!. $label{stateid}.'</TD>'; - $OUT .= qq!<TD><INPUT TYPE="text" NAME="stateid" VALUE="$stateid" SIZE=12></TD>!; - $OUT .= qq!<TD ALIGN="right">!. $label{stateid_state} .'</TD>'; - $OUT .="<TD COLSPAN=3>$county_html $state_html</TD></TR>"; - } -%> -</TABLE><font color="#ff0000">*</font> required fields<BR> -<BR>Billing information<TABLE BGCOLOR="<%= $box_bgcolor || '#c0c0c0' %>" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR><TD> - - <%= - $OUT =''; - unless ( $emailinvoiceonly ) { - $OUT .= '<INPUT TYPE="checkbox" NAME="invoicing_list_POST" VALUE="POST"'; - my @invoicing_list = split(', ', $invoicing_list ); - $OUT .= ' CHECKED' - if ! @invoicing_list || grep { $_ eq 'POST' } @invoicing_list; - $OUT .= '> Postal mail invoice'; } - %> - - -</TD></TR> -<TR><TD><%= $OUT = ( $emailinvoiceonly ? q|<font color="#ff0000">*</font>| : q|| ) %> Email invoice <INPUT TYPE="text" NAME="invoicing_list" VALUE="<%= join(', ', grep { $_ ne 'POST' } split(', ', $invoicing_list ) ) %>"> -</TD></TR> -<%= ( scalar(@payby) > 1 or 1 ) ? '<TR><TD>Billing type ' : '' %> -<!--</TABLE> -<TABLE BGCOLOR="#c0c0c0" BORDER=1 WIDTH="100%"> -<TR>--> - - <%= - - my $cardselect = '<SELECT NAME="CARD_type"><OPTION></OPTION>'; - foreach ( keys %card_types ) { - $selected = $CARD_type eq $card_types{$_} ? 'SELECTED' : ''; - $cardselect .= qq!<OPTION $selected VALUE="$card_types{$_}">$_</OPTION>!; - } - $cardselect .= '</SELECT>'; - - my %payby = ( - 'CARD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="CARD_payinfo" VALUE="" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("CARD"). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="CARD_payname" VALUE="">!, - 'DCRD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="DCRD_payinfo" VALUE="" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("DCRD"). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="DCRD_payname" VALUE="">!, - 'CHEK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="CHEK_payinfo1" VALUE="" MAXLENGTH=10><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="CHEK_payinfo2" VALUE="" SIZE=10 MAXLENGTH=9> Type <SELECT NAME="CHEK_paytype">!. join('', map {qq!<OPTION VALUE="$_">$_</OPTION>!} @paytypes). qq!</SELECT><BR>{$r}Bank State <INPUT TYPE="text" NAME="CHEK_paystate" VALUE="" SIZE=5 MAXLENGTH=4><INPUT TYPE="hidden" NAME="CHEK_month" VALUE="12"><INPUT TYPE="hidden" NAME="CHEK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="CHEK_payname" VALUE="">!, - 'DCHK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="DCHK_payinfo1" VALUE="" MAXLENGTH=10> Type <SELECT NAME="DCHK_paytype">!. join('', map {qq!<OPTION VALUE="$_">$_</OPTION>!} @paytypes). qq!</SELECT><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="DCHK_payinfo2" VALUE="" SIZE=10 MAXLENGTH=9><BR>{$r}Bank State <INPUT TYPE="text" NAME="DCHK_paystate" VALUE="" SIZE=5 MAXLENGTH=4><INPUT TYPE="hidden" NAME="DCHK_month" VALUE="12"><INPUT TYPE="hidden" NAME="DCHK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="DCHK_payname" VALUE="">!, - 'LECB' => qq!Phone bill billing<BR>${r}Phone number <INPUT TYPE="text" NAME="LECB_payinfo" VALUE="" MAXLENGTH=15 SIZE=16><INPUT TYPE="hidden" NAME="LECB_month" VALUE="12"><INPUT TYPE="hidden" NAME="LECB_year" VALUE="2037"><INPUT TYPE="hidden" NAME="LECB_payname" VALUE="">!, - 'BILL' => qq!Billing<BR>P.O. <INPUT TYPE="text" NAME="BILL_payinfo" VALUE=""><BR><INPUT TYPE="hidden" NAME="BILL_month" VALUE="12"><INPUT TYPE="hidden" NAME="BILL_year" VALUE="2037">Attention<INPUT TYPE="text" NAME="BILL_payname" VALUE="Accounts Payable">!, - 'COMP' => qq!Complimentary<BR><font color="#ff0000">*</font>Approved by<INPUT TYPE="text" NAME="COMP_payinfo" VALUE=""><BR><font color="#ff0000">*</font>Exp !. expselect("COMP"), - 'PREPAY' => qq!Prepaid card<BR><font color="#ff0000">*</font><INPUT TYPE="text" NAME="PREPAY_payinfo" VALUE="" MAXLENGTH=80>!, - ); - - if ( $cvv_enabled ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $payby{$payby} .= qq!<TR><TD ALIGN="right">CVV2 (<A HREF="javascript:myopen('cvv2.html','cvv2','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=480,height=288')">help</A>)</TD><TD><INPUT TYPE="text" NAME=${payby}_paycvv VALUE="" SIZE=4 MAXLENGTH=4></TD></TR>!; - } - } - if ( $paystate_enabled ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CHEK DCHK) ) { - my ($county_html, $state_html, $country_html) = - regionselector( { - prefix => "${payby}_pay", - default_state => $statedefault, - default_country => $countrydefault, - locales => \@cust_main_county, - } ); - $payby{$payby} .= "<BR>${r}Bank state $county_html $state_html"; - } - } - - my( $account, $aba ) = split('@', $payinfo); - my %paybychecked = ( - 'CARD' => '<TABLE BGCOLOR="'. ( $box_bgcolor || '#c0c0c0' ). qq!" BORDER=0 CELLSPACING=0 WIDTH="100%"><TR><TD ALIGN="right"><font color="#ff0000">*</font> Card type</TD><TD>$cardselect</TD></TR><TR><TD ALIGN="right"><font color="#ff0000">*</font> Card number</TD><TD><INPUT TYPE="text" NAME="CARD_payinfo" VALUE="$payinfo" MAXLENGTH=19></TD></TR><TR><TD ALIGN="right"><font color="#ff0000">*</font> Expration</TD><TD>!. expselect("CARD", $paydate). qq!</TD></TR><TR><TD ALIGN="right"><font color="#ff0000">*</font> Name on card</TD><TD><INPUT TYPE="text" NAME="CARD_payname" VALUE="$payname"></TD></TR>!, - 'DCRD' => qq!Credit card<BR><font color="#ff0000">*</font>$cardselect<INPUT TYPE="text" NAME="DCRD_payinfo" VALUE="$payinfo" MAXLENGTH=19><BR><font color="#ff0000">*</font>Exp !. expselect("DCRD", $paydate). qq!<BR><font color="#ff0000">*</font>Name on card<BR><INPUT TYPE="text" NAME="DCRD_payname" VALUE="$payname">!, - 'CHEK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="CHEK_payinfo1" VALUE="$account" MAXLENGTH=10> Type <SELECT NAME="CHEK_paytype">!. join('', map {qq!<OPTION VALUE="$_"!.($paytype eq $_ ? 'SELECTED' : '').">$_</OPTION>"} @paytypes). qq!</SELECT><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="CHEK_payinfo2" VALUE="$aba" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="CHEK_month" VALUE="12"><INPUT TYPE="hidden" NAME="CHEK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="CHEK_payname" VALUE="$payname">!, - 'DCHK' => qq!Electronic check<BR>${r}Account number <INPUT TYPE="text" NAME="DCHK_payinfo1" VALUE="$account" MAXLENGTH=10> Type <SELECT NAME="DCHK_paytype">!. join('', map {qq!<OPTION VALUE="$_"!.($paytype eq $_ ? 'SELECTED' : '').">$_</OPTION>"} @paytypes). qq!</SELECT><BR>${r}ABA/Routing code <INPUT TYPE="text" NAME="DCHK_payinfo2" VALUE="$aba" SIZE=10 MAXLENGTH=9><INPUT TYPE="hidden" NAME="DCHK_month" VALUE="12"><INPUT TYPE="hidden" NAME="DCHK_year" VALUE="2037"><BR>${r}Bank name <INPUT TYPE="text" NAME="DCHK_payname" VALUE="">!, - 'LECB' => qq!Phone bill billing<BR>${r}Phone number <INPUT TYPE="text" BANE="LECB_payinfo" VALUE="$payinfo" MAXLENGTH=15 SIZE=16><INPUT TYPE="hidden" NAME="LECB_month" VALUE="12"><INPUT TYPE="hidden" NAME="LECB_year" VALUE="2037"><INPUT TYPE="hidden" NAME="LECB_payname" VALUE="">!, - 'BILL' => qq!Billing<BR>P.O. <INPUT TYPE="text" NAME="BILL_payinfo" VALUE="$payinfo"><BR><INPUT TYPE="hidden" NAME="BILL_month" VALUE="12"><INPUT TYPE="hidden" NAME="BILL_year" VALUE="2037">Attention<INPUT TYPE="text" NAME="BILL_payname" VALUE="$payname">!, - 'COMP' => qq!Complimentary<BR><font color="#ff0000">*</font>Approved by<INPUT TYPE="text" NAME="COMP_payinfo" VALUE="$payinfo"><BR><font color="#ff0000">*</font>Exp !. expselect("COMP", $paydate), - 'PREPAY' => qq!Prepaid card<BR><font color="#ff0000">*</font><INPUT TYPE="text" NAME="PREPAY_payinfo" VALUE="$payinfo" MAXLENGTH=80>!, - ); - - if ( $cvv_enabled ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CARD DCRD) ) { #1.4/1.5 - $paybychecked{$payby} .= qq!<TR><TD ALIGN="right">CVV2 (<A HREF="javascript:myopen('cvv2.html','cvv2','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=480,height=288')">help</A>)</TD><TD><INPUT TYPE="text" NAME=${payby}_paycvv VALUE="$paycvv" SIZE=4 MAXLENGTH=4></TD></TR>!; - } - } - if ( $paystate_enabled ) { - foreach my $payby ( grep { exists $payby{$_} } qw(CHEK DCHK) ) { - my ($county_html, $state_html, $country_html) = - regionselector( { - prefix => "${payby}_pay", - selected_county => $county, - selected_state => $state, - selected_country => $country, - default_state => $statedefault, - default_country => $countrydefault, - locales => \@cust_main_county, - } ); - $paybychecked{$payby} .= "<BR>${r}Bank state $county_html $state_html"; - } - } - - my %payby_index = ( 'CARD' => qq/Credit Card/, - 'DCRD' => qq/Credit Card/, - 'CHEK' => qq/Check/, - 'DCHK' => qq/Check/, - 'LECB' => qq/Phone Bill Billing/, - 'BILL' => qq/Billing/, - 'COMP' => qq/Complimentary/, - 'PREPAY' => qq/Prepaid Card/, - ); - - -tie my %options, 'Tie::IxHash', (); - -foreach my $payby_option ( @payby ) { - $options{$payby_option} = $payby_index{$payby_option}; -} - -my $selected_layer = ( grep { $_ eq 'CARD' } @payby ) ? 'CARD' : $payby[0]; - -HTML::Widgets::SelectLayers->new( - options => \%options, - selected_layer => $selected_layer, - form_name => 'dummy', - html_between => '</td></tr></table>', - form_action => 'dummy.cgi', - layer_callback => sub { my $layer = shift; return ( shift @hide_payment_fields ? '' : $paybychecked{$layer} ) . '</TABLE>'; }, -)->html; - - - %> - -</TR></TABLE><font color="#ff0000">*</font> required fields -<FORM name="signup_form" action="<%= $self_url %>" METHOD="POST" onsubmit="return fixup_form();"><BR><BR>First package -<INPUT TYPE="hidden" NAME="promo_code" VALUE="<%= $promo_code %>"> -<INPUT TYPE="hidden" NAME="reg_code" VALUE="<%= $reg_code %>"> -<TABLE BGCOLOR="<%= $box_bgcolor || '#c0c0c0' %>" BORDER=0 CELLSPACING=0 WIDTH="100%"> -<TR> - <TD COLSPAN=2><SELECT NAME="pkgpart"> - - <%= - $OUT .= '<OPTION VALUE="">(none)' - unless scalar(@part_pkg) == 1 or $default_pkgpart; - foreach my $part_pkg ( @part_pkg ) { - $OUT .= '<OPTION VALUE="'. $part_pkg->{'pkgpart'}. '"'; - $OUT .= ' SELECTED' if $pkgpart && $part_pkg->{'pkgpart'} == $pkgpart; - $OUT .= '>'. $part_pkg->{'pkg'}; - } - %> - - </SELECT></TD> -</TR> -<%= - if ( $signup_service eq 'svc_phone' ) { - - $OUT .= '<TR><TD ALIGN="right">Phone number</TD><TD>'. - didselector( 'field' => 'phonenum', - 'svcpart' => $default_svcpart, - ). - '</TD></TR>'; - - $OUT .= <<ENDOUT; -<TR> - <TD ALIGN="right">Voicemail PIN</TD> - <TD><INPUT TYPE="pin" NAME="pin" VALUE="$pin"></TD> -</TR> -ENDOUT - - } else { - - $OUT .= <<ENDOUT; -<TR> - <TD ALIGN="right">Username</TD> - <TD><INPUT TYPE="text" NAME="username" VALUE="$username"></TD> -</TR> -<TR> - <TD ALIGN="right">Password</TD> - <TD><INPUT TYPE="password" NAME="_password" VALUE="$_password"></TD> -</TR> -<TR> - <TD ALIGN="right">Re-enter Password</TD> - <TD><INPUT TYPE="password" NAME="_password2" VALUE="$_password2"></TD> -</TR> -ENDOUT - - if ( $security_phrase ) { - $OUT .= <<SECPHRASE; -<TR> - <TD ALIGN="right">Security Phrase</TD> - <TD><INPUT TYPE="text" NAME="sec_phrase" VALUE="$sec_phrase"> - </TD> -</TR> -SECPHRASE - } else { - $OUT .= '<INPUT TYPE="hidden" NAME="sec_phrase" VALUE="">'; - } - - if ( $nomadix ) { - - warn $mac_addr; - $mac_addr ||= $MA; - warn $mac_addr; - - $OUT .= <<NOMADIX; - <INPUT TYPE="hidden" NAME="mac_addr" VALUE="$mac_addr"> -NOMADIX - - } - - } - - if ( @svc_acct_pop ) { - $OUT .= '<TR><TD ALIGN="right">Access number</TD><TD>'. - popselector( 'popnum' => $popnum, - 'pops' => \@svc_acct_pop, - 'init_popstate' => $init_popstate, - 'popac' => $popac, - 'acstate' => $acstate, - ). - '</TD></TR>'; - } else { - $OUT .= popselector(popnum=>$popnum, pops=>\@svc_acct_pop); - } - -%> - -</TABLE> - -<%= -if ( @optional_packages ) { - my @html; - foreach my $ii ( 0 .. $#optional_packages) { - my $friendly_index = $ii + 1; - if ($optional_packages[$ii]) { - push @html, qq|<BR>Optional Package #$friendly_index <br />|,'<table bgcolor="#c0c0c0"><tr><td>'; - - push @html, qq|<select name="optional_package${ii}">|; - push @html, qq|<option value="none"></option>|; - push @html, map { qq|<option value="$_->{pkgpart}">$_->{pkg}</option>| } @{$optional_packages[$ii]}; - push @html, q|</select>|; - - push @html, '</td></tr></table>'; - } - $OUT = join("\n", @html); - } -} else { -$OUT = '' -} -%> - -<BR><INPUT TYPE="submit" NAME="signup" VALUE="Signup"> -<script language="JavaScript"> - -function fixup_form() { - - // copy payment method data up to OneTrueForm - - var payment_method_elements = new Array( 'payinfo', 'payinfo1', 'payinfo2', 'payname', 'paycvv' , 'paystate', 'paytype', 'month', 'year','type' ); - var payment_method_form_name = document.OneTrueForm.select.options[document.OneTrueForm.select.selectedIndex].value; - document.OneTrueForm.elements['payby'].value = payment_method_form_name; - var payment_method_form = document.forms[payment_method_form_name]; - - for ( ii = 0 ; ii < payment_method_elements.length ; ii++ ) { - var true_element_name = payment_method_form_name + '_' + payment_method_elements[ii]; - copyelement ( payment_method_form.elements[true_element_name], - document.OneTrueForm.elements[true_element_name] ); - } - - // Copy signup details to OneTrueForm - - var signup_elements = new Array ( - 'promo_code', 'reg_code', 'pkgpart', - 'username', '_password', '_password2', 'sec_phrase', 'popnum', - 'mac_addr', - 'countrycode', 'phonenum', 'sip_password', 'pin' - ); - - for ( ii = 0 ; ii < signup_elements.length ; ii ++ ) { - copyelement ( document.signup_form.elements[signup_elements[ii]], - document.OneTrueForm.elements[signup_elements[ii]]); - } - - document.OneTrueForm.submit(); - return false; -} - -function copyelement(from, to) { -// alert ( from + ' ' + to ); - - if ( from == undefined ) { - to.value = ''; - } else { - if ( from.type == 'select-one' ) { - to.value = from.options[from.selectedIndex].value; - } else if ( from.type == 'checkbox' ) { - if ( from.checked ) { - to.value = from.value; - } else { - to.value = ''; - } - } else { - if ( from.value == undefined ) { - to.value = ''; - } else { - to.value = from.value; - } - } -// alert(from.name + " (" + from.type + "): " + to.name + " => " + to.value); - } -} - -</script> -</FORM> -<%= $OUT .= $body_footer %> -</BODY> -</HTML> 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 @@ -<HTML><HEAD><TITLE>ISP Signup</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8"><FONT SIZE=7>ISP Signup - state selection</FONT><BR><BR> -<SCRIPT> -function gotoURL(object) { - window.location.href = object.options[object.selectedIndex].value; -} -</SCRIPT> -<FORM> -Select your state from the map or dropdown: -<MAP NAME=usmap> -<area shape=poly COORDS="264,157,286,155,292,193,276,195,270,199,264,157" href="signup.cgi?init_popstate=AL"> -<area shape=poly COORDS="28,197,46,185,72,199,72,241,88,243,102,261,92,263,70,241,42,243,28,257,12,259,34,243,20,233,16,223,34,215,22,207,30,205,28,197" href="../states/Alaska.html"> -<area shape=poly COORDS="70,137,106,137,100,189,84,187,60,173,70,133,70,137,70,137" href="signup.cgi?init_popstate=AZ"> -<area shape=poly COORDS="250,153,242,179,220,177,218,171,216,145,252,143,250,155,250,153" href="signup.cgi?init_popstate=AR"> -<area shape=poly COORDS="10,79,38,81,30,109,62,151,56,173,40,169,20,145,4,101,10,75,26,79,10,79,10,79" href="signup.cgi?init_popstate=CA"> -<area shape=poly COORDS="108,103,158,107,154,141,104,137,110,101,128,103,108,103" href="signup.cgi?init_popstate=CO"> -<area shape=poly COORDS="374,107,405,105,405,123,372,125,374,107" href="signup.cgi?init_popstate=CT"> -<area shape=poly COORDS="370,143,402,145,405,157,362,157,370,143" href="signup.cgi?init_popstate=DE"> -<area shape=poly COORDS="275,193,325,187,327,197,341,219,341,233,335,237,317,215,315,205,307,195,293,203,275,193" href="signup.cgi?init_popstate=FL"> -<area shape=poly COORDS="297,153,283,155,297,191,321,189,321,169,297,153" href="signup.cgi?init_popstate=GA"> -<area shape=poly COORDS="98,233,142,263,156,251,162,239,164,229,136,231,94,221,100,235,98,233" href="signup.cgi?init_popstate=HI"> -<area shape=poly COORDS="68,21,76,21,72,35,80,47,80,55,84,65,100,69,94,93,56,83,66,51,70,19,68,21" href="signup.cgi?init_popstate=ID"> -<area shape=poly COORDS="242,91,258,89,266,123,256,139,234,109,248,87,242,91" href="signup.cgi?init_popstate=IL"> -<area shape=poly COORDS="261,95,265,123,265,131,285,117,277,91,261,95" href="signup.cgi?init_popstate=IN"> -<area shape=poly COORDS="198,87,206,111,232,109,240,99,240,91,232,79,198,87" href="signup.cgi?init_popstate=IA"> -<area shape=poly COORDS="158,111,158,135,214,139,214,127,208,113,158,111" href="signup.cgi?init_popstate=KS"> -<area shape=poly COORDS="263,133,275,129,289,115,303,121,307,129,299,135,251,141,269,131,263,133" href="signup.cgi?init_popstate=KY"> -<area shape=poly COORDS="222,179,246,179,244,197,258,193,262,213,226,209,224,177,222,179" href="signup.cgi?init_popstate=LA"> -<area shape=poly COORDS="363,37,373,59,373,47,387,31,377,9,365,15,363,37" href="signup.cgi?init_popstate=ME"> -<area shape=poly COORDS="376,159,405,159,405,175,374,177,376,159" href="signup.cgi?init_popstate=MD"> -<area shape=poly COORDS="378,74,380,88,404,88,404,72,378,74" href="signup.cgi?init_popstate=MA"> -<area shape=poly COORDS="265,73,269,83,265,93,293,91,295,71,281,53,271,53,267,69,265,73,265,73" href="signup.cgi?init_popstate=MI"> -<area shape=poly COORDS="194,31,222,33,242,35,224,51,222,63,222,73,234,79,196,85,194,31" href="signup.cgi?init_popstate=MN"> -<area shape=poly COORDS="265,159,271,199,257,201,259,195,241,197,251,155,265,159" href="signup.cgi?init_popstate=MS"> -<area shape=poly COORDS="206,113,234,111,256,139,248,147,214,145,208,111,206,113" href="signup.cgi?init_popstate=MO"> -<area shape=poly COORDS="78,23,148,31,146,67,84,63,78,35,80,19,78,23" href="signup.cgi?init_popstate=MT"> -<area shape=poly COORDS="146,85,148,103,158,105,164,109,206,109,198,85,144,87,146,85" href="signup.cgi?init_popstate=NE"> -<area shape=poly COORDS="40,83,76,87,64,151,32,109,40,83,40,83" href="signup.cgi?init_popstate=NV"> -<area shape=poly COORDS="298,11,330,9,330,25,298,25,298,11" href="signup.cgi?init_popstate=NH"> -<area shape=poly COORDS="372,127,404,125,405,141,368,139,376,125,372,127" href="signup.cgi?init_popstate=NJ"> -<area shape=poly COORDS="106,137,100,191,122,187,148,187,150,139,106,137,106,137" href="signup.cgi?init_popstate=NM"> -<area shape=poly COORDS="313,79,331,63,337,45,349,45,359,65,357,79,345,65,315,77,313,79,313,79" href="signup.cgi?init_popstate=NY"> -<area shape=poly COORDS="309,137,295,151,319,149,337,153,357,131,351,129,309,137,309,137" href="signup.cgi?init_popstate=NC"> -<area shape=poly COORDS="146,31,148,57,198,57,190,31,146,31,146,31" href="signup.cgi?init_popstate=ND"> -<area shape=poly COORDS="281,93,285,113,299,121,311,101,309,85,299,93,281,93,281,93" href="signup.cgi?init_popstate=OH"> -<area shape=poly COORDS="148,145,174,145,174,163,218,171,216,143,150,139,150,145,156,143,148,145,148,145" href="signup.cgi?init_popstate=OK"> -<area shape=poly COORDS="20,41,8,73,16,77,22,77,28,77,36,79,42,81,48,83,56,83,66,49,20,41,20,41" href="signup.cgi?init_popstate=OR"> -<area shape=poly COORDS="309,83,345,71,351,93,313,105,309,83,309,83" href="signup.cgi?init_popstate=PA"> -<area shape=poly COORDS="376,93,405,93,405,107,376,105,376,93" href="signup.cgi?init_popstate=RI"> -<area shape=poly COORDS="301,155,321,149,337,155,325,175,301,157,301,155,301,155" href="signup.cgi?init_popstate=SC"> -<area shape=poly COORDS="146,59,198,61,198,83,146,83,148,57,146,59,146,59" href="signup.cgi?init_popstate=SD"> -<area shape=poly COORDS="255,145,251,157,297,153,311,133,255,145,255,145" href="signup.cgi?init_popstate=TN"> -<area shape=poly COORDS="150,145,172,145,174,167,198,173,218,173,228,207,204,221,198,231,202,247,180,241,154,207,146,219,120,189,154,189,152,145,150,145,150,145" href="signup.cgi?init_popstate=TX"> -<area shape=poly COORDS="78,89,96,91,96,103,110,103,106,135,70,133,78,89,78,89" href="signup.cgi?init_popstate=UT"> -<area shape=poly COORDS="298,29,332,29,332,47,294,45,298,29" href="signup.cgi?init_popstate=VT"> -<area shape=poly COORDS="307,127,297,137,351,127,349,113,341,111,341,105,329,107,315,131,307,127,307,127" href="signup.cgi?init_popstate=VA"> -<area shape=poly COORDS="32,13,68,19,64,47,20,39,20,13,30,19,32,13,32,13" href="signup.cgi?init_popstate=WA"> -<area shape=poly COORDS="303,119,313,129,329,103,311,105,299,121,313,127,303,119,303,119" href="signup.cgi?init_popstate=WV"> -<area shape=poly COORDS="228,51,256,55,254,89,238,89,234,77,224,71,230,49,236,53,228,51,228,51" href="signup.cgi?init_popstate=WI"> -<area shape=poly COORDS="146,71,144,103,96,99,102,63,148,69,146,71,146,71" href="signup.cgi?init_popstate=WY"> -</MAP> -<IMG SRC="map.gif" usemap=#usmap WIDTH=405 HEIGHT=270 border=0><BR> -<SELECT NAME="init_popstate" onChange="gotoURL(this.form.init_popstate)"> -<OPTION VALUE="stateselect.html"></OPTION> -<OPTION VALUE="signup.cgi?init_popstate=AL">Alabama</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=AK">Alaska</OPTION> -<!--<OPTION VALUE="signup.cgi?init_popstate=AS">American Samoa</OPTION>--> -<OPTION VALUE="signup.cgi?init_popstate=AZ">Arizona</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=AR">Arkansas</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=CA">California</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=CO">Colorado</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=CT">Connecticut</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=DE">Delaware</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=DC">District of Columbia</OPTION> -<!--<OPTION VALUE="signup.cgi?init_popstate=FM">Federated States of Micronesia</OPTION>--> -<OPTION VALUE="signup.cgi?init_popstate=FL">Florida</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=GA">Georgia</OPTION> -<!--<OPTION VALUE="signup.cgi?init_popstate=GU">Guam</OPTION>--> -<OPTION VALUE="signup.cgi?init_popstate=HI">Hawaii</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=ID">Idaho</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=IL">Illinois</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=IN">Indiana</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=IA">Iowa</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=KS">Kansas</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=KY">Kentucky</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=LA">Louisiana</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=ME">Maine</OPTION> -<!--<OPTION VALUE="signup.cgi?init_popstate=MH">Marshall Islands</OPTION>--> -<OPTION VALUE="signup.cgi?init_popstate=MD">Maryland</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=MA">Massachusetts</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=MI">Michigan</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=MN">Minnesota</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=MS">Mississippi</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=MO">Missouri</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=MT">Montana</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=NE">Nebraska</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=NV">Nevada</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=NH">New Hampshire</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=NJ">New Jersey</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=NM">New Mexico</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=NY">New York</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=NC">North Carolina</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=ND">North Dakota</OPTION> -<!--<OPTION VALUE="signup.cgi?init_popstate=MP">Northern Mariana Islands</OPTION>--> -<OPTION VALUE="signup.cgi?init_popstate=OH">Ohio</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=OK">Oklahoma</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=OR">Oregon</OPTION> -<!--<OPTION VALUE="signup.cgi?init_popstate=PW">Palau</OPTION>--> -<OPTION VALUE="signup.cgi?init_popstate=PA">Pennsylvania</OPTION> -<!--<OPTION VALUE="signup.cgi?init_popstate=PR">Puerto Rico</OPTION>--> -<OPTION VALUE="signup.cgi?init_popstate=RI">Rhode Island</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=SC">South Carolina</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=SD">South Dakota</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=TN">Tennessee</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=TX">Texas</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=UT">Utah</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=VT">Vermont</OPTION> -<!--<OPTION VALUE="signup.cgi?init_popstate=VI">Virgin Islands</OPTION>--> -<OPTION VALUE="signup.cgi?init_popstate=VA">Virginia</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=WA">Washington</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=WV">West Virginia</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=WI">Wisconsin</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=WY">Wyoming</OPTION> -<!--<OPTION VALUE="signup.cgi?init_popstate=AE">Armed Forces Africa</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=AA">Armed Forces Americas</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=AE">Armed Forces Canada</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=AE">Armed Forces Europe</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=AE">Armed Forces Middle East</OPTION> -<OPTION VALUE="signup.cgi?init_popstate=AP">Armed Forces Pacific</OPTION> ---> -</SELECT> -</FORM> -</BODY> -</HTML> diff --git a/fs_selfservice/FS-SelfService/cgi/success-delayed.html b/fs_selfservice/FS-SelfService/cgi/success-delayed.html deleted file mode 100644 index 5eeed5957..000000000 --- a/fs_selfservice/FS-SelfService/cgi/success-delayed.html +++ /dev/null @@ -1,16 +0,0 @@ -<HTML><HEAD><TITLE>Signup successful</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8"><FONT SIZE=7>Signup successful</FONT><BR><BR> -Thanks for signing up! -<BR><BR> -Signup information for <%= $email_name %>: -<BR><BR> -Username: <%= $username %><BR> -Password: <%= $password %><BR> -Access number: (<%= $ac %>) / <%= $exch %> - <%= $local %><BR> -Package: <%= $pkg %><BR> -Charge: <%= sprintf('$%.2f', $part_pkg->{'options'}->{'setup_fee'}) %><BR> -In <%= $part_pkg->{'options'}->{'free_days'} %> days you will be charged - <%= sprintf('$%.2f', $part_pkg->{'options'}->{'recur_fee'}) %> -and <%= $part_pkg->{'freq_pretty'} %> thereafter.<BR> - -</BODY></HTML> diff --git a/fs_selfservice/FS-SelfService/cgi/success.html b/fs_selfservice/FS-SelfService/cgi/success.html deleted file mode 100644 index ccbcc62b9..000000000 --- a/fs_selfservice/FS-SelfService/cgi/success.html +++ /dev/null @@ -1,40 +0,0 @@ -<HTML> - <HEAD> - <TITLE>Signup successful</TITLE> - <%= $head %> - </HEAD> - <BODY BGCOLOR="<%= $body_bgcolor || '#eeeeee' %>"> - <%= $body_header %> - -<FONT SIZE=7>Signup successful</FONT><BR><BR> - -Thanks for signing up! Save this information for future reference. -<BR><BR> - -Signup information for <%= $email_name %>: -<BR><BR> - -<%= - if ($signup_service eq 'svc_acct' || !$signup_service ) { #just in case - $OUT .= <<END - Username: $username<BR> - Password: $password<BR> - Access number: ($ac) / $exch - $local <BR> -END - } elsif ( $signup_service eq 'svc_phone' ) { - $OUT .= <<END - <!-- Countrycode: $countrycode <BR>--> - Phone number: $phonenum<BR> - SIP Server: itsp.sip.server.name<BR> - SIP Login: $phonenum<BR> - SIP Password: $sip_password<BR> - Voicemail PIN: $pin<BR> -END - } else { - die "unknown signup service $signup_service"; - } -%> - - Package: <%= $pkg %><BR> - -<%= $body_footer %> 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 00244386b..000000000 --- a/fs_selfservice/FS-SelfService/cgi/svc_acct.html +++ /dev/null @@ -1,58 +0,0 @@ -<FONT SIZE=4>Setup <%= $svc %></FONT><BR><BR> - -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">Error setting up $svc: $error!. - '</FONT><BR><BR>'; -} ''; %> -<FORM ACTION="<%= $selfurl %>" METHOD=POST> -<INPUT TYPE="hidden" NAME="session" VALUE="<%= $session_id %>"> -<INPUT TYPE="hidden" NAME="action" VALUE="process_svc_acct"> -<INPUT TYPE="hidden" NAME="custnum" VALUE="<%= $custnum %>"> -<INPUT TYPE="hidden" NAME="pkgnum" VALUE="<%= $pkgnum %>"> -<INPUT TYPE="hidden" NAME="svcpart" VALUE="<%= $svcpart %>"> -<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR="#cccccc"> -<TR> - <TD ALIGN="right">Username</TD> - <TD><INPUT TYPE="text" NAME="username" VALUE="<%= $username %>"></TD> -</TR> -<%= - $OUT .= domainselector(pkgnum=>$pkgnum, svcpart=>$svcpart); -%> -<TR> - <TD ALIGN="right">Password</TD> - <TD><INPUT TYPE="password" NAME="_password" VALUE="<%= $_password %>"></TD> -</TR> -<TR> - <TD ALIGN="right">Re-enter Password</TD> - <TD><INPUT TYPE="password" NAME="_password2" VALUE="<%= $_password2 %>"></TD> -</TR> -<%= - if ( $security_phrase ) { - $OUT .= <<ENDOUT; -<TR> - <TD ALIGN="right">Security Phrase</TD> - <TD><INPUT TYPE="text" NAME="sec_phrase" VALUE="$sec_phrase"> - </TD> -</TR> -ENDOUT - } else { - $OUT .= '<INPUT TYPE="hidden" NAME="sec_phrase" VALUE="">'; - } -%> -<%= - if ( @svc_acct_pop ) { - $OUT .= '<TR><TD ALIGN="right">Access number</TD><TD>'. - popselector( 'popnum' => $popnum, - 'pops' => \@svc_acct_pop, - 'init_popstate' => $init_popstate, - 'popac' => $popac, - 'acstate' => $acstate, - ). - '</TD></TR>'; - } else { - $OUT .= popselector(popnum=>$popnum, pops=>\@svc_acct_pop); - } -%> -</TABLE> -<INPUT TYPE="submit" VALUE="Setup"> -</FORM> diff --git a/fs_selfservice/FS-SelfService/cgi/tktcreate.html b/fs_selfservice/FS-SelfService/cgi/tktcreate.html deleted file mode 100644 index de7ff60b8..000000000 --- a/fs_selfservice/FS-SelfService/cgi/tktcreate.html +++ /dev/null @@ -1,38 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Create a ticket') %> - -<%= -if ( $ticket_id ) { - $OUT .= "<B>Created ticket #$ticket_id</B>"; -} else { - $OUT .= qq! - <div style='font-weight: bold; color: red; margin-bottom: 6px;'> $error </div> - Please fill in both the subject and message - <br><br> - <FORM ACTION="$selfurl" METHOD=POST> - <input type="hidden" name="session" value="$session_id"> - <input type="hidden" name="action" value="tktcreate"> - <table> - <tr> - <td>Your e-mail address</td> - <td>$requestor</td> - </tr> - <tr> - <td>Subject</td> - <td><input type="text" name="subject" size="53"></td> - </tr> - <tr> - <td valign="top">Message</td> - <td><textarea name="message" rows="10" cols="60"></textarea></td> - </tr> - <tr> - <td></td> - <td><input type="submit" value="Create"></td> - </tr> - </table> - </form> - !; -} -%> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/tktview.html b/fs_selfservice/FS-SelfService/cgi/tktview.html deleted file mode 100644 index 6f540bcf4..000000000 --- a/fs_selfservice/FS-SelfService/cgi/tktview.html +++ /dev/null @@ -1,31 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', "View ticket #$ticket_id") %> - -<%= -if($error) { - $OUT .= qq! <div style="font-weight: bold; color: red; font-size: 110%">Error: $error</div> !; -} -elsif(@transactions) { - $OUT .= qq! <TABLE border="1">!; - foreach my $txn ( @transactions ) { - next if $txn->{content} eq 'This transaction appears to have no content'; - $OUT .= "<TR><TD><B>$txn->{created} $txn->{description}</B>"; - $OUT .= "<PRE>$txn->{content}</PRE></TD></TR>"; - } - $OUT .= "</TABLE>"; -} -else { - $OUT .= "No transactions on this ticket"; -} -%> -<BR><BR><BR> -<FORM ACTION="<%=$selfurl%>" METHOD=POST> - <input type="hidden" name="session" value="<%=$session_id%>"> - <input type="hidden" name="ticket_id" value="<%=$ticket_id%>"> - <input type="hidden" name="action" value="tktview"> - Add reply to ticket: - <BR><textarea name="reply" cols="60" rows="10"></textarea> - <BR><input type="submit" value="Reply"> -</form> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/verify.cgi b/fs_selfservice/FS-SelfService/cgi/verify.cgi deleted file mode 100755 index d9346b897..000000000 --- a/fs_selfservice/FS-SelfService/cgi/verify.cgi +++ /dev/null @@ -1,177 +0,0 @@ -#!/usr/bin/perl -T -#!/usr/bin/perl -Tw - -use strict; -use vars qw( $cgi $self_url $error - $verify_html $verify_template - $success_html $success_template - $decline_html $decline_template - ); - -use subs qw( print_verify print_okay print_decline - verify_default success_default decline_default - ); -use CGI; -use Text::Template; -use FS::SelfService qw( capture_payment ); - -$verify_html = -e 'verify.html' - ? 'verify.html' - : '/usr/local/freeside/verify.html'; -$success_html = -e 'verify_success.html' - ? 'success.html' - : '/usr/local/freeside/success.html'; -$decline_html = -e 'verify_decline.html' - ? 'decline.html' - : '/usr/local/freeside/decline.html'; - - -if ( -e $verify_html ) { - my $verify_txt = Text::Template::_load_text($verify_html) - or die $Text::Template::ERROR; - $verify_txt =~ /^(.*)$/s; #untaint the template source - it's trusted - $verify_txt = $1; - $verify_template = new Text::Template ( TYPE => 'STRING', - SOURCE => $verify_txt, - DELIMITERS => [ '<%=', '%>' ], - ) - or die $Text::Template::ERROR; -} else { - $verify_template = new Text::Template ( TYPE => 'STRING', - SOURCE => &verify_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; - -my $rv = capture_payment( - data => { 'manual' => 1, - map { $_ => scalar($cgi->param($_)) } $cgi->param - }, - url => $cgi->self_url, -); - -$error = $rv->{error}; - -if ( $error eq '_decline' ) { - print_decline(); -} elsif ( $error ) { - print_verify(); -} else { - print_okay(%$rv); -} - - -sub print_verify { - - $error = "Error: $error" if $error; - - my $r = { $cgi->Vars, 'error' => $error }; - - $r->{self_url} = $cgi->self_url; - - print $cgi->header( '-expires' => 'now' ), - $verify_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 @success_url = split '/', $cgi->url(-path); - pop @success_url; - - my $success_url = join '/', @success_url; - if ($param{session_id}) { - my $session_id = lc($param{session_id}); - $success_url .= "/selfservice.cgi?action=myaccount&session=$session_id"; - } else { - $success_url .= '/signup.cgi?action=success'; - } - - print $cgi->header( '-expires' => 'now' ), - $success_template->fill_in( HASH => { success_url => $success_url } ); -} - -sub success_default { #html to use if you don't specify a success file - <<'END'; -<HTML><HEAD><TITLE>Signup successful</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8"><FONT SIZE=7>Signup successful</FONT><BR><BR> -Thanks for signing up! -<BR><BR> -<SCRIPT TYPE="text/javascript"> - window.top.location="<%= $success_url %>"; -</SCRIPT> -</BODY></HTML> -END -} - -sub verify_default { #html to use for verification response - <<'END'; -<HTML><HEAD><TITLE>Processing error</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8"><FONT SIZE=7>Processing error</FONT><BR><BR> -There has been an error processing your account. Please contact customer -support. -</BODY></HTML> -END -} - -sub decline_default { #html to use if there is a decline - <<'END'; -<HTML><HEAD><TITLE>Processing error</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8"><FONT SIZE=7>Processing error</FONT><BR><BR> -There has been an error processing your account. Please contact customer -support. -</BODY></HTML> -END -} - -# subs for the templates... - -package FS::SelfService::_signupcgi; -use HTML::Entities; - diff --git a/fs_selfservice/FS-SelfService/cgi/view_cdr_details.html b/fs_selfservice/FS-SelfService/cgi/view_cdr_details.html deleted file mode 100644 index 6d4d8475e..000000000 --- a/fs_selfservice/FS-SelfService/cgi/view_cdr_details.html +++ /dev/null @@ -1,54 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Call usage for '. - Date::Format::time2str('%b %o %Y', $beginning). - ' - '. - Date::Format::time2str('%b %o %Y', $ending) - ) -%> - -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">$error</FONT><BR><BR>!; -} ''; %> - -<TABLE WIDTH="100%"> - <TR> - <TD WIDTH="50%"> -<%= if ($previous < $beginning) { - $OUT .= qq!<A HREF="${url}view_cdr_details;svcnum=$svcnum;beginning=!; - $OUT .= qq!$previous;ending=$beginning">Previous period</A>!; - }else{ - ''; - } %> - </TD> - <TD WIDTH="50%" ALIGN="right"> -<%= if ($next > $ending) { - $OUT .= qq!<A HREF="${url}view_cdr_details;svcnum=$svcnum;beginning=!; - $OUT .= qq!$ending;ending=$next">Next period</A>!; - }else{ - ''; - }%> - </TD> - </TR> -</TABLE> -<TABLE BGCOLOR="#cccccc"> - <TR> -<%= foreach my $header (@header) { - $OUT .= qq(<TH ALIGN="right">$header</TH>); - } -%> - </TR> -<%= my $total = 0; - my $utotal = 0; - my $dtotal = 0; - foreach my $usage ( @usage ) { - $OUT .= '<TR>'; - $OUT .= qq(<TD>$_</TD>) foreach @{$usage}; - $OUT .= '</TR>'; - } -%> - -</TABLE> -<BR> - -</TD></TR></TABLE> -<%= include('footer') %> 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 5bfb9b6fd..000000000 --- a/fs_selfservice/FS-SelfService/cgi/view_customer.html +++ /dev/null @@ -1,24 +0,0 @@ -<HTML><HEAD><TITLE>Reseller</TITLE></HEAD> -<BODY BGCOLOR="#eeeeee"><FONT SIZE=5>Reseller</FONT><BR><BR> -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<TABLE BORDER=0 CELLPADDING=4><TR> -<%= include('agent_menu') %> -<TD VALIGN="top"> - -<%= $message - ? "<FONT SIZE=\"+2\"><B>$message</B></FONT><BR><BR>" - : '' -%> - -<%= $small_custview %> - -<BR> - -<TABLE BORDER=0 CELLPADDING=4><TR> -<%= include('agent_customer_menu') %> -<TD VALIGN="top"> - -</TD></TR></TABLE> - -</TD></TR></TABLE> -<%= include('footer') %> 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 072a4147c..000000000 --- a/fs_selfservice/FS-SelfService/cgi/view_invoice.html +++ /dev/null @@ -1,6 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Invoice') %> - -<%= $invoice_html %> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/view_support_details.html b/fs_selfservice/FS-SelfService/cgi/view_support_details.html deleted file mode 100644 index ea218749c..000000000 --- a/fs_selfservice/FS-SelfService/cgi/view_support_details.html +++ /dev/null @@ -1,78 +0,0 @@ -<HTML><HEAD><TITLE>MyAccount</TITLE></HEAD> -<BODY BGCOLOR="#eeeeee"><FONT SIZE=5>MyAccount</FONT><BR><BR> -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('myaccount_menu') %> -<TD VALIGN="top"> - -<FONT SIZE=4>Support usage details for -<%= Date::Format::time2str('%b %o %Y', $beginning) %> - -<%= Date::Format::time2str('%b %o %Y', $ending) %> -</FONT><BR><BR> - -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">$error</FONT><BR><BR>!; -} ''; %> - -<TABLE WIDTH="100%"> - <TR> - <TD WIDTH="50%"> -<%= if ($previous < $beginning) { - $OUT .= qq!<A HREF="${url}view_support_details;svcnum=$svcnum;beginning=!; - $OUT .= qq!$previous;ending=$beginning">Previous period</A>!; - }else{ - ''; - } %> - </TD> - <TD WIDTH="50%" ALIGN="right"> -<%= if ($next > $ending) { - $OUT .= qq!<A HREF="${url}view_support_details;svcnum=$svcnum;beginning=!; - $OUT .= qq!$ending;ending=$next">Next period</A>!; - }else{ - ''; - }%> - </TD> - </TR> -</TABLE> -<TABLE BGCOLOR="#cccccc"> - <TR> - <TH ALIGN="left">Ticket</TH> - <TH ALIGN="center">Subject</TH> - <TH ALIGN="center">Staff</TH> - <TH ALIGN="center">Date</TH> - <TH ALIGN="center">Status</TH> - <TH ALIGN="right">Time</TH> - </TR> -<%= my $total = 0; - foreach my $usage ( @usage ) { - $OUT .= '<TR><TD ALIGN="left">'; - $OUT .= $usage->{'ticketid'}; - $OUT .= '</TD><TD ALIGN="right">'; - $OUT .= $usage->{'subject'}; - $OUT .= '</TD><TD ALIGN="right">'; - $OUT .= $usage->{'creator'}; - $OUT .= '</TD><TD ALIGN="left">'; - $OUT .= Date::Format::time2str('%T%P %a %b %o %Y', $usage->{'_date'}); - $OUT .= '</TD><TD ALIGN="right">'; - $OUT .= $usage->{'status'}; - $OUT .= '</TD><TD ALIGN="right">'; - my $duration = $usage->{'support'}; - $total += $usage->{'support'}; - my $h = int($duration/3600); - my $m = sprintf("%02d", int(($duration % 3600) / 60)); - my $s = sprintf("%02d", $duration % 60); - $OUT .= $usage->{'support'} < 0 ? '-' : ''; - $OUT .= "$h:$m:$s"; - $OUT .= '</TD></TR>'; - } - my $h = int($total/3600); - my $m = sprintf("%02d", int(($total % 3600) / 60)); - my $s = sprintf("%02d", $total % 60); - $OUT .= qq!<TR><TD COLSPAN="5"></TD><TD ALIGN="right"><HR></TD></TR>!; - $OUT .= qq!<TR><TD COLSPAN="5"></TD><TD ALIGN="right">$h:$m:$s</TD></TR>!; - %> - -</TABLE> -<BR> - -</TD></TR></TABLE> -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/view_usage.html b/fs_selfservice/FS-SelfService/cgi/view_usage.html deleted file mode 100644 index 69437632b..000000000 --- a/fs_selfservice/FS-SelfService/cgi/view_usage.html +++ /dev/null @@ -1,85 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; - @svc_acct = grep { $_->{svcdb} eq 'svc_acct' } @svcs; - @svc_phone = grep { $_->{svcdb} eq 'svc_phone' } @svcs; - ''; -%> -<%= include('header', 'Account usage') %> - -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">$error</FONT><BR><BR>!; -} ''; %> - -<%= if ( @svc_acct ) { - $OUT.= '<TABLE BGCOLOR="#cccccc"> - <TR> - <TH ALIGN="left">Account</TH> - <TH ALIGN="right">Time remaining</TH> - <TH ALIGN="right">Upload remaining</TH> - <TH ALIGN="right">Download remaining</TH> - <TH ALIGN="right">Total remaining</TH> - </TR>'; - } else { - $OUT .= ''; - } -%> - -<%= foreach my $svc ( @svc_acct ) { - my $link = "${url}view_usage_details;". - "svcnum=$svc->{'svcnum'};beginning=0;ending=0"; - $OUT .= '<TR><TD>'; - $OUT .= qq!<A HREF="$link">!. $svc->{'label'}. ': '. $svc->{'value'}.'</A>'; - $OUT .= '</TD><TD ALIGN="right">'; - $OUT .= $svc->{'seconds'}; - $OUT .= '</TD><TD ALIGN="right">'; - $OUT .= $svc->{'upbytes'}; - $OUT .= '</TD><TD ALIGN="right">'; - $OUT .= $svc->{'downbytes'}; - $OUT .= '</TD><TD ALIGN="right">'; - $OUT .= $svc->{'totalbytes'}; - $OUT .= '</TD></TR>'; - if ( $svc->{'recharge_amount'} ) { - my $link = "${url}process_order_recharge;". - "svcnum=$svc->{'svcnum'}"; - $OUT .= '<TR><TD ALIGN="right">'; - $OUT .= qq!<A HREF="$link">!.'Recharge for $'; - $OUT .= $svc->{'recharge_amount'} . '</A> with'; - $OUT .= '</TD><TD ALIGN="right">'; - $OUT .= $svc->{'recharge_seconds'} if $svc->{'recharge_seconds'}; - $OUT .= '</TD><TD ALIGN="right">'; - $OUT .= $svc->{'recharge_upbytes'} if $svc->{'recharge_upbytes'}; - $OUT .= '</TD><TD ALIGN="right">'; - $OUT .= $svc->{'recharge_downbytes'} if $svc->{'recharge_downbytes'}; - $OUT .= '</TD><TD ALIGN="right">'; - $OUT .= $svc->{'recharge_totalbytes'} if $svc->{'recharge_totalbytes'}; - $OUT .= '</TD></TR>'; - } - } -%> - -<%= scalar(@svc_acct) ? '</TABLE><BR><BR>' : '' %> - -<%= if ( @svc_phone ) { - $OUT.= '<FONT SIZE="4">Call usage</FONT><BR><BR> - <TABLE BGCOLOR="#cccccc"> - <TR> - <TH ALIGN="left">Number</TH>'; #"Account" ? - #what else? - $OUT .= '</TR>'; - } else { - $OUT .= ''; - } -%> - -<%= foreach my $svc_phone ( @svc_phone ) { - my $link = "${url}view_cdr_details;". - "svcnum=$svc_phone->{'svcnum'};beginning=0;ending=0"; - $OUT .= '<TR><TD>'; - $OUT .= qq!<A HREF="$link">!. $svc_phone->{'label'}. ': '. $svc_phone->{'value'}.'</A>'; - $OUT .= '</TD></TR>'; - } -%> - -<%= scalar(@svc_phone) ? '</TABLE><BR><BR>' : '' %> - -</TD></TR></TABLE> -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/view_usage_details.html b/fs_selfservice/FS-SelfService/cgi/view_usage_details.html deleted file mode 100644 index c4cc177e1..000000000 --- a/fs_selfservice/FS-SelfService/cgi/view_usage_details.html +++ /dev/null @@ -1,80 +0,0 @@ -<%= $url = "$selfurl?session=$session_id;action="; ''; %> -<%= include('header', 'Service usage details for '. - Date::Format::time2str('%b %o %Y', $beginning). - ' - '. - Date::Format::time2str('%b %o %Y', $ending) - ) -%> - -<%= if ( $error ) { - $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">$error</FONT><BR><BR>!; -} ''; %> - -<TABLE WIDTH="100%"> - <TR> - <TD WIDTH="50%"> -<%= if ($previous < $beginning) { - $OUT .= qq!<A HREF="${url}view_usage_details;svcnum=$svcnum;beginning=!; - $OUT .= qq!$previous;ending=$beginning">Previous period</A>!; - }else{ - ''; - } %> - </TD> - <TD WIDTH="50%" ALIGN="right"> -<%= if ($next > $ending) { - $OUT .= qq!<A HREF="${url}view_usage_details;svcnum=$svcnum;beginning=!; - $OUT .= qq!$ending;ending=$next">Next period</A>!; - }else{ - ''; - }%> - </TD> - </TR> -</TABLE> -<TABLE BGCOLOR="#cccccc"> - <TR> - <TH ALIGN="left">Account</TH> - <TH ALIGN="right">Start Time</TH> - <TH ALIGN="right">Duration</TH> - <TH ALIGN="right">Upload</TH> - <TH ALIGN="right">Download</TH> - </TR> -<%= my $total = 0; - my $utotal = 0; - my $dtotal = 0; - foreach my $usage ( @usage ) { - $OUT .= '<TR><TD>'; - $OUT .= $usage->{'username'}; - $OUT .= '</TD><TD ALIGN="right">'; - $OUT .= Date::Format::time2str('%T%P %a %b %o %Y', $usage->{'acctstarttime'}); - $OUT .= '</TD><TD ALIGN="right">'; - my $duration = $usage->{'acctstoptime'} - $usage->{'acctstarttime'}; - $total += $duration; - my $h = int($duration/3600); - my $m = sprintf("%02d", int(($duration % 3600) / 60)); - my $s = sprintf("%02d", $duration % 60); - $OUT .= "$h:$m:$s"; - $OUT .= '</TD><TD ALIGN="right">'; - $OUT .= Number::Format::format_bytes($usage->{'acctinputoctets'}, precision => 2); - $utotal += $usage->{'acctinputoctets'}; - $OUT .= '</TD><TD ALIGN="right">'; - $OUT .= Number::Format::format_bytes($usage->{'acctoutputoctets'}, precision => 2); - $dtotal += $usage->{'acctoutputoctets'}; - $OUT .= '</TD></TR>'; - } - my $h = int($total/3600); - my $m = sprintf("%02d", int(($total % 3600) / 60)); - my $s = sprintf("%02d", $total % 60); - $OUT .= qq!<TR><TD></TD><TD></TD>!; - $OUT .= qq!<TD ALIGN="right"><HR></TD>! x 3; - $OUT .= qq!</TR>!; - $OUT .= qq!<TR><TD></TD><TD></TD><TD ALIGN="right">$h:$m:$s</TD>!; - $OUT .= qq!<TD ALIGN="right">!; - $OUT .= Number::Format::format_bytes($utotal, precision => 2). qq!</TD>!; - $OUT .= qq!<TD ALIGN="right">!; - $OUT .= Number::Format::format_bytes($dtotal, precision => 2). qq!</TD>!; - $OUT .= qq!</TR>!; %> - -</TABLE> -<BR> - -<%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/ws_list.html b/fs_selfservice/FS-SelfService/cgi/ws_list.html deleted file mode 100644 index 2bdcd741d..000000000 --- a/fs_selfservice/FS-SelfService/cgi/ws_list.html +++ /dev/null @@ -1,150 +0,0 @@ -<%= - -sub ws_pkglink { - my($cat,$count,$link) = (shift,shift,shift); - return "0 $cat <BR>" unless $count->{$cat}; - return qq! <A HREF="${link};filter=$cat">$count->{$cat}</A> $cat <BR> !; -} - -sub ws_pkgstatus { - my $pkg = shift; - $status = "unbilled"; - $status = "active" if ( $pkg->{setup} && !$pkg->{cancel} - && !$pkg->{susp} ); - $status = "suspended" if ( $pkg->{susp} && !$pkg->{cancel} ); - $status = "cancelled" if $pkg->{cancel}; - $status; -} - -sub pdate { - my($field,$date_format) = (shift,shift); - return "<TD>".Date::Format::time2str($date_format,$field)."</TD>" - if $field && $field > 0; - '<TD></TD>'; -} - -if ( $pkgpart ) { - $OUT .= qq! <TABLE BORDER="1" style="empty-cells: show"><TR><TH>Package</TH><TH>Status</TH> !; - $OUT .= "<TH>Setup</TH><TH>Last Bill</TH><TH>Next Bill</TH><TH>Adjourn</TH>"; - $OUT .= "<TH>Suspend</TH><TH>Expire</TH><TH>Contract End</TH>"; - $OUT .= "<TH>Cancel</TH><TH>Services</TH></TR>"; - foreach my $pkg ( @cust_pkg ) { - my $part_pkg = $pkg->{part_pkg}[0]; - $status = ws_pkgstatus($pkg); - if($pkg->{pkgpart} == $pkgpart && - ( ($filter && $filter eq $status) || !$filter) ) { - $OUT .= "<TR><TD>$part_pkg->{pkg}</TD><TD>$status</TD>"; - $OUT .= pdate($pkg->{setup},$date_format); - $OUT .= pdate($pkg->{last_bill},$date_format); - $OUT .= pdate($pkg->{bill},$date_format); - $OUT .= pdate($pkg->{adjourn},$date_format); - $OUT .= pdate($pkg->{susp},$date_format); - $OUT .= pdate($pkg->{expire},$date_format); - $OUT .= pdate($pkg->{contract_end},$date_format); - $OUT .= pdate($pkg->{cancel},$date_format); - - $OUT .= "<TD style='font-size: 85%'>"; - my @cust_svc = @{$pkg->{cust_svc}}; - foreach my $cust_svc ( @cust_svc ) { - my @label = @{$cust_svc->{'label'}}; - $OUT .= qq!$label[0]: $label[1] <BR><BR>!; - } - my @part_svc = @{$pkg->{part_svc}}; - foreach my $part_svc ( @part_svc ) { - my $link = qq!<A HREF="${url}provision_svc;! - . qq!pkgnum=$pkg->{'pkgnum'};svcpart=$part_svc->{'svcpart'}! - . qq!;numavail=$part_svc->{'num_avail'}">Setup ! - . qq!$part_svc->{'svc'}</A> ($part_svc->{'num_avail'}! - . qq! available)<BR><BR>!; - $OUT .= $link if $part_svc->{'can_get_dids'}; - - if($part_svc->{'svcdb'} eq 'svc_phone' && $lnp) { - $OUT .= qq!<A HREF="${url}provision_svc;lnp=1;! - . qq!pkgnum=$pkg->{'pkgnum'};svcpart=$part_svc->{'svcpart'}! - . qq!">Port-In $part_svc->{'svc'}</A>!; - } - } - - $OUT .= "</TD></TR>"; - } - } - $OUT .= "</TABLE>"; -} -else { - my %pkgparts; - foreach my $pkg ( @cust_pkg ) { - my $status = ws_pkgstatus($pkg); - $pkgparts{$pkg->{pkgpart}}{$status}++; - my $part_pkg = $pkg->{part_pkg}[0]; - $pkgparts{$pkg->{pkgpart}}{pkg} = $part_pkg->{pkg}; - } - - $OUT .= "<TABLE><TR><TD>"; - - $OUT .= qq! <TABLE BORDER="1"><TR><TH>Package</TH><TH>Status</TH></TR> !; - my($pkgpart,$counts); - while(($pkgpart,$count) = each %pkgparts){ - my $link = "${url}provision;pkgpart=$pkgpart"; - $OUT .= qq! <TR><TD><A HREF="$link">$count->{pkg}</A></TD><TD> !; - $OUT .= ws_pkglink("unbilled",$count,$link); - $OUT .= ws_pkglink("active",$count,$link); - $OUT .= ws_pkglink("suspended",$count,$link); - $OUT .= ws_pkglink("cancelled",$count,$link); - $OUT .= "</TD></TR>"; - } - $OUT .= "</TABLE>"; - - $OUT .= qq!</TD><TD VALIGN="TOP" STYLE="padding-left: 11px;">!; - - if ( @login_svcpart ) { - $OUT .= "<B>Self-service accounts</B><BR>"; - foreach my $pkg ( @cust_pkg ) { - @cust_svc = @{$pkg->{cust_svc}}; - @part_svc = @{$pkg->{part_svc}}; - - foreach my $cust_svc ( @cust_svc ) { - $svcpart = $cust_svc->{'svcpart'}; - next unless grep($_ eq $svcpart, @login_svcpart); - @label = @{$cust_svc->{'label'}}; - $OUT .= $label[1] . " "; - unless ( $cust_svc->{'svcnum'} == $svcnum ) { - $OUT .= qq!<A HREF="javascript:areyousure('${url}delete_svc;svcnum=$cust_svc->{svcnum}', 'This will permanently delete the $label[1] $label[0]. Are you sure?')">!. - 'Delete</A>'; - } - $OUT .= "<BR>"; - } - - foreach my $part_svc ( @part_svc ) { - $svcpart = $part_svc->{'svcpart'}; - next unless grep($_ eq $svcpart, @login_svcpart); - $link = "${url}provision_svc;pkgnum=$pkg->{'pkgnum'};". - "svcpart=$part_svc->{'svcpart'}"; - $OUT .= qq!<A HREF="$link">!. 'Setup '. $part_svc->{'svc'}. - '</A> ('. $part_svc->{'num_avail'}. ' available)' - if $part_svc->{'svcdb'} eq 'svc_acct'; - } - - } # foreach cust_pkg - } # login_svcpart - - my $hasPhone = 0; - foreach my $pkg ( @cust_pkg ) { - @cust_svc = @{$pkg->{cust_svc}}; - foreach my $cust_svc ( @cust_svc ) { - @label = @{$cust_svc->{'label'}}; - $hasPhone = 1 if $label[2] eq 'svc_phone'; - } - } - if ( $hasPhone ) { - $link = "${url}didreport;type="; - $OUT .= "<BR><BR><BR>Download currently allocated DIDs:<BR>"; - $OUT .= qq! <A HREF="${link}csv">CSV</A> | - <A HREF="${link}xls">Excel</A>!; - $OUT .= "<BR><BR>Download recently allocated DIDs:<BR>"; - $OUT .= qq! <A HREF="${link}csv;recentonly=1">CSV</A> | - <A HREF="${link}xls;recentonly=1">Excel</A>!; - } - - $OUT .= "</TD></TR></TABLE>"; -} -%> diff --git a/fs_selfservice/FS-SelfService/cgi/xmlrpc.cgi b/fs_selfservice/FS-SelfService/cgi/xmlrpc.cgi deleted file mode 100644 index 559ae04d8..000000000 --- a/fs_selfservice/FS-SelfService/cgi/xmlrpc.cgi +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/perl -Tw - -use strict; -use XMLRPC::Transport::HTTP; -use XMLRPC::Lite; # for XMLRPC::Serializer -use FS::SelfService::XMLRPC; - -my %typelookup = ( - base64 => [10, sub {$_[0] =~ /[^\x09\x0a\x0d\x20-\x7f]/}, 'as_base64'], - dateTime => [35, sub {$_[0] =~ /^\d{8}T\d\d:\d\d:\d\d$/}, 'as_dateTime'], - string => [40, sub {1}, 'as_string'], -); -my $serializer = new XMLRPC::Serializer(typelookup => \%typelookup); - -XMLRPC::Transport::HTTP::CGI->dispatch_to('FS::SelfService::XMLRPC') - ->serializer($serializer) - ->handle; - diff --git a/fs_selfservice/FS-SelfService/freeside-selfservice-clientd b/fs_selfservice/FS-SelfService/freeside-selfservice-clientd deleted file mode 100644 index 0819d9d67..000000000 --- a/fs_selfservice/FS-SelfService/freeside-selfservice-clientd +++ /dev/null @@ -1,377 +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; -use Text::CSV_XS; - -#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; -#$SIG{__DIE__} = sub { &_logmsg(@_); exit }; - -#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 = <PIDFILE>; - 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 %ftp_scan_dir; -my %ftp_scan_map; - -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 ( $token eq '_ftp_scan' ) { - if ( $ftp_scan_dir{$packet->{dir}} ) { - warn "already processing ". $packet->{dir}. "\n" if $Debug; - } else { - $ftp_scan_dir{$packet->{dir}} = 1; - spawn \&ftp_scan, $packet; - } - $undisp = 1; - next; - } - - 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}=$$; - - my $rv = send_and_wait( $packet ); - - warn "[child-$$] closing write stream\n" if $Debug > 1; - close STDOUT or die "FATAL: can't close write stream: $!"; #??! - - #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}; - if ( $ftp_scan_map{$kid} ) { - delete($ftp_scan_dir{$ftp_scan_map{$kid}}); - delete($ftp_scan_map{$kid}); - } - } - } - #warn "done reaping\n"; -} - -sub spawn { - my ( $coderef, $packet ) = ( shift, 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; - $ftp_scan_map{$pid} = $packet->{dir} if $coderef == \&ftp_scan; - $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($packet); -} - -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 send_and_wait { - my $packet = shift; - - 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-$$] 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"; - } - - fd_retrieve(\*STDIN); -} - -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: $!"; -} - -sub ftp_scan { - my $packet = shift; - - warn "[child-$$] performing ftp scan" if $Debug > 1; - - warn "[child-$$] packet received:\n". - join('', map { " $_=>$packet->{$_}\n" } keys %$packet ) - if $Debug > 2; - - $packet->{_token}=$$; - - my $dir; - $packet->{dir} =~ /^(.*)$/ && ($dir = $1); # we trust ourselves - opendir(DIR, $dir) or die "failed to open directory $dir: $!\n"; - my @files = grep(/\.csv$/, readdir(DIR)); - closedir(DIR); - - foreach my $file ( @files ) { - warn "Processing $file ...\n"; - my $csv = Text::CSV_XS->new(); - my $err = ""; - my @records = (); - open(CSV, "<$dir/$file") or die "can't open input file for $file: $!\n"; - open(RESULT, ">$dir/result/$file") - or die "can't open result file for $file: $!\n"; - - while (<CSV>) { - if ( $csv->parse($_) ) { - my @columns = $csv->fields(); - push(@records, \@columns); - } else { - $err = $csv->error_input; - last; - } - } - close(CSV); - if ( $err ) { - rename("$dir/$file", "$dir/rejected/$file"); - } else { - foreach my $record ( @records ) { - - $packet->{row} = $record; - $packet->{_packet} = 'Bulk/processrow'; - my $result = send_and_wait( $packet ); - - if ( $result->{error} ) { - my $name; - $record->[1] =~ /^(\w+)$/ && ( $name = $1 ); - - if ($name) { - my $filename = "$dir/rejected/$name"; - open(REC, ">$filename") or die "can't open $filename: $!\n"; - print REC join(',', @$record); - close REC or die $!; - open(ERR, ">$filename.err") or die "can't open $filename.err: $!\n"; - print ERR $result->{error}; - close ERR or die $!; - }else{ - warn "bad agent_custid"; - } - - } - print RESULT $result->{message}, "\n"; - } - - rename("$dir/$file", "$dir/processed/$file"); - warn "$file processed.\n" if $Debug; - } - close(RESULT); - } - - close STDOUT or die "FATAL: can't close write stream: $!"; #??! - - warn "[child-$$] child exiting" if $Debug > 1; - exit; - -} diff --git a/fs_selfservice/FS-SelfService/freeside-selfservice-soap-server b/fs_selfservice/FS-SelfService/freeside-selfservice-soap-server deleted file mode 100644 index 869a8aecc..000000000 --- a/fs_selfservice/FS-SelfService/freeside-selfservice-soap-server +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/perl -w -# -# freeside-selfservice-soap-server -# - -use strict; -use Fcntl qw(:flock); -use POSIX; -use Getopt::Std; -use SOAP::Transport::HTTP; -use FS::SelfService; - -use vars qw( $opt_p $opt_d $opt_s ); -use vars qw( $DEBUG ); - -getopts("s:p:d"); -$DEBUG = $opt_d; -my $tag = $opt_s ? $opt_s : ''; -$tag = ($opt_s ? ':' : '') . $opt_p ? ':'.$opt_p : ''; - -my $log_file = "/usr/local/freeside/selfservice.soap$tag.log"; - -my $pid = fork; -defined($pid) or die "Can't fork to start: $!"; -print "Started daemon with pid $pid\n" if $pid; -exit if $pid; - -POSIX::setsid(); -open STDIN, "/dev/null" or die "Can't get rid of STDIN"; -open STDOUT, ">/dev/null" or die "Can't get rid of STDOUT"; -open STDERR, ">&STDOUT" or die "Can't get rid of STDERR"; - -$SIG{__WARN__} = \&_logmsg; -$SIG{__DIE__} = sub { &_logmsg(@_); exit }; - -my $daemon = SOAP::Transport::HTTP::Daemon - ->new($opt_s ? (LocalAddr => $opt_s) : (), LocalPort => $opt_p ? $opt_p : 8080) - ->dispatch_to('/usr/local/freeside/SOAP/') #, 'FS::SelfService' - ->objects_by_reference('iZoomOnlineProvisionService') - ->handle; - -warn "Handling request at ", $daemon->url, "\n"; -$daemon->handle; - -sub _logmsg { - chomp( my $msg = shift ); - my $log = new IO::File ">>$log_file"; - flock($log, LOCK_EX); - seek($log, 0, 2); - print $log "[". scalar(localtime). "] [$$] $msg\n"; - flock($log, LOCK_UN); - close $log; -} diff --git a/fs_selfservice/FS-SelfService/freeside-selfservice-xmlrpc-server b/fs_selfservice/FS-SelfService/freeside-selfservice-xmlrpc-server deleted file mode 100644 index bd4f83b3c..000000000 --- a/fs_selfservice/FS-SelfService/freeside-selfservice-xmlrpc-server +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/perl -w -# -# freeside-selfservice-xmlrpc-server -# - -use strict; -use Fcntl qw(:flock); -use POSIX; -use Getopt::Std; -use XMLRPC::Transport::HTTP; -use XMLRPC::Lite; # for XMLRPC::Serializer; -use FS::SelfService::XMLRPC; - -use vars qw( $opt_p $opt_d ); -use vars qw( $DEBUG ); - -getopts("p:d"); -$DEBUG = $opt_d; -my $tag = $opt_p ? ':'.$opt_p : ''; - -my %typelookup = ( - base64 => [10, sub {$_[0] =~ /[^\x09\x0a\x0d\x20-\x7f]/}, 'as_base64'], - dateTime => [35, sub {$_[0] =~ /^\d{8}T\d\d:\d\d:\d\d$/}, 'as_dateTime'], - string => [40, sub {1}, 'as_string'], -); -my $serializer = new XMLRPC::Serializer(typelookup => \%typelookup); - -my $log_file = "/usr/local/freeside/selfservice.xmlrpc$tag.log"; - -my $pid = fork; -defined($pid) or die "Can't fork to start: $!"; -print "Started daemon with pid $pid\n" if $pid; -exit if $pid; - -POSIX::setsid(); -open STDIN, "/dev/null" or die "Can't get rid of STDIN"; -open STDOUT, ">/dev/null" or die "Can't get rid of STDOUT"; -open STDERR, ">&STDOUT" or die "Can't get rid of STDERR"; - -$SIG{__WARN__} = \&_logmsg; -$SIG{__DIE__} = sub { &_logmsg(@_); exit }; - -my $daemon = XMLRPC::Transport::HTTP::Daemon - ->new(LocalPort => $opt_p ? $opt_p : 8080) - ->dispatch_to('FS::SelfService::XMLRPC') - ->serializer($serializer); - -warn "Handling request at ", $daemon->url, "\n"; -$daemon->handle; - -sub _logmsg { - chomp( my $msg = shift ); - my $log = new IO::File ">>$log_file"; - flock($log, LOCK_EX); - seek($log, 0, 2); - print $log "[". scalar(localtime). "] [$$] $msg\n"; - flock($log, LOCK_UN); - close $log; -} diff --git a/fs_selfservice/FS-SelfService/iZoomOnlineProvisionService.pm b/fs_selfservice/FS-SelfService/iZoomOnlineProvisionService.pm deleted file mode 100644 index f4c586969..000000000 --- a/fs_selfservice/FS-SelfService/iZoomOnlineProvisionService.pm +++ /dev/null @@ -1,75 +0,0 @@ -package iZoomOnlineProvisionService; - -use strict; - -#BEGIN { push @INC, '/usr/lib/perl/5.8.8/' }; -use FS::SelfService qw( bulk_processrow check_username agent_login ); - -=begin WSDL - -_IN agent_username $string agent username -_IN agent_password $string agent password -_IN agent_custid $string customer id in agent system -_IN username $string customer service username -_IN password $string customer service password -_IN daytime $string phone number -_IN first $string first name -_IN last $string last name -_IN address1 $string address line 1 -_IN address2 $string address line 2 -_IN city $string city -_IN state $string state -_IN zip $string zip -_IN pkg $string package name -_IN action $string one of (R|P|D|S)(reconcile, provision, provision with disk, send disk) -_IN adjourn $string day to terminate service -_IN mobile $string mobile phone -_IN sms $string (T|F) acceptable to send SMS messages to mobile? -_IN ship_addr1 $string shipping address line 1 -_IN ship_addr2 $string shipping address line 2 -_IN ship_city $string shipping address city -_IN ship_state $string shipping address state -_IN ship_zip $string shipping address zip -_RETURN @string array [status, message]. status is one of OK, ERR - -=cut - -my $DEBUG = 0; - -sub Provision { - my $class = shift; - - my $session = agent_login( map { $_ => shift @_ } qw( username password ) ); - return [ 'ERR', $session->{error} ] if $session->{error}; - - my $result = - bulk_processrow( session_id => $session->{session_id}, row => [ @_ ] ); - - return $result->{error} ? [ 'ERR', $result->{error} ] - : [ 'OK', $result->{message} ]; -} - -=begin WSDL - -_IN agent_username $string agent username -_IN agent_password $string agent password -_IN username $string customer service username -_IN domain $string user domain name -_RETURN @string [OK|ERR] - -=cut -sub CheckUserName { - my $class = shift; - - my $session = agent_login( map { $_ => shift @_ } qw( username password ) ); - return [ 'ERR', $session->{error} ] if $session->{error}; - - my $result = check_username( session_id => $session->{session_id}, - map { $_ => shift @_ } qw( user domain ) - ); - - return $result->{error} ? [ 'ERR', $result->{error} ] - : [ 'OK', $result->{message} ]; -} - -1; 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. - diff --git a/fs_selfservice/drupal/admin.inc b/fs_selfservice/drupal/admin.inc deleted file mode 100644 index 1fb792516..000000000 --- a/fs_selfservice/drupal/admin.inc +++ /dev/null @@ -1,56 +0,0 @@ -<?php - -function freeside_admin() { - return drupal_get_form('freeside_admin_form'); -} - -function freeside_admin_form() { - $hostname = variable_get('freeside_hostname',''); - - $form = array( - 'freeside_hostname'=> array( - '#type' => 'textfield', - '#title' => t('Freeside server address'), - '#default_value'=>variable_get('freeside_hostname',''), - '#required'=>1, - ), - ); - - if($hostname) { - $freeside = new FreesideSelfService(); - $signup_info = $freeside->signup_info( - array( - 'keys' => array('agent') - ) - ); // no agent in this request - - $agents = array(); - foreach((array)$signup_info['agent'] as $a) { - $agents[$a['agentnum']] = $a['agent']; - } - - $form['freeside_agentnum'] = array( - '#type' => 'select', - '#title' => t('Signup agent'), - '#default_value'=>variable_get('freeside_agentnum',''), - '#required'=>1, - '#options'=> $agents, - ); - - $form['freeside_debug'] = array( - '#type' => 'checkbox', - '#title' => t('Enable debugging'), - '#default_value'=>variable_get('freeside_debug',0), - ); - - $form['freeside_redirect_after_signup'] = array( - '#type' => 'textfield', - '#title' => t('Success page (URL or Drupal path)'), - '#default_value'=>variable_get('freeside_redirect_after_signup','/'), - ); - } - - return system_settings_form($form); -} - -?> diff --git a/fs_selfservice/drupal/freeside.class.php b/fs_selfservice/drupal/freeside.class.php deleted file mode 100644 index 161156a22..000000000 --- a/fs_selfservice/drupal/freeside.class.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php - -class FreesideSelfService { - - public $URL = ''; - function FreesideSelfService() { - $this->URL = 'http://' . variable_get('freeside_hostname','') . ':8080'; - $this; - } - - public function __call($name, $arguments) { - - error_log("[FreesideSelfService] $name called, sending to ". $this->URL); - - $request = xmlrpc_encode_request("FS.ClientAPI_XMLRPC.$name", $arguments); - $context = stream_context_create( array( 'http' => array( - 'method' => "POST", - 'header' => "Content-Type: text/xml", - 'content' => $request - ))); - $file = file_get_contents($this->URL, false, $context); - $response = xmlrpc_decode($file); - if (xmlrpc_is_fault($response)) { - trigger_error("[FreesideSelfService] XML-RPC communication error: $response[faultString] ($response[faultCode])"); - } else { - //error_log("[FreesideSelfService] $response"); - return $response; - } - } - -} - -?> diff --git a/fs_selfservice/drupal/freeside.info b/fs_selfservice/drupal/freeside.info deleted file mode 100644 index 957c7b95e..000000000 --- a/fs_selfservice/drupal/freeside.info +++ /dev/null @@ -1,3 +0,0 @@ -name = Freeside -description = Freeside self-service -core = 6.x diff --git a/fs_selfservice/drupal/freeside.module b/fs_selfservice/drupal/freeside.module deleted file mode 100644 index a806e3b7d..000000000 --- a/fs_selfservice/drupal/freeside.module +++ /dev/null @@ -1,32 +0,0 @@ -<?php -// init freeside API -require('freeside.class.php'); - -// menu actions and node paths -function freeside_menu() { - $items = array(); - $items['freeside/signup'] = array( - 'title' => t('New customer'), - 'page callback' => 'freeside_signup', - 'access arguments' => array('access content'), - 'description' => t('New Customer Signup'), - 'file' => 'signup.inc', - ); - $items['admin/settings/freeside'] = array( - 'title' => t('Configure Freeside'), - 'page callback' => 'freeside_admin', - 'access arguments' => array('administer freeside'), - 'description' => t('Configure Freeside self-service'), - 'file' => 'admin.inc', - ); - return $items; -} - -// access control -function freeside_perm() { - return array( - 'administer freeside' - ); -} - -?> diff --git a/fs_selfservice/drupal/signup.inc b/fs_selfservice/drupal/signup.inc deleted file mode 100644 index b3e54f034..000000000 --- a/fs_selfservice/drupal/signup.inc +++ /dev/null @@ -1,354 +0,0 @@ -<?php -function freeside_signup() { - return drupal_get_form('freeside_signup_form'); -} - -function dkpr($var) { - /* "debug kpr": Krumo-print $var if debugging is on */ - static $debug; - if(empty($debug)) $debug = variable_get('freeside_debug',''); - if($debug) { - kpr($var); - } -} - -function signup_info($keys) { - /* local cache, because transporting the entire signup_info - through XML-RPC is incredibly slow. If you change the config, - you can flush the local cache with the "Clear cached data" - button on the Drupal "Performance" menu. */ - $cid = 'FS_signup_info'; - $info = cache_get($cid); - if($info) { - return($info->data); - } - else { - $packet = array( - 'agentnum' => variable_get('freeside_agentnum',''), - 'promo_code' => '', - 'reg_code' => '', - 'keys' => $keys, - ); - - $freeside = new FreesideSelfService(); - $freeside->clear_signup_cache(); - $info = $freeside->signup_info($packet); - cache_set($cid, $info, 'cache', CACHE_TEMPORARY); - return($info); - } -} - -function subextract($array, $key) { - // map { $_->{$key} } (...) - $out = array(); - foreach ($array as $i) { - $out[] = $i[$key]; - } - return $out; -} - -function freeside_signup_form($form_state) { - dkpr($form_state); - - $agentnum = variable_get('freeside_agentnum',''); - if( !$agentnum || !(variable_get('freeside_hostname','')) ) { - drupal_set_message(t('Freeside self-service is not yet configured.'),'error'); - return array(); - } - - $freeside = new FreesideSelfService(); - $keys = array( - // all the signup_info that we need - 'part_referral', - 'refnum', - 'emailinvoiceonly', - 'payby', - 'payby_longname', - 'part_pkg', - 'default_pkgpart', - 'signup_service', - ); - $signup_info = signup_info($keys); - dkpr($signup_info); - - $form = array(); - - $refs = $signup_info['part_referral']; - $form['refnum'] = count($refs) > 1 ? - array( - '#type' => 'select', - '#title' => t('How did you hear about us?'), - '#options'=> array_combine( - subextract($refs, 'refnum'), - subextract($refs, 'referral') - ), - '#default_value'=>$signup_info['refnum'], - ) : array ( - '#type' => 'hidden', - '#value' => $refs[0]['refnum'], - ); - - $form['contact'] = array( - '#type' => 'fieldset', - '#title' => t('Contact Information'), - 'last' => array( - '#prefix' => '<div class="container-inline">', - '#type' => 'textfield', - '#title' => t('Contact name (last, first)'), - '#size' => 20, - '#required' => 1, - ), - 'first' => array( - '#type' => 'textfield', - '#size' => 20, - '#required' => 1, - '#suffix' => '</div>', - ), - 'company' => array( - '#type' => 'textfield', - '#title' => t('Company'), - '#size' => 20, - ), - 'address1'=> array( - '#type' => 'textfield', - '#title' => t('Address'), - '#size' => 30, - '#required'=>1, - ), - 'address2'=> array( - '#type' => 'textfield', - '#size' => 30, - ), - 'city' => array( - '#prefix' => '<div class="container-inline">', - '#type' => 'textfield', - '#title' => t('City'), - '#size' => 15, - '#required'=>1, - ), - 'state' => array( - '#type' => 'textfield', - '#title' => t('State'), - '#size' => 2, - '#required'=>1, - '#default_value'=>$info['statedefault'], - ), - 'zip' => array( - '#type' => 'textfield', - '#title' => t('Zip'), - '#size' => 10, - '#required'=>1, - '#suffix' => '</div>', - ), - 'daytime' => array( - '#type' => 'textfield', - '#title' => t('Daytime Phone'), - '#size' => 18, - ), - 'night' => array( - '#type' => 'textfield', - '#title' => t('Night Phone'), - '#size' => 18, - ), - ); - - $emailinvoiceonly = $signup_info['emailinvoiceonly']; - - $form['billing'] = array( - 'invoicing_list' => array( - '#type' => 'textfield', - '#title' => t('Email invoice to'), - '#size' => '40', - '#required'=>$emailinvoiceonly, - ), - '#type' => 'fieldset', - '#title' => t('Billing Information'), - 'invoicing_list_POST' => array( - '#type' => $emailinvoiceonly ? 'hidden' : 'checkbox', - '#title' => t('Send a paper invoice'), - '#default_value' => 0, - ), - ); - - if( count($signup_info['payby']) > 1 ) { - $form['billing']['payby'] = array( - '#type' => 'select', - '#title' => t('Payment method'), - '#options'=> array_combine( - $signup_info['payby'], - $signup_info['payby_longname'] - ), - ); - } - else { - $form['billing']['payby'] = array( - '#type' => 'hidden', - '#value' => $signup_info['payby'][0], - ); - } - $form['billing']['payby_CARD'] = array( - '#type' => 'fieldset', - 'cardnum' => array( - '#prefix' => '<div class="container-inline">', - '#type' => 'textfield', - '#title' => t('Credit card number'), - '#size' => 20, - '#maxlength'=>20, - '#required'=>1, - '#suffix' => '</div>', - ), - 'expmonth' => array( - '#prefix' => '<div class="container-inline">', - '#type' => 'textfield', - '#title' => t('Expiration date'), - '#size' => 2, - '#required'=>1, - '#maxlength' => 2, - ), - 'expyear' => array( - '#field_prefix' => '/', - '#type' => 'textfield', - '#size' => 2, - '#maxlength' => 2, - '#required'=>1, - '#suffix' => '</div>', - ), - 'paycvv' => array( - '#prefix' => '<div class="container-inline">', - '#type' => 'textfield', - '#title' => 'CVV', - '#size' => 3, - '#maxlength' => 3, - '#required'=>1, - '#suffix' => '</div>', - ), - 'cardname'=> array( - '#prefix' => '<div class="container-inline">', - '#type' => 'textfield', - '#title' => t('Exact name on card'), - '#size' => 40, - '#maxlength'=>60, - '#suffix' => '</div>', - ), - ); - - $pkgs = $signup_info['part_pkg']; - $form['package'] = array( - '#type' => 'fieldset', - '#title' => t('First Package'), - 'pkgpart' => (count($pkgs) > 1 ? - array( - '#type' => 'select', - '#title' => '', - '#options'=> array_combine( - subextract($pkgs, 'pkgpart'), - subextract($pkgs, 'pkg') - ), - '#default_value'=>$signup_info['default_pkgpart'], - ) : array ( - '#type' => 'hidden', - '#value' => $pkgs[0]['pkgpart'], - ) - ), - ); - - switch($signup_info['signup_service']) { - case 'svc_acct': - $form['package'] += array( - 'username'=> array( - '#type' => 'textfield', - '#title' => t('Username'), - '#size' => 20, - '#required'=>1, - ), - 'password'=> array( - '#type' => 'password_confirm', - '#size' => 20, - '#required'=>1, - '#process'=> array('freeside_expand_password_confirm'), - ) - ); - break; - case 'svc_pbx': - break; // nothing yet implemented - } - $form['package']['pkgpart']['#default_value'] = $signup_info['default_pkgpart']; - - $form['submit'] = array( - '#type' => 'submit', - '#value' => 'Sign me up!', - ); - return $form; -} - -/* workaround for silly Drupal behavior */ -function freeside_expand_password_confirm($element) { - $element = expand_password_confirm($element); - $element['pass1']['#attributes']['value'] = $element['#value']['pass1']; - $element['pass2']['#attributes']['value'] = $element['#value']['pass2']; - return $element; -} - -function freeside_signup_form_submit($form, &$form_state) { - $freeside = new FreesideSelfService(); - $values = $form_state['values']; - dkpr($values); - - $customer = array(); - $customer['agentnum'] = variable_get('freeside_agentnum',''); - foreach( array( 'first', - 'last', - 'address1', - 'address2', - 'city', - 'state', - 'zip', - 'daytime', - 'night', - 'fax', - 'payby', - 'refnum', - 'invoicing_list', - 'pkgpart', - 'username' - ) - as $field ) { - $customer[$field] = $values[$field]; - } - if($values['invoicing_list_POST']) { - $customer['invoicing_list'] = - implode(',', array($customer['invoicing_list'], 'POST')); - } - $customer['_password'] = $values['password']; - $customer['country'] = 'US'; - if($customer['payby'] == 'CARD') { - $customer['payinfo'] = preg_replace('/\D/','',$values['cardnum']); - $customer['paydate'] = $values['expmonth'] . '/' . $values['expyear']; - $customer['payname'] = isset($values['cardname']) ? - $values['cardname'] : - ($values['first'] . ' ' . $values['last']); - $customer['paycvv'] = $values['paycvv']; - } - /* other paybys not implemented */ - - dkpr($customer); - $response = $freeside->new_customer($customer); - dkpr($response); - error_log("[new_customer] received response from Freeside: $response"); - $error = $response['error']; - - if ( $error ) { - drupal_set_message(t("Signup error: $error"), 'error'); - $form_state['redirect'] = FALSE; - } - else { - drupal_set_message(t("Signup successful!"),'status'); - $form_state['redirect'] = array( - variable_get('freeside_redirect_after_signup','/'), - //query string would go here - //'custnum='.$response['custnum'].'&svcnum='.$response['svcnum'], - ); - } -} - -?> diff --git a/fs_selfservice/fri/CHANGE.log b/fs_selfservice/fri/CHANGE.log deleted file mode 100644 index f25712b80..000000000 --- a/fs_selfservice/fri/CHANGE.log +++ /dev/null @@ -1,271 +0,0 @@ - - -Change log - 05/02/2006 - - * update of french translation (submitted by Xavier Ourcière) - -Change log - 04/28/2006 - - * changed PEAR portability flags to try and fix a bug a user is having (maybe a buggy or old version of PEAR on users machine) - * fixed no voicemail message to be more intuitive - * fixed ajax bug - * fixed German i18n translation bug (requested by Wanninger) - * fixed settings recording format bug - * fixed settings call forward bug - -Change log - 04/10/2006 - - * added autoplay of recordings (requested by Robert LaPoint) - * refactored the response from the asterisk manager interface so do not always have to strip off "value:" from the response - -Change log - 04/04/2006 - - * abstracted the doc_root (PHP_SELF) to a variable to handle cases where it is not set properly (requested by Diego Iastrubni) - * removed error message about user voicemail directory (submitted by Diego Iastrubni) - * added feature to login to allow voicemail include files with wildcards (submitted by Diego Iastrubni) - * made voicemail password length message more accurate and descriptive on settings page (submitte by Robert Colbert) - * added outbound caller id record matching for call monitor page for results returned to individual users (requested by Robert LaPoint) - * fixed AJAX bug that kept giving javascript errors. Now form, pass, and parse a full xml doc - * fixed bug in description of dial code in help settings page (submitte by Robert Colbert) - * fixed bug to disable AJAX if using a browser that does not support AJAX - * updated Italian Translation (contributed by Francesco Romano: alteclab.it) - -Change log - 03/31/2006 - - * updated Spanish Translation (contributed by Antonio Cano damas: igestec.com) - -Change log - 03/29/2006 - - * added support for voicemail.conf include files (requested by Diego Iastrubni) - * updated database connection to support sqlite (and other databases using a connect file) (requested by Diego Iastrubni) - -Change log - 03/28/2006 - - * updated for PHP5 support - * fixed bug in AJAX javascript (fix submitted by Mahmud Fatafta - voicemetro.com) - -Change log - 03/23/2006 - - * remove variable references in function calls for PHP5 support (PHP4 supports, PHP5 does not, go figure) - -Change log - 03/18/2006 - - * fixed setting page voicemail options bug (submitted by Dave Vaughn: techcompinc.com) - * fixed settings page record settings FreePBX version bug (submitted by Luca Pandolfini) - -Change log - 03/13/2006 - - * added navigation menus to ajax update - * changed voicemail password on settings page so it can be variable length (submitted by vgster) - * fixed bug with settings page check boxes - -Change log - 03/09/2006 - - * fixed bug in error reporting for asterisk config files or recording file directories missing - * fixed bug for voicemail message move to perserve permissions, group, and user - * fixed bug in .inc and .conf file security (submitted by Diego Iastrubni, François Harvey: securiweb.net, and Adam Gray: novacoast.com) - -Change log - 03/07/2006 - - * added ajax seemless page refresh to callmonitor and voicemail - * added recording playback encryption (requested by François Harvey: securiweb.net) - * added ajax page refresh for voicemail and callmonitor (will seemlessly update page realtime) - * fixed bug in file permissions when a voicemail was moved (submitted by ?) - -Change log - 02/22/2006 - - * added filter to not load code not needed if a module is not loaded (submitted by Diego Iastrubni) - * refactored asterisk manager interface class to not require password lookup in common and asi files - * fixed module admin bug (submitted by serger) - -Change log - 02/14/2006 - - * added callmonitor duration filter to filter out short length calls (sponsored by John Cardner, Phonoscope, Inc) - -Change log - 02/09/2006 - - * added voicemail email and pager settings - * more rework of callmonitor recording match to handle large volumes of recordings (sponsored by John Cardner, Phonoscope, Inc) - -Change log - 02/07/2006 - - * added check for PHP PEAR installation - * added check for proper communication with the Asterisk Manager - * fixed class coding standard (ie ClassName) - * fixed method coding standard (ie methodName) - * fixed variable coding standard (ie variable_name) - * fixed constant coding standard (ie CONSTANT_NAME) - * added config option for voicemail password length (submitted by Chuck Bunn) - - set with $SETTINGS_VOICEMAIL_PASSWORD_LENGTH in /includes/main.conf - * added voicemail audio format admin option in settings page (submitted by Chuck Bunn) - - set with $ARI_VOICEMAIL_AUDIO_FORMAT_DEFAULT in /includes/main.conf - * fixed bug to separate voicemail password set in settings page (submitted by Chuck Bunn) - -Change log - 02/05/2006 - - * added call forward setting - * added Hebrew Translation (submitted by Diego Iastrubni) - * fixed i18n translation best practices and bugs (submitted by Diego Iastrubni) - * fixed voicemail message move bug (submitted by Steve Davies) - * fixed voicemail folder creation permissions issue (submitted by Steve Davies) - -Change log - 01/31/2006 - - * added help page - * added file lookup limiting code to prevent hanging when extremely large numbers of files are found in a directory - * added database type global variable - -Change log - 01/26/2006 - - * added php 4 or later version checking - * fixed php pre 4.3 version compatability - * fixed buy in call manager file matching recursively searching directories (submitted by Adrian Carter) - -Change log - 01/20/2006 - - * added call monitor aggressive matching option - -Change log - 01/18/2006 - - * added Hungarian Translation (submitted by Diego Imre Csaba Varasdy) - * fixed bug for Asterisk Manager change in Asterisk 1.2 - -Change log - 01/12/2006 - - * added column sort to voicemail page (requested by Diego Elias Sofronas) - * added column sort to call monitor page (requested by Elias Sofronas) - * added i18n lang select to login page (requested by Diego Iastrubni) - -Change log - 12/09/2005 - - * another fix to the on-demand call monitor recordings (submitted by Blake Krone) - -Change log - 12/09/2005 - - * fix to recognize on-demand call monitor recordings (identified as auto-...) (submitted by Francesco Romano, Antonio Cano Damas, and Jason P. Meyer) - * added German Translation (submitted by Till Stoermer) - -Change log - 12/07/2005 - - * fixed search bug (submitted by Francesco Romano) - * fixed formating bugs - -Change log - 12/01/2005 - - * fix delete, move_to, and forward_to voicemail buttons for i18n translations - * fix delete call monitor button for i18n translations - * fix call monitor file matching problem if call time is a second or two later than time recorded in database log (submitted by Will Prater, Steve D, and others) - * changed to get call recording settings from asterisk and not the mysql database to support ARI standalone - * fix i18n for recording popup (submitted by Antonio Cano Damas) - * added search for voicemail - * added class to handle Asterisk Manager Interface (phpagi-asmanager.php would need error handling added) - * moved i18n language functions to own file so can support i18n in recording popup - * added Italian (submitted by Francesco Romano) - * updated Spanish translation (submitted by Antonio Cano Damas) - * fixed bugs in standalone code (sponsored by Hugh Buitano and also submitted by John Biundo) - * fixed logo (submitted by John Biundo) - * cleaned up css for misc/audio.php - -Change log - 11/17/2005 - - * added protocol multi-config_file (iax,sip,zap) support (sponsored by Hugh Buitano, Infosecure Systems) - * add global variables for asterisk and asteriskcdr database hosts and names (sponsored by Hugh Buitano, Infosecure Systems) - * added French translation (submitted by Joachim Buron-Pilatre, Phileas Com) - * fixed bug (submitted by Joachim Buron-Pilatre, Phileas Com) - -Change log - 11/13/2005 - - * refactored login context support - * added voicemail context support (submitted by Todd Courtnage) - * fixed voicemail sub nav folders to allow i18n translation (submitted by Elias Sofronas) - * fixed voicemail finding messages in different contexts (sponsored by Brian Connelly, Connelly Management) - -Change log - 11/09/2005 - - * fixed utf-8 translation in Greek (submitted by Elias Sofronas) - * added admin only access to specific modules (submitted by Julian J. M.) - * rework handler module code so that each module is only build one time - * added download message link on recording playback popup (sponsored by John Cardner, Phonoscope, Inc) - * converted i18n translation to utf-8 (submitted by Niklas Larsson and Elias Sofronas) - * fix more bugs in i18n translation (submitted by Niklas Larsson) - * fixed security bug that allowed access to all files (Edwin Eefting, syn-3.nl) - -Change log - 11/04/2005 - - * fixed bug to reload asterisk voicemail after voicemail password setting change (submitted by Jason Becker) - -Change log - 11/03/2005 - - * Highlight which voicemail sub-folder in use (submitted by Elias Sofronas) - * set default i18n page (suggested by Niklas Larsson) - * admin only account for call monitor (submitted by Julian J. M.) - * enhanced pattern matching call monitor unique id from database (submitted by Julian J. M.) - * updated Spanish translation (submitted by Diego Iastrubni) - * added Swedish translation (submitted by Niklas Larsson) - * added Greek translation (submitted by Elias Sofronas) - * fixed bug in call recording settings method (changed in AMP 1.10.009) - * fix bugs in i18n translation (submitted by Niklas Larsson) - - buttons, left menus, select all | none, Call Monitor (heading), Login page. - -Change log - 10/21/2005 - - * fixed bug in voicemail navigation (submitted by Elias Sofronas) - * added version cleanup - * added Spanish translation (submitted by Susana Castillo) - * added Portuguese translation (submitted by Alejandro Duplat) - * added admin setting for call recording - -Change log - 09/30/2005 - - * added i18n language support - * fixed bug if no folder or extension was selected and "move_to" or - "forward_to" clicked (bug submitted by Elias Sofronas) - * converted modules to a OO plugin architecture - * added version to footer - * add theme customization - * added recording type support (.WAV, .GSM) on settings page - * fixed bug to find call recording files better (patch submitted by Mark Voevodin) - * fixed bug for navigation and search controls to link to correct folder (bug submitted by Elias Sofronas) - * added voicemail password change to settings page - * added call monitor delete recording functionality (does not delete database entry) - * added call recording settings on settings page - -Change log - 09/15/2005 - - * added settings page - * added call monitor record options on settings page - * fixed bug to view src and dst calls in call monitor when restricted (submitted by Elias Sofronas and Thomas Stalder) - -Change log - 08/25/2005 - - * added SIP authentication login (this does not allow voicemail access) - * added persistent passwords (cookies) - * added encryption for cookies - -Change log - 08/23/2005 - - * Fixed $_SESSION['user'] bug conflict with AMP - -> changed to $_SESSION['ari_user'] - * Fixed recording file lookup bug. - -Change log - 08/16/2005 - - * Fixed formating bug in css - * Added multipath to call monitor recordings - - set with $asterisk_callmonitor_path in /includes/main.conf - * added authentication - - use voicemail password - - access mailbox voicemail - - access call monitor for mailbox - - use AMP password - - access call monitor for all users - - config to allow voicemail to have call monitor access to all users - * voicemail access - - search of mailbox - - easy to delete voicemail interface - - move voicemail interface - - forward voicemail interface - - - -
\ No newline at end of file diff --git a/fs_selfservice/fri/LICENSE.txt b/fs_selfservice/fri/LICENSE.txt deleted file mode 100644 index c09b19cdd..000000000 --- a/fs_selfservice/fri/LICENSE.txt +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -ERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/fs_selfservice/fri/README.txt b/fs_selfservice/fri/README.txt deleted file mode 100644 index 2e3b9088f..000000000 --- a/fs_selfservice/fri/README.txt +++ /dev/null @@ -1,123 +0,0 @@ -Developed by Dan Littlejohn of Littlejohn Consulting. - www.littlejohnconsulting.com - -Released under the GPL. - -Send bug reports, requests to dan@littlejohnconsulting.com - -+++ - -Misc notes - -ARI Project Page - www.littlejohnconsulting.com?q=ari - -Coding standard - * class - CamelCase (ie ClassName) - * method camelCase (ie methodName) - * variable underscore (ie variable_name) - * constant UNDERSCORE (ie CONSTANT_NAME) - -Requirements - PHP4 (but PHP5 is not yet supported) - PHP PEAR - asterisk 1.2 or later - apache or apache2 - asterisk manager - at a mininum need command access - -security - for security all the files in ./recordings/include should be locked down in the web browser - so they cannot be viewed. - -voicemail email links - For those who would like to include a link to ARI in the voicemail email and set the correct login (mailbox) you can do so as: - - http://< ip address >/recordings/index.php?login=< login > - - replace - < ip address > with the server dns or ip - < login > with the login or mailbox - -+++ - -Module API - -odules can be added or removed from ARI. - -API - -must include these methods. - -rank - weights were the module menu item will appear in the navigation window -init - initialize the module. Database access should first appear here and not in the constructor -navMenu - side navigation menu item -display - main module page content - -example - -<?php - -/** - * @file - * Functions for the interface to the help page - */ - -/** - * Class for new_module - */ -class NewModule { - - /* - * rank (for prioritizing modules) - */ - function rank() { - - $rank = 50; - return $rank; - } - - /* - * init - */ - function init() { - } - - /* - * Adds menu item to nav menu - * - * @param $args - * Common arguments - */ - function navMenu($args) { - - // put if statement in return string, because do not know $logout until page is built - $ret .= " - <?php if ($logout !='') { ?> - <p><small><small><a href='" . $_SERVER['PHP_SELF'] . "?m=NewModule&f=display'>" . _("new_module") . "</a></small></small></p> - <?php } ?>"; - - return $ret; - } - - /* - * Displays stats page - * - * @param $args - * Common arguments - */ - function display($args) { - - // build page content - $ret .= checkErrorMessage(); - - $ret .= $display->displayHeaderText("new_module"); - $ret .= $display->displayLine(); - - return $ret; - } - -} - - -?> - - diff --git a/fs_selfservice/fri/includes/ajax.php b/fs_selfservice/fri/includes/ajax.php deleted file mode 100644 index fc7961b08..000000000 --- a/fs_selfservice/fri/includes/ajax.php +++ /dev/null @@ -1,132 +0,0 @@ -<?php - -/* - * AJAX page update script - */ -function ajaxRefreshScript($args) { - - global $AJAX_PAGE_REFRESH_TIME; - - $url_args = "?ajax_refresh=1&"; - foreach($args as $key => $value) { - $url_args .= $key . "=" . $value . "&"; - } - $url_args = substr($url_args, 0,strlen($url_args)-1); - - $ret = " - <script type='text/javascript' language='javascript'> - - var http_request = false; - - function makeRequest(url, parameters) { - - http_request = false; - - if (window.XMLHttpRequest) { // Mozilla, Safari,... - http_request = new XMLHttpRequest(); - if (http_request.overrideMimeType) { - http_request.overrideMimeType('text/xml'); - } - } - else if (window.ActiveXObject) { // IE - try { - http_request = new ActiveXObject('Msxml2.XMLHTTP'); - } - catch (e) { - try { - http_request = new ActiveXObject('Microsoft.XMLHTTP'); - } - catch (e) {} - } - } - if (!http_request) { - return false; - } - http_request.onreadystatechange = alertContents; - http_request.open('GET', url + parameters, true); - http_request.send(null); - } - - function alertContents() { - - if (!http_request) { - return; - } - - if (http_request.readyState == 4) { - if (http_request.status == 200) { - - var result = http_request.responseXML; - if (!result.documentElement && http_request.responseStream) { - result.load(http_request.responseStream); - } - - var response = http_request.responseXML.documentElement; - - var nav_menu = ''; - if (response.getElementsByTagName('nav_menu')[0]) { - nav_menu = response.getElementsByTagName('nav_menu')[0].firstChild.data; - } - var nav_submenu = ''; - if (response.getElementsByTagName('nav_submenu')[0]) { - nav_submenu = response.getElementsByTagName('nav_submenu')[0].firstChild.data; - } - var content = ''; - if (response.getElementsByTagName('content')[0]) { - content = response.getElementsByTagName('content')[0].firstChild.data; - } - - if (nav_menu) { - document.getElementById('nav_menu').innerHTML = ''; - document.getElementById('nav_menu').innerHTML = nav_menu; - } - if (nav_submenu) { - document.getElementById('nav_submenu').innerHTML = ''; - document.getElementById('nav_submenu').innerHTML = nav_submenu; - } - if (content) { - document.getElementById('content').innerHTML = ''; - document.getElementById('content').innerHTML = content; - } - } - } - } - - function updatePage() { - makeRequest('" . $_SESSION['ARI_ROOT'] . "', '" . $url_args . "'); - } - - // refresh time in 'minutes:seconds' (0 to inifinity) : (0 to 59) - var refresh_time='" . $AJAX_PAGE_REFRESH_TIME . "'; - - if (document.images){ - var limit=refresh_time.split(\":\"); - limit=limit[0]*60+limit[1]*1; - var current = limit; - } - - function beginRefresh(){ - - if (!document.images) { - return; - } - if (current==1) { - updatePage(); - current = limit; - } - else { - current-=1; - } - - setTimeout(\"beginRefresh()\",1000); - } - - window.onload=beginRefresh; - - </script>"; - - return $ret; -} - - -?>
\ No newline at end of file diff --git a/fs_selfservice/fri/includes/asi.php b/fs_selfservice/fri/includes/asi.php deleted file mode 100644 index 62f221e2f..000000000 --- a/fs_selfservice/fri/includes/asi.php +++ /dev/null @@ -1,156 +0,0 @@ -<?php - -/** - * @file - * Asterisk manager interface for access to asterisk api (astdb) - */ - -/** - * Asterisk Manager Interface - */ -class AsteriskManagerInterface { - - var $socket; - - /** - * constructor - */ - function AsteriskManagerInterface() { - } - - /* - * Reloads Asterisk Configuration - * - * @param $username - * asterisk manager interface username - * @param $password - * asterisk manager interface password - */ - function connect($host,$username,$password) { - - // connect - $fp = fsockopen($host, 5038, $errno, $errstr, 10); - if (!$fp) { - return FALSE; - } - else { - $buffer=''; - if(version_compare(phpversion(), '4.3', '>=')) { - stream_set_timeout($fp, 5); - } - else { - socket_set_timeout($fp, 5); - } - $buffer = fgets($fp); - if (!preg_match('/Asterisk Call Manager/i', $buffer)) { - $_SESSION['ari_error'] = _("Asterisk Call Manager not responding") . "<br />\n"; - return FALSE; - } - else { - $out="Action: Login\r\nUsername: ".$username."\r\nSecret: ".$password."\r\n\r\n"; - fwrite($fp,$out); - $buffer=fgets($fp); - if ($buffer!="Response: Success\r\n") { - $_SESSION['ari_error'] = _("Asterisk authentication failed:") . "<br />" . $buffer . "<br />\n"; - return FALSE; - } - else { - $buffers=fgets($fp); // get rid of Message: Authentication accepted - - // connected - $this->socket = $fp; - } - } - } - return TRUE; - } - - /* - * Reloads Asterisk Configuration - */ - function disconnect() { - - if ($this->socket) { - fclose($this->socket); - } - } - - /* - * Reloads Asterisk Configuration - * - * @param $command - * Command to be sent to the asterisk manager interface - * @return $ret - * response from asterisk manager interface - */ - function command($command) { - - $response = ''; - - fwrite($this->socket,$command); - - $count = 0; - while (($buffer = fgets($this->socket)) && (!preg_match('/Response: Follows/i', $buffer))) { - - if ($count>100) { - $_SESSION['ari_error'] = _("Asterisk command not understood") . "<br />" . $buffer . "<br />\n"; - return FALSE; - } - $count++; - } - - $count = 0; - while (($buffer = fgets($this->socket)) && (!preg_match('/END COMMAND/i', $buffer))) { - - if (preg_match('/Value/',$buffer)) { - $parts = split(' ',trim($buffer)); - $response = $parts[1]; - } - - if ($count>100) { - $_SESSION['ari_error'] = _("Asterisk command not understood") . "<br />" . $buffer . "<br />\n"; - return; - } - $count++; - } - - return $response; - } - - function command2($command) { - - $response = ''; - - fwrite($this->socket,$command); - - $count = 0; - while (($buffer = fgets($this->socket)) && (!preg_match('/Response: Follows/i', $buffer))) { - - if ($count>100) { - $_SESSION['ari_error'] = _("Asterisk command not understood") . "<br />" . $buffer . "<br />\n"; - return FALSE; - } - $count++; - } - - $count = 0; - while (($buffer = fgets($this->socket)) && (!preg_match('/END COMMAND/i', $buffer))) { - - if (preg_match('/Value:/',$buffer)) { - $parts = split('Value:',trim($buffer)); - $response = $parts[1]; - } - if ($count>100) { - $_SESSION['ari_error'] = _("Asterisk command not understood") . "<br />" . $buffer . "<br />\n"; - return; - } - $count++; - } - - return $response; - } - -} - - -?>
\ No newline at end of file diff --git a/fs_selfservice/fri/includes/bootstrap.php b/fs_selfservice/fri/includes/bootstrap.php deleted file mode 100644 index a01a2f5c8..000000000 --- a/fs_selfservice/fri/includes/bootstrap.php +++ /dev/null @@ -1,315 +0,0 @@ -<?php - -/** - * @file - * Functions that need to be loaded on every request. - */ - -/** - * Sets doc root - */ -function setARIRoot() { - - $found = 0; - if (isset($_SERVER['PHP_SELF'])) { - if ($_SERVER['PHP_SELF']!='') { - $_SESSION['ARI_ROOT'] = $_SERVER['PHP_SELF']; - } - } - - if (!$found) { - $_SESSION['ARI_ROOT'] = "index.php"; - } -} - -/** - * Return a arguments. - * - * @param $args - * The name of the array being acted upon. - * @param $name - * The name of the variable to return. - * @return - * The value of the variable. - */ -function getArgument($args, $name) { - - return isset($args[$name]) ? $args[$name] : ''; -} - -/* - * Gets top level directory names - * - * @param $path - * directory to search - * @param $filter - * string to use as a filter to match files to return - * @return $directories - * directories found - */ -function getDirectories($path,$filter) { - - $directories = array(); - - if (is_dir($path)) { - - $dh = opendir($path); - while (false!== ($item = readdir($dh))) { - if($item!="." && $item!="..") { - - $path = fixPathSlash($path); - $directory = $path; - $directory = appendPath($directory,$item); - - if (is_dir($directory)) { - - $found = 0; - if ($filter) { - if (strpos($directory,$filter)) { - $found = 1; - } - } else { - $found = 1; - } - if ($found) { - $directories[count($directories) + 1] = $directory; - } - } - } - } - } - - return $directories; -} - -/* - * Gets file names recursively 6 folders deep - * - * @param $path - * directory to search - * @param $filter - * string to use as a filter to match files to return - * @param $recursive_max - * max number of sub folders to search - * @param $recursive_count - * current sub folder count - * @return $files - * files found - */ -function getFiles($path,$filter,$recursive_max,$recursive_count) { - - $files = array(); - - if (@is_dir($path) && @is_readable($path)) { - $dh = opendir($path); - while (false!== ($item = readdir($dh))) { - if($item[0]!=".") { - - $path = fixPathSlash($path); - $msg_path = appendPath($path,$item); - - $fileCount++; - if ($fileCount>3000) { - $_SESSION['ari_error'] - .= _("To many files in $msg_path Not all files processed") . "<br>"; - return; - } - - if ($recursive_count<$recursive_max && is_dir($msg_path)) { - - $dirCount++; - if ($dirCount>10) { - $_SESSION['ari_error'] - .= sprintf(_("To many directories in %s Not all files processed"),$msg_path) . "<br>"; - return; - } - - $count = $recursive_count + 1; - $path_files = getFiles($msg_path,$filter,$recursive_max,$count); - $files = array_merge($files,$path_files); - } - else { - $found = 0; - if ($filter) { - if (strpos($msg_path,$filter)) { - $found = 1; - } - } else { - $found = 1; - } - if ($found) { - $files[count($files) + 1] = $msg_path; - } - } - } - } - } - - return $files; -} - -/* Utilities */ - -/** - * Fixes the path for a trailing slash - * - * @param $path - * path to append - * @return $ret - * path to returned - */ -function fixPathSlash($path) { - - $ret = $path; - - $slash = ''; - if (!preg_match('/\/$/',$path)) { - $slash = '/'; - } - $ret .= $slash; - - return $ret; -} - -/** - * Appends folder to end of path - * - * @param $path - * path to append - * @param $folder - * folder to append to path - * @return $ret - * path to returned - */ -function appendPath($path,$folder) { - - $ret = $path; - - $m = ''; - if (!preg_match('/\/$/',$path)) { - $m = '/'; - } - $ret .= $m . $folder; - - return $ret; -} - -/** - * Get Date format - * - * @param $timestamp - * timestamp to be converted - */ -function getDateFormat($timestamp) { - return date('Y-m-d', $timestamp); -} - -/** - * Get time format - * - * @param $timestamp - * timestamp to be converted - */ -function getTimeFormat($timestamp) { - return date('G:i:s', $timestamp); -} - -/* */ - -/** - * Checks ARI dependencies - */ -function checkDependencies() { - - // check for PHP - if (!version_compare(phpversion(), '4.3', '>=')) { - echo _("ARI requires a version of PHP 4.3 or later"); - exit(); - } - - // check for PEAR - $include_path = ini_get('include_path'); - $buf = split(':|,',$include_path); - - $found = 0; - foreach ($buf as $path) { - $path = fixPathSlash($path); - $pear_check_path = $path . "DB.php"; - if (is_file($pear_check_path)) { - $found = 1; - break; - } - } - - if (!$found) { - echo _("PHP PEAR must be installed. Visit http://pear.php.net for help with installation."); - exit(); - } -} - -/** - * Starts the session - */ -function startARISession() { - - if (!isset($_SESSION['ari_user']) ) { - - // start a new session for the user - ini_set('session.name', 'ARI'); // prevent session name clashes - ini_set('session.gc_maxlifetime', '3900'); // make the session timeout a long time - set_time_limit(360); - session_start(); - } -} - -/** - * Bootstrap - * - * Loads critical variables needed for every page request - * - */ -function bootstrap() { - - // set error reporting - error_reporting (E_ALL & ~ E_NOTICE); -} - -/** - * Set HTTP headers in preparation for a page response. - * - * TODO: Figure out caching - */ -function ariPageHeader() { - - bootstrap(); -} - -/** - * Perform end-of-request tasks. - * - * This function sets the page cache if appropriate, and allows modules to - * react to the closing of the page by calling hook_exit(). - */ -function ariPageFooter() { - -} - -/** - * Includes and run functions - */ - -include_once("./includes/lang.php"); -$language = new Language(); -$language->set(); - -checkDependencies(); -startARISession(); -setARIRoot(); - -include_once("./includes/main.conf.php"); -include_once("./version.php"); -include_once("./includes/crypt.php"); -include_once("./includes/login.php"); - - -?> diff --git a/fs_selfservice/fri/includes/common.php b/fs_selfservice/fri/includes/common.php deleted file mode 100644 index 87f202638..000000000 --- a/fs_selfservice/fri/includes/common.php +++ /dev/null @@ -1,434 +0,0 @@ -<?php - -/** - * @file - * common functions - core handler - */ - -/* - * Checks if user is set and sets - */ -function checkErrorMessage() { - - if ($_SESSION['ari_error']) { - $ret .= "<div class='error'> - " . $_SESSION['ari_error'] . " - </div> - <br>"; - unset($_SESSION['ari_error']); - } - - return $ret; -} - -/* - * Checks modules directory, and configuration, and loaded modules - */ -function loadModules() { - - global $ARI_ADMIN_MODULES; - global $ARI_DISABLED_MODULES; - - global $loaded_modules; - - $modules_path = "./modules"; - if (is_dir($modules_path)) { - - $filter = ".module"; - $recursive_max = 1; - $recursive_count = 0; - $files = getFiles($modules_path,$filter,$recursive_max,$recursive_count); - - foreach($files as $key => $path) { - - // build module object - include_once($path); - $path_parts = pathinfo($path); - list($name,$ext) = split("\.",$path_parts['basename']); - - // check for module and get rank - if (class_exists($name)) { - - $module = new $name(); - - // check if admin module - $found = 0; - if ($ARI_ADMIN_MODULES) { - $admin_modules = split(',',$ARI_ADMIN_MODULES); - foreach ($admin_modules as $key => $value) { - if ($name==$value) { - $found = 1; - break; - } - } - } - - // check if disabled module - $disabled = 0; - if ($ARI_DISABLED_MODULES) { - $disabled_modules = split(',',$ARI_DISABLED_MODULES); - foreach ($disabled_modules as $key => $value) { - if ($name==$value) { - $disabled = 1; - break; - } - } - } - - // if not admin module or admin user add to module name to array - if (!$disabled && (!$found || $_SESSION['ari_user']['admin'])) { - $loaded_modules[$name] = $module; - } - } - } - } - else { - $_SESSION['ari_error'] = _("$path not a directory or not readable"); - } -} - -/** - * Builds database connections - */ -function databaseLogon() { - - global $STANDALONE; - - global $ASTERISKMGR_DBHOST; - - global $AMP_FUNCTIONS_FILES; - global $AMPORTAL_CONF_FILE; - - global $LEGACY_AMP_DBENGINE; - global $LEGACY_AMP_DBFILE; - global $LEGACY_AMP_DBHOST; - global $LEGACY_AMP_DBNAME; - - global $ASTERISKCDR_DBENGINE; - global $ASTERISKCDR_DBFILE; - global $ASTERISKCDR_DBHOST; - global $ASTERISKCDR_DBNAME; - - global $ARI_DISABLED_MODULES; - - global $loaded_modules; - - // This variable is a global in the FreePBX function.inc.php but needs to be - // declared here or the is not seen when parse_amprotaconf() is eventually called - // ?php bug? - // - global $amp_conf_defaults; - - // get user - if ($STANDALONE['use']) { - - $mgrhost = $ASTERISKMGR_DBHOST; - $mgruser = $STANDALONE['asterisk_mgruser']; - $mgrpass = $STANDALONE['asterisk_mgrpass']; - - $asteriskcdr_dbengine = $ASTERISKCDR_DBENGINE; - $asteriskcdr_dbfile = $ASTERISKCDR_DBFILE; - $asteriskcdr_dbuser = $STANDALONE['asteriskcdr_dbuser']; - $asteriskcdr_dbpass = $STANDALONE['asteriskcdr_dbpass']; - $asteriskcdr_dbhost = $ASTERISKCDR_DBHOST; - $asteriskcdr_dbname = $ASTERISKCDR_DBNAME; - } - else { - - $include = 0; - $files = split(';',$AMP_FUNCTIONS_FILES); - foreach ($files as $file) { - if (is_file($file)) { - include_once($file); - $include = 1; - } - } - - if ($include) { - $amp_conf = parse_amportal_conf($AMPORTAL_CONF_FILE); - - $mgrhost = $ASTERISKMGR_DBHOST; - $mgruser = $amp_conf['AMPMGRUSER']; - $mgrpass = $amp_conf['AMPMGRPASS']; - - $amp_dbengine = isset($amp_conf["AMPDBENGINE"]) ? $amp_conf["AMPDBENGINE"] : $LEGACY_AMP_DBENGINE; - $amp_dbfile = isset($amp_conf["AMPDBFILE"]) ? $amp_conf["AMPDBFILE"] : $LEGACY_AMP_DBFILE; - $amp_dbuser = $amp_conf["AMPDBUSER"]; - $amp_dbpass = $amp_conf["AMPDBPASS"]; - $amp_dbhost = isset($amp_conf["AMPDBHOST"]) ? $amp_conf["AMPDBHOST"] : $LEGACY_AMP_DBHOST; - $amp_dbname = isset($amp_conf["AMPDBNAME"]) ? $amp_conf["AMPDBNAME"] : $LEGACY_AMP_DBNAME; - - $asteriskcdr_dbengine = $ASTERISKCDR_DBENGINE; - $asteriskcdr_dbfile = $ASTERISKCDR_DBFILE; - $asteriskcdr_dbuser = $amp_conf["AMPDBUSER"]; - $asteriskcdr_dbpass = $amp_conf["AMPDBPASS"]; - $asteriskcdr_dbhost = $ASTERISKCDR_DBHOST; - $asteriskcdr_dbhost = isset($amp_conf["AMPDBHOST"]) ? $amp_conf["AMPDBHOST"] : $ASTERISKCDR_DBHOST; - $asteriskcdr_dbname = $ASTERISKCDR_DBNAME; - - unset($amp_conf); - } - } - - // asterisk manager interface (berkeley database I think) - global $asterisk_manager_interface; - $asterisk_manager_interface = new AsteriskManagerInterface(); - - $success = $asterisk_manager_interface->Connect($mgrhost,$mgruser,$mgrpass); - if (!$success) { - $_SESSION['ari_error'] = - _("ARI does not appear to have access to the Asterisk Manager.") . " ($errno)<br>" . - _("Check the ARI 'main.conf.php' configuration file to set the Asterisk Manager Account.") . "<br>" . - _("Check /etc/asterisk/manager.conf for a proper Asterisk Manager Account") . "<br>" . - _("make sure [general] enabled = yes and a 'permit=' line for localhost or the webserver."); - return FALSE; - } - - // pear interface databases - $db = new Database(); - - // AMP asterisk database - if (!$STANDALONE['use']) { - $_SESSION['dbh_asterisk'] = $db->logon($amp_dbengine, - $amp_dbfile, - $amp_dbuser, - $amp_dbpass, - $amp_dbhost, - $amp_dbname); - if (!isset($_SESSION['dbh_asterisk'])) { - $_SESSION['ari_error'] .= _("Cannot connect to the $amp_dbname database") . "<br>" . - _("Check AMP installation, asterisk, and ARI main.conf"); - return FALSE; - } - } - - // cdr database - if (in_array('callmonitor',array_keys($loaded_modules))) { - $_SESSION['dbh_cdr'] = $db->logon($asteriskcdr_dbengine, - $asteriskcdr_dbfile, - $asteriskcdr_dbuser, - $asteriskcdr_dbpass, - $asteriskcdr_dbhost, - $asteriskcdr_dbname); - if (!isset($_SESSION['dbh_cdr'])) { - $_SESSION['ari_error'] .= sprintf(_("Cannot connect to the $asteriskcdr_dbname database"),$asteriskcdr_dbname) . "<br>" . - _("Check AMP installation, asterisk, and ARI main.conf"); - return FALSE; - } - } - - return TRUE; -} - -/** - * Logout if needed for any databases - */ -function databaseLogoff() { - - global $asterisk_manager_interface; - - $asterisk_manager_interface->Disconnect(); -} - -/* - * Checks if user is set and sets - */ -function loginBlock() { - - $login = new Login(); - - if (isset($_REQUEST['logout'])) { - $login->Unauth(); - } - - if (!isset($_SESSION['ari_user'])) { - $login->Auth(); - - } - - if (!isset($_SESSION['ari_user'])) { - - // login form - $ret .= $login->GetForm(); - - return $ret; - } -} - -/* - * Main handler for website - */ -function handleBlock() { - - global $ARI_NO_LOGIN; - - global $loaded_modules; - - // check errors here and in login block - $content .= checkErrorMessage(); - - // check logout - if ($_SESSION['ari_user'] && !$ARI_NO_LOGIN) { - $logout = 1; - } - - // if nothing set goto user default page - if (!isset($_REQUEST['m'])) { - $_REQUEST['m'] = $_SESSION['ari_user']['default_page']; - } - // if not function specified then use display page function - if (!isset($_REQUEST['f'])) { - $_REQUEST['f'] = 'display'; - } - - $m = $_REQUEST['m']; // module - $f = $_REQUEST['f']; // function - $a = $_REQUEST['a']; // action - - // set arguments - $args = array(); - foreach($_REQUEST as $key => $value) { - $args[$key] = $value; - } - - // set rank - $ranked_modules = array(); - foreach ($loaded_modules as $module) { - - $module_methods = get_class_methods($module); // note that PHP4 returns all lowercase - while (list($index, $value) = each($module_methods)) { - $module_methods[strtolower($index)] = strtolower($value); - } - reset($module_methods); - - $rank = 99999; - $rank_function = "rank"; - if (in_array(strtolower($rank_function), $module_methods)) { - $rank = $module->$rank_function(); - } - - $ranked_modules[$rank] = $module; - } - ksort($ranked_modules); - - // process modules - foreach ($ranked_modules as $module) { - - // process module - $name = get_class($module); // note PHP4 returns all lowercase - $module_methods = get_class_methods($module); // note PHP4 returns all lowercase - while (list($index, $value) = each($module_methods)) { - $module_methods[strtolower($index)] = strtolower($value); - } - reset($module_methods); - - // init module - $module->init(); - - // add nav menu items - $nav_menu_function = "navMenu"; - if (in_array(strtolower($nav_menu_function), $module_methods)) { - $nav_menu .= $module->$nav_menu_function($args); - } - - if (strtolower($m)==strtolower($name)) { - - // build sub menu - $subnav_menu_function = "navSubMenu"; - if (in_array(strtolower($subnav_menu_function), $module_methods)) { - $subnav_menu .= $module->$subnav_menu_function($args); - } - - // execute function (usually to build content) - if (in_array(strtolower($f), $module_methods)) { - $content .= $module->$f($args); - } - } - } - - // add logout link - if ($logout != '') { - $nav_menu .= "<p><small><small><a href='" . $_SESSION['ARI_ROOT'] . "?logout=1'>" . _("Logout") . "</a></small></small></p>"; - } - - // error message if no content - if (!$content) { - $content .= _("Page Not Found."); - } - - return array($nav_menu,$subnav_menu,$content); -} - -/* - * Main handler for website - */ -function handler() { - - global $ARI_VERSION; - - // version - $ari_version = $ARI_VERSION; - - // check error - $error = $_SESSION['ari_error']; - - // load modules - loadModules(); - - // login to database - $success = databaseLogon(); - if ($success) { - - // check if login is needed - $content = loginBlock(); - if (!isset($content)) { - list($nav_menu,$subnav_menu,$content) = handleBlock(); - } - } - else { - - $display = new Display(); - - $content .= $display->displayHeaderText("ARI"); - $content .= $display->displayLine(); - $content .= checkErrorMessage(); - } - - // log off any databases needed - databaseLogoff(); - - // check for ajax request and refresh or if not build the page - if (isset($_REQUEST['ajax_refresh']) ) { - - echo "<?xml version='1.0' encoding='UTF-8' standalone='yes'?> - <response> - <nav_menu><![CDATA[" . $nav_menu . "]]></nav_menu> - <subnav_menu><![CDATA[" . $subnav_menu . "]]></subnav_menu> - <content><![CDATA[" . $content . "]]></content> - </response>"; - } - else { - - // build the page - include_once("./theme/page.tpl.php"); - } -} - -/** - * Includes and run functions - */ - -// create asterisk manager interface singleton -$asterisk_manager_interface = ''; - -// array to keep track of loaded modules -$loaded_modules = array(); - -include_once("./includes/asi.php"); -include_once("./includes/database.php"); -include_once("./includes/display.php"); -include_once("./includes/ajax.php"); - -include_once("./includes/freeside.class.php"); - -?> diff --git a/fs_selfservice/fri/includes/crypt.php b/fs_selfservice/fri/includes/crypt.php deleted file mode 100644 index 301d8a840..000000000 --- a/fs_selfservice/fri/includes/crypt.php +++ /dev/null @@ -1,81 +0,0 @@ -<?php - -/* - * Allows encrypt and decrypt - */ -class Crypt { - - /** - * Gets a random value for encryption - * - From php.net docs - * - * @param $iv_len - * length of random variable - */ - function getRndIV($iv_len) { - - $iv = ''; - while ($iv_len-- > 0) { - $iv .= chr(mt_rand() & 0xff); - } - return $iv; - } - - /** - * Encrypts string - * - From php.net docs - * - * @param $str - * string to encrypt - * @param $salt - * password to use for encryption - * @param $iv_len - * length of random number - */ - function encrypt($str, $salt, $iv_len = 16) { - - $str .= "\x13"; - $n = strlen($str); - if ($n % 16) $str .= str_repeat("\0", 16 - ($n % 16)); - $i = 0; - $enc_text = $this->getRndIV($iv_len); - $iv = substr($salt ^ $enc_text, 0, 512); - while ($i < $n) { - $block = substr($str, $i, 16) ^ pack('H*', md5($iv)); - $enc_text .= $block; - $iv = substr($block . $iv, 0, 512) ^ $salt; - $i += 16; - } - return urlencode(base64_encode($enc_text)); - } - - /** - * Decrypts string - * - From php.net docs - * - * @param $enc - * encrypted string to decrypt - * @param $salt - * password to use for encryption - * @param $iv_len - * length of random number - */ - function decrypt($enc, $salt, $iv_len = 16) { - - $enc = urldecode(base64_decode($enc)); - $n = strlen($enc); - $i = $iv_len; - $str = ''; - $iv = substr($salt ^ substr($enc, 0, $iv_len), 0, 512); - while ($i < $n) { - $block = substr($enc, $i, 16); - $str .= $block ^ pack('H*', md5($iv)); - $iv = substr($block . $iv, 0, 512) ^ $salt; - $i += 16; - } - return preg_replace('/\\x13\\x00*$/', '', $str); - } -} - - -?> diff --git a/fs_selfservice/fri/includes/database.php b/fs_selfservice/fri/includes/database.php deleted file mode 100644 index ff3d199c0..000000000 --- a/fs_selfservice/fri/includes/database.php +++ /dev/null @@ -1,72 +0,0 @@ -<?php - -/** - * @file - * Functions for the database - */ - -/* - * Database Class - */ -class Database { - - /* - * Constructor - */ - function Database() { - - // PEAR must be installed - require_once('DB.php'); - } - - /* - * Logs into database and returns database handle - * - - * @param $engine - * database engine - * @param $dbfile - * database file - * @param $username - * username for database - * @param $password - * password for database - * @param $host - * database host - * @param $name - * database name - * @return $dbh - * variable to hold the returned database handle - */ - function logon($engine,$dbfile,$username,$password,$host,$name) { - - // connect string - if ($dbfile) { - // datasource mostly to support sqlite: dbengine://dbfile?mode=xxxx - $dsn = $engine . '://' . $dbfile . '?mode=0666'; - } - else { - // datasource in in this style: dbengine://username:password@host/database - $datasource = $engine . '://' . $username . ':' . $password . '@' . $host . '/' . $name; - } - - // options - $options = array( - 'debug' => 2, - 'portability' => DB_PORTABILITY_LOWERCASE|DB_PORTABILITY_RTRIM|DB_PORTABILITY_DELETE_COUNT|DB_PORTABILITY_NUMROWS|DB_PORTABILITY_ERRORS|DB_PORTABILITY_NULL_TO_EMPTY, - ); - - // attempt connection - $dbh = DB::connect($datasource,$options); - - // if connection failed show error - if(DB::isError($dbh)) { - $_SESSION['ari_error'] .= $dbh->getMessage() . "<br><br>"; - return; - } - return $dbh; - } -} - - -?>
\ No newline at end of file diff --git a/fs_selfservice/fri/includes/display.php b/fs_selfservice/fri/includes/display.php deleted file mode 100644 index 41d8dc5f0..000000000 --- a/fs_selfservice/fri/includes/display.php +++ /dev/null @@ -1,222 +0,0 @@ -<?php - -/** - * @file - * Functions common to display - */ - -/** - * Display - */ -class Display { - - /** - * display constructor - */ - function Display() { - } - - /** - * display text header - * - * @param $text - * Header text to display - */ - function displayHeaderText($text) { - - $ret = "<h2>" . $text . "</h2> - <br>"; - - return $ret; - } - - /** - * displays header line - */ - function displayLine() { - - $ret = " - <div id='line'> - <div class='spacer'></div> - <div class='spacer'></div> - </div> - <br>"; - - return $ret; - } -} - -/** - * DisplaySearch - */ -class DisplaySearch extends Display { - - /** - * Constructor - */ - function DisplaySearch() { - } - - /** - * displays search controls - * - * @param $align - * where to align the control - * @param $q - * search query - * @param $focus - * whether to focus control on this block - */ - function displaySearchBlock($align,$m,$q,$url_opts,$focus) { - - // align - if ($align=='center') { - $alignText = "class='bar_center'"; - } - else { - $alignText = "class='bar_left'"; - } - - // url options - foreach ($url_opts as $key => $value) { - $option_text .= "<input type=hidden name=" . $key . " value=" . $value . ">"; - } - - // build - $ret .= "<div " . $alignText . "> - <form class='bar' action='" . $_SESSION['ARI_ROOT'] . "' method='GET' name='search'> - <input type=hidden name=m value=" . $m . "> - <input type=text name=q size=40 value='" . $q . "' maxlength=256> - " . $option_text . " - <input type=hidden name=start value=0> - <input type=submit name=btnS value='" . _("Search") . "'> - </form> - </div>"; - - if ($focus=="true") { // search block loaded twice usually so only allow javascript to be loaded on the top block - $ret .= "<script type='text/javascript'> - <!-- - if (document.search) { - document.search.q.focus(); - } - // --> - </script>"; - } - - return $ret; - } - - /** - * displays info bar - * - * @param $controls - * controls for the page on the bar - * @param $q - * search query - * @param $start - * start number of current page - * @param $span - * number of items on current page - * @param $total - * total number of records found by current search - */ - function displayInfoBarBlock($controls,$q,$start,$span,$total) { - - if ($total<$span) { - $span = $total; - } - $start_count = ($total>0)?$start+1:$start; - $span_count = ($start+$span>$total)?$total:$start+$span; - - if ($controls) { - $left_text = $controls; - } - elseif ($q != NULL) { - $left_text = "<small><small>" . _("Searched for") . " <u>" . $q . "</u></small></small>"; - } - - if ($span<$total) { - $right_text = "<small><small>" . sprintf(_("Results %d - %d of %d"),$start_count,$span_count,$total) . "</small></small>"; - } else { - $right_text = "<small><small>" . sprintf(_("Results %d"),$total) . "</small></small>"; - } - - $ret .= " - <table id='navbar' width='100%'> - <tr> - <td> - " . $left_text . " - </td> - <td align='right'> - " . $right_text ." - </td> - </tr> - </table>"; - - return $ret; - } - - /** - * displays navigation bar - * - * @param $q - * search query - * @param $start - * start number of current page - * @param $span - * number of items on current page - * @param $total - * total number of records found by current search - */ - function displayNavigationBlock($m,$q,$url_opts,$start,$span,$total) { - - $start = $start=='' ? 0 : $start ; - $span = $span=='' ? 15 : $span ; - - $total_pages = ceil($total/$span); - $start_page = floor($start/$span); - - // if more than ten pages start at this page minus ten otherwise start at zero - $begin = ($start_page>10)?($start_page-10):0; - // if more than ten pages then stop at this page plus ten otherwise stop at last page - $end = ($start_page>8)?($start_page+10):10; - - // url - $unicode_q = urlencode($q); // encode search string - - foreach ($url_opts as $key => $value) { - $option_text .= "&" . $key . "=" . $value; - } - - $url = $_SESSION['ARI_ROOT'] . "?m=" . $m . "&q=" . $unicode_q . $option_text; - - // build - if ($start_page!=0) { - $start_page_text = "<a href='" . $url . "&start=0'><small>" . _("First") . "</a> </small> - <a href=" . $url . "&start=" . ($start-$span) . "><small><</a> </small>"; - } - - for($next_page=$begin;($next_page<$total_pages)&&($next_page<$end);$next_page++) { - if ($next_page == $start_page) { - $middle_page_text .= "<small>" . ($next_page+1) . " </small>"; - } else { - $middle_page_text .= "<a href='" . $url . "&start=" . ($next_page*$span) . "'><small>" . ($next_page+1) . "</a> </small>"; - } - } - if ( ($start_page != $total_pages-1) && ($total != 0) ) { - $end_page_text = "<a href='" . $url . "&start=" . ($start+$span) . "'><small>></a> </small> - <a href='" . $url . "&start=" . ($total_pages-1)*$span . "'><small>" . _("Last") . "</a> </small>"; - } - - $ret .= "<div class='bar_center'> - " . $start_page_text . " - " . $middle_page_text . " - " . $end_page_text . " - </div>"; - - return $ret; - } -} - - -?>
\ No newline at end of file diff --git a/fs_selfservice/fri/includes/freeside.class.php b/fs_selfservice/fri/includes/freeside.class.php deleted file mode 100644 index a4413984e..000000000 --- a/fs_selfservice/fri/includes/freeside.class.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php -class FreesideSelfService { - - //Change this to match the location of your selfservice xmlrpc.cgi or daemon - //var $URL = 'https://www.example.com/selfservice/xmlrpc.cgi'; - var $URL = 'http://localhost/selfservice/xmlrpc.cgi'; - - function FreesideSelfService() { - $this; - } - - public function __call($name, $arguments) { - - error_log("[FreesideSelfService] $name called, sending to ". $this->URL); - - $request = xmlrpc_encode_request("FS.SelfService.XMLRPC.$name", $arguments); - $context = stream_context_create( array( 'http' => array( - 'method' => "POST", - 'header' => "Content-Type: text/xml", - 'content' => $request - ))); - $file = file_get_contents($this->URL, false, $context); - if (!$file) { - trigger_error("[FreesideSelfService] XML-RPC communication error: file_get_contents did not return"); - } else { - $response = xmlrpc_decode($file); - if (xmlrpc_is_fault($response)) { - trigger_error("[FreesideSelfService] XML-RPC communication error: $response[faultString] ($response[faultCode])"); - } else { - //error_log("[FreesideSelfService] $response"); - return $response; - } - } - } - -} - -?> diff --git a/fs_selfservice/fri/includes/lang.php b/fs_selfservice/fri/includes/lang.php deleted file mode 100644 index b27b8e337..000000000 --- a/fs_selfservice/fri/includes/lang.php +++ /dev/null @@ -1,112 +0,0 @@ -<?php - -/** - * @file - * i18n language functions - */ - -/** - * Class for login - */ -class Language { - - var $error; - - /** - * Sets i18n locale language - * - * sets the language for i18n php gettext module - * (gettext has to be enabled in the php.ini) - * - */ - function set() { - - if (extension_loaded('gettext')) { - - // try and find the default locale - $default_lang = preg_replace('/-/','_',$_SERVER['HTTP_ACCEPT_LANGUAGE']); - - $locale = 'en_US'; - $locale_dir = "./locale"; - $directories = getdirectories($locale_dir,""); - foreach($directories as $directory) { - $buf = substr($directory,strlen($locale_dir)+1,strlen($directory) - strlen($locale_dir)); - if (preg_match("/" . $buf . "/i",$default_lang)) { - $locale = $buf; - break; - } - } - - // set locale - $language = isset($_COOKIE['ari_lang']) ? $_COOKIE['ari_lang'] : $locale; - putenv("LANG=$language"); - putenv("LANGUAGE=$language"); - setlocale(LC_MESSAGES,$language); - bindtextdomain('ari','./locale'); - bind_textdomain_codeset('ari', 'UTF-8'); - textdomain('ari'); - - } else { - function _($str) { - return $str; - } - } - } - - /** - * Sets the i18n language in a cookie - * - * @param $lang_code - * length of random number - */ - function setCookie($lang_code) { - - if (extension_loaded('gettext')) { - setcookie("ari_lang", $lang_code, time()+365*24*60*60); - } - } - - /** - * Sets the i18n language in a cookie - * - * @param $lang_code - * length of random number - */ - function getForm() { - - // lang setting options - if (extension_loaded('gettext')) { - - $langOptions = " - <script> - function setCookie(name,value) { - var t = new Date(); - var e = new Date(); - e.setTime(t.getTime() + 365*24*60*60); - document.cookie = name+\"=\"+escape(value) + \";expires=\"+e.toGMTString(); - } - </script> - <form class='lang' name='lang' action=" . $_SESSION['ARI_ROOT'] . " method='POST'> - <select class='lang_code' name='lang_code' onChange=\"setCookie('ari_lang',document.lang.lang_code.value); window.location.reload();\"> - <option value='en_US' " . ($_COOKIE['ari_lang']=='en_US' ? 'selected' : '') . ">English</option> - <option value='es_ES' " . ($_COOKIE['ari_lang']=='es_ES' ? 'selected' : '') . ">Español</option> - <option value='fr_FR' " . ($_COOKIE['ari_lang']=='fr_FR' ? 'selected' : '') . ">French</option> - <option value='de_DE' " . ($_COOKIE['ari_lang']=='de_DE' ? 'selected' : '') . ">German</option> - <option value='el_GR' " . ($_COOKIE['ari_lang']=='el_GR' ? 'selected' : '') . ">Greek</option> - <option value='he_IL' " . ($_COOKIE['ari_lang']=='he_IL' ? 'selected' : '') . ">Hebrew</option> - <option value='hu_HU' " . ($_COOKIE['ari_lang']=='hu_HU' ? 'selected' : '') . ">Hungarian</option> - <option value='it_IT' " . ($_COOKIE['ari_lang']=='it_IT' ? 'selected' : '') . ">Italian</option> - <option value='pt_BR' " . ($_COOKIE['ari_lang']=='pt_BR' ? 'selected' : '') . ">Portuguese</option> - <option value='sv_SE' " . ($_COOKIE['ari_lang']=='sv_SE' ? 'selected' : '') . ">Swedish</option> - </select> - </form>"; - } - - return $langOptions; - } - - -} - - -?>
\ No newline at end of file diff --git a/fs_selfservice/fri/includes/login.php b/fs_selfservice/fri/includes/login.php deleted file mode 100644 index 41bb7a64d..000000000 --- a/fs_selfservice/fri/includes/login.php +++ /dev/null @@ -1,515 +0,0 @@ -<?php - -/** - * @file - * login functions - */ - -/** - * Class for login - */ -class Login { - - var $error; - - /** - * Authenticate user and register user information into a session - */ - function Auth() { - - global $ARI_ADMIN_USERNAME; - global $ARI_ADMIN_PASSWORD; - global $ARI_ADMIN_EXTENSIONS; - global $ARI_CRYPT_PASSWORD; - global $ASTERISK_VOICEMAIL_CONF; - global $ASTERISK_VOICEMAIL_CONTEXT; - global $ASTERISK_VOICEMAIL_PATH; - global $ASTERISK_PROTOCOLS; - global $CALLMONITOR_ADMIN_EXTENSIONS; - global $ARI_NO_LOGIN; - global $ARI_DEFAULT_ADMIN_PAGE; - global $ARI_DEFAULT_USER_PAGE; - - $crypt = new Crypt(); - - // init variables - $extension = ''; - $displayname = ''; - $vm_password = ''; - $category = ''; - $context = ''; - $voicemail_enabled = ''; - $voicemail_email_address = ''; - $voicemail_pager_address = ''; - $voicemail_email_enable = ''; - $admin = ''; - $admin_callmonitor = ''; - $default_page = ''; - - $username = ''; - $password = ''; - - // get the ari authentication cookie - $data = ''; - $chksum = ''; - if (isset($_COOKIE['ari_auth'])) { - $buf = unserialize($_COOKIE['ari_auth']); - list($data,$chksum) = $buf; - } - if (md5($data) == $chksum) { - $data = unserialize($crypt->decrypt($data,$ARI_CRYPT_PASSWORD)); - $username = $data['username']; - $password = $data['password']; - } - - if (isset($_POST['username']) && - isset($_POST['password'])) { - $username = $_POST['username']; - $password = $_POST['password']; - } - - // init email options array - $voicemail_email = array(); - - // when login, make a new session - if ($username && !$ARI_NO_LOGIN) { - - $auth = false; - - // check admin - if (!$auth) { - if ($username==$ARI_ADMIN_USERNAME && - $password==$ARI_ADMIN_PASSWORD) { - - // authenticated - $auth = true; - - $extension = 'admin'; - $name = 'Administrator'; - $admin = 1; - $admin_callmonitor = 1; - - $default_page = $ARI_DEFAULT_ADMIN_PAGE; - } - } - - // check voicemail login - if (!$auth) { - - if (is_readable($ASTERISK_VOICEMAIL_CONF)) { - - $lines = file($ASTERISK_VOICEMAIL_CONF); - - // look for include files and tack their lines to end of array - foreach ($lines as $key => $line) { - - if (preg_match("/include/i",$line)) { - - $include_filename = ''; - $parts = split(' ',$line); - if (isset($parts[1])) { - $include_filename = trim($parts[1]); - } - - if ($include_filename) { - $path_parts = pathinfo($ASTERISK_VOICEMAIL_CONF); - $include_path = fixPathSlash($path_parts['dirname']) . $include_filename; - foreach (glob($include_path) as $include_file) { - $include_lines = file($include_file); - $lines = array_merge($include_lines,$lines); - } - } - } - } - - // process - foreach ($lines as $key => $line) { - - // check for current context and process - if (preg_match("/\[.*\]/i",$line)) { - $currentContext = trim(preg_replace('/\[|\]/', '', $line)); - } - if ($ASTERISK_VOICEMAIL_CONTEXT && - $currentContext!=$ASTERISK_VOICEMAIL_CONTEXT) { - continue; - } - - // check for user and process - unset($value); - $parts = split('=>',$line); - if (isset($parts[0])) { - $var = $parts[0]; - } - if (isset($parts[1])) { - $value = $parts[1]; - } - $var = trim($var); - if ($var==$username && $value) { - $buf = split(',',$value); - if ($buf[0]==$password) { - - // authenticated - $auth = true; - $extension = $username; - $displayname = $buf[1]; - $vm_password = $buf[0]; - $default_page = $ARI_DEFAULT_USER_PAGE; - $context = $currentContext; - $voicemail_enabled = 1; - $voicemail_email_address = $buf[2]; - $voicemail_pager_address = $buf[3]; - - if ($voicemail_email_address || $voicemail_pager_address) { - $voicemail_email_enable = 1; - } - - $options = split('\|',$buf[4]); - foreach ($options as $option) { - $opt_buf = split('=',$option); - $voicemail_email[$opt_buf[0]] = trim($opt_buf[1]); - } - - $admin = 0; - if ($ARI_ADMIN_EXTENSIONS) { - $extensions = split(',',$ARI_ADMIN_EXTENSIONS); - foreach ($extensions as $key => $value) { - if ($extension==$value) { - $admin = 1; - break 2; - } - } - } - - $admin_callmonitor = 0; - if ($CALLMONITOR_ADMIN_EXTENSIONS) { - $extensions = split(',',$CALLMONITOR_ADMIN_EXTENSIONS); - foreach ($extensions as $key => $value) { - if ($value=='all' || $extension==$value) { - $admin_callmonitor = 1; - break 2; - } - } - } - } - else { - $_SESSION['ari_error'] = "Incorrect Password"; - return; - } - } - } - } - else { - $_SESSION['ari_error'] = "File not readable: " . $ASTERISK_VOICEMAIL_CONF; - return; - } - } - - // check sip login - if (!$auth) { - - foreach($ASTERISK_PROTOCOLS as $protocol => $value) { - - $config_files = split(';',$value['config_files']); - foreach ($config_files as $config_file) { - - if (is_readable($config_file)) { - - $lines = file($config_file); - foreach ($lines as $key => $line) { - - unset($value); - $parts = split('=',$line); - if (isset($parts[0])) { - $var = trim($parts[0]); - } - if (isset($parts[1])) { - $value = trim($parts[1]); - } - if ($var=="username") { - $protocol_username = $value; - } - if ($var=="secret") { - - $protocol_password = $value; - if ($protocol_username==$username && - $protocol_password==$password) { - - // authenticated - $auth = true; - $extension = $username ; - $displayname = $username; - $default_page = $ARI_DEFAULT_ADMIN_PAGE; - - $admin = 0; - if ($ARI_ADMIN_EXTENSIONS) { - $extensions = split(',',$ARI_ADMIN_EXTENSIONS); - foreach ($extensions as $key => $value) { - if ($extension==$value) { - $admin = 1; - break 2; - } - } - } - - $admin_callmonitor = 0; - if ($CALLMONITOR_ADMIN_EXTENSIONS) { - $extensions = split(',',$CALLMONITOR_ADMIN_EXTENSIONS); - foreach ($extensions as $key => $value) { - if ($value=='all' || $extension==$value) { - $admin_callmonitor = 1; - break 2; - } - } - } - } - else if ($protocol_username==$username && - $protocol_password!=$password) { - $_SESSION['ari_error'] = _("Incorrect Password"); - return; - } - } - } - } - } - } - } - - // let user know bad login - if (!$auth) { - $_SESSION['ari_error'] = _("Incorrect Username or Password"); - } - - // freeside login - $freeside = new FreesideSelfService(); - $domain = 'svc_phone'; - $response = $freeside->login( array( - 'username' => strtolower($username), - 'domain' => $domain, - 'password' => strtolower($password), - ) ); - error_log("[login] received response from freeside: $response"); - $error = $response['error']; - - if ( ! $error && $response['session_id'] ) { - - // sucessful freeside login - error_log("[login] logged into freeside with session_id=$session_id"); - - // store session id in your session store, to be used for other calls - //$fs_session_id = $response['session_id']; - $_SESSION['freeside_session_id'] = $response['session_id']; - - $customer_info = $freeside->customer_info( array( - 'session_id' => $_SESSION['freeside_session_id'] , - ) ); - //XXX error checking here too - $displayname = $customer_info['name']; - - } else { - - // unsucessful login - error_log("[login] error logging into freeside: $error"); - $auth = false; - $extension = ''; - - // display error message to user - $_SESSION['ari_error'] = _("Incorrect Username or Password"); - - } - - // if authenticated and user wants to be remembered, set cookie - $remember = ''; - if (isset($_POST['remember'])) { - $remember = $_POST['remember']; - } - if ($auth && $remember) { - - $data = array('username' => $username, 'password' => $password); - $data = $crypt->encrypt(serialize($data),$ARI_CRYPT_PASSWORD); - - $chksum = md5($data); - - $buf = serialize(array($data,$chksum)); - setcookie('ari_auth',$buf,time()+365*24*60*60,'/'); - } - - // set category - if (!$category) { - $category = "general"; - } - - // set context - if (!$context) { - $context = "default"; - } - - // no login user - if ($ARI_NO_LOGIN) { - $extension = 'admin'; - $name = 'Administrator'; - $admin_callmonitor = 1; - $default_page = $ARI_DEFAULT_ADMIN_PAGE; - } - - // get outboundCID if it exists - $outboundCID = $this->getOutboundCID($extension); - - // set - if ($extension) { - $_SESSION['ari_user']['extension'] = $extension; - $_SESSION['ari_user']['outboundCID'] = $outboundCID; - $_SESSION['ari_user']['displayname'] = $displayname; - $_SESSION['ari_user']['voicemail_password'] = $vm_password; - $_SESSION['ari_user']['category'] = $category; - $_SESSION['ari_user']['context'] = $context; - $_SESSION['ari_user']['voicemail_enabled'] = $voicemail_enabled; - $_SESSION['ari_user']['voicemail_email_address'] = $voicemail_email_address; - $_SESSION['ari_user']['voicemail_pager_address'] = $voicemail_pager_address; - $_SESSION['ari_user']['voicemail_email_enable'] = $voicemail_email_enable; - foreach ($voicemail_email as $key => $value) { - $_SESSION['ari_user']['voicemail_email'][$key] = $value; - } - $_SESSION['ari_user']['admin'] = $admin; - $_SESSION['ari_user']['admin_callmonitor'] = $admin_callmonitor; - $_SESSION['ari_user']['default_page'] = $default_page; - - // force the session data saved - session_write_close(); - } - } - } - - /* - * Gets user outbound caller id - * - * @param $exten - * Extension to get information about - * @return $ret - * outbound caller id - */ - function getOutboundCID($extension) { - - global $asterisk_manager_interface; - - $ret = ''; - $response = $asterisk_manager_interface->Command2("Action: Command\r\nCommand: database get AMPUSER $extension/outboundcid\r\n\r\n"); - if ($response) { - - $posLeft = strpos( $response, "<")+strlen("<"); - $posRight = strpos( $response, ">", $posLeft); - $ret = substr( $response,$posLeft,$posRight-$posLeft); - } - return $ret; - } - - /** - * logout - */ - function Unauth() { - unset($_COOKIE["ari_auth"]); - setcookie('ari_auth',"",time(),'/'); - unset($_SESSION['ari_user']); - } - - /** - * Provide a login form for user - * - * @param $request - * Variable to hold data entered into form - */ - function GetForm() { - - global $ARI_NO_LOGIN; - - if ($ARI_NO_LOGIN) { - $ret = ''; - return; - } - - if (isset($_GET['login'])) { - $login = $_GET['login']; - } - - // if user name and password were given, but there was a problem report the error - if ($this->error!='') { - $ret = $this->error; - } - - $language = new Language(); - $display = new Display(NULL); - - // new header - $ret .= $display->DisplayHeaderText(_("Login")); - $ret .= $display->DisplayLine(); - $ret .= checkErrorMessage(); - - $ret .= " - <table id='login'> - <form id='login' name='login' action=" . $_SESSION['ARI_ROOT'] . " method='POST'> - <tr> - <td class='right'> - <small><small>" . _("Login") . ": </small></small> - </td> - <td> - <input type='text' name='username' value='" . $login . "' maxlength=20 tabindex=1> - </td> - </tr> - <tr> - <td class='right'> - <small><small>" . _("Password") . ": </small></small> - </td> - <td colspan=1> - <input type='password' name='password' maxlength=20 tabindex=2> - </td> - </tr> - <tr> - <td></td> - <td> - <input type='submit' name='btnSubmit' value='" . _("Submit") . "' tabindex=3></small></small></p> - </td> - </tr> - <tr> - <td class='right'> - <input type='checkbox' name='remember'> - </td> - <td class='left'> - <p class='small'>" . _("Remember Password") . "</p> - </td> - </tr> - </form> - <tr> - <td></td> - <td> - " . $language->getForm() . " - </td> - </tr> - <tr><td> </td></tr> - </table> - <table id='login_text'> - <tr> - <td>" . - _("Use your <b>Voicemail Mailbox and Password</b>") . "<br>" . - _("This is the same password used for the phone") . "<br>" . - "<br>" . - _("For password maintenance or assistance, contact your Phone System Administrator.") . "<br>" . " - </td> - </tr> - </table>"; - - $ret .= " - <script type='text/javascript'> - <!-- - if (document.login) { - document.login.username.focus(); - } - // --> - </script>"; - - return $ret; - } - - -} - - -?> diff --git a/fs_selfservice/fri/includes/main.conf.php b/fs_selfservice/fri/includes/main.conf.php deleted file mode 100644 index cedf60cc6..000000000 --- a/fs_selfservice/fri/includes/main.conf.php +++ /dev/null @@ -1,331 +0,0 @@ -<?php - -/** - * @file - * site-specific configuration file. - */ - -############################### -# AMP or standalone settings -############################### -# -# From AMP. Used for logon to database. -# -$AMP_FUNCTIONS_FILES = "../admin/functions.php;../admin/functions.inc.php"; -$AMPORTAL_CONF_FILE = "/etc/amportal.conf"; - -# -# Host for Asterisk Manager Interface -# -$ASTERISKMGR_DBHOST = "localhost"; - -# -# Database options for older legacy AMP installations (pre-FreePBX) -# - $LEGACY_AMP_DBFILE only needs to be set if using a database like sqlite -# -$LEGACY_AMP_DBHOST = "localhost"; -$LEGACY_AMP_DBENGINE = "mysql"; -$LEGACY_AMP_DBFILE = ""; -$LEGACY_AMP_DBNAME = "asterisk"; - -# -# Database cdr settings -# - Only need to update these settings if standalone or an older AMP version (pre-FreePBX) is used -# - $ASTERISKCDR_DBFILE only needs to be set if using a database like sqlite -# Options: supported database types (others are supported, but not listed) -# 'mysql' - MySQL -# 'pgsql' - PostgreSQL -# 'oci8' - Oracle -# 'odbc' - ODBC -# -$ASTERISKCDR_DBHOST = "localhost"; -$ASTERISKCDR_DBENGINE = "mysql"; -$ASTERISKCDR_DBFILE = ""; -$ASTERISKCDR_DBNAME = "asteriskcdrdb"; -$ASTERISKCDR_DBTABLE = "cdr"; - -# -# Standalone, for use without AMP -# set use = true; -# set asterisk_mgruser to Asterisk Call Manager username -# set asterisk_mgrpass to Asterisk Call Manager password -# -$STANDALONE['use'] = false; -$STANDALONE['asterisk_mgruser'] = ""; -$STANDALONE['asterisk_mgrpass'] = ""; -$STANDALONE['asteriskcdr_dbuser'] = ""; -$STANDALONE['asteriskcdr_dbpass'] = ""; - -############################### -# authentication settings -############################### -# -# For using the Call Monitor only -# option: 0 - use Authentication, Voicemail, and Call Monitor -# 1 - use only the Call Monitor -# -$ARI_NO_LOGIN = 0; - -# -# Admin only account -# -$ARI_ADMIN_USERNAME = "admin"; -$ARI_ADMIN_PASSWORD ="ari_password"; -# -# Admin extensions -# option: Comma delimited list of extensions -# -$ARI_ADMIN_EXTENSIONS = ""; - -# -# Authentication password to unlock cookie password -# This must be all continuous and only letters and numbers -# -$ARI_CRYPT_PASSWORD = "z1Mc6KRxA7Nw90dGjY5qLXhtrPgJOfeCaUmHvQT3yW8nDsI2VkEpiS4blFoBuZ"; - -############################### -# modules settings -############################### -# -# modules with admin only status (they will not be displayed for regular users) -# option: Comma delimited list of module names (ie voicemail,callmonitor,help,settings) -# -$ARI_ADMIN_MODULES = ""; - -# -# disable modules (you can also just delete them from /recordings/modules without problems) -# option: Comma delimited list of module names (ie voicemail,callmonitor,help,settings) -# -$ARI_DISABLED_MODULES = ""; - -# -# sets the default admin page -# option: Comma delimited list of module names (ie voicemail,callmonitor,help,settings) -# -$ARI_DEFAULT_ADMIN_PAGE = "callmonitor"; - -# -# sets the default user page -# option: Comma delimited list of module names (ie voicemail,callmonitor,help,settings) -# -#$ARI_DEFAULT_USER_PAGE = "voicemail"; -$ARI_DEFAULT_USER_PAGE = "dashboard"; - -# -# enables ajax page refresh -# option: 0 - disable ajax page refresh -# 1 - enable ajax page refresh -# -$AJAX_PAGE_REFRESH_ENABLE = 1; - -# -# sets the default user page -# option: refresh time in 'minutes:seconds' (0 to inifinity) : (0 to 59) -# -$AJAX_PAGE_REFRESH_TIME ="01:00"; -############################### -# voicemail settings -############################### -# -# voicemail config. -# -$ASTERISK_VOICEMAIL_CONF = "/etc/asterisk/voicemail.conf"; - -# -# To set to a specific context. -# If using default or more than one context then leave blank -# -$ASTERISK_VOICEMAIL_CONTEXT = ""; - -# -# Location of asterisk voicemail recordings on server -# Use semi-colon for multiple paths -# -$ASTERISK_VOICEMAIL_PATH = "/var/spool/asterisk/voicemail"; - -# -# valid mailbox folders -# -$ASTERISK_VOICEMAIL_FOLDERS = array(); -$ASTERISK_VOICEMAIL_FOLDERS[0]['folder'] = "INBOX"; -$ASTERISK_VOICEMAIL_FOLDERS[0]['name'] = _("INBOX"); -$ASTERISK_VOICEMAIL_FOLDERS[1]['folder'] = "Family"; -$ASTERISK_VOICEMAIL_FOLDERS[1]['name'] = _("Family"); -$ASTERISK_VOICEMAIL_FOLDERS[2]['folder'] = "Friends"; -$ASTERISK_VOICEMAIL_FOLDERS[2]['name'] = _("Friends"); -$ASTERISK_VOICEMAIL_FOLDERS[3]['folder'] = "Old"; -$ASTERISK_VOICEMAIL_FOLDERS[3]['name'] = _("Old"); -$ASTERISK_VOICEMAIL_FOLDERS[4]['folder'] = "Work"; -$ASTERISK_VOICEMAIL_FOLDERS[4]['name'] = _("Work"); - -############################### -# call monitor settings -############################### -# -# Location of asterisk call monitor recordings on server -# -$ASTERISK_CALLMONITOR_PATH = "/var/spool/asterisk/monitor"; - -# -# Extensions with access to all call monitor recordings -# option: Comma delimited list of extensions or "all" -# -$CALLMONITOR_ADMIN_EXTENSIONS =""; -# -# Allow call monitor users to delete monitored calls -# option: 0 - do not show controls -# 1 - show controls -# -$CALLMONITOR_ALLOW_DELETE = 1; - -# -# Allow for aggressive matching of recording files to database records -# will match recordings that are marked several seconds off -# option: 0 - do not aggressively match -# 1 - aggressively match -# -$CALLMONITOR_AGGRESSIVE_MATCHING = 1; - -# -# Limits log/recording file matching to exact matching -# will not try to look through all the recordings and make a best match -# even if there is not uniqueid -# requires that the MYSQL_UNIQUEID flag be compiled in asterisk-addons -# (in the asterisk-addon Makefile add the following "CFLAGS+=-DMYSQL_LOGUNIQUEID") -# -# * use if there are or will be more than 2500 recording files -# -# option: 0 - do not exact match -# 1 - only exact match -# -$CALLMONITOR_ONLY_EXACT_MATCHING = 0; - -############################### -# conference page settings -############################### -# -# Meetme extension prefix -# for this module to function, the user has to have -# a meetme conference room {prefix}{extension} -# -$CONFERENCE_WEBMEETME_PREFIX = ""; - -# -# url to web meetme conference room -# example: "http://example.mycompany.com/webmeetme" -# -$CONFERENCE_WEBMEETME_URL = ""; - -############################### -# help page settings -############################### -# -# help feature codes -# list of handset options and their function -# -$ARI_HELP_FEATURE_CODES = array(); -//$ARI_HELP_FEATURE_CODES['*411'] = _("Directory"); -//$ARI_HELP_FEATURE_CODES['*43'] = _("Echo Test"); -//$ARI_HELP_FEATURE_CODES['*60'] = _("Time"); -//$ARI_HELP_FEATURE_CODES['*61'] = _("Weather"); -//$ARI_HELP_FEATURE_CODES['*62'] = _("Schedule wakeup call"); -//$ARI_HELP_FEATURE_CODES['*65'] = _("festival test (your extension is XXX)"); -//$ARI_HELP_FEATURE_CODES['*77'] = _("IVR Recording"); -//$ARI_HELP_FEATURE_CODES['*99'] = _("Playback IVR Recording"); -//$ARI_HELP_FEATURE_CODES['666'] = _("Test Fax"); -//$ARI_HELP_FEATURE_CODES['7777'] = _("Simulate incoming call"); - -$ARI_HELP_FEATURE_CODES['*72'] = _("Call Forward All Activate"); -$ARI_HELP_FEATURE_CODES['*73'] = _("Call Forward All Deactivate"); -$ARI_HELP_FEATURE_CODES['*74'] = _("Call Forward All Prompting Deactivate"); -$ARI_HELP_FEATURE_CODES['*90'] = _("Call Forward Busy Activate"); -$ARI_HELP_FEATURE_CODES['*91'] = _("Call Forward Busy Deactivate"); -$ARI_HELP_FEATURE_CODES['*92'] = _("Call Forward Busy Prompting Deactivate"); -$ARI_HELP_FEATURE_CODES['*52'] = _("Call Forward No Answer/Unavailable Activate"); -$ARI_HELP_FEATURE_CODES['*53'] = _("Call Forward No Answer/Unavailable Deactivate"); -$ARI_HELP_FEATURE_CODES['*70'] = _("Call Waiting - Activate"); -$ARI_HELP_FEATURE_CODES['*71'] = _("Call Waiting - Deactivate"); -$ARI_HELP_FEATURE_CODES['*78'] = _("Do-Not-Disturb Activate"); -$ARI_HELP_FEATURE_CODES['*79'] = _("Do-Not-Disturb Deactivate"); -$ARI_HELP_FEATURE_CODES['*97'] = _("My Voicemail"); -$ARI_HELP_FEATURE_CODES['*98'] = _("Dial Voicemail"); - -############################### -# settings page settings -############################### -# -# protocol config. -# config_file options: semi-colon delimited list of extensions -# -$ASTERISK_PROTOCOLS = array(); -$ASTERISK_PROTOCOLS['iax']['table'] = "iax"; -$ASTERISK_PROTOCOLS['iax']['config_files'] = "/etc/asterisk/iax.conf;/etc/asterisk/iax_additional.conf"; -$ASTERISK_PROTOCOLS['sip']['table'] = "sip"; -$ASTERISK_PROTOCOLS['sip']['config_files'] = "/etc/asterisk/sip.conf;/etc/asterisk/sip_additional.conf"; -$ASTERISK_PROTOCOLS['zap']['table'] = "zap"; -$ASTERISK_PROTOCOLS['zap']['config_files'] = "/etc/asterisk/zapata.conf;/etc/asterisk/zapata_additional.conf"; - -# Settings for Follow-Me Select Boxes in seconds -# - -$SETTINGS_PRERING_LOW = 4; -$SETTINGS_PRERING_HIGH = 30; -$SETTINGS_LISTRING_LOW = 6; -$SETTINGS_LISTRING_HIGH = 60; - -$SETTINGS_FOLLOW_ME_LIST_MAX = 5; -$SETTINGS_ALLOW_VMX_SETTINGS = true; -# -# For setting -# option: 0 - do not show controls -# 1 - show controls -# -$SETTINGS_ALLOW_CALLFORWARD_SETTINGS = 1; -$SETTINGS_ALLOW_VOICEMAIL_SETTINGS = 1; -$SETTINGS_ALLOW_VOICEMAIL_PASSWORD_SET = 1; - -# -# password length -# setting: number of characters required for changing voicemail password -# -$SETTINGS_VOICEMAIL_PASSWORD_LENGTH = 3; - -# -# password exact length -# option: 0 - do not require exact length when setting the password -# 1 - require exact length when setting the password -# -$SETTINGS_VOICEMAIL_PASSWORD_EXACT = 0; - -# -# voicemail email option descriptions -# -$SETTINGS_VOICEMAIL_EMAIL_OPTION_DESCRIPTIONS = array(); -$SETTINGS_VOICEMAIL_EMAIL_OPTION_DESCRIPTIONS['attach'] = _("Email voicemail as attachment"); -$SETTINGS_VOICEMAIL_EMAIL_OPTION_DESCRIPTIONS['saycid'] = _("Say caller id in recording emailed"); -$SETTINGS_VOICEMAIL_EMAIL_OPTION_DESCRIPTIONS['envelope'] = _("Say envelop (date/time) in recording emailed"); -$SETTINGS_VOICEMAIL_EMAIL_OPTION_DESCRIPTIONS['delete'] = _("Delete voicemail when emailed"); -$SETTINGS_VOICEMAIL_EMAIL_OPTION_DESCRIPTIONS['nextaftercmd'] = _("Play next message after deleting current message"); -$SETTINGS_VOICEMAIL_EMAIL_OPTION_DESCRIPTIONS['review'] = _("Ask caller to review their voicemail before sending"); -$SETTINGS_VOICEMAIL_EMAIL_OPTION_DESCRIPTIONS['maxmessage'] = _("Maximum time in seconds a voicemail will record"); - -# -# Default -# option: ".wav" - wav format -# ".gsm" - gsm format -# -$ARI_VOICEMAIL_AUDIO_FORMAT_DEFAULT = ".wav"; - -# -# For setting -# option: 0 - do not show controls -# 1 - show controls -# -$SETTINGS_ALLOW_CALL_RECORDING_SET = 1; - - -$SETTINGS_ALLOW_PHONE_SETTINGS = 1; - - - -?> diff --git a/fs_selfservice/fri/index.php b/fs_selfservice/fri/index.php deleted file mode 100644 index 0fe614992..000000000 --- a/fs_selfservice/fri/index.php +++ /dev/null @@ -1,20 +0,0 @@ -<?php - -/** - * @file - * main - */ - -include_once("includes/bootstrap.php"); -ariPageHeader(); -include_once("includes/common.php"); - -handler(); - -ariPageFooter(); - - -?> - - - diff --git a/fs_selfservice/fri/locale/ari.po b/fs_selfservice/fri/locale/ari.po deleted file mode 100644 index 4e3493e2f..000000000 --- a/fs_selfservice/fri/locale/ari.po +++ /dev/null @@ -1,590 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-03 08:32-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../includes/asi.php:46 -msgid "Asterisk Call Manager not responding" -msgstr "" - -#: ../includes/asi.php:54 -msgid "Asterisk authentication failed:" -msgstr "" - -#: ../includes/asi.php:96 ../includes/asi.php:111 -msgid "Asterisk command not understood" -msgstr "" - -#: ../includes/bootstrap.php:123 -#, php-format -msgid "To many directories in %s Not all files processed" -msgstr "" - -#: ../includes/bootstrap.php:226 -msgid "ARI requires a version of PHP 4.3 or later" -msgstr "" - -#: ../includes/bootstrap.php:245 -msgid "" -"PHP PEAR must be installed. Visit http://pear.php.net for help with " -"installation." -msgstr "" - -#: ../includes/common.php:173 -msgid "ARI does not appear to have access to the Asterisk Manager." -msgstr "" - -#: ../includes/common.php:174 -msgid "" -"Check the ARI 'main.conf.php' configuration file to set the Asterisk Manager " -"Account." -msgstr "" - -#: ../includes/common.php:175 -msgid "Check /etc/asterisk/manager.conf for a proper Asterisk Manager Account" -msgstr "" - -#: ../includes/common.php:176 -msgid "" -"make sure [general] enabled = yes and a 'permit=' line for localhost or the " -"webserver." -msgstr "" - -#: ../includes/common.php:193 ../includes/common.php:208 -msgid "Check AMP installation, asterisk, and ARI main.conf" -msgstr "" - -#: ../includes/common.php:344 -msgid "Logout" -msgstr "" - -#: ../includes/common.php:349 -msgid "Page Not Found." -msgstr "" - -#: ../includes/display.php:92 -msgid "Search" -msgstr "" - -#: ../includes/display.php:135 -msgid "Searched for" -msgstr "" - -#: ../includes/display.php:139 -#, php-format -msgid "Results %d - %d of %d" -msgstr "" - -#: ../includes/display.php:141 -#, php-format -msgid "Results %d" -msgstr "" - -#: ../includes/display.php:195 -msgid "First" -msgstr "" - -#: ../includes/display.php:208 -msgid "Last" -msgstr "" - -#: ../includes/login.php:267 -msgid "Incorrect Password" -msgstr "" - -#: ../includes/login.php:279 -msgid "Incorrect Username or Password" -msgstr "" - -#: ../includes/login.php:402 ../includes/login.php:411 -msgid "Login" -msgstr "" - -#: ../includes/login.php:419 -msgid "Password" -msgstr "" - -#: ../includes/login.php:428 -msgid "Submit" -msgstr "" - -#: ../includes/login.php:436 -msgid "Remember Password" -msgstr "" - -#: ../includes/login.php:451 -msgid "Use your <b>Voicemail Mailbox and Password</b>" -msgstr "" - -#: ../includes/login.php:452 -msgid "This is the same password used for the phone" -msgstr "" - -#: ../includes/login.php:454 -msgid "" -"For password maintenance or assistance, contact your Phone System " -"Administrator." -msgstr "" - -#: ../includes/main.conf.php:152 -msgid "INBOX" -msgstr "" - -#: ../includes/main.conf.php:154 -msgid "Family" -msgstr "" - -#: ../includes/main.conf.php:156 -msgid "Friends" -msgstr "" - -#: ../includes/main.conf.php:158 -msgid "Old" -msgstr "" - -#: ../includes/main.conf.php:160 -msgid "Work" -msgstr "" - -#: ../includes/main.conf.php:229 -msgid "Directory" -msgstr "" - -#: ../includes/main.conf.php:230 -msgid "Echo Test" -msgstr "" - -#: ../includes/main.conf.php:231 ../modules/callmonitor.module:161 -#: ../modules/voicemail.module:324 -msgid "Time" -msgstr "" - -#: ../includes/main.conf.php:232 -msgid "Weather" -msgstr "" - -#: ../includes/main.conf.php:233 -msgid "Schedule wakeup call" -msgstr "" - -#: ../includes/main.conf.php:234 -msgid "festival test (your extension is XXX)" -msgstr "" - -#: ../includes/main.conf.php:235 -msgid "Activate Call Waiting (deactivated by default)" -msgstr "" - -#: ../includes/main.conf.php:236 -msgid "Deactivate Call Waiting" -msgstr "" - -#: ../includes/main.conf.php:237 -msgid "Call Forwarding System" -msgstr "" - -#: ../includes/main.conf.php:238 -msgid "Disable Call Forwarding" -msgstr "" - -#: ../includes/main.conf.php:239 -msgid "IVR Recording" -msgstr "" - -#: ../includes/main.conf.php:240 -msgid "Enable Do-Not-Disturb" -msgstr "" - -#: ../includes/main.conf.php:241 -msgid "Disable Do-Not-Disturb" -msgstr "" - -#: ../includes/main.conf.php:242 -msgid "Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:243 -msgid "Disable Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:244 -msgid "Message Center (does not ask for extension)" -msgstr "" - -#: ../includes/main.conf.php:245 -msgid "Enter Message Center" -msgstr "" - -#: ../includes/main.conf.php:246 -msgid "Playback IVR Recording" -msgstr "" - -#: ../includes/main.conf.php:247 -msgid "Test Fax" -msgstr "" - -#: ../includes/main.conf.php:248 -msgid "Simulate incoming call" -msgstr "" - -#: ../includes/main.conf.php:289 -msgid "Email voicemail as attachment" -msgstr "" - -#: ../includes/main.conf.php:290 -msgid "Say caller id in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:291 -msgid "Say envelop (date/time) in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:292 -msgid "Delete voicemail when emailed" -msgstr "" - -#: ../includes/main.conf.php:293 -msgid "Play next message after deleting current message" -msgstr "" - -#: ../includes/main.conf.php:294 -msgid "Ask caller to review their voicemail before sending" -msgstr "" - -#: ../includes/main.conf.php:295 -msgid "Maximum time in seconds a voicemail will record" -msgstr "" - -#: ../modules/callmonitor.module:37 ../modules/callmonitor.module:257 -msgid "Call Monitor" -msgstr "" - -#: ../modules/callmonitor.module:132 -#, php-format -msgid "Path is not a directory: %s" -msgstr "" - -#: ../modules/callmonitor.module:141 ../modules/voicemail.module:301 -msgid "delete" -msgstr "" - -#: ../modules/callmonitor.module:147 -msgid "duration" -msgstr "" - -#: ../modules/callmonitor.module:150 -msgid "ignore" -msgstr "" - -#: ../modules/callmonitor.module:159 ../modules/voicemail.module:322 -msgid "Date" -msgstr "" - -#: ../modules/callmonitor.module:163 ../modules/voicemail.module:326 -msgid "Caller ID" -msgstr "" - -#: ../modules/callmonitor.module:165 -msgid "Source" -msgstr "" - -#: ../modules/callmonitor.module:167 -msgid "Destination" -msgstr "" - -#: ../modules/callmonitor.module:169 -msgid "Context" -msgstr "" - -#: ../modules/callmonitor.module:171 ../modules/voicemail.module:332 -msgid "Duration" -msgstr "" - -#: ../modules/callmonitor.module:202 -msgid "Monitor" -msgstr "" - -#: ../modules/callmonitor.module:222 ../modules/voicemail.module:373 -msgid "play" -msgstr "" - -#: ../modules/callmonitor.module:259 -#, php-format -msgid "Call Monitor for %s (%s)" -msgstr "Call Monitor for %s (%s)" - -#: ../modules/callmonitor.module:311 ../modules/voicemail.module:475 -msgid "select" -msgstr "" - -#: ../modules/callmonitor.module:312 ../modules/voicemail.module:476 -msgid "all" -msgstr "" - -#: ../modules/callmonitor.module:313 ../modules/voicemail.module:477 -msgid "none" -msgstr "" - -#: ../modules/callmonitor.module:533 -msgid "Only deletes recording files, not cdr log" -msgstr "" - -#: ../modules/conference.module:55 -msgid "My Conference room" -msgstr "" - -#: ../modules/conference.module:78 -#, php-format -msgid "Conference for %s (%s%s)" -msgstr "" - -#: ../modules/help.module:39 ../modules/help.module:68 -msgid "Help" -msgstr "" - -#: ../modules/help.module:70 -#, php-format -msgid "Help for %s (%s)" -msgstr "" - -#: ../modules/help.module:77 -msgid "Handset Feature Code" -msgstr "" - -#: ../modules/help.module:80 -msgid "Action" -msgstr "" - -#: ../modules/settings.module:61 ../modules/settings.module:667 -msgid "Settings" -msgstr "" - -#: ../modules/settings.module:125 -msgid "Call forward number not changed" -msgstr "" - -#: ../modules/settings.module:126 -#, php-format -msgid "" -"Number %s must contain dial numbers (characters like '(', '-', and ')' are " -"ok)" -msgstr "" - -#: ../modules/settings.module:151 ../modules/settings.module:156 -#: ../modules/settings.module:161 ../modules/settings.module:166 -#: ../modules/settings.module:176 ../modules/settings.module:181 -msgid "Voicemail password not changed" -msgstr "" - -#: ../modules/settings.module:152 -msgid "Password and password confirm must not be blank" -msgstr "" - -#: ../modules/settings.module:157 -#, php-format -msgid "Passwords must be all numbers and greater than %d digits" -msgstr "" - -#: ../modules/settings.module:162 -#, php-format -msgid "Passwords must be all numbers and only %d digits" -msgstr "" - -#: ../modules/settings.module:167 -msgid "Password and password confirm do not match" -msgstr "" - -#: ../modules/settings.module:177 ../modules/settings.module:182 -#: ../modules/settings.module:234 ../modules/settings.module:239 -#, php-format -msgid "%s does not exist or is not writable" -msgstr "" - -#: ../modules/settings.module:223 -msgid "Voicemail email and pager address not changed" -msgstr "" - -#: ../modules/settings.module:233 ../modules/settings.module:238 -msgid "Voicemail email settings not changed" -msgstr "" - -#: ../modules/settings.module:385 -msgid "Language:" -msgstr "" - -#: ../modules/settings.module:408 -msgid "Call Routing" -msgstr "" - -#: ../modules/settings.module:411 -msgid "Call Forwarding:" -msgstr "" - -#: ../modules/settings.module:419 ../modules/settings.module:507 -msgid "Enable" -msgstr "" - -#: ../modules/settings.module:431 -#, php-format -msgid "Passwords must be all numbers and only %s digits" -msgstr "" - -#: ../modules/settings.module:434 -#, php-format -msgid "Passwords must be all numbers and at least %s digits" -msgstr "" - -#: ../modules/settings.module:439 -msgid "Voicemail Password:" -msgstr "" - -#: ../modules/settings.module:445 -msgid "Enter again to confirm:" -msgstr "" - -#: ../modules/settings.module:492 -msgid "Email Voicemail To:" -msgstr "" - -#: ../modules/settings.module:498 -msgid "Pager Voicemail To:" -msgstr "" - -#: ../modules/settings.module:558 -msgid "Audio Format:" -msgstr "" - -#: ../modules/settings.module:561 -msgid "Best Quality" -msgstr "" - -#: ../modules/settings.module:562 -msgid "Smallest Download" -msgstr "" - -#: ../modules/settings.module:570 -msgid "Voicemail Settings" -msgstr "" - -#: ../modules/settings.module:611 -msgid "Call Monitor Settings" -msgstr "Call Monitor Settings" - -#: ../modules/settings.module:614 -msgid "Record INCOMING:" -msgstr "" - -#: ../modules/settings.module:616 ../modules/settings.module:624 -msgid "Always" -msgstr "" - -#: ../modules/settings.module:617 ../modules/settings.module:625 -msgid "Never" -msgstr "" - -#: ../modules/settings.module:618 ../modules/settings.module:626 -msgid "On-Demand" -msgstr "" - -#: ../modules/settings.module:622 -msgid "Record OUTGOING:" -msgstr "" - -#: ../modules/settings.module:669 -#, php-format -msgid "Settings for %s (%s)" -msgstr "" - -#: ../modules/settings.module:705 -msgid "Update" -msgstr "" - -#: ../modules/voicemail.module:45 -msgid "Voicemail" -msgstr "" - -#: ../modules/voicemail.module:164 -msgid "A folder must be selected before the message can be moved." -msgstr "" - -#: ../modules/voicemail.module:178 -msgid "An extension must be selected before the message can be forwarded." -msgstr "" - -#: ../modules/voicemail.module:304 -msgid "move_to" -msgstr "" - -#: ../modules/voicemail.module:307 -msgid "Folder" -msgstr "" - -#: ../modules/voicemail.module:311 -msgid "forward_to" -msgstr "" - -#: ../modules/voicemail.module:328 -msgid "Priority" -msgstr "" - -#: ../modules/voicemail.module:330 -msgid "Orig Mailbox" -msgstr "" - -#: ../modules/voicemail.module:362 -msgid "Message" -msgstr "" - -#: ../modules/voicemail.module:377 -msgid "Voicemail recording(s) was not found." -msgstr "" - -#: ../modules/voicemail.module:378 -#, php-format -msgid "" -"On settings page, change voicemail audio format. It is currently set to %s" -msgstr "" - -#: ../modules/voicemail.module:405 -msgid "Voicemail Login not found." -msgstr "" - -#: ../modules/voicemail.module:406 -msgid "No access to voicemail" -msgstr "" - -#: ../modules/voicemail.module:412 -msgid "No Voicemail Recordings for Admin" -msgstr "" - -#: ../modules/voicemail.module:428 -#, php-format -msgid "Voicemail for %s (%s)" -msgstr "" - -#: ../modules/voicemail.module:678 -#, php-format -msgid "Could not create mailbox folder %s on the server" -msgstr "" - -#: ../modules/voicemail.module:718 -#, php-format -msgid "Permission denied on folder %s or %s" -msgstr "" - -#: ../misc/recording_popup.php:39 -msgid "download" -msgstr "" diff --git a/fs_selfservice/fri/locale/ari.utf-8.po b/fs_selfservice/fri/locale/ari.utf-8.po deleted file mode 100644 index aff5a75d1..000000000 --- a/fs_selfservice/fri/locale/ari.utf-8.po +++ /dev/null @@ -1,590 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-03 08:32-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../includes/asi.php:46 -msgid "Asterisk Call Manager not responding" -msgstr "" - -#: ../includes/asi.php:54 -msgid "Asterisk authentication failed:" -msgstr "" - -#: ../includes/asi.php:96 ../includes/asi.php:111 -msgid "Asterisk command not understood" -msgstr "" - -#: ../includes/bootstrap.php:123 -#, php-format -msgid "To many directories in %s Not all files processed" -msgstr "" - -#: ../includes/bootstrap.php:226 -msgid "ARI requires a version of PHP 4.3 or later" -msgstr "" - -#: ../includes/bootstrap.php:245 -msgid "" -"PHP PEAR must be installed. Visit http://pear.php.net for help with " -"installation." -msgstr "" - -#: ../includes/common.php:173 -msgid "ARI does not appear to have access to the Asterisk Manager." -msgstr "" - -#: ../includes/common.php:174 -msgid "" -"Check the ARI 'main.conf.php' configuration file to set the Asterisk Manager " -"Account." -msgstr "" - -#: ../includes/common.php:175 -msgid "Check /etc/asterisk/manager.conf for a proper Asterisk Manager Account" -msgstr "" - -#: ../includes/common.php:176 -msgid "" -"make sure [general] enabled = yes and a 'permit=' line for localhost or the " -"webserver." -msgstr "" - -#: ../includes/common.php:193 ../includes/common.php:208 -msgid "Check AMP installation, asterisk, and ARI main.conf" -msgstr "" - -#: ../includes/common.php:344 -msgid "Logout" -msgstr "" - -#: ../includes/common.php:349 -msgid "Page Not Found." -msgstr "" - -#: ../includes/display.php:92 -msgid "Search" -msgstr "" - -#: ../includes/display.php:135 -msgid "Searched for" -msgstr "" - -#: ../includes/display.php:139 -#, php-format -msgid "Results %d - %d of %d" -msgstr "" - -#: ../includes/display.php:141 -#, php-format -msgid "Results %d" -msgstr "" - -#: ../includes/display.php:195 -msgid "First" -msgstr "" - -#: ../includes/display.php:208 -msgid "Last" -msgstr "" - -#: ../includes/login.php:267 -msgid "Incorrect Password" -msgstr "" - -#: ../includes/login.php:279 -msgid "Incorrect Username or Password" -msgstr "" - -#: ../includes/login.php:402 ../includes/login.php:411 -msgid "Login" -msgstr "" - -#: ../includes/login.php:419 -msgid "Password" -msgstr "" - -#: ../includes/login.php:428 -msgid "Submit" -msgstr "" - -#: ../includes/login.php:436 -msgid "Remember Password" -msgstr "" - -#: ../includes/login.php:451 -msgid "Use your <b>Voicemail Mailbox and Password</b>" -msgstr "" - -#: ../includes/login.php:452 -msgid "This is the same password used for the phone" -msgstr "" - -#: ../includes/login.php:454 -msgid "" -"For password maintenance or assistance, contact your Phone System " -"Administrator." -msgstr "" - -#: ../includes/main.conf.php:152 -msgid "INBOX" -msgstr "" - -#: ../includes/main.conf.php:154 -msgid "Family" -msgstr "" - -#: ../includes/main.conf.php:156 -msgid "Friends" -msgstr "" - -#: ../includes/main.conf.php:158 -msgid "Old" -msgstr "" - -#: ../includes/main.conf.php:160 -msgid "Work" -msgstr "" - -#: ../includes/main.conf.php:229 -msgid "Directory" -msgstr "" - -#: ../includes/main.conf.php:230 -msgid "Echo Test" -msgstr "" - -#: ../includes/main.conf.php:231 ../modules/callmonitor.module:161 -#: ../modules/voicemail.module:324 -msgid "Time" -msgstr "" - -#: ../includes/main.conf.php:232 -msgid "Weather" -msgstr "" - -#: ../includes/main.conf.php:233 -msgid "Schedule wakeup call" -msgstr "" - -#: ../includes/main.conf.php:234 -msgid "festival test (your extension is XXX)" -msgstr "" - -#: ../includes/main.conf.php:235 -msgid "Activate Call Waiting (deactivated by default)" -msgstr "" - -#: ../includes/main.conf.php:236 -msgid "Deactivate Call Waiting" -msgstr "" - -#: ../includes/main.conf.php:237 -msgid "Call Forwarding System" -msgstr "" - -#: ../includes/main.conf.php:238 -msgid "Disable Call Forwarding" -msgstr "" - -#: ../includes/main.conf.php:239 -msgid "IVR Recording" -msgstr "" - -#: ../includes/main.conf.php:240 -msgid "Enable Do-Not-Disturb" -msgstr "" - -#: ../includes/main.conf.php:241 -msgid "Disable Do-Not-Disturb" -msgstr "" - -#: ../includes/main.conf.php:242 -msgid "Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:243 -msgid "Disable Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:244 -msgid "Message Center (does not ask for extension)" -msgstr "" - -#: ../includes/main.conf.php:245 -msgid "Enter Message Center" -msgstr "" - -#: ../includes/main.conf.php:246 -msgid "Playback IVR Recording" -msgstr "" - -#: ../includes/main.conf.php:247 -msgid "Test Fax" -msgstr "" - -#: ../includes/main.conf.php:248 -msgid "Simulate incoming call" -msgstr "" - -#: ../includes/main.conf.php:289 -msgid "Email voicemail as attachment" -msgstr "" - -#: ../includes/main.conf.php:290 -msgid "Say caller id in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:291 -msgid "Say envelop (date/time) in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:292 -msgid "Delete voicemail when emailed" -msgstr "" - -#: ../includes/main.conf.php:293 -msgid "Play next message after deleting current message" -msgstr "" - -#: ../includes/main.conf.php:294 -msgid "Ask caller to review their voicemail before sending" -msgstr "" - -#: ../includes/main.conf.php:295 -msgid "Maximum time in seconds a voicemail will record" -msgstr "" - -#: ../modules/callmonitor.module:37 ../modules/callmonitor.module:257 -msgid "Call Monitor" -msgstr "" - -#: ../modules/callmonitor.module:132 -#, php-format -msgid "Path is not a directory: %s" -msgstr "" - -#: ../modules/callmonitor.module:141 ../modules/voicemail.module:301 -msgid "delete" -msgstr "" - -#: ../modules/callmonitor.module:147 -msgid "duration" -msgstr "" - -#: ../modules/callmonitor.module:150 -msgid "ignore" -msgstr "" - -#: ../modules/callmonitor.module:159 ../modules/voicemail.module:322 -msgid "Date" -msgstr "" - -#: ../modules/callmonitor.module:163 ../modules/voicemail.module:326 -msgid "Caller ID" -msgstr "" - -#: ../modules/callmonitor.module:165 -msgid "Source" -msgstr "" - -#: ../modules/callmonitor.module:167 -msgid "Destination" -msgstr "" - -#: ../modules/callmonitor.module:169 -msgid "Context" -msgstr "" - -#: ../modules/callmonitor.module:171 ../modules/voicemail.module:332 -msgid "Duration" -msgstr "" - -#: ../modules/callmonitor.module:202 -msgid "Monitor" -msgstr "" - -#: ../modules/callmonitor.module:222 ../modules/voicemail.module:373 -msgid "play" -msgstr "" - -#: ../modules/callmonitor.module:259 -#, php-format -msgid "Call Monitor for %s (%s)" -msgstr "" - -#: ../modules/callmonitor.module:311 ../modules/voicemail.module:475 -msgid "select" -msgstr "" - -#: ../modules/callmonitor.module:312 ../modules/voicemail.module:476 -msgid "all" -msgstr "" - -#: ../modules/callmonitor.module:313 ../modules/voicemail.module:477 -msgid "none" -msgstr "" - -#: ../modules/callmonitor.module:533 -msgid "Only deletes recording files, not cdr log" -msgstr "" - -#: ../modules/conference.module:55 -msgid "My Conference room" -msgstr "" - -#: ../modules/conference.module:78 -#, php-format -msgid "Conference for %s (%s%s)" -msgstr "" - -#: ../modules/help.module:39 ../modules/help.module:68 -msgid "Help" -msgstr "" - -#: ../modules/help.module:70 -#, php-format -msgid "Help for %s (%s)" -msgstr "" - -#: ../modules/help.module:77 -msgid "Handset Feature Code" -msgstr "" - -#: ../modules/help.module:80 -msgid "Action" -msgstr "" - -#: ../modules/settings.module:61 ../modules/settings.module:667 -msgid "Settings" -msgstr "" - -#: ../modules/settings.module:125 -msgid "Call forward number not changed" -msgstr "" - -#: ../modules/settings.module:126 -#, php-format -msgid "" -"Number %s must contain dial numbers (characters like '(', '-', and ')' are " -"ok)" -msgstr "" - -#: ../modules/settings.module:151 ../modules/settings.module:156 -#: ../modules/settings.module:161 ../modules/settings.module:166 -#: ../modules/settings.module:176 ../modules/settings.module:181 -msgid "Voicemail password not changed" -msgstr "" - -#: ../modules/settings.module:152 -msgid "Password and password confirm must not be blank" -msgstr "" - -#: ../modules/settings.module:157 -#, php-format -msgid "Passwords must be all numbers and greater than %d digits" -msgstr "" - -#: ../modules/settings.module:162 -#, php-format -msgid "Passwords must be all numbers and only %d digits" -msgstr "" - -#: ../modules/settings.module:167 -msgid "Password and password confirm do not match" -msgstr "" - -#: ../modules/settings.module:177 ../modules/settings.module:182 -#: ../modules/settings.module:234 ../modules/settings.module:239 -#, php-format -msgid "%s does not exist or is not writable" -msgstr "" - -#: ../modules/settings.module:223 -msgid "Voicemail email and pager address not changed" -msgstr "" - -#: ../modules/settings.module:233 ../modules/settings.module:238 -msgid "Voicemail email settings not changed" -msgstr "" - -#: ../modules/settings.module:385 -msgid "Language:" -msgstr "" - -#: ../modules/settings.module:408 -msgid "Call Routing" -msgstr "" - -#: ../modules/settings.module:411 -msgid "Call Forwarding:" -msgstr "" - -#: ../modules/settings.module:419 ../modules/settings.module:507 -msgid "Enable" -msgstr "" - -#: ../modules/settings.module:431 -#, php-format -msgid "Passwords must be all numbers and only %s digits" -msgstr "" - -#: ../modules/settings.module:434 -#, php-format -msgid "Passwords must be all numbers and at least %s digits" -msgstr "" - -#: ../modules/settings.module:439 -msgid "Voicemail Password:" -msgstr "" - -#: ../modules/settings.module:445 -msgid "Enter again to confirm:" -msgstr "" - -#: ../modules/settings.module:492 -msgid "Email Voicemail To:" -msgstr "" - -#: ../modules/settings.module:498 -msgid "Pager Voicemail To:" -msgstr "" - -#: ../modules/settings.module:558 -msgid "Audio Format:" -msgstr "" - -#: ../modules/settings.module:561 -msgid "Best Quality" -msgstr "" - -#: ../modules/settings.module:562 -msgid "Smallest Download" -msgstr "" - -#: ../modules/settings.module:570 -msgid "Voicemail Settings" -msgstr "" - -#: ../modules/settings.module:611 -msgid "Call Monitor Settings" -msgstr "" - -#: ../modules/settings.module:614 -msgid "Record INCOMING:" -msgstr "" - -#: ../modules/settings.module:616 ../modules/settings.module:624 -msgid "Always" -msgstr "" - -#: ../modules/settings.module:617 ../modules/settings.module:625 -msgid "Never" -msgstr "" - -#: ../modules/settings.module:618 ../modules/settings.module:626 -msgid "On-Demand" -msgstr "" - -#: ../modules/settings.module:622 -msgid "Record OUTGOING:" -msgstr "" - -#: ../modules/settings.module:669 -#, php-format -msgid "Settings for %s (%s)" -msgstr "" - -#: ../modules/settings.module:705 -msgid "Update" -msgstr "" - -#: ../modules/voicemail.module:45 -msgid "Voicemail" -msgstr "" - -#: ../modules/voicemail.module:164 -msgid "A folder must be selected before the message can be moved." -msgstr "" - -#: ../modules/voicemail.module:178 -msgid "An extension must be selected before the message can be forwarded." -msgstr "" - -#: ../modules/voicemail.module:304 -msgid "move_to" -msgstr "" - -#: ../modules/voicemail.module:307 -msgid "Folder" -msgstr "" - -#: ../modules/voicemail.module:311 -msgid "forward_to" -msgstr "" - -#: ../modules/voicemail.module:328 -msgid "Priority" -msgstr "" - -#: ../modules/voicemail.module:330 -msgid "Orig Mailbox" -msgstr "" - -#: ../modules/voicemail.module:362 -msgid "Message" -msgstr "" - -#: ../modules/voicemail.module:377 -msgid "Voicemail recording(s) was not found." -msgstr "" - -#: ../modules/voicemail.module:378 -#, php-format -msgid "" -"On settings page, change voicemail audio format. It is currently set to %s" -msgstr "" - -#: ../modules/voicemail.module:405 -msgid "Voicemail Login not found." -msgstr "" - -#: ../modules/voicemail.module:406 -msgid "No access to voicemail" -msgstr "" - -#: ../modules/voicemail.module:412 -msgid "No Voicemail Recordings for Admin" -msgstr "" - -#: ../modules/voicemail.module:428 -#, php-format -msgid "Voicemail for %s (%s)" -msgstr "" - -#: ../modules/voicemail.module:678 -#, php-format -msgid "Could not create mailbox folder %s on the server" -msgstr "" - -#: ../modules/voicemail.module:718 -#, php-format -msgid "Permission denied on folder %s or %s" -msgstr "" - -#: ../misc/recording_popup.php:39 -msgid "download" -msgstr "" diff --git a/fs_selfservice/fri/locale/de_DE/LC_MESSAGES/ari.mo b/fs_selfservice/fri/locale/de_DE/LC_MESSAGES/ari.mo Binary files differdeleted file mode 100644 index b94eba261..000000000 --- a/fs_selfservice/fri/locale/de_DE/LC_MESSAGES/ari.mo +++ /dev/null diff --git a/fs_selfservice/fri/locale/de_DE/LC_MESSAGES/ari.po b/fs_selfservice/fri/locale/de_DE/LC_MESSAGES/ari.po deleted file mode 100644 index b89b612ee..000000000 --- a/fs_selfservice/fri/locale/de_DE/LC_MESSAGES/ari.po +++ /dev/null @@ -1,631 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2005 AsteriskPBX.de -# This file is distributed under the same license as the PACKAGE package. -# Till Stoemer <ts@AsteriskPBX.de>, 2005. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: ari-de\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-04-03 08:26-0400\n" -"PO-Revision-Date: 2005-12-10 19:50+0100\n" -"Last-Translator: Till Stoermer <ts@AsteriskPBX.de>\n" -"Language-Team: German <ts@AsteriskPBX.de>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../includes/asi.php:48 -msgid "Asterisk Call Manager not responding" -msgstr "Der Asterisk Call-Manager reagiert nicht." - -#: ../includes/asi.php:56 -msgid "Asterisk authentication failed:" -msgstr "Anmeldung am Asterisk gescheitert." - -#: ../includes/asi.php:98 ../includes/asi.php:112 -#, fuzzy -msgid "Asterisk command not understood" -msgstr "Asterisk reload command not understood" - -#: ../includes/bootstrap.php:106 -#, php-format -msgid "To many directories in %s Not all files processed" -msgstr "" - -#: ../includes/bootstrap.php:209 -msgid "ARI requires a version of PHP 4.0 or later" -msgstr "" - -#: ../includes/bootstrap.php:228 -msgid "" -"PHP PEAR must be installed. Visit http://pear.php.net for help with " -"installation." -msgstr "" - -#: ../includes/common.php:167 -#, fuzzy -msgid "ARI does not appear to have access to the Asterisk Manager." -msgstr "Kann nicht zum Asterisk-Manager verbinden" - -#: ../includes/common.php:168 -msgid "" -"Check the ARI 'main.conf' configuration file to set the Asterisk Manager " -"Account." -msgstr "" - -#: ../includes/common.php:169 -msgid "Check /etc/asterisk/manager.conf for a proper Asterisk Manager Account" -msgstr "" - -#: ../includes/common.php:170 -msgid "" -"make sure [general] enabled = yes and a 'permit=' line for localhost or the " -"webserver." -msgstr "" - -#: ../includes/common.php:187 ../includes/common.php:202 -#, fuzzy -msgid "Check AMP installation, asterisk, and ARI main.conf" -msgstr "" -"Überprüfe die AMP-Installation, Asterisk-Datenbank, oder die ARI " -"main.conf" - -#: ../includes/common.php:332 -msgid "Logout" -msgstr "Abmelden" - -#: ../includes/common.php:337 -msgid "Page Not Found." -msgstr "Seite nicht gefunden" - -#: ../includes/display.php:92 -msgid "Search" -msgstr "Suchen" - -#: ../includes/display.php:135 -msgid "Searched for" -msgstr "Suchen nach" - -#: ../includes/display.php:139 -#, fuzzy, php-format -msgid "Results %d of %d" -msgstr "Ergebnis" - -#: ../includes/display.php:141 -#, fuzzy, php-format -msgid "Results %d" -msgstr "Ergebnis" - -#: ../includes/display.php:195 -msgid "First" -msgstr "Erste" - -#: ../includes/display.php:208 -msgid "Last" -msgstr "Letzte" - -#: ../includes/login.php:239 -#, fuzzy -msgid "Voicemail Login not found." -msgstr "Vicemail-Login nicht gefunden" - -#: ../includes/login.php:240 -msgid "No access to voicemail" -msgstr "Kein Zugriff auf Voicemail" - -#: ../includes/login.php:266 -msgid "Incorrect Password" -msgstr "Falsches Passwort" - -#: ../includes/login.php:278 -msgid "Incorrect Username or Password" -msgstr "Falscher Benutzer oder Passwort" - -#: ../includes/login.php:381 ../includes/login.php:391 -msgid "Login" -msgstr "Anmeldung" - -#: ../includes/login.php:399 -msgid "Password" -msgstr "Passwort" - -#: ../includes/login.php:408 -msgid "Submit" -msgstr "Anmelden" - -#: ../includes/login.php:416 -msgid "Remember Password" -msgstr "Passwort merken" - -#: ../includes/login.php:431 -#, fuzzy -msgid "Use your <b>Voicemail Mailbox and Password</b>" -msgstr "Voicemail Mailbox und Password" - -#: ../includes/login.php:432 -msgid "This is the same password used for the phone" -msgstr "Dieses ist das selbe Passwort, das beim Telefon genutzt wird." - -#: ../includes/login.php:434 -msgid "" -"For password maintenance or assistance, contact your Phone System " -"Administrator." -msgstr "" -"Für Passwort-Änderungen, kontaktieren Sie Ihren Voicemail-Admin" - -#: ../includes/main.conf.php:152 -msgid "INBOX" -msgstr "Eingang" - -#: ../includes/main.conf.php:154 -msgid "Family" -msgstr "Familie" - -#: ../includes/main.conf.php:156 -msgid "Friends" -msgstr "Freunde" - -#: ../includes/main.conf.php:158 -msgid "Old" -msgstr "Alt" - -#: ../includes/main.conf.php:160 -msgid "Work" -msgstr "Arbeit" - -#: ../includes/main.conf.php:213 -msgid "Directory" -msgstr "" - -#: ../includes/main.conf.php:214 -msgid "Echo Test" -msgstr "" - -#: ../includes/main.conf.php:215 ../modules/callmonitor.module:161 -#: ../modules/voicemail.module:326 -msgid "Time" -msgstr "Uhrzeit" - -#: ../includes/main.conf.php:216 -msgid "Weather" -msgstr "" - -#: ../includes/main.conf.php:217 -msgid "Schedule wakeup call" -msgstr "" - -#: ../includes/main.conf.php:218 -msgid "festival test (your extension is XXX)" -msgstr "" - -#: ../includes/main.conf.php:219 -msgid "Activate Call Waiting (deactivated by default)" -msgstr "" - -#: ../includes/main.conf.php:220 -msgid "Deactivate Call Waiting" -msgstr "" - -#: ../includes/main.conf.php:221 -msgid "Call Forwarding System" -msgstr "" - -#: ../includes/main.conf.php:222 -msgid "Disable Call Forwarding" -msgstr "" - -#: ../includes/main.conf.php:223 -#, fuzzy -msgid "IVR Recording" -msgstr "Aufnahmen" - -#: ../includes/main.conf.php:224 -msgid "Enable Do-Not-Disturb" -msgstr "" - -#: ../includes/main.conf.php:225 -msgid "Disable Do-Not-Disturb" -msgstr "" - -#: ../includes/main.conf.php:226 -msgid "Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:227 -msgid "Disable Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:228 -msgid "Message Center (does no ask for extension)" -msgstr "" - -#: ../includes/main.conf.php:229 -msgid "Enter Message Center" -msgstr "" - -#: ../includes/main.conf.php:230 -msgid "Playback IVR Recording" -msgstr "" - -#: ../includes/main.conf.php:231 -msgid "Test Fax" -msgstr "" - -#: ../includes/main.conf.php:232 -msgid "Simulate incoming call" -msgstr "" - -#: ../includes/main.conf.php:273 -msgid "Email voicemail as attachment" -msgstr "" - -#: ../includes/main.conf.php:274 -msgid "Say caller id in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:275 -msgid "Say envelop (date/time) in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:276 -msgid "Delete voicemail when emailed" -msgstr "" - -#: ../includes/main.conf.php:277 -msgid "Play next message after deleting current message" -msgstr "" - -#: ../includes/main.conf.php:278 -msgid "Ask caller to review their voicemail before sending" -msgstr "" - -#: ../includes/main.conf.php:279 -msgid "Maximum time in seconds a voicemail will record" -msgstr "" - -#: ../modules/callmonitor.module:37 ../modules/callmonitor.module:257 -msgid "Call Monitor" -msgstr "Anrufliste" - -#: ../modules/callmonitor.module:132 ../modules/voicemail.module:117 -#, php-format -msgid "Path is not a directory: %s" -msgstr "" - -#: ../modules/callmonitor.module:141 ../modules/voicemail.module:303 -#, fuzzy -msgid "delete" -msgstr "Auswählen" - -#: ../modules/callmonitor.module:147 -#, fuzzy -msgid "duration" -msgstr "Dauer" - -#: ../modules/callmonitor.module:150 -#, fuzzy -msgid "ignore" -msgstr "Keine" - -#: ../modules/callmonitor.module:159 ../modules/voicemail.module:324 -msgid "Date" -msgstr "Datum" - -#: ../modules/callmonitor.module:163 ../modules/voicemail.module:328 -msgid "Caller ID" -msgstr "Anrufer-Nummer" - -#: ../modules/callmonitor.module:165 -msgid "Source" -msgstr "Anrufer" - -#: ../modules/callmonitor.module:167 -msgid "Destination" -msgstr "Angerufener" - -#: ../modules/callmonitor.module:169 -msgid "Context" -msgstr "Kontext" - -#: ../modules/callmonitor.module:171 ../modules/voicemail.module:334 -msgid "Duration" -msgstr "Dauer" - -#: ../modules/callmonitor.module:202 -msgid "Monitor" -msgstr "Monitor" - -#: ../modules/callmonitor.module:222 ../modules/voicemail.module:375 -msgid "play" -msgstr "Abspielen" - -#: ../modules/callmonitor.module:259 -#, fuzzy, php-format -msgid "Call Monitor for %s (%s)" -msgstr "Anrufliste" - -#: ../modules/callmonitor.module:311 ../modules/voicemail.module:459 -msgid "select" -msgstr "Auswählen" - -#: ../modules/callmonitor.module:312 ../modules/voicemail.module:460 -msgid "all" -msgstr "Alle" - -#: ../modules/callmonitor.module:313 ../modules/voicemail.module:461 -msgid "none" -msgstr "Keine" - -#: ../modules/callmonitor.module:543 -msgid "Only deletes recording files, not cdr log" -msgstr "Nur die Aufnahme-Datei wird gelöscht (In der CDR nicht)" - -#: ../modules/help.module:39 ../modules/help.module:68 -msgid "Help" -msgstr "" - -#: ../modules/help.module:70 -#, php-format -msgid "Help for %s (%s)" -msgstr "" - -#: ../modules/help.module:77 -msgid "Handset Feature Code" -msgstr "" - -#: ../modules/help.module:80 -msgid "Action" -msgstr "" - -#: ../modules/settings.module:61 ../modules/settings.module:647 -msgid "Settings" -msgstr "Einstellungen" - -#: ../modules/settings.module:122 -msgid "Call forward number not changed" -msgstr "" - -#: ../modules/settings.module:123 -#, php-format -msgid "" -"Number %s must contain dial numbers (characters like '(', '-', and ')' are " -"ok)" -msgstr "" - -#: ../modules/settings.module:143 ../modules/settings.module:148 -#: ../modules/settings.module:153 ../modules/settings.module:158 -#: ../modules/settings.module:168 ../modules/settings.module:173 -msgid "Voicemail password not changed" -msgstr "Voicemail-Passwort nicht geändert" - -#: ../modules/settings.module:144 -msgid "Password and password confirm must not be blank" -msgstr "Passwort und Passwort-Wiederholen-Feld darf nicht leer sein" - -#: ../modules/settings.module:149 -#, fuzzy, php-format -msgid "Passwords must be all numbers and greater than %d digits" -msgstr "Das Passwort muss aus mindestens 4 Ziffern bestehen." - -#: ../modules/settings.module:154 -#, fuzzy, php-format -msgid "Passwords must be all numbers and only %d digits" -msgstr "Das Passwort muss aus mindestens 4 Ziffern bestehen." - -#: ../modules/settings.module:159 -msgid "Password and password confirm do not match" -msgstr "Die Passwort stimmen nicht überein." - -#: ../modules/settings.module:169 ../modules/settings.module:174 -#: ../modules/settings.module:226 ../modules/settings.module:231 -#, fuzzy, php-format -msgid "%s does not exist or is not writable" -msgstr "existiert nicht, oder ist nicht lesbar." - -#: ../modules/settings.module:215 -#, fuzzy -msgid "Voicemail email and pager address not changed" -msgstr "Voicemail-Passwort nicht geändert" - -#: ../modules/settings.module:225 ../modules/settings.module:230 -#, fuzzy -msgid "Voicemail email settings not changed" -msgstr "Voicemail-Passwort nicht geändert" - -#: ../modules/settings.module:375 -msgid "Language:" -msgstr "Sprache" - -#: ../modules/settings.module:396 -#, fuzzy -msgid "Call Routing" -msgstr "Call Monitor Einstellungen" - -#: ../modules/settings.module:399 -msgid "Call Forwarding:" -msgstr "" - -#: ../modules/settings.module:407 ../modules/settings.module:486 -#, fuzzy -msgid "Enable" -msgstr "in Tabelle" - -#: ../modules/settings.module:418 -msgid "Voicemail Password:" -msgstr "Voicemail-Passwort" - -#: ../modules/settings.module:424 -msgid "Enter again to confirm:" -msgstr "Erneute Eingabe zum bestätigen" - -#: ../modules/settings.module:430 -#, fuzzy, php-format -msgid "Passwords must be all numbers and only %s digits" -msgstr "Das Passwort muss aus mindestens 4 Ziffern bestehen." - -#: ../modules/settings.module:471 -#, fuzzy -msgid "Email Voicemail To:" -msgstr "Voicemail" - -#: ../modules/settings.module:477 -#, fuzzy -msgid "Pager Voicemail To:" -msgstr "Voicemail" - -#: ../modules/settings.module:539 -msgid "Audio Format:" -msgstr "Audio-Format" - -#: ../modules/settings.module:542 -msgid "Best Quality" -msgstr "Beste Qualität" - -#: ../modules/settings.module:543 -msgid "Smallest Download" -msgstr "Für geringen Download" - -#: ../modules/settings.module:551 -msgid "Voicemail Settings" -msgstr "Voicemail-Einstellungen" - -#: ../modules/settings.module:591 -msgid "Call Monitor Settings" -msgstr "Call Monitor Einstellungen" - -#: ../modules/settings.module:594 -msgid "Record INCOMING:" -msgstr "Aufnahme eingehender Telefonate:" - -#: ../modules/settings.module:596 ../modules/settings.module:604 -msgid "Always" -msgstr "Immer" - -#: ../modules/settings.module:597 ../modules/settings.module:605 -msgid "Never" -msgstr "Nie" - -#: ../modules/settings.module:598 ../modules/settings.module:606 -msgid "On-Demand" -msgstr "Bei Bedarf" - -#: ../modules/settings.module:602 -msgid "Record OUTGOING:" -msgstr "Aufnahme abgehende Telefonate" - -#: ../modules/settings.module:649 -#, fuzzy, php-format -msgid "Settings for %s (%s)" -msgstr "Einstellungen für" - -#: ../modules/settings.module:685 -msgid "Update" -msgstr "Erneuern" - -#: ../modules/voicemail.module:45 -msgid "Voicemail" -msgstr "Voicemail" - -#: ../modules/voicemail.module:161 -msgid "A folder must be selected before the message can be moved." -msgstr "" -"Ein Ordner muss gewählt werden, bevor die Nachricht verschoben werden " -"kann." - -#: ../modules/voicemail.module:175 -msgid "An extension must be selected before the message can be forwarded." -msgstr "" -"Ein Anschluss muss gewählt werden, bevor die Nachricht weitergeleitet " -"werden kann." - -#: ../modules/voicemail.module:239 -msgid "No Voicemail Recordings for Admin" -msgstr "No Voicemail Recordings for Admin" - -#: ../modules/voicemail.module:306 -msgid "move_to" -msgstr "" - -#: ../modules/voicemail.module:309 -msgid "Folder" -msgstr "Ordner" - -#: ../modules/voicemail.module:313 -msgid "forward_to" -msgstr "" - -#: ../modules/voicemail.module:330 -msgid "Priority" -msgstr "Prirorität" - -#: ../modules/voicemail.module:332 -msgid "Orig Mailbox" -msgstr "Orig Mailbox" - -#: ../modules/voicemail.module:364 -msgid "Message" -msgstr "" - -#: ../modules/voicemail.module:379 -msgid "Voicemail recording(s) was not found." -msgstr "Sprachnachricht(en) nicht gefunden" - -#: ../modules/voicemail.module:380 -#, php-format -msgid "" -"On settings page, change voicemail audio format. It is currently set to %s" -msgstr "" - -#: ../modules/voicemail.module:412 -#, fuzzy, php-format -msgid "Voicemail for %s (%s)" -msgstr "Voicemail" - -#: ../modules/voicemail.module:662 -#, fuzzy, php-format -msgid "Could not create mailbox folder %s on the server" -msgstr "Konnte Mailbox-Ordner nicht erstellen" - -#: ../modules/voicemail.module:702 -#, fuzzy, php-format -msgid "Permission denied on folder %s or %s" -msgstr "Zugriff verweigert auf Ordner" - -#: ../misc/recording_popup.php:39 -msgid "download" -msgstr "Download" - -#~ msgid "not a directory or not readable" -#~ msgstr "Kein Verzeichnis, oder nicht lesbar" - -#~ msgid "No database connection" -#~ msgstr "Keine Verbindung zur Datenbank" - -#~ msgid "of" -#~ msgstr "von" - -#~ msgid "Login used" -#~ msgstr "Login genutzt" - -#~ msgid "Use your" -#~ msgstr "Nutze Deine" - -#~ msgid "for" -#~ msgstr "für" - -#~ msgid "Password must be all numbers and 4 digits" -#~ msgstr "Das Passwort muss aus mindestens 4 Ziffern bestehen." - -#~ msgid "Check voicemail audio format on settings page to change from" -#~ msgstr "Check voicemail audio format on settings page to change from" - -#~ msgid "Searching of voicemail is not yet implemented" -#~ msgstr "Searching of voicemail is not yet implemented" - -#~ msgid "on the server" -#~ msgstr "auf dem Server" - -#~ msgid "Folders" -#~ msgstr "Ordner" diff --git a/fs_selfservice/fri/locale/el_GR/LC_MESSAGES/ari.mo b/fs_selfservice/fri/locale/el_GR/LC_MESSAGES/ari.mo Binary files differdeleted file mode 100644 index 6b00b14d7..000000000 --- a/fs_selfservice/fri/locale/el_GR/LC_MESSAGES/ari.mo +++ /dev/null diff --git a/fs_selfservice/fri/locale/el_GR/LC_MESSAGES/ari.po b/fs_selfservice/fri/locale/el_GR/LC_MESSAGES/ari.po deleted file mode 100644 index 25664941c..000000000 --- a/fs_selfservice/fri/locale/el_GR/LC_MESSAGES/ari.po +++ /dev/null @@ -1,648 +0,0 @@ -# Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# Elias Sofronas <esofronas@gmail.com>, 2005.
-#
-#
-msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-03 08:32-0400\n" -"PO-Revision-Date: 2005-11-14 10:06+0200\n" -"Last-Translator: Elias Sofronas <esofronas@gmail.com>\n" -"Language-Team: English <en@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../includes/asi.php:46 -msgid "Asterisk Call Manager not responding" -msgstr "Ο διαχειÏιστής κλήσεων Asterisk δεν αποκÏίνεται" - -#: ../includes/asi.php:54 -msgid "Asterisk authentication failed:" -msgstr "Η πιστοποίηση στο Asterisk απÎτυχε:" - -#: ../includes/asi.php:96 ../includes/asi.php:111 -#, fuzzy -msgid "Asterisk command not understood" -msgstr "Η εντολή Asterisk επαναφόÏτωσης δεν αναγνωÏίστηκε" - -#: ../includes/bootstrap.php:123 -#, php-format -msgid "To many directories in %s Not all files processed" -msgstr "" - -#: ../includes/bootstrap.php:226 -msgid "ARI requires a version of PHP 4.3 or later" -msgstr "" - -#: ../includes/bootstrap.php:245 -msgid "" -"PHP PEAR must be installed. Visit http://pear.php.net for help with " -"installation." -msgstr "" - -#: ../includes/common.php:173 -#, fuzzy -msgid "ARI does not appear to have access to the Asterisk Manager." -msgstr "ΑδÏνατη η σÏνδεση στον Asterisk Manager" - -#: ../includes/common.php:174 -msgid "" -"Check the ARI 'main.conf.php' configuration file to set the Asterisk Manager " -"Account." -msgstr "" - -#: ../includes/common.php:175 -msgid "Check /etc/asterisk/manager.conf for a proper Asterisk Manager Account" -msgstr "" - -#: ../includes/common.php:176 -msgid "" -"make sure [general] enabled = yes and a 'permit=' line for localhost or the " -"webserver." -msgstr "" - -#: ../includes/common.php:193 ../includes/common.php:208 -#, fuzzy -msgid "Check AMP installation, asterisk, and ARI main.conf" -msgstr "" -"ΕλÎγχτε την εγκατάσταση του AMP, την βάση δεδομÎνων του asterisk, ή το ARI " -"main.conf" - -#: ../includes/common.php:344 -msgid "Logout" -msgstr "ΑποσÏνδεση" - -#: ../includes/common.php:349 -msgid "Page Not Found." -msgstr "Η σελίδα δεν βÏÎθηκε" - -#: ../includes/display.php:92 -msgid "Search" -msgstr "ΕÏÏεση" - -#: ../includes/display.php:135 -msgid "Searched for" -msgstr "ΕÏÏεση για" - -#: ../includes/display.php:139 -#, fuzzy, php-format -msgid "Results %d - %d of %d" -msgstr "ΑποτελÎσματα" - -#: ../includes/display.php:141 -#, fuzzy, php-format -msgid "Results %d" -msgstr "ΑποτελÎσματα" - -#: ../includes/display.php:195 -msgid "First" -msgstr "Î Ïώτο" - -#: ../includes/display.php:208 -msgid "Last" -msgstr "Τελευταίο" - -#: ../includes/login.php:267 -msgid "Incorrect Password" -msgstr "Λάθος Κωδικός" - -#: ../includes/login.php:279 -msgid "Incorrect Username or Password" -msgstr "Λάθος όνομα χÏήστη ή κωδικός" - -#: ../includes/login.php:402 ../includes/login.php:411 -msgid "Login" -msgstr "ΘυÏίδα" - -#: ../includes/login.php:419 -msgid "Password" -msgstr "Κωδικός" - -#: ../includes/login.php:428 -msgid "Submit" -msgstr "Είσοδος" - -#: ../includes/login.php:436 -msgid "Remember Password" -msgstr "Απομνημόνευση ΚωδικοÏ" - -#: ../includes/login.php:451 -#, fuzzy -msgid "Use your <b>Voicemail Mailbox and Password</b>" -msgstr "ΘυÏίδα Τηλεφωνητή και Κωδικό" - -#: ../includes/login.php:452 -msgid "This is the same password used for the phone" -msgstr "Αυτό είναι ο ίδιος κωδικός που χÏησιμοποιήθηκε για το τηλÎφωνο" - -#: ../includes/login.php:454 -msgid "" -"For password maintenance or assistance, contact your Phone System " -"Administrator." -msgstr "" -"Για αλλαγή ÎºÏ‰Î´Î¹ÎºÎ¿Ï Î® υποστήÏιξη, επικοινωνήστε με τον ΔιαχειÏιστή του " -"συστήματος" - -#: ../includes/main.conf.php:152 -msgid "INBOX" -msgstr "ΕΣΕΡΧΟΜΕÎΑ" - -#: ../includes/main.conf.php:154 -msgid "Family" -msgstr "ΟΙΚΟΓΕÎΕΙΑ" - -#: ../includes/main.conf.php:156 -msgid "Friends" -msgstr "ΦΙΛΟΙ" - -#: ../includes/main.conf.php:158 -msgid "Old" -msgstr "ΠΑΛΙΑ" - -#: ../includes/main.conf.php:160 -msgid "Work" -msgstr "ΔΟΥΛΕΙΑ" - -#: ../includes/main.conf.php:229 -msgid "Directory" -msgstr "" - -#: ../includes/main.conf.php:230 -msgid "Echo Test" -msgstr "" - -#: ../includes/main.conf.php:231 ../modules/callmonitor.module:161 -#: ../modules/voicemail.module:324 -msgid "Time" -msgstr "ÎÏα" - -#: ../includes/main.conf.php:232 -msgid "Weather" -msgstr "" - -#: ../includes/main.conf.php:233 -msgid "Schedule wakeup call" -msgstr "" - -#: ../includes/main.conf.php:234 -msgid "festival test (your extension is XXX)" -msgstr "" - -#: ../includes/main.conf.php:235 -msgid "Activate Call Waiting (deactivated by default)" -msgstr "" - -#: ../includes/main.conf.php:236 -msgid "Deactivate Call Waiting" -msgstr "" - -#: ../includes/main.conf.php:237 -msgid "Call Forwarding System" -msgstr "" - -#: ../includes/main.conf.php:238 -msgid "Disable Call Forwarding" -msgstr "" - -#: ../includes/main.conf.php:239 -#, fuzzy -msgid "IVR Recording" -msgstr "Μυνήματα ΘυÏίδας" - -#: ../includes/main.conf.php:240 -msgid "Enable Do-Not-Disturb" -msgstr "" - -#: ../includes/main.conf.php:241 -msgid "Disable Do-Not-Disturb" -msgstr "" - -#: ../includes/main.conf.php:242 -msgid "Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:243 -msgid "Disable Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:244 -msgid "Message Center (does not ask for extension)" -msgstr "" - -#: ../includes/main.conf.php:245 -msgid "Enter Message Center" -msgstr "" - -#: ../includes/main.conf.php:246 -msgid "Playback IVR Recording" -msgstr "" - -#: ../includes/main.conf.php:247 -msgid "Test Fax" -msgstr "" - -#: ../includes/main.conf.php:248 -msgid "Simulate incoming call" -msgstr "" - -#: ../includes/main.conf.php:289 -msgid "Email voicemail as attachment" -msgstr "" - -#: ../includes/main.conf.php:290 -msgid "Say caller id in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:291 -msgid "Say envelop (date/time) in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:292 -msgid "Delete voicemail when emailed" -msgstr "" - -#: ../includes/main.conf.php:293 -msgid "Play next message after deleting current message" -msgstr "" - -#: ../includes/main.conf.php:294 -msgid "Ask caller to review their voicemail before sending" -msgstr "" - -#: ../includes/main.conf.php:295 -msgid "Maximum time in seconds a voicemail will record" -msgstr "" - -#: ../modules/callmonitor.module:37 ../modules/callmonitor.module:257 -msgid "Call Monitor" -msgstr "ΠαÏακολοÏθηση Κλήσεων" - -#: ../modules/callmonitor.module:132 -#, php-format -msgid "Path is not a directory: %s" -msgstr "" - -#: ../modules/callmonitor.module:141 ../modules/voicemail.module:301 -msgid "delete" -msgstr "διαγÏαφή" - -#: ../modules/callmonitor.module:147 -#, fuzzy -msgid "duration" -msgstr "ΔιάÏκεια" - -#: ../modules/callmonitor.module:150 -#, fuzzy -msgid "ignore" -msgstr "κανÎνα" - -#: ../modules/callmonitor.module:159 ../modules/voicemail.module:322 -msgid "Date" -msgstr "ΗμεÏομηνία" - -#: ../modules/callmonitor.module:163 ../modules/voicemail.module:326 -msgid "Caller ID" -msgstr "Ταυτότητα ΚαλοÏντος" - -#: ../modules/callmonitor.module:165 -msgid "Source" -msgstr "Πηγή" - -#: ../modules/callmonitor.module:167 -msgid "Destination" -msgstr "Î ÏοοÏισμός" - -#: ../modules/callmonitor.module:169 -msgid "Context" -msgstr "ΠεÏιεχόμενο" - -#: ../modules/callmonitor.module:171 ../modules/voicemail.module:332 -msgid "Duration" -msgstr "ΔιάÏκεια" - -#: ../modules/callmonitor.module:202 -msgid "Monitor" -msgstr "ΠαÏακολοÏθηση" - -#: ../modules/callmonitor.module:222 ../modules/voicemail.module:373 -msgid "play" -msgstr "άκουσε" - -#: ../modules/callmonitor.module:259 -#, fuzzy, php-format -msgid "Call Monitor for %s (%s)" -msgstr "ΠαÏακολοÏθηση Κλήσεων" - -#: ../modules/callmonitor.module:311 ../modules/voicemail.module:475 -msgid "select" -msgstr "επιλογή" - -#: ../modules/callmonitor.module:312 ../modules/voicemail.module:476 -msgid "all" -msgstr "όλα" - -#: ../modules/callmonitor.module:313 ../modules/voicemail.module:477 -msgid "none" -msgstr "κανÎνα" - -#: ../modules/callmonitor.module:533 -msgid "Only deletes recording files, not cdr log" -msgstr "" - -#: ../modules/conference.module:55 -msgid "My Conference room" -msgstr "" - -#: ../modules/conference.module:78 -#, fuzzy, php-format -msgid "Conference for %s (%s%s)" -msgstr "Τηλεφωνητής" - -#: ../modules/help.module:39 ../modules/help.module:68 -msgid "Help" -msgstr "" - -#: ../modules/help.module:70 -#, fuzzy, php-format -msgid "Help for %s (%s)" -msgstr "Ρυθμίσεις για" - -#: ../modules/help.module:77 -msgid "Handset Feature Code" -msgstr "" - -#: ../modules/help.module:80 -msgid "Action" -msgstr "" - -#: ../modules/settings.module:61 ../modules/settings.module:667 -msgid "Settings" -msgstr "Ρυθμίσεις" - -#: ../modules/settings.module:125 -msgid "Call forward number not changed" -msgstr "" - -#: ../modules/settings.module:126 -#, php-format -msgid "" -"Number %s must contain dial numbers (characters like '(', '-', and ')' are " -"ok)" -msgstr "" - -#: ../modules/settings.module:151 ../modules/settings.module:156 -#: ../modules/settings.module:161 ../modules/settings.module:166 -#: ../modules/settings.module:176 ../modules/settings.module:181 -msgid "Voicemail password not changed" -msgstr "Ο κωδικός του τηλεφωνητή δεν άλλαξε" - -#: ../modules/settings.module:152 -msgid "Password and password confirm must not be blank" -msgstr "Ο κωδικός και η επιβεβαίωση ÎºÏ‰Î´Î¹ÎºÎ¿Ï Î´ÎµÎ½ Ï€ÏÎπει να είναι κενά" - -#: ../modules/settings.module:157 -#, fuzzy, php-format -msgid "Passwords must be all numbers and greater than %d digits" -msgstr "Οι κωδικοί Ï€ÏÎπει να είναι μόνο 4 αÏιθμοί" - -#: ../modules/settings.module:162 -#, fuzzy, php-format -msgid "Passwords must be all numbers and only %d digits" -msgstr "Οι κωδικοί Ï€ÏÎπει να είναι μόνο 4 αÏιθμοί" - -#: ../modules/settings.module:167 -msgid "Password and password confirm do not match" -msgstr "Ο κωδικός και η επιβεβαίωση ÎºÏ‰Î´Î¹ÎºÎ¿Ï Î´ÎµÎ½ συμφωνοÏν" - -#: ../modules/settings.module:177 ../modules/settings.module:182 -#: ../modules/settings.module:234 ../modules/settings.module:239 -#, fuzzy, php-format -msgid "%s does not exist or is not writable" -msgstr "Δεν υπάÏχει ή δεν είναι εγγÏάψιμο" - -#: ../modules/settings.module:223 -#, fuzzy -msgid "Voicemail email and pager address not changed" -msgstr "Ο κωδικός του τηλεφωνητή δεν άλλαξε" - -#: ../modules/settings.module:233 ../modules/settings.module:238 -#, fuzzy -msgid "Voicemail email settings not changed" -msgstr "Ο κωδικός του τηλεφωνητή δεν άλλαξε" - -#: ../modules/settings.module:385 -msgid "Language:" -msgstr "Γλώσσα:" - -#: ../modules/settings.module:408 -#, fuzzy -msgid "Call Routing" -msgstr "Ρυθμίσεις ΠαÏακολοÏθησης Κλήσεων" - -#: ../modules/settings.module:411 -#, fuzzy -msgid "Call Forwarding:" -msgstr "Ρυθμίσεις ΠαÏακολοÏθησης Κλήσεων" - -#: ../modules/settings.module:419 ../modules/settings.module:507 -#, fuzzy -msgid "Enable" -msgstr "στο πεδίο" - -#: ../modules/settings.module:431 -#, fuzzy, php-format -msgid "Passwords must be all numbers and only %s digits" -msgstr "Οι κωδικοί Ï€ÏÎπει να είναι μόνο 4 αÏιθμοί" - -#: ../modules/settings.module:434 -#, fuzzy, php-format -msgid "Passwords must be all numbers and at least %s digits" -msgstr "Οι κωδικοί Ï€ÏÎπει να είναι μόνο 4 αÏιθμοί" - -#: ../modules/settings.module:439 -#, fuzzy -msgid "Voicemail Password:" -msgstr "Κωδικός Τηλεφωνητή" - -#: ../modules/settings.module:445 -msgid "Enter again to confirm:" -msgstr "Εισάγετε ξανά για επιβεβαίωση:" - -#: ../modules/settings.module:492 -#, fuzzy -msgid "Email Voicemail To:" -msgstr "Τηλεφωνητής" - -#: ../modules/settings.module:498 -#, fuzzy -msgid "Pager Voicemail To:" -msgstr "Τηλεφωνητής" - -#: ../modules/settings.module:558 -msgid "Audio Format:" -msgstr "Ποιότητα Ήχου:" - -#: ../modules/settings.module:561 -msgid "Best Quality" -msgstr "ÎœÎγιστη Ποιότητα" - -#: ../modules/settings.module:562 -msgid "Smallest Download" -msgstr "ΜικÏότεÏο Download" - -#: ../modules/settings.module:570 -msgid "Voicemail Settings" -msgstr "Ρυθμίσεις Τηλεφωνητή" - -#: ../modules/settings.module:611 -msgid "Call Monitor Settings" -msgstr "Ρυθμίσεις ΠαÏακολοÏθησης Κλήσεων" - -#: ../modules/settings.module:614 -msgid "Record INCOMING:" -msgstr "ΗχογÏάφηση ΕΙΣΕΡΧΟΜΕÎΟΥ:" - -#: ../modules/settings.module:616 ../modules/settings.module:624 -msgid "Always" -msgstr "Πάντα" - -#: ../modules/settings.module:617 ../modules/settings.module:625 -msgid "Never" -msgstr "ΠοτÎ" - -#: ../modules/settings.module:618 ../modules/settings.module:626 -msgid "On-Demand" -msgstr "Επιτόπου" - -#: ../modules/settings.module:622 -msgid "Record OUTGOING:" -msgstr "ΗχογÏάφηση ΕΞΕΡΧΟΜΕÎΟΥ:" - -#: ../modules/settings.module:669 -#, fuzzy, php-format -msgid "Settings for %s (%s)" -msgstr "Ρυθμίσεις για" - -#: ../modules/settings.module:705 -msgid "Update" -msgstr "ΑνανÎωση" - -#: ../modules/voicemail.module:45 -msgid "Voicemail" -msgstr "Τηλεφωνητής" - -#: ../modules/voicemail.module:164 -msgid "A folder must be selected before the message can be moved." -msgstr "Î ÏÎπει να επιλεχθεί Îνας κατάλογος Ï€Ïίν μεταφεÏεθεί το μÏνημα." - -#: ../modules/voicemail.module:178 -msgid "An extension must be selected before the message can be forwarded." -msgstr "Î ÏÎπει να επιλεχθεί ΘυÏίδα παÏαλήπτη Ï€Ïίν Ï€Ïοωθηθεί το μÏνημα." - -#: ../modules/voicemail.module:304 -msgid "move_to" -msgstr "μετακίνηση" - -#: ../modules/voicemail.module:307 -#, fuzzy -msgid "Folder" -msgstr "Κατάλογοι" - -#: ../modules/voicemail.module:311 -msgid "forward_to" -msgstr "Ï€Ïοώθηση" - -#: ../modules/voicemail.module:328 -msgid "Priority" -msgstr "Î ÏοτεÏαιότητα" - -#: ../modules/voicemail.module:330 -msgid "Orig Mailbox" -msgstr "ΑÏχικός Κατάλογος Μυνημάτων" - -#: ../modules/voicemail.module:362 -msgid "Message" -msgstr "" - -#: ../modules/voicemail.module:377 -msgid "Voicemail recording(s) was not found." -msgstr "Δεν βÏÎθηκαν εγγÏαφή(ÎÏ‚) στον τηλεφωνητή." - -#: ../modules/voicemail.module:378 -#, php-format -msgid "" -"On settings page, change voicemail audio format. It is currently set to %s" -msgstr "" - -#: ../modules/voicemail.module:405 -#, fuzzy -msgid "Voicemail Login not found." -msgstr "Δεν βÏÎθηκε Ï€Ïόσβαση για θυÏίδα μυνημάτων" - -#: ../modules/voicemail.module:406 -msgid "No access to voicemail" -msgstr "Καμία Ï€Ïόσβαση στον τηλεφωνητή" - -#: ../modules/voicemail.module:412 -msgid "No Voicemail Recordings for Admin" -msgstr "Δεν ΥπάÏχουν ΕγγÏαφÎÏ‚ Μυνημάτων για τον ΔιαχειÏιστή" - -#: ../modules/voicemail.module:428 -#, fuzzy, php-format -msgid "Voicemail for %s (%s)" -msgstr "Τηλεφωνητής" - -#: ../modules/voicemail.module:678 -#, fuzzy, php-format -msgid "Could not create mailbox folder %s on the server" -msgstr "ΑδÏνατη η δημιουÏγία καταλόγου μυνημάτων" - -#: ../modules/voicemail.module:718 -#, php-format -msgid "Permission denied on folder %s or %s" -msgstr "" - -#: ../misc/recording_popup.php:39 -msgid "download" -msgstr "κατÎβασμα" - -#~ msgid "Passwords must be all numbers and only 4 digits" -#~ msgstr "Οι κωδικοί Ï€ÏÎπει να είναι μόνο 4 αÏιθμοί" - -#~ msgid "Folders" -#~ msgstr "Κατάλογοι" - -#~ msgid "Login used" -#~ msgstr "Όνομα χÏήστη που χÏησιμοποιήθηκε" - -#, fuzzy -#~ msgid "No Asterisk Manager Interface connection" -#~ msgstr "Ο διαχειÏιστής κλήσεων Asterisk δεν αποκÏίνεται" - -#~ msgid "not a directory or not readable" -#~ msgstr "δεν είναι κατάλογος ή δεν είναι αναγνώσιμος" - -#~ msgid "of" -#~ msgstr "από" - -#~ msgid "Use your" -#~ msgstr "ΧÏησιμοποίησε την δικιά σου" - -#~ msgid "for" -#~ msgstr "για" - -#~ msgid "Password must be all numbers and 4 digits" -#~ msgstr "Ο κωδικός Ï€ÏÎπει να Îιναι 4 αÏιθμοί" - -#~ msgid "Check voicemail audio format on settings page to change from" -#~ msgstr "" -#~ "ΕλÎγχτε το audio format του μυνήματος στην σελίδα Ïυθμίσεων για αλλαγή" - -#~ msgid "on the server" -#~ msgstr "στον server" - -#~ msgid "No database connection" -#~ msgstr "Δεν υπάÏχει σÏνδεση με την βάση δεδομÎνων" diff --git a/fs_selfservice/fri/locale/es_ES/LC_MESSAGES/ari.mo b/fs_selfservice/fri/locale/es_ES/LC_MESSAGES/ari.mo Binary files differdeleted file mode 100644 index e0fbdd961..000000000 --- a/fs_selfservice/fri/locale/es_ES/LC_MESSAGES/ari.mo +++ /dev/null diff --git a/fs_selfservice/fri/locale/es_ES/LC_MESSAGES/ari.po b/fs_selfservice/fri/locale/es_ES/LC_MESSAGES/ari.po deleted file mode 100644 index 0518573d0..000000000 --- a/fs_selfservice/fri/locale/es_ES/LC_MESSAGES/ari.po +++ /dev/null @@ -1,616 +0,0 @@ -# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-# Grupo Ikusnet, Antonio F. Cano <antonio@igestec.com>, 2006. -# Grupo Ikusnet, Agustin Vericat <agustin@igestec.com>, 2006. -#
-msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-03 08:32-0400\n" -"PO-Revision-Date: 2006-03-31 13:00\n" -"Last-Translator: Antonio F. Cano <antonio@igestec.com>\n" -"Language-Team: Espanol <LL@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../includes/asi.php:46 -msgid "Asterisk Call Manager not responding" -msgstr "La Centralita no responde" - -#: ../includes/asi.php:54 -msgid "Asterisk authentication failed:" -msgstr "Fallo la Autenticacion con la Centralita" - -#: ../includes/asi.php:96 ../includes/asi.php:111 -msgid "Asterisk command not understood" -msgstr "La recarga no funcino" - -#: ../includes/bootstrap.php:123 -#, php-format -msgid "To many directories in %s Not all files processed" -msgstr "Demasiados directorios en %s, notodos los archivos han sido procesados" - -#: ../includes/bootstrap.php:226 -#, fuzzy -msgid "ARI requires a version of PHP 4.3 or later" -msgstr "Necesita una versió de PHP 4.0 o superior" - -#: ../includes/bootstrap.php:245 -msgid "" -"PHP PEAR must be installed. Visit http://pear.php.net for help with " -"installation." -msgstr "" -"PHP PEAR debe estar instalado. Visite http://pear.php.net para obtener ayuda" - -#: ../includes/common.php:173 -msgid "ARI does not appear to have access to the Asterisk Manager." -msgstr "No es posible conectar con la Centralita" - -#: ../includes/common.php:174 -#, fuzzy -msgid "" -"Check the ARI 'main.conf.php' configuration file to set the Asterisk Manager " -"Account." -msgstr "" -"Compruebe el archivo 'main.conf' para configuar la conexión con " -"Asterisk Manager" - -#: ../includes/common.php:175 -msgid "Check /etc/asterisk/manager.conf for a proper Asterisk Manager Account" -msgstr "" -"Compruebe /etc/asterisk/manager.conf para crear una cuenta Asterisk Manager" - -#: ../includes/common.php:176 -msgid "" -"make sure [general] enabled = yes and a 'permit=' line for localhost or the " -"webserver." -msgstr "" - -#: ../includes/common.php:193 ../includes/common.php:208 -msgid "Check AMP installation, asterisk, and ARI main.conf" -msgstr "Compruebe la instalacion de FreePBX, DDBB o ARI en main.conf" - -#: ../includes/common.php:344 -msgid "Logout" -msgstr "Salir" - -#: ../includes/common.php:349 -msgid "Page Not Found." -msgstr "Pagina No encontrada" - -#: ../includes/display.php:92 -msgid "Search" -msgstr "Buscar" - -#: ../includes/display.php:135 -msgid "Searched for" -msgstr "Buscado para" - -#: ../includes/display.php:139 -#, fuzzy, php-format -msgid "Results %d - %d of %d" -msgstr "Resultados %d de %d" - -#: ../includes/display.php:141 -#, php-format -msgid "Results %d" -msgstr "Resultados %d" - -#: ../includes/display.php:195 -msgid "First" -msgstr "Primero" - -#: ../includes/display.php:208 -msgid "Last" -msgstr "Ultimo" - -#: ../includes/login.php:267 -msgid "Incorrect Password" -msgstr "Contraseña Incorrecta" - -#: ../includes/login.php:279 -msgid "Incorrect Username or Password" -msgstr "Contraseñ Incorrecta" - -#: ../includes/login.php:402 ../includes/login.php:411 -msgid "Login" -msgstr "Usuario" - -#: ../includes/login.php:419 -msgid "Password" -msgstr "Contraseña" - -#: ../includes/login.php:428 -msgid "Submit" -msgstr "Enviar" - -#: ../includes/login.php:436 -msgid "Remember Password" -msgstr "Recordar Contraseña" - -#: ../includes/login.php:451 -msgid "Use your <b>Voicemail Mailbox and Password</b>" -msgstr "Use su Buzón de Voz (Usuario) y contraseña" - -#: ../includes/login.php:452 -msgid "This is the same password used for the phone" -msgstr "Esta es es la misma contraseña usada para el telefono" - -#: ../includes/login.php:454 -msgid "" -"For password maintenance or assistance, contact your Phone System " -"Administrator." -msgstr "" -"Para mantenimiento de contraseñas o asistencia, pongase en contacto " -"con el Administrador." - -#: ../includes/main.conf.php:152 -msgid "INBOX" -msgstr "Entrada" - -#: ../includes/main.conf.php:154 -msgid "Family" -msgstr "Familiares" - -#: ../includes/main.conf.php:156 -msgid "Friends" -msgstr "Amigos" - -#: ../includes/main.conf.php:158 -msgid "Old" -msgstr "Antiguos" - -#: ../includes/main.conf.php:160 -msgid "Work" -msgstr "Trabajo" - -#: ../includes/main.conf.php:229 -msgid "Directory" -msgstr "Directorio" - -#: ../includes/main.conf.php:230 -msgid "Echo Test" -msgstr "Test Eco" - -#: ../includes/main.conf.php:231 ../modules/callmonitor.module:161 -#: ../modules/voicemail.module:324 -msgid "Time" -msgstr "Hora" - -#: ../includes/main.conf.php:232 -msgid "Weather" -msgstr "Tiempo" - -#: ../includes/main.conf.php:233 -msgid "Schedule wakeup call" -msgstr "Programar llamada despertador" - -#: ../includes/main.conf.php:234 -msgid "festival test (your extension is XXX)" -msgstr "Test festival tts (su extension es XXX)" - -#: ../includes/main.conf.php:235 -msgid "Activate Call Waiting (deactivated by default)" -msgstr "Activar Llamada en Espera (Desactivada por defecto)" - -#: ../includes/main.conf.php:236 -msgid "Deactivate Call Waiting" -msgstr "Desactivar Llamada en Espera" - -#: ../includes/main.conf.php:237 -msgid "Call Forwarding System" -msgstr "Desvío de llamada" - -#: ../includes/main.conf.php:238 -msgid "Disable Call Forwarding" -msgstr "Desactivar el Desvío de Llamada" - -#: ../includes/main.conf.php:239 -msgid "IVR Recording" -msgstr "Grabaciones" - -#: ../includes/main.conf.php:240 -msgid "Enable Do-Not-Disturb" -msgstr "Activar No-Molestar" - -#: ../includes/main.conf.php:241 -msgid "Disable Do-Not-Disturb" -msgstr "Desactivar No-Molestar" - -#: ../includes/main.conf.php:242 -msgid "Call Forward on Busy" -msgstr "Desvío de llamada cuando esté Ocupado" - -#: ../includes/main.conf.php:243 -msgid "Disable Call Forward on Busy" -msgstr "Desactivar el Desvío de llamada cuando esté Ocupado" - -#: ../includes/main.conf.php:244 -#, fuzzy -msgid "Message Center (does not ask for extension)" -msgstr "Centro de Mensajes (no pregunta la extensín)" - -#: ../includes/main.conf.php:245 -msgid "Enter Message Center" -msgstr "Entrar en el Centro de Mensajes" - -#: ../includes/main.conf.php:246 -msgid "Playback IVR Recording" -msgstr "Escuchar la grabación realizada" - -#: ../includes/main.conf.php:247 -msgid "Test Fax" -msgstr "Probar Fax" - -#: ../includes/main.conf.php:248 -msgid "Simulate incoming call" -msgstr "Simular una llamada entrante" - -#: ../includes/main.conf.php:289 -msgid "Email voicemail as attachment" -msgstr "Adjuntar el mensaje de voz en el correo electrónico" - -#: ../includes/main.conf.php:290 -msgid "Say caller id in recording emailed" -msgstr "" -"Indica el CallerID en la grabación enviada por correo electró" -"nico" - -#: ../includes/main.conf.php:291 -msgid "Say envelop (date/time) in recording emailed" -msgstr "" -"Indica la etiqueta (tiempo/hora) en la grabación enviada por correo " -"electrónico" - -#: ../includes/main.conf.php:292 -msgid "Delete voicemail when emailed" -msgstr "" -"Eliminar el mensaje de voz una vez enviado por correo electrónico" - -#: ../includes/main.conf.php:293 -msgid "Play next message after deleting current message" -msgstr "Reproducir el siguiente mensaje una vez eliminado el actual" - -#: ../includes/main.conf.php:294 -msgid "Ask caller to review their voicemail before sending" -msgstr "" - -#: ../includes/main.conf.php:295 -msgid "Maximum time in seconds a voicemail will record" -msgstr "" - -#: ../modules/callmonitor.module:37 ../modules/callmonitor.module:257 -msgid "Call Monitor" -msgstr "Registro de Llamadas" - -#: ../modules/callmonitor.module:132 -#, php-format -msgid "Path is not a directory: %s" -msgstr "La ruta no es un directorio: %s" - -#: ../modules/callmonitor.module:141 ../modules/voicemail.module:301 -msgid "delete" -msgstr "Eliminar" - -#: ../modules/callmonitor.module:147 -msgid "duration" -msgstr "Duración" - -#: ../modules/callmonitor.module:150 -msgid "ignore" -msgstr "ninguno" - -#: ../modules/callmonitor.module:159 ../modules/voicemail.module:322 -msgid "Date" -msgstr "Fecha" - -#: ../modules/callmonitor.module:163 ../modules/voicemail.module:326 -msgid "Caller ID" -msgstr "Caller ID" - -#: ../modules/callmonitor.module:165 -msgid "Source" -msgstr "Origen" - -#: ../modules/callmonitor.module:167 -msgid "Destination" -msgstr "Destino" - -#: ../modules/callmonitor.module:169 -msgid "Context" -msgstr "Contexto" - -#: ../modules/callmonitor.module:171 ../modules/voicemail.module:332 -msgid "Duration" -msgstr "Duración" - -#: ../modules/callmonitor.module:202 -msgid "Monitor" -msgstr "Monitor para" - -#: ../modules/callmonitor.module:222 ../modules/voicemail.module:373 -msgid "play" -msgstr "escuchar" - -#: ../modules/callmonitor.module:259 -#, php-format -msgid "Call Monitor for %s (%s)" -msgstr "Registro de Llamadas de %s (%s)" - -#: ../modules/callmonitor.module:311 ../modules/voicemail.module:475 -msgid "select" -msgstr "Selecionar" - -#: ../modules/callmonitor.module:312 ../modules/voicemail.module:476 -msgid "all" -msgstr "todos" - -#: ../modules/callmonitor.module:313 ../modules/voicemail.module:477 -msgid "none" -msgstr "ninguno" - -#: ../modules/callmonitor.module:533 -msgid "Only deletes recording files, not cdr log" -msgstr "Solo elimina los archivos grabados, no el log en el CDR" - -#: ../modules/conference.module:55 -msgid "My Conference room" -msgstr "" - -#: ../modules/conference.module:78 -#, fuzzy, php-format -msgid "Conference for %s (%s%s)" -msgstr "Buzón de Voz de %s (%s)" - -#: ../modules/help.module:39 ../modules/help.module:68 -msgid "Help" -msgstr "Ayuda" - -#: ../modules/help.module:70 -#, php-format -msgid "Help for %s (%s)" -msgstr "Ayuda para %s (%s)" - -#: ../modules/help.module:77 -msgid "Handset Feature Code" -msgstr "Teclas de Marcación" - -#: ../modules/help.module:80 -msgid "Action" -msgstr "Acción" - -#: ../modules/settings.module:61 ../modules/settings.module:667 -msgid "Settings" -msgstr "Opciones" - -#: ../modules/settings.module:125 -msgid "Call forward number not changed" -msgstr "El número del desvío no ha cambiado" - -#: ../modules/settings.module:126 -#, php-format -msgid "" -"Number %s must contain dial numbers (characters like '(', '-', and ')' are " -"ok)" -msgstr "" -"El número %s debe contener n&uacte;meros marcables (caracteres como " -"'(', '-', y ')' son válidos)" - -#: ../modules/settings.module:151 ../modules/settings.module:156 -#: ../modules/settings.module:161 ../modules/settings.module:166 -#: ../modules/settings.module:176 ../modules/settings.module:181 -msgid "Voicemail password not changed" -msgstr "La Contraseña del Buzón de Voz no ha cambiado" - -#: ../modules/settings.module:152 -msgid "Password and password confirm must not be blank" -msgstr "" -"Contraseña y la confirmacion de esta no deben de estar en blanco" - -#: ../modules/settings.module:157 -#, fuzzy, php-format -msgid "Passwords must be all numbers and greater than %d digits" -msgstr "Contraseña ha de ser numerica y de longitud %d digitos" - -#: ../modules/settings.module:162 -#, php-format -msgid "Passwords must be all numbers and only %d digits" -msgstr "Contraseña ha de ser numerica y de longitud %d digitos" - -#: ../modules/settings.module:167 -msgid "Password and password confirm do not match" -msgstr "Contraseña y conformacion no corresponden" - -#: ../modules/settings.module:177 ../modules/settings.module:182 -#: ../modules/settings.module:234 ../modules/settings.module:239 -#, php-format -msgid "%s does not exist or is not writable" -msgstr "%s No existe o no se puede escribir" - -#: ../modules/settings.module:223 -msgid "Voicemail email and pager address not changed" -msgstr "La Contraseña del Buzón de Voz no ha cambiado" - -#: ../modules/settings.module:233 ../modules/settings.module:238 -msgid "Voicemail email settings not changed" -msgstr "La Contraseña del Buzón de Voz no ha cambiado" - -#: ../modules/settings.module:385 -msgid "Language:" -msgstr "Idioma:" - -#: ../modules/settings.module:408 -msgid "Call Routing" -msgstr "Enrutado de llamadas" - -#: ../modules/settings.module:411 -msgid "Call Forwarding:" -msgstr "Desviar llamadas a:" - -#: ../modules/settings.module:419 ../modules/settings.module:507 -msgid "Enable" -msgstr "Activar" - -#: ../modules/settings.module:431 -#, php-format -msgid "Passwords must be all numbers and only %s digits" -msgstr "Contraseña ha de ser numerica y de longitud %s digitos" - -#: ../modules/settings.module:434 -#, fuzzy, php-format -msgid "Passwords must be all numbers and at least %s digits" -msgstr "Contraseña ha de ser numerica y de longitud %s digitos" - -#: ../modules/settings.module:439 -msgid "Voicemail Password:" -msgstr "Contraseña del Buzón de Voz" - -#: ../modules/settings.module:445 -msgid "Enter again to confirm:" -msgstr "Introduzca otra vez para confirmar:" - -#: ../modules/settings.module:492 -msgid "Email Voicemail To:" -msgstr "Buzón de Voz para" - -#: ../modules/settings.module:498 -msgid "Pager Voicemail To:" -msgstr "Buzón de Voz para" - -#: ../modules/settings.module:558 -msgid "Audio Format:" -msgstr "Formato del Audio:" - -#: ../modules/settings.module:561 -msgid "Best Quality" -msgstr "Mejor Calidad" - -#: ../modules/settings.module:562 -msgid "Smallest Download" -msgstr "Descarga rapida" - -#: ../modules/settings.module:570 -msgid "Voicemail Settings" -msgstr "Propiedades del Buzón de Voz" - -#: ../modules/settings.module:611 -msgid "Call Monitor Settings" -msgstr "Propiedades del Registro de Llamadas" - -#: ../modules/settings.module:614 -msgid "Record INCOMING:" -msgstr "Grabaciones Entrantes:" - -#: ../modules/settings.module:616 ../modules/settings.module:624 -msgid "Always" -msgstr "Siempre" - -#: ../modules/settings.module:617 ../modules/settings.module:625 -msgid "Never" -msgstr "Nunca" - -#: ../modules/settings.module:618 ../modules/settings.module:626 -msgid "On-Demand" -msgstr "Bajo demanda" - -#: ../modules/settings.module:622 -msgid "Record OUTGOING:" -msgstr "Grabaciones Salientes:" - -#: ../modules/settings.module:669 -#, php-format -msgid "Settings for %s (%s)" -msgstr "Ajustes para %s (%s)" - -#: ../modules/settings.module:705 -msgid "Update" -msgstr "Actualizar" - -#: ../modules/voicemail.module:45 -msgid "Voicemail" -msgstr "Buzón de Voz" - -#: ../modules/voicemail.module:164 -msgid "A folder must be selected before the message can be moved." -msgstr "Debe elegir primero una carpeta antes de mover el mensaje." - -#: ../modules/voicemail.module:178 -msgid "An extension must be selected before the message can be forwarded." -msgstr "Debe de seleccionar una extension antes de reenviar el mensaje" - -#: ../modules/voicemail.module:304 -msgid "move_to" -msgstr "Mover a" - -#: ../modules/voicemail.module:307 -msgid "Folder" -msgstr "Carpetas" - -#: ../modules/voicemail.module:311 -msgid "forward_to" -msgstr "Enviar a" - -#: ../modules/voicemail.module:328 -msgid "Priority" -msgstr "Prioridad" - -#: ../modules/voicemail.module:330 -msgid "Orig Mailbox" -msgstr "Buzón de Voz Orig" - -#: ../modules/voicemail.module:362 -msgid "Message" -msgstr "Mensaje" - -#: ../modules/voicemail.module:377 -msgid "Voicemail recording(s) was not found." -msgstr "No se ha encontrado grabaciones en el Buzón de Voz." - -#: ../modules/voicemail.module:378 -#, php-format -msgid "" -"On settings page, change voicemail audio format. It is currently set to %s" -msgstr "" - -#: ../modules/voicemail.module:405 -msgid "Voicemail Login not found." -msgstr "" -"No se encontro el usuario del Buzón de Voz, se usa el usuario de la " -"extension" - -#: ../modules/voicemail.module:406 -msgid "No access to voicemail" -msgstr "No tiene permiso para acceder al Buzón de Voz" - -#: ../modules/voicemail.module:412 -msgid "No Voicemail Recordings for Admin" -msgstr "No hay grabaciones en el Buzón de Voz de Admin" - -#: ../modules/voicemail.module:428 -#, php-format -msgid "Voicemail for %s (%s)" -msgstr "Buzón de Voz de %s (%s)" - -#: ../modules/voicemail.module:678 -#, php-format -msgid "Could not create mailbox folder %s on the server" -msgstr "No puedo crear la carpeta %s en el buzón de voz" - -#: ../modules/voicemail.module:718 -#, php-format -msgid "Permission denied on folder %s or %s" -msgstr "Permiso denegado en el directorio %s o %s" - -#: ../misc/recording_popup.php:39 -msgid "download" -msgstr "Descargar" - -#~ msgid "Settings for" -#~ msgstr "Configuracion de" - -#~ msgid "Folders" -#~ msgstr "Carpetas" diff --git a/fs_selfservice/fri/locale/fr_FR/LC_MESSAGES/ari.mo b/fs_selfservice/fri/locale/fr_FR/LC_MESSAGES/ari.mo Binary files differdeleted file mode 100644 index 78d4733ad..000000000 --- a/fs_selfservice/fri/locale/fr_FR/LC_MESSAGES/ari.mo +++ /dev/null diff --git a/fs_selfservice/fri/locale/fr_FR/LC_MESSAGES/ari.po b/fs_selfservice/fri/locale/fr_FR/LC_MESSAGES/ari.po deleted file mode 100644 index 7f15c7ac8..000000000 --- a/fs_selfservice/fri/locale/fr_FR/LC_MESSAGES/ari.po +++ /dev/null @@ -1,635 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR <jbp@phileas-com.net>, 15/11/2005. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: 1.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-03 08:32-0400\n" -"PO-Revision-Date: 2006-04-29 11:30+0100\n" -"Last-Translator: Xavier Ourcière <xourciere@propolys.com>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../includes/asi.php:46 -msgid "Asterisk Call Manager not responding" -msgstr "Asterisk Call Manager ne répond pas" - -#: ../includes/asi.php:54 -msgid "Asterisk authentication failed:" -msgstr "Authentification Asterisk échoue :" - -#: ../includes/asi.php:96 ../includes/asi.php:111 -msgid "Asterisk command not understood" -msgstr "Asterisk: commande non comprise" - -#: ../includes/bootstrap.php:123 -#, php-format -msgid "To many directories in %s Not all files processed" -msgstr "" - -#: ../includes/bootstrap.php:226 -msgid "ARI requires a version of PHP 4.3 or later" -msgstr "" - -#: ../includes/bootstrap.php:245 -msgid "" -"PHP PEAR must be installed. Visit http://pear.php.net for help with " -"installation." -msgstr "" - -#: ../includes/common.php:173 -msgid "ARI does not appear to have access to the Asterisk Manager." -msgstr "Connexion impossible à Asterisk Manager" - -#: ../includes/common.php:174 -msgid "" -"Check the ARI 'main.conf.php' configuration file to set the Asterisk Manager " -"Account." -msgstr "" - -#: ../includes/common.php:175 -msgid "Check /etc/asterisk/manager.conf for a proper Asterisk Manager Account" -msgstr "" - -#: ../includes/common.php:176 -msgid "" -"make sure [general] enabled = yes and a 'permit=' line for localhost or the " -"webserver." -msgstr "" - -#: ../includes/common.php:193 ../includes/common.php:208 -msgid "Check AMP installation, asterisk, and ARI main.conf" -msgstr "" -"Vérifiez l'installation d'AMP, de Asterisk, ou le fichier ARI main.conf" - -#: ../includes/common.php:344 -msgid "Logout" -msgstr "Déconexion" - -#: ../includes/common.php:349 -msgid "Page Not Found." -msgstr "Fichier introuvable" - -#: ../includes/display.php:92 -msgid "Search" -msgstr "Rechercher" - -#: ../includes/display.php:135 -msgid "Searched for" -msgstr "Rechercher pour" - -#: ../includes/display.php:139 -#, php-format -msgid "Results %d - %d of %d" -msgstr "Résultats %d à %s sur %d" - -#: ../includes/display.php:141 -#, php-format -msgid "Results %d" -msgstr "Résultats %d" - -#: ../includes/display.php:195 -msgid "First" -msgstr "Premier" - -#: ../includes/display.php:208 -msgid "Last" -msgstr "Dernier" - -#: ../includes/login.php:267 -msgid "Incorrect Password" -msgstr "Mot de Passe eronné" - -#: ../includes/login.php:279 -msgid "Incorrect Username or Password" -msgstr "Login ou Mot de Passe erroné" - -#: ../includes/login.php:402 ../includes/login.php:411 -msgid "Login" -msgstr "Authentification" - -#: ../includes/login.php:419 -msgid "Password" -msgstr "Mot de Passe" - -#: ../includes/login.php:428 -msgid "Submit" -msgstr "Valider" - -#: ../includes/login.php:436 -msgid "Remember Password" -msgstr "Se souvenir du mot de passe" - -#: ../includes/login.php:451 -msgid "Use your <b>Voicemail Mailbox and Password</b>" -msgstr "Utilisez votre <b>numéro de la boîte vocale et votre mot de passe</b>" - -#: ../includes/login.php:452 -msgid "This is the same password used for the phone" -msgstr "C'est le même Mot de Passe que sur le téléphone" - -#: ../includes/login.php:454 -msgid "" -"For password maintenance or assistance, contact your Phone System " -"Administrator." -msgstr "Pour de l'assistance contactez votre administrateur de téléphonie." - -#: ../includes/main.conf.php:152 -msgid "INBOX" -msgstr "NOUVEAUX" - -#: ../includes/main.conf.php:154 -msgid "Family" -msgstr "Famille" - -#: ../includes/main.conf.php:156 -msgid "Friends" -msgstr "Amis" - -#: ../includes/main.conf.php:158 -msgid "Old" -msgstr "Anciens" - -#: ../includes/main.conf.php:160 -msgid "Work" -msgstr "Travail" - -#: ../includes/main.conf.php:229 -msgid "Directory" -msgstr "Annuaire local" - -#: ../includes/main.conf.php:230 -msgid "Echo Test" -msgstr "Test d'echo" - -#: ../includes/main.conf.php:231 ../modules/callmonitor.module:161 -#: ../modules/voicemail.module:324 -msgid "Time" -msgstr "Heure" - -#: ../includes/main.conf.php:232 -msgid "Weather" -msgstr "Météo" - -#: ../includes/main.conf.php:233 -msgid "Schedule wakeup call" -msgstr "Programmation de réveil" - -#: ../includes/main.conf.php:234 -msgid "festival test (your extension is XXX)" -msgstr "test de festival (votre numéro de téléphone est le XXXX)" - -#: ../includes/main.conf.php:235 -msgid "Activate Call Waiting (deactivated by default)" -msgstr "" - -#: ../includes/main.conf.php:236 -msgid "Deactivate Call Waiting" -msgstr "" - -#: ../includes/main.conf.php:237 -msgid "Call Forwarding System" -msgstr "" - -#: ../includes/main.conf.php:238 -msgid "Disable Call Forwarding" -msgstr "" - -#: ../includes/main.conf.php:239 -#, fuzzy -msgid "IVR Recording" -msgstr "Enregistrement" - -#: ../includes/main.conf.php:240 -msgid "Enable Do-Not-Disturb" -msgstr "Active ne pas déranger" - -#: ../includes/main.conf.php:241 -msgid "Disable Do-Not-Disturb" -msgstr "Désactive ne pas déranger" - -#: ../includes/main.conf.php:242 -msgid "Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:243 -msgid "Disable Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:244 -#, fuzzy -msgid "Message Center (does not ask for extension)" -msgstr "Boite vocale personnelle" - -#: ../includes/main.conf.php:245 -msgid "Enter Message Center" -msgstr "Centre de messageries" - -#: ../includes/main.conf.php:246 -msgid "Playback IVR Recording" -msgstr "" - -#: ../includes/main.conf.php:247 -msgid "Test Fax" -msgstr "" - -#: ../includes/main.conf.php:248 -msgid "Simulate incoming call" -msgstr "Simulation d'appel entrant" - -#: ../includes/main.conf.php:289 -msgid "Email voicemail as attachment" -msgstr "" - -#: ../includes/main.conf.php:290 -msgid "Say caller id in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:291 -msgid "Say envelop (date/time) in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:292 -msgid "Delete voicemail when emailed" -msgstr "" - -#: ../includes/main.conf.php:293 -msgid "Play next message after deleting current message" -msgstr "" - -#: ../includes/main.conf.php:294 -msgid "Ask caller to review their voicemail before sending" -msgstr "" - -#: ../includes/main.conf.php:295 -msgid "Maximum time in seconds a voicemail will record" -msgstr "" - -#: ../modules/callmonitor.module:37 ../modules/callmonitor.module:257 -msgid "Call Monitor" -msgstr "Journal d'Appels" - -#: ../modules/callmonitor.module:132 -#, php-format -msgid "Path is not a directory: %s" -msgstr "" - -#: ../modules/callmonitor.module:141 ../modules/voicemail.module:301 -msgid "delete" -msgstr "Supprimer" - -#: ../modules/callmonitor.module:147 -msgid "duration" -msgstr "Durée supérieure à " - -#: ../modules/callmonitor.module:150 -msgid "ignore" -msgstr "Filtrer" - -#: ../modules/callmonitor.module:159 ../modules/voicemail.module:322 -msgid "Date" -msgstr "Date" - -#: ../modules/callmonitor.module:163 ../modules/voicemail.module:326 -msgid "Caller ID" -msgstr "ID Appelant" - -#: ../modules/callmonitor.module:165 -msgid "Source" -msgstr "" - -#: ../modules/callmonitor.module:167 -msgid "Destination" -msgstr "" - -#: ../modules/callmonitor.module:169 -msgid "Context" -msgstr "Contexte" - -#: ../modules/callmonitor.module:171 ../modules/voicemail.module:332 -msgid "Duration" -msgstr "Durée" - -#: ../modules/callmonitor.module:202 -msgid "Monitor" -msgstr "Enregistrement" - -#: ../modules/callmonitor.module:222 ../modules/voicemail.module:373 -msgid "play" -msgstr "Ecouter" - -#: ../modules/callmonitor.module:259 -#, php-format -msgid "Call Monitor for %s (%s)" -msgstr "Journal d'Appels de %s (%s)" - -#: ../modules/callmonitor.module:311 ../modules/voicemail.module:475 -msgid "select" -msgstr "Sélection" - -#: ../modules/callmonitor.module:312 ../modules/voicemail.module:476 -msgid "all" -msgstr "Tous" - -#: ../modules/callmonitor.module:313 ../modules/voicemail.module:477 -msgid "none" -msgstr "Aucun" - -#: ../modules/callmonitor.module:533 -msgid "Only deletes recording files, not cdr log" -msgstr "Supprime seulement les fichiers des enregistrements mais pas les CDRs" - -#: ../modules/conference.module:55 -msgid "My Conference room" -msgstr "" - -#: ../modules/conference.module:78 -#, fuzzy, php-format -msgid "Conference for %s (%s%s)" -msgstr "Boîte Vocale de %s (%s)" - -#: ../modules/help.module:39 ../modules/help.module:68 -msgid "Help" -msgstr "Aide" - -#: ../modules/help.module:70 -#, php-format -msgid "Help for %s (%s)" -msgstr "Aide: %s (%s)" - -#: ../modules/help.module:77 -msgid "Handset Feature Code" -msgstr "" - -#: ../modules/help.module:80 -msgid "Action" -msgstr "" - -#: ../modules/settings.module:61 ../modules/settings.module:667 -msgid "Settings" -msgstr "Paramètres" - -#: ../modules/settings.module:125 -msgid "Call forward number not changed" -msgstr "" - -#: ../modules/settings.module:126 -#, php-format -msgid "" -"Number %s must contain dial numbers (characters like '(', '-', and ')' are " -"ok)" -msgstr "" - -#: ../modules/settings.module:151 ../modules/settings.module:156 -#: ../modules/settings.module:161 ../modules/settings.module:166 -#: ../modules/settings.module:176 ../modules/settings.module:181 -msgid "Voicemail password not changed" -msgstr "Mot de passe de boite vocale non changé" - -#: ../modules/settings.module:152 -msgid "Password and password confirm must not be blank" -msgstr "Le mot de passe et sa confirmation ne peuvent pas être vides" - -#: ../modules/settings.module:157 -#, php-format -msgid "Passwords must be all numbers and greater than %d digits" -msgstr "" -"Le mot de passe doit comporter uniquement des chiffres et doit avoir une " -"longueur supérieure à %d" - -#: ../modules/settings.module:162 -#, php-format -msgid "Passwords must be all numbers and only %d digits" -msgstr "" -"Le mot de passe doit comporter uniquement des chiffres et doit avoir une " -"longueur de %d" - -#: ../modules/settings.module:167 -msgid "Password and password confirm do not match" -msgstr "" - -#: ../modules/settings.module:177 ../modules/settings.module:182 -#: ../modules/settings.module:234 ../modules/settings.module:239 -#, php-format -msgid "%s does not exist or is not writable" -msgstr "%s n'existe pas ou n'a pas l'autorisation en écriture" - -#: ../modules/settings.module:223 -msgid "Voicemail email and pager address not changed" -msgstr "Email voicemail et adresse de pager inchangés" - -#: ../modules/settings.module:233 ../modules/settings.module:238 -msgid "Voicemail email settings not changed" -msgstr "Paramètres de la boite vocale inchangés" - -#: ../modules/settings.module:385 -msgid "Language:" -msgstr "Langue" - -#: ../modules/settings.module:408 -msgid "Call Routing" -msgstr "Routage d'appels" - -#: ../modules/settings.module:411 -msgid "Call Forwarding:" -msgstr "Transfert vers:" - -#: ../modules/settings.module:419 ../modules/settings.module:507 -msgid "Enable" -msgstr "Activer" - -#: ../modules/settings.module:431 -#, php-format -msgid "Passwords must be all numbers and only %s digits" -msgstr "" -"Le mot de passe doit comporter uniquement des chiffres et seulement 4 " -"chiffres" - -#: ../modules/settings.module:434 -#, fuzzy, php-format -msgid "Passwords must be all numbers and at least %s digits" -msgstr "" -"Le mot de passe doit comporter uniquement des chiffres et seulement 4 " -"chiffres" - -#: ../modules/settings.module:439 -msgid "Voicemail Password:" -msgstr "Mot de passe de la boîte vocale" - -#: ../modules/settings.module:445 -msgid "Enter again to confirm:" -msgstr "Repetez le mot de passe:" - -#: ../modules/settings.module:492 -msgid "Email Voicemail To:" -msgstr "Adresse émail pour le Voicemail:" - -#: ../modules/settings.module:498 -msgid "Pager Voicemail To:" -msgstr "" - -#: ../modules/settings.module:558 -msgid "Audio Format:" -msgstr "Format audio:" - -#: ../modules/settings.module:561 -msgid "Best Quality" -msgstr "Meilleure Qualité" - -#: ../modules/settings.module:562 -msgid "Smallest Download" -msgstr "Taille réduite" - -#: ../modules/settings.module:570 -msgid "Voicemail Settings" -msgstr "Paramètres boîte vocale" - -#: ../modules/settings.module:611 -msgid "Call Monitor Settings" -msgstr "Enregistrements d'appels" - -#: ../modules/settings.module:614 -msgid "Record INCOMING:" -msgstr "Enregistrements ENTRANTS" - -#: ../modules/settings.module:616 ../modules/settings.module:624 -msgid "Always" -msgstr "Toujours" - -#: ../modules/settings.module:617 ../modules/settings.module:625 -msgid "Never" -msgstr "Jamais" - -#: ../modules/settings.module:618 ../modules/settings.module:626 -msgid "On-Demand" -msgstr "Sur demande" - -#: ../modules/settings.module:622 -msgid "Record OUTGOING:" -msgstr "Enregistrements SORTANTS" - -#: ../modules/settings.module:669 -#, php-format -msgid "Settings for %s (%s)" -msgstr "Paramètres de %s (%s)" - -#: ../modules/settings.module:705 -msgid "Update" -msgstr "Mettre à jour" - -#: ../modules/voicemail.module:45 -msgid "Voicemail" -msgstr "Boîte Vocale" - -#: ../modules/voicemail.module:164 -msgid "A folder must be selected before the message can be moved." -msgstr "Sélection un dossier avant de déplacer le message." - -#: ../modules/voicemail.module:178 -msgid "An extension must be selected before the message can be forwarded." -msgstr "Sélectionnez d'abord une extension pour le transfert du message." - -#: ../modules/voicemail.module:304 -msgid "move_to" -msgstr "Déplacer vers" - -#: ../modules/voicemail.module:307 -msgid "Folder" -msgstr "Dossier" - -#: ../modules/voicemail.module:311 -msgid "forward_to" -msgstr "Transmettre à " - -#: ../modules/voicemail.module:328 -msgid "Priority" -msgstr "Priorité" - -#: ../modules/voicemail.module:330 -msgid "Orig Mailbox" -msgstr "Boîte Source" - -#: ../modules/voicemail.module:362 -msgid "Message" -msgstr "" - -#: ../modules/voicemail.module:377 -msgid "Voicemail recording(s) was not found." -msgstr "Enregistrement audio non trouvé" - -#: ../modules/voicemail.module:378 -#, php-format -msgid "" -"On settings page, change voicemail audio format. It is currently set to %s" -msgstr "" - -#: ../modules/voicemail.module:405 -#, fuzzy -msgid "Voicemail Login not found." -msgstr "Enregistrement audio non trouvé" - -#: ../modules/voicemail.module:406 -msgid "No access to voicemail" -msgstr "Aucun accès à la boîte vocale" - -#: ../modules/voicemail.module:412 -msgid "No Voicemail Recordings for Admin" -msgstr "Pas d'enregistrement pour Admin" - -#: ../modules/voicemail.module:428 -#, php-format -msgid "Voicemail for %s (%s)" -msgstr "Boîte Vocale de %s (%s)" - -#: ../modules/voicemail.module:678 -#, php-format -msgid "Could not create mailbox folder %s on the server" -msgstr "N'a pas pu créer le dossier %s" - -#: ../modules/voicemail.module:718 -#, php-format -msgid "Permission denied on folder %s or %s" -msgstr "" - -#: ../misc/recording_popup.php:39 -msgid "download" -msgstr "" - -#~ msgid "Passwords must be all numbers and only 4 digits" -#~ msgstr "" -#~ "Le mot de passe doit comporter que des chiffres et 4 chiffres maximum" - -#, fuzzy -#~ msgid "No Asterisk Manager Interface connection" -#~ msgstr "Asterisk Call Manager ne répond pas" - -#~ msgid "not a directory or not readable" -#~ msgstr "pas un répertoire ou non lisible" - -#~ msgid "of" -#~ msgstr "de" - -#~ msgid "Use your" -#~ msgstr "Utilisez votre" - -#~ msgid "Password must be all numbers and 4 digits" -#~ msgstr "" -#~ "Le mot de passe doit comporter que des chiffres et 4 chiffres maximum" - -#~ msgid "Check voicemail audio format on settings page to change from" -#~ msgstr "Vérifiez le format audio à la page paramètres" - -#~ msgid "on the server" -#~ msgstr "sur le serveur" - -#~ msgid "No database connection" -#~ msgstr "Pas de connexion à la base de données" - -#~ msgid "Format Audio:" -#~ msgstr "Format Audio :" diff --git a/fs_selfservice/fri/locale/he_IL/LC_MESSAGES/ari.mo b/fs_selfservice/fri/locale/he_IL/LC_MESSAGES/ari.mo Binary files differdeleted file mode 100644 index 3b00bd1f3..000000000 --- a/fs_selfservice/fri/locale/he_IL/LC_MESSAGES/ari.mo +++ /dev/null diff --git a/fs_selfservice/fri/locale/he_IL/LC_MESSAGES/ari.po b/fs_selfservice/fri/locale/he_IL/LC_MESSAGES/ari.po deleted file mode 100644 index 7c9ae9768..000000000 --- a/fs_selfservice/fri/locale/he_IL/LC_MESSAGES/ari.po +++ /dev/null @@ -1,646 +0,0 @@ -# translation of ari-he.po to Hebrew -# This file is distributed under the same license as the PACKAGE package. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. -# Diego Iastrubni <diego.iastrubni@xorcom.com>, 2006. -# -msgid "" -msgstr "" -"Project-Id-Version: ari-he\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-03 08:32-0400\n" -"PO-Revision-Date: 2006-02-05 11:48+0200\n" -"Last-Translator: Diego Iastrubni <diego.iastrubni@xorcom.com>\n" -"Language-Team: Hebrew <xorcom-users@xorcom.com>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.9.1\n" - -#: ../includes/asi.php:46 -msgid "Asterisk Call Manager not responding" -msgstr "×ž× ×”×œ השיחות של Asterisk ×œ× ×ž×’×™×‘" - -#: ../includes/asi.php:54 -msgid "Asterisk authentication failed:" -msgstr "×”×ימות מול Asterisk × ×›×©×œ:" - -#: ../includes/asi.php:96 ../includes/asi.php:111 -#, fuzzy -msgid "Asterisk command not understood" -msgstr "פקודת reload של Asterisk ×œ× ×ž×•×‘× ×ª" - -#: ../includes/bootstrap.php:123 -#, php-format -msgid "To many directories in %s Not all files processed" -msgstr "" - -#: ../includes/bootstrap.php:226 -msgid "ARI requires a version of PHP 4.3 or later" -msgstr "" - -#: ../includes/bootstrap.php:245 -msgid "" -"PHP PEAR must be installed. Visit http://pear.php.net for help with " -"installation." -msgstr "" - -#: ../includes/common.php:173 -#, fuzzy -msgid "ARI does not appear to have access to the Asterisk Manager." -msgstr "×ין ×פשרות להתחבר ×œ×ž× ×”×œ של Asterisk" - -#: ../includes/common.php:174 -msgid "" -"Check the ARI 'main.conf.php' configuration file to set the Asterisk Manager " -"Account." -msgstr "" - -#: ../includes/common.php:175 -msgid "Check /etc/asterisk/manager.conf for a proper Asterisk Manager Account" -msgstr "" - -#: ../includes/common.php:176 -msgid "" -"make sure [general] enabled = yes and a 'permit=' line for localhost or the " -"webserver." -msgstr "" - -#: ../includes/common.php:193 ../includes/common.php:208 -#, fuzzy -msgid "Check AMP installation, asterisk, and ARI main.conf" -msgstr "" -"בדוק ×ת ×”×”×ª×§× ×” של AMP, בסיס ×”× ×ª×•× ×™× ×©×œ asterisk ×ו הקובץ main.conf של ARI" - -#: ../includes/common.php:344 -msgid "Logout" -msgstr "יצי××”" - -#: ../includes/common.php:349 -msgid "Page Not Found." -msgstr "דף ×œ× × ×ž×¦×" - -#: ../includes/display.php:92 -msgid "Search" -msgstr "חפש" - -#: ../includes/display.php:135 -msgid "Searched for" -msgstr "חיפוש של" - -#: ../includes/display.php:139 -#, fuzzy, php-format -msgid "Results %d - %d of %d" -msgstr "תוצ×ות" - -#: ../includes/display.php:141 -#, fuzzy, php-format -msgid "Results %d" -msgstr "תוצ×ות" - -#: ../includes/display.php:195 -msgid "First" -msgstr "ר×שון" - -#: ../includes/display.php:208 -msgid "Last" -msgstr "×חרון" - -#: ../includes/login.php:267 -msgid "Incorrect Password" -msgstr "ססמה ×œ× × ×›×•× ×”" - -#: ../includes/login.php:279 -msgid "Incorrect Username or Password" -msgstr "×©× ×ž×©×ª×ž×© ×œ× × ×›×•×Ÿ ×ו ססמה ×œ× × ×›×•× ×”" - -#: ../includes/login.php:402 ../includes/login.php:411 -msgid "Login" -msgstr "×©× ×ž×©×ª×ž×©" - -#: ../includes/login.php:419 -msgid "Password" -msgstr "ססמה" - -#: ../includes/login.php:428 -msgid "Submit" -msgstr "שלח" - -#: ../includes/login.php:436 -msgid "Remember Password" -msgstr "זכור ססמה" - -#: ../includes/login.php:451 -#, fuzzy -msgid "Use your <b>Voicemail Mailbox and Password</b>" -msgstr "תיבה קולית וססמה" - -#: ../includes/login.php:452 -msgid "This is the same password used for the phone" -msgstr "זוהי ×ותה ססמה שבשימוש בטלפון שלך" - -#: ../includes/login.php:454 -msgid "" -"For password maintenance or assistance, contact your Phone System " -"Administrator." -msgstr "עבור ססמה התחזוקה, ×× × ×¤× ×” ×ל ×ž× ×”×œ ×”×˜×œ×¤×•× ×™×” שלך." - -#: ../includes/main.conf.php:152 -msgid "INBOX" -msgstr "× ×›× ×¡×•×ª" - -#: ../includes/main.conf.php:154 -msgid "Family" -msgstr "משפחה" - -#: ../includes/main.conf.php:156 -msgid "Friends" -msgstr "חברי×" - -#: ../includes/main.conf.php:158 -msgid "Old" -msgstr "×™×©× ×™×" - -#: ../includes/main.conf.php:160 -msgid "Work" -msgstr "עבודה" - -#: ../includes/main.conf.php:229 -msgid "Directory" -msgstr "" - -#: ../includes/main.conf.php:230 -msgid "Echo Test" -msgstr "" - -#: ../includes/main.conf.php:231 ../modules/callmonitor.module:161 -#: ../modules/voicemail.module:324 -msgid "Time" -msgstr "שעה" - -#: ../includes/main.conf.php:232 -msgid "Weather" -msgstr "" - -#: ../includes/main.conf.php:233 -msgid "Schedule wakeup call" -msgstr "" - -#: ../includes/main.conf.php:234 -msgid "festival test (your extension is XXX)" -msgstr "" - -#: ../includes/main.conf.php:235 -msgid "Activate Call Waiting (deactivated by default)" -msgstr "" - -#: ../includes/main.conf.php:236 -msgid "Deactivate Call Waiting" -msgstr "" - -#: ../includes/main.conf.php:237 -msgid "Call Forwarding System" -msgstr "" - -#: ../includes/main.conf.php:238 -msgid "Disable Call Forwarding" -msgstr "" - -#: ../includes/main.conf.php:239 -#, fuzzy -msgid "IVR Recording" -msgstr "הקלטות" - -#: ../includes/main.conf.php:240 -msgid "Enable Do-Not-Disturb" -msgstr "" - -#: ../includes/main.conf.php:241 -msgid "Disable Do-Not-Disturb" -msgstr "" - -#: ../includes/main.conf.php:242 -msgid "Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:243 -msgid "Disable Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:244 -msgid "Message Center (does not ask for extension)" -msgstr "" - -#: ../includes/main.conf.php:245 -msgid "Enter Message Center" -msgstr "" - -#: ../includes/main.conf.php:246 -msgid "Playback IVR Recording" -msgstr "" - -#: ../includes/main.conf.php:247 -msgid "Test Fax" -msgstr "" - -#: ../includes/main.conf.php:248 -msgid "Simulate incoming call" -msgstr "" - -#: ../includes/main.conf.php:289 -msgid "Email voicemail as attachment" -msgstr "" - -#: ../includes/main.conf.php:290 -msgid "Say caller id in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:291 -msgid "Say envelop (date/time) in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:292 -msgid "Delete voicemail when emailed" -msgstr "" - -#: ../includes/main.conf.php:293 -msgid "Play next message after deleting current message" -msgstr "" - -#: ../includes/main.conf.php:294 -msgid "Ask caller to review their voicemail before sending" -msgstr "" - -#: ../includes/main.conf.php:295 -msgid "Maximum time in seconds a voicemail will record" -msgstr "" - -#: ../modules/callmonitor.module:37 ../modules/callmonitor.module:257 -msgid "Call Monitor" -msgstr "צג שיחות" - -#: ../modules/callmonitor.module:132 -#, php-format -msgid "Path is not a directory: %s" -msgstr "" - -#: ../modules/callmonitor.module:141 ../modules/voicemail.module:301 -#, fuzzy -msgid "delete" -msgstr "בחר" - -#: ../modules/callmonitor.module:147 -#, fuzzy -msgid "duration" -msgstr "משך" - -#: ../modules/callmonitor.module:150 -#, fuzzy -msgid "ignore" -msgstr "כלו×" - -#: ../modules/callmonitor.module:159 ../modules/voicemail.module:322 -msgid "Date" -msgstr "ת×ריך" - -#: ../modules/callmonitor.module:163 ../modules/voicemail.module:326 -msgid "Caller ID" -msgstr "שיחה מזוהה" - -#: ../modules/callmonitor.module:165 -msgid "Source" -msgstr "מקור" - -#: ../modules/callmonitor.module:167 -msgid "Destination" -msgstr "יעד" - -#: ../modules/callmonitor.module:169 -msgid "Context" -msgstr "הקשר" - -#: ../modules/callmonitor.module:171 ../modules/voicemail.module:332 -msgid "Duration" -msgstr "משך" - -#: ../modules/callmonitor.module:202 -msgid "Monitor" -msgstr "× ×™×˜×•×¨" - -#: ../modules/callmonitor.module:222 ../modules/voicemail.module:373 -msgid "play" -msgstr "× ×’×Ÿ" - -#: ../modules/callmonitor.module:259 -#, fuzzy, php-format -msgid "Call Monitor for %s (%s)" -msgstr "צג שיחות" - -#: ../modules/callmonitor.module:311 ../modules/voicemail.module:475 -msgid "select" -msgstr "בחר" - -#: ../modules/callmonitor.module:312 ../modules/voicemail.module:476 -msgid "all" -msgstr "הכל" - -#: ../modules/callmonitor.module:313 ../modules/voicemail.module:477 -msgid "none" -msgstr "כלו×" - -#: ../modules/callmonitor.module:533 -msgid "Only deletes recording files, not cdr log" -msgstr "מחק הקלטות בלבד, ×œ× ×ת ×¨×™×©×•× ×”Ö¾cdr" - -#: ../modules/conference.module:55 -msgid "My Conference room" -msgstr "" - -#: ../modules/conference.module:78 -#, fuzzy, php-format -msgid "Conference for %s (%s%s)" -msgstr "תיבה קולית" - -#: ../modules/help.module:39 ../modules/help.module:68 -msgid "Help" -msgstr "" - -#: ../modules/help.module:70 -#, fuzzy, php-format -msgid "Help for %s (%s)" -msgstr "הגדרות עבור" - -#: ../modules/help.module:77 -msgid "Handset Feature Code" -msgstr "" - -#: ../modules/help.module:80 -msgid "Action" -msgstr "" - -#: ../modules/settings.module:61 ../modules/settings.module:667 -msgid "Settings" -msgstr "הגדרות" - -#: ../modules/settings.module:125 -msgid "Call forward number not changed" -msgstr "" - -#: ../modules/settings.module:126 -#, php-format -msgid "" -"Number %s must contain dial numbers (characters like '(', '-', and ')' are " -"ok)" -msgstr "" - -#: ../modules/settings.module:151 ../modules/settings.module:156 -#: ../modules/settings.module:161 ../modules/settings.module:166 -#: ../modules/settings.module:176 ../modules/settings.module:181 -msgid "Voicemail password not changed" -msgstr "ססמת התיבה הקולית ×œ× ×©×•× ×ª×”" - -#: ../modules/settings.module:152 -msgid "Password and password confirm must not be blank" -msgstr "הסממה וה×ימות של הססמה ×œ× ×™×›×•×œ×™× ×œ×”×™×•×ª רקי×" - -#: ../modules/settings.module:157 -#, fuzzy, php-format -msgid "Passwords must be all numbers and greater than %d digits" -msgstr "הסממ×ות חייבת להכיל 4 ספרות בלבד" - -#: ../modules/settings.module:162 -#, fuzzy, php-format -msgid "Passwords must be all numbers and only %d digits" -msgstr "הסממ×ות חייבת להכיל 4 ספרות בלבד" - -#: ../modules/settings.module:167 -msgid "Password and password confirm do not match" -msgstr "הסממה וה×ימות של הססמה ×œ× ×ª×•×מי×" - -#: ../modules/settings.module:177 ../modules/settings.module:182 -#: ../modules/settings.module:234 ../modules/settings.module:239 -#, fuzzy, php-format -msgid "%s does not exist or is not writable" -msgstr "×œ× ×§×™×™× ×ו ×ין ×פשרות לכתוב עליו" - -#: ../modules/settings.module:223 -#, fuzzy -msgid "Voicemail email and pager address not changed" -msgstr "ססמת התיבה הקולית ×œ× ×©×•× ×ª×”" - -#: ../modules/settings.module:233 ../modules/settings.module:238 -#, fuzzy -msgid "Voicemail email settings not changed" -msgstr "ססמת התיבה הקולית ×œ× ×©×•× ×ª×”" - -#: ../modules/settings.module:385 -msgid "Language:" -msgstr "שפה:" - -#: ../modules/settings.module:408 -#, fuzzy -msgid "Call Routing" -msgstr "הגדרות × ×™×ª×•×¨ שיחות" - -#: ../modules/settings.module:411 -#, fuzzy -msgid "Call Forwarding:" -msgstr "הגדרות × ×™×ª×•×¨ שיחות" - -#: ../modules/settings.module:419 ../modules/settings.module:507 -#, fuzzy -msgid "Enable" -msgstr "בטבלה" - -#: ../modules/settings.module:431 -#, fuzzy, php-format -msgid "Passwords must be all numbers and only %s digits" -msgstr "הסממ×ות חייבת להכיל 4 ספרות בלבד" - -#: ../modules/settings.module:434 -#, fuzzy, php-format -msgid "Passwords must be all numbers and at least %s digits" -msgstr "הסממ×ות חייבת להכיל 4 ספרות בלבד" - -#: ../modules/settings.module:439 -#, fuzzy -msgid "Voicemail Password:" -msgstr "ססמת תיבה קולית:" - -#: ../modules/settings.module:445 -msgid "Enter again to confirm:" -msgstr "×”×›× ×¡ שוב ל×ימות:" - -#: ../modules/settings.module:492 -#, fuzzy -msgid "Email Voicemail To:" -msgstr "תיבה קולית" - -#: ../modules/settings.module:498 -#, fuzzy -msgid "Pager Voicemail To:" -msgstr "תיבה קולית" - -#: ../modules/settings.module:558 -msgid "Audio Format:" -msgstr "×ª×‘× ×™×ª שמע:" - -#: ../modules/settings.module:561 -msgid "Best Quality" -msgstr "×יכות ×”×›×™ טובה" - -#: ../modules/settings.module:562 -msgid "Smallest Download" -msgstr "הורדה ×”×›×™ ×§×˜× ×”" - -#: ../modules/settings.module:570 -msgid "Voicemail Settings" -msgstr "הגדרות תיבה קולית" - -#: ../modules/settings.module:611 -msgid "Call Monitor Settings" -msgstr "הגדרות × ×™×ª×•×¨ שיחות" - -#: ../modules/settings.module:614 -msgid "Record INCOMING:" -msgstr "הקלטת שיחות × ×›× ×¡×•×ª:" - -#: ../modules/settings.module:616 ../modules/settings.module:624 -msgid "Always" -msgstr "תמיד" - -#: ../modules/settings.module:617 ../modules/settings.module:625 -msgid "Never" -msgstr "××£ פע×" - -#: ../modules/settings.module:618 ../modules/settings.module:626 -msgid "On-Demand" -msgstr "לפי דרישה" - -#: ../modules/settings.module:622 -msgid "Record OUTGOING:" -msgstr "הקלטה שיחות יוצ×ות:" - -#: ../modules/settings.module:669 -#, fuzzy, php-format -msgid "Settings for %s (%s)" -msgstr "הגדרות עבור" - -#: ../modules/settings.module:705 -msgid "Update" -msgstr "עדכן" - -#: ../modules/voicemail.module:45 -msgid "Voicemail" -msgstr "תיבה קולית" - -#: ../modules/voicemail.module:164 -msgid "A folder must be selected before the message can be moved." -msgstr "יש לבחור תיקייה ×œ×¤× ×™ ש×פשר להעביר ×ת ההודעה." - -#: ../modules/voicemail.module:178 -msgid "An extension must be selected before the message can be forwarded." -msgstr "יש לבחור שלוחה ×œ×¤× ×™ ש×פשר העביר ×ת השיחה הל××”." - -#: ../modules/voicemail.module:304 -msgid "move_to" -msgstr "" - -#: ../modules/voicemail.module:307 -msgid "Folder" -msgstr "תיקייה" - -#: ../modules/voicemail.module:311 -msgid "forward_to" -msgstr "" - -#: ../modules/voicemail.module:328 -msgid "Priority" -msgstr "עדיפות" - -#: ../modules/voicemail.module:330 -msgid "Orig Mailbox" -msgstr "תיבת דו×ר מקורית" - -#: ../modules/voicemail.module:362 -msgid "Message" -msgstr "" - -#: ../modules/voicemail.module:377 -msgid "Voicemail recording(s) was not found." -msgstr "הקלטת תיבה קולית ×œ× × ×ž×¦××”." - -#: ../modules/voicemail.module:378 -#, php-format -msgid "" -"On settings page, change voicemail audio format. It is currently set to %s" -msgstr "" - -#: ../modules/voicemail.module:405 -#, fuzzy -msgid "Voicemail Login not found." -msgstr "×©× ×”×ž×©×ª×ž×© של תיבת הקול" - -#: ../modules/voicemail.module:406 -msgid "No access to voicemail" -msgstr "×ין גישה לתיבת הקול" - -#: ../modules/voicemail.module:412 -msgid "No Voicemail Recordings for Admin" -msgstr "×ין הקלטות בתיבת הקול של ×”×ž× ×”×œ" - -#: ../modules/voicemail.module:428 -#, fuzzy, php-format -msgid "Voicemail for %s (%s)" -msgstr "תיבה קולית" - -#: ../modules/voicemail.module:678 -#, fuzzy, php-format -msgid "Could not create mailbox folder %s on the server" -msgstr "×ין ×פשרות ליצור ×ת תיקיית הדו×ר" - -#: ../modules/voicemail.module:718 -#, fuzzy, php-format -msgid "Permission denied on folder %s or %s" -msgstr "הגישה × ×“×—×ª×” בתיקייה" - -#: ../misc/recording_popup.php:39 -msgid "download" -msgstr "הורדה" - -#~ msgid "Passwords must be all numbers and only 4 digits" -#~ msgstr "הסממ×ות חייבת להכיל 4 ספרות בלבד" - -#~ msgid "Folders" -#~ msgstr "תיקיות" - -#~ msgid "Login used" -#~ msgstr "×©× ×”×©×ž×©×ª×©" - -#, fuzzy -#~ msgid "No Asterisk Manager Interface connection" -#~ msgstr "×ž× ×”×œ השיחות של Asterisk ×œ× ×ž×’×™×‘" - -#~ msgid "not a directory or not readable" -#~ msgstr "×œ× ×¡×¤×¨×™×™×”, ×ו ×ין ×פשרות לקר×" - -#~ msgid "of" -#~ msgstr "של " - -#~ msgid "Use your" -#~ msgstr "השתמש בשלך" - -#~ msgid "for" -#~ msgstr "עבור" - -#~ msgid "Password must be all numbers and 4 digits" -#~ msgstr "הסממה חייבת להכיל 4 ספרות בלבד" - -#, fuzzy -#~ msgid "Check voicemail audio format on settings page to change from" -#~ msgstr "בחר ×ת ×ª×‘× ×™×ª השמע של התיבה הקולית בחלון ההגדרות " - -#~ msgid "on the server" -#~ msgstr "ברשת" - -#~ msgid "No database connection" -#~ msgstr "×ין חיבור לבסיס × ×ª×•× ×™×" diff --git a/fs_selfservice/fri/locale/hu_HU/LC_MESSAGES/ari.mo b/fs_selfservice/fri/locale/hu_HU/LC_MESSAGES/ari.mo Binary files differdeleted file mode 100644 index ff5a92220..000000000 --- a/fs_selfservice/fri/locale/hu_HU/LC_MESSAGES/ari.mo +++ /dev/null diff --git a/fs_selfservice/fri/locale/hu_HU/LC_MESSAGES/ari.po b/fs_selfservice/fri/locale/hu_HU/LC_MESSAGES/ari.po deleted file mode 100644 index c9d9e44c0..000000000 --- a/fs_selfservice/fri/locale/hu_HU/LC_MESSAGES/ari.po +++ /dev/null @@ -1,645 +0,0 @@ -# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-03 08:32-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Varasdy Imre <csvarasdy@softpbx.hu>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../includes/asi.php:46 -msgid "Asterisk Call Manager not responding" -msgstr "Asterisk Call Manager nem válaszol" - -#: ../includes/asi.php:54 -msgid "Asterisk authentication failed:" -msgstr "Asterisk bejelentkezés elutasÃtva:" - -#: ../includes/asi.php:96 ../includes/asi.php:111 -#, fuzzy -msgid "Asterisk command not understood" -msgstr "Asterisk frissÃtés parancs ismeretlen" - -#: ../includes/bootstrap.php:123 -#, php-format -msgid "To many directories in %s Not all files processed" -msgstr "" - -#: ../includes/bootstrap.php:226 -msgid "ARI requires a version of PHP 4.3 or later" -msgstr "" - -#: ../includes/bootstrap.php:245 -msgid "" -"PHP PEAR must be installed. Visit http://pear.php.net for help with " -"installation." -msgstr "" - -#: ../includes/common.php:173 -#, fuzzy -msgid "ARI does not appear to have access to the Asterisk Manager." -msgstr "Nem tudok csatlakozni az Asterisk Managerhez" - -#: ../includes/common.php:174 -msgid "" -"Check the ARI 'main.conf.php' configuration file to set the Asterisk Manager " -"Account." -msgstr "" - -#: ../includes/common.php:175 -msgid "Check /etc/asterisk/manager.conf for a proper Asterisk Manager Account" -msgstr "" - -#: ../includes/common.php:176 -msgid "" -"make sure [general] enabled = yes and a 'permit=' line for localhost or the " -"webserver." -msgstr "" - -#: ../includes/common.php:193 ../includes/common.php:208 -#, fuzzy -msgid "Check AMP installation, asterisk, and ARI main.conf" -msgstr "" -"Ellenõrizze az AMP telepÃtést, asterisk adatbázist, vagy az ARI main." -"conf filet" - -#: ../includes/common.php:344 -msgid "Logout" -msgstr "Kilépés" - -#: ../includes/common.php:349 -msgid "Page Not Found." -msgstr "Nincs ilyen oldal." - -#: ../includes/display.php:92 -msgid "Search" -msgstr "Keres" - -#: ../includes/display.php:135 -msgid "Searched for" -msgstr "Keresés" - -#: ../includes/display.php:139 -#, fuzzy, php-format -msgid "Results %d - %d of %d" -msgstr "Eredmény" - -#: ../includes/display.php:141 -#, fuzzy, php-format -msgid "Results %d" -msgstr "Eredmény" - -#: ../includes/display.php:195 -msgid "First" -msgstr "Elsõ" - -#: ../includes/display.php:208 -msgid "Last" -msgstr "Utolsó" - -#: ../includes/login.php:267 -msgid "Incorrect Password" -msgstr "Hibás jelszó" - -#: ../includes/login.php:279 -msgid "Incorrect Username or Password" -msgstr "Rossz Felhasználonév vagy jelszó" - -#: ../includes/login.php:402 ../includes/login.php:411 -msgid "Login" -msgstr "AzonosÃtó" - -#: ../includes/login.php:419 -msgid "Password" -msgstr "Jelszó" - -#: ../includes/login.php:428 -msgid "Submit" -msgstr "RögzÃt" - -#: ../includes/login.php:436 -msgid "Remember Password" -msgstr "Jelszó megjegyzése" - -#: ../includes/login.php:451 -#, fuzzy -msgid "Use your <b>Voicemail Mailbox and Password</b>" -msgstr "Hangposta és Jelszó" - -#: ../includes/login.php:452 -msgid "This is the same password used for the phone" -msgstr "A jelszó ugyanaz, mint a telefonhoz" - -#: ../includes/login.php:454 -msgid "" -"For password maintenance or assistance, contact your Phone System " -"Administrator." -msgstr "" -"Om du har problem med lösenord eller behöver hjälp ska du kontakta din vÃ" -"¤xel ansvarig" - -#: ../includes/main.conf.php:152 -msgid "INBOX" -msgstr "Bejövõ" - -#: ../includes/main.conf.php:154 -msgid "Family" -msgstr "Család" - -#: ../includes/main.conf.php:156 -msgid "Friends" -msgstr "Barátok" - -#: ../includes/main.conf.php:158 -msgid "Old" -msgstr "Régi" - -#: ../includes/main.conf.php:160 -msgid "Work" -msgstr "Munka" - -#: ../includes/main.conf.php:229 -msgid "Directory" -msgstr "" - -#: ../includes/main.conf.php:230 -msgid "Echo Test" -msgstr "" - -#: ../includes/main.conf.php:231 ../modules/callmonitor.module:161 -#: ../modules/voicemail.module:324 -msgid "Time" -msgstr "Idõ" - -#: ../includes/main.conf.php:232 -msgid "Weather" -msgstr "" - -#: ../includes/main.conf.php:233 -msgid "Schedule wakeup call" -msgstr "" - -#: ../includes/main.conf.php:234 -msgid "festival test (your extension is XXX)" -msgstr "" - -#: ../includes/main.conf.php:235 -msgid "Activate Call Waiting (deactivated by default)" -msgstr "" - -#: ../includes/main.conf.php:236 -msgid "Deactivate Call Waiting" -msgstr "" - -#: ../includes/main.conf.php:237 -msgid "Call Forwarding System" -msgstr "" - -#: ../includes/main.conf.php:238 -msgid "Disable Call Forwarding" -msgstr "" - -#: ../includes/main.conf.php:239 -#, fuzzy -msgid "IVR Recording" -msgstr "Felvétel" - -#: ../includes/main.conf.php:240 -msgid "Enable Do-Not-Disturb" -msgstr "" - -#: ../includes/main.conf.php:241 -msgid "Disable Do-Not-Disturb" -msgstr "" - -#: ../includes/main.conf.php:242 -msgid "Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:243 -msgid "Disable Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:244 -msgid "Message Center (does not ask for extension)" -msgstr "" - -#: ../includes/main.conf.php:245 -msgid "Enter Message Center" -msgstr "" - -#: ../includes/main.conf.php:246 -msgid "Playback IVR Recording" -msgstr "" - -#: ../includes/main.conf.php:247 -msgid "Test Fax" -msgstr "" - -#: ../includes/main.conf.php:248 -msgid "Simulate incoming call" -msgstr "" - -#: ../includes/main.conf.php:289 -msgid "Email voicemail as attachment" -msgstr "" - -#: ../includes/main.conf.php:290 -msgid "Say caller id in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:291 -msgid "Say envelop (date/time) in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:292 -msgid "Delete voicemail when emailed" -msgstr "" - -#: ../includes/main.conf.php:293 -msgid "Play next message after deleting current message" -msgstr "" - -#: ../includes/main.conf.php:294 -msgid "Ask caller to review their voicemail before sending" -msgstr "" - -#: ../includes/main.conf.php:295 -msgid "Maximum time in seconds a voicemail will record" -msgstr "" - -#: ../modules/callmonitor.module:37 ../modules/callmonitor.module:257 -msgid "Call Monitor" -msgstr "HangrögzÃtés" - -#: ../modules/callmonitor.module:132 -#, php-format -msgid "Path is not a directory: %s" -msgstr "" - -#: ../modules/callmonitor.module:141 ../modules/voicemail.module:301 -msgid "delete" -msgstr "Töröl" - -#: ../modules/callmonitor.module:147 -#, fuzzy -msgid "duration" -msgstr "Hossz" - -#: ../modules/callmonitor.module:150 -#, fuzzy -msgid "ignore" -msgstr "semmi" - -#: ../modules/callmonitor.module:159 ../modules/voicemail.module:322 -msgid "Date" -msgstr "Dátum" - -#: ../modules/callmonitor.module:163 ../modules/voicemail.module:326 -msgid "Caller ID" -msgstr "Hivószám" - -#: ../modules/callmonitor.module:165 -msgid "Source" -msgstr "HÃvó" - -#: ../modules/callmonitor.module:167 -msgid "Destination" -msgstr "HÃvott" - -#: ../modules/callmonitor.module:169 -msgid "Context" -msgstr "Csoport" - -#: ../modules/callmonitor.module:171 ../modules/voicemail.module:332 -msgid "Duration" -msgstr "Hossz" - -#: ../modules/callmonitor.module:202 -msgid "Monitor" -msgstr "RögzÃtés" - -#: ../modules/callmonitor.module:222 ../modules/voicemail.module:373 -msgid "play" -msgstr "Lejátszás" - -#: ../modules/callmonitor.module:259 -#, fuzzy, php-format -msgid "Call Monitor for %s (%s)" -msgstr "HangrögzÃtés" - -#: ../modules/callmonitor.module:311 ../modules/voicemail.module:475 -msgid "select" -msgstr "Választ" - -#: ../modules/callmonitor.module:312 ../modules/voicemail.module:476 -msgid "all" -msgstr "Mind" - -#: ../modules/callmonitor.module:313 ../modules/voicemail.module:477 -msgid "none" -msgstr "semmi" - -#: ../modules/callmonitor.module:533 -msgid "Only deletes recording files, not cdr log" -msgstr "Csak a hangfileokat törli, a CDR-t nem" - -#: ../modules/conference.module:55 -msgid "My Conference room" -msgstr "" - -#: ../modules/conference.module:78 -#, fuzzy, php-format -msgid "Conference for %s (%s%s)" -msgstr "Hangposta" - -#: ../modules/help.module:39 ../modules/help.module:68 -msgid "Help" -msgstr "" - -#: ../modules/help.module:70 -#, fuzzy, php-format -msgid "Help for %s (%s)" -msgstr "BeállÃtások" - -#: ../modules/help.module:77 -msgid "Handset Feature Code" -msgstr "" - -#: ../modules/help.module:80 -msgid "Action" -msgstr "" - -#: ../modules/settings.module:61 ../modules/settings.module:667 -msgid "Settings" -msgstr "BeállÃtások" - -#: ../modules/settings.module:125 -msgid "Call forward number not changed" -msgstr "" - -#: ../modules/settings.module:126 -#, php-format -msgid "" -"Number %s must contain dial numbers (characters like '(', '-', and ')' are " -"ok)" -msgstr "" - -#: ../modules/settings.module:151 ../modules/settings.module:156 -#: ../modules/settings.module:161 ../modules/settings.module:166 -#: ../modules/settings.module:176 ../modules/settings.module:181 -msgid "Voicemail password not changed" -msgstr "A jelszót nem változtattam meg" - -#: ../modules/settings.module:152 -msgid "Password and password confirm must not be blank" -msgstr "A jelszavakat nem hagyhatja üresen" - -#: ../modules/settings.module:157 -#, fuzzy, php-format -msgid "Passwords must be all numbers and greater than %d digits" -msgstr "A jelszó csak számból állhat és csak 4 karakteres lehet" - -#: ../modules/settings.module:162 -#, fuzzy, php-format -msgid "Passwords must be all numbers and only %d digits" -msgstr "A jelszó csak számból állhat és csak 4 karakteres lehet" - -#: ../modules/settings.module:167 -msgid "Password and password confirm do not match" -msgstr "A két jelszó nem egyezik" - -#: ../modules/settings.module:177 ../modules/settings.module:182 -#: ../modules/settings.module:234 ../modules/settings.module:239 -#, fuzzy, php-format -msgid "%s does not exist or is not writable" -msgstr "nem létezik vagy nem Ãrható" - -#: ../modules/settings.module:223 -#, fuzzy -msgid "Voicemail email and pager address not changed" -msgstr "A jelszót nem változtattam meg" - -#: ../modules/settings.module:233 ../modules/settings.module:238 -#, fuzzy -msgid "Voicemail email settings not changed" -msgstr "A jelszót nem változtattam meg" - -#: ../modules/settings.module:385 -msgid "Language:" -msgstr "Nyelv" - -#: ../modules/settings.module:408 -#, fuzzy -msgid "Call Routing" -msgstr "HangrögzÃtés beállÃtásai" - -#: ../modules/settings.module:411 -#, fuzzy -msgid "Call Forwarding:" -msgstr "HangrögzÃtés beállÃtásai" - -#: ../modules/settings.module:419 ../modules/settings.module:507 -#, fuzzy -msgid "Enable" -msgstr "táblában" - -#: ../modules/settings.module:431 -#, fuzzy, php-format -msgid "Passwords must be all numbers and only %s digits" -msgstr "A jelszó csak számból állhat és csak 4 karakteres lehet" - -#: ../modules/settings.module:434 -#, fuzzy, php-format -msgid "Passwords must be all numbers and at least %s digits" -msgstr "A jelszó csak számból állhat és csak 4 karakteres lehet" - -#: ../modules/settings.module:439 -#, fuzzy -msgid "Voicemail Password:" -msgstr "Hangposta jelszó:" - -#: ../modules/settings.module:445 -msgid "Enter again to confirm:" -msgstr "Irja be újra:" - -#: ../modules/settings.module:492 -#, fuzzy -msgid "Email Voicemail To:" -msgstr "Hangposta" - -#: ../modules/settings.module:498 -#, fuzzy -msgid "Pager Voicemail To:" -msgstr "Hangposta" - -#: ../modules/settings.module:558 -msgid "Audio Format:" -msgstr "Hangformátum:" - -#: ../modules/settings.module:561 -msgid "Best Quality" -msgstr "Legjobb minõség" - -#: ../modules/settings.module:562 -msgid "Smallest Download" -msgstr "Legkisebb méret" - -#: ../modules/settings.module:570 -msgid "Voicemail Settings" -msgstr "Hangposta beállÃtások" - -#: ../modules/settings.module:611 -msgid "Call Monitor Settings" -msgstr "HangrögzÃtés beállÃtásai" - -#: ../modules/settings.module:614 -msgid "Record INCOMING:" -msgstr "HangrögzÃtés - Bejövõ:" - -#: ../modules/settings.module:616 ../modules/settings.module:624 -msgid "Always" -msgstr "MindÃg" - -#: ../modules/settings.module:617 ../modules/settings.module:625 -msgid "Never" -msgstr "Soha" - -#: ../modules/settings.module:618 ../modules/settings.module:626 -msgid "On-Demand" -msgstr "Igény esetén" - -#: ../modules/settings.module:622 -msgid "Record OUTGOING:" -msgstr "HangrögzÃtés - Bejövõ:" - -#: ../modules/settings.module:669 -#, fuzzy, php-format -msgid "Settings for %s (%s)" -msgstr "BeállÃtások" - -#: ../modules/settings.module:705 -msgid "Update" -msgstr "FrissÃt" - -#: ../modules/voicemail.module:45 -msgid "Voicemail" -msgstr "Hangposta" - -#: ../modules/voicemail.module:164 -msgid "A folder must be selected before the message can be moved." -msgstr "Ãthelyezés elõtt ki kell jelölni egy mappát." - -#: ../modules/voicemail.module:178 -msgid "An extension must be selected before the message can be forwarded." -msgstr "Ãœzenet áthelyezése elõtt ki kell jelölni egy melléket." - -#: ../modules/voicemail.module:304 -msgid "move_to" -msgstr "Ãthelyez" - -#: ../modules/voicemail.module:307 -#, fuzzy -msgid "Folder" -msgstr "Mappa" - -#: ../modules/voicemail.module:311 -msgid "forward_to" -msgstr "ÃtirányÃt" - -#: ../modules/voicemail.module:328 -msgid "Priority" -msgstr "Prioritás" - -#: ../modules/voicemail.module:330 -msgid "Orig Mailbox" -msgstr "Eredeti Postafiók" - -#: ../modules/voicemail.module:362 -msgid "Message" -msgstr "" - -#: ../modules/voicemail.module:377 -msgid "Voicemail recording(s) was not found." -msgstr "Nem találok rögzÃtés(eke)t." - -#: ../modules/voicemail.module:378 -#, php-format -msgid "" -"On settings page, change voicemail audio format. It is currently set to %s" -msgstr "" - -#: ../modules/voicemail.module:405 -#, fuzzy -msgid "Voicemail Login not found." -msgstr "Hangposta AzonosÃtó nem található" - -#: ../modules/voicemail.module:406 -msgid "No access to voicemail" -msgstr "Nincs hozzáférés a hangpostához" - -#: ../modules/voicemail.module:412 -msgid "No Voicemail Recordings for Admin" -msgstr "Nincs hangfelvétel az Admin részére" - -#: ../modules/voicemail.module:428 -#, fuzzy, php-format -msgid "Voicemail for %s (%s)" -msgstr "Hangposta" - -#: ../modules/voicemail.module:678 -#, fuzzy, php-format -msgid "Could not create mailbox folder %s on the server" -msgstr "Nem tudom létrehozni a hangposta mappát" - -#: ../modules/voicemail.module:718 -#, fuzzy, php-format -msgid "Permission denied on folder %s or %s" -msgstr "Hozzáférés elutasÃtva" - -#: ../misc/recording_popup.php:39 -msgid "download" -msgstr "letöltés" - -#~ msgid "Passwords must be all numbers and only 4 digits" -#~ msgstr "A jelszó csak számból állhat és csak 4 karakteres lehet" - -#~ msgid "Folders" -#~ msgstr "Mappák" - -#~ msgid "Login used" -#~ msgstr "AzonosÃtó használt" - -#, fuzzy -#~ msgid "No Asterisk Manager Interface connection" -#~ msgstr "Asterisk Call Manager nem válaszol" - -#~ msgid "not a directory or not readable" -#~ msgstr "nem könyvtár vagy nem olvasható" - -#~ msgid "of" -#~ msgstr "av" - -#~ msgid "Use your" -#~ msgstr "Használja " - -#~ msgid "for" -#~ msgstr " - " - -#~ msgid "Password must be all numbers and 4 digits" -#~ msgstr "A jelszó csak számból állhat és 4 karakteres lehet" - -#~ msgid "on the server" -#~ msgstr "a serveren" - -#~ msgid "No database connection" -#~ msgstr "Nincs adatbázis kapcsolat" diff --git a/fs_selfservice/fri/locale/it_IT/LC_MESSAGES/ari.mo b/fs_selfservice/fri/locale/it_IT/LC_MESSAGES/ari.mo Binary files differdeleted file mode 100644 index d5a7da899..000000000 --- a/fs_selfservice/fri/locale/it_IT/LC_MESSAGES/ari.mo +++ /dev/null diff --git a/fs_selfservice/fri/locale/it_IT/LC_MESSAGES/ari.po b/fs_selfservice/fri/locale/it_IT/LC_MESSAGES/ari.po deleted file mode 100644 index db245f995..000000000 --- a/fs_selfservice/fri/locale/it_IT/LC_MESSAGES/ari.po +++ /dev/null @@ -1,999 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: 1.1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-08-24 12:33+0200\n" -"PO-Revision-Date: 2007-08-25 22:41-0600\n" -"Last-Translator: Francesco Romano\n" -"Language-Team: Italian\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../includes/asi.php:46 -msgid "Asterisk Call Manager not responding" -msgstr "Il Call Manager di Asterisk non risponde" - -#: ../includes/asi.php:54 -msgid "Asterisk authentication failed:" -msgstr "Autenticazione Asterisk fallita:" - -# -#: ../includes/asi.php:96 ../includes/asi.php:111 ../includes/asi.php:130 -#: ../includes/asi.php:144 -msgid "Asterisk command not understood" -msgstr "comando reload di Asterisk non eseguito" - -# -#: ../includes/bootstrap.php:123 -#, php-format -msgid "To many directories in %s Not all files processed" -msgstr "Troppe directory in %s Non tutti i files sono stati processati" - -#: ../includes/bootstrap.php:226 -#, fuzzy -msgid "ARI requires a version of PHP 4.3 or later" -msgstr "ARI richiede PHP 4.0 o superiore" - -#: ../includes/bootstrap.php:245 -msgid "" -"PHP PEAR must be installed. Visit http://pear.php.net for help with " -"installation." -msgstr "" -"PHP PEAR deve essere installato. Visitare http://pear.php.net per aiuto " -"nell'installazione." - -# -#: ../includes/common.php:180 -msgid "ARI does not appear to have access to the Asterisk Manager." -msgstr "Impossibile connettersi all'Asterisk Manager" - -#: ../includes/common.php:181 -##, fuzzy -msgid "" -"Check the ARI 'main.conf.php' configuration file to set the Asterisk Manager " -"Account." -msgstr "" -"Controllare il file di configurazione main.conf di ARI per l'impostazione " -"sull'account dell'Asterisk Manager." - -#: ../includes/common.php:182 -msgid "Check /etc/asterisk/manager.conf for a proper Asterisk Manager Account" -msgstr "" -"Controllare /etc/asterisk/manager.conf per un valido account Asterisk Manager" - -#: ../includes/common.php:183 -msgid "" -"make sure [general] enabled = yes and a 'permit=' line for localhost or the " -"webserver." -msgstr "" -"assicurarsi che in [general] sia presente enable = yes e la riga 'permit=' " -"con l'indirizzo localhost o il webserver." - -# -#: ../includes/common.php:200 ../includes/common.php:215 -msgid "Check AMP installation, asterisk, and ARI main.conf" -msgstr "" -"Controllare l'installazione di AMP, il database di asterisk o il file main." -"conf di ARI" - -#: ../includes/common.php:351 -msgid "Logout" -msgstr "Esci" - -#: ../includes/common.php:356 -msgid "Page Not Found." -msgstr "Pagina Non Trovata" - -#: ../includes/display.php:92 -msgid "Search" -msgstr "Cerca" - -#: ../includes/display.php:135 -msgid "Searched for" -msgstr "Ricerca per" - -# -#: ../includes/display.php:139 -##, fuzzy, php-format -msgid "Results %d - %d of %d" -msgstr "Risultati %d - %d di %d" - -# -#: ../includes/display.php:141 -#, php-format -msgid "Results %d" -msgstr "Risultati %d" - -#: ../includes/display.php:195 -msgid "First" -msgstr "Prima" - -#: ../includes/display.php:208 -msgid "Last" -msgstr "Ultima" - -#: ../includes/login.php:267 -msgid "Incorrect Password" -msgstr "Password sbagliata" - -#: ../includes/login.php:279 -msgid "Incorrect Username or Password" -msgstr "Nome Utente o Password sbagliati" - -#: ../includes/login.php:404 ../includes/login.php:413 -msgid "Login" -msgstr "Login" - -#: ../includes/login.php:421 -msgid "Password" -msgstr "Password" - -#: ../includes/login.php:430 -msgid "Submit" -msgstr "Invia" - -#: ../includes/login.php:438 -msgid "Remember Password" -msgstr "Ricorda Password" - -# -#: ../includes/login.php:453 -msgid "Use your <b>Voicemail Mailbox and Password</b>" -msgstr "" -"Utilizzare come login il numero della <b>Casella Vocale e relativa " -"Password</b>" - -#: ../includes/login.php:454 -msgid "This is the same password used for the phone" -msgstr "Sono gli stessi utilizzati dal proprio telefono" - -#: ../includes/login.php:456 -msgid "" -"For password maintenance or assistance, contact your Phone System " -"Administrator." -msgstr "" -"Per assistenza o manutenzione, contattare l'amministratore del Centralino." - -#: ../includes/main.conf.php:150 -msgid "INBOX" -msgstr "NUOVI" - -#: ../includes/main.conf.php:152 -msgid "Family" -msgstr "Personali" - -#: ../includes/main.conf.php:154 -msgid "Friends" -msgstr "Amici" - -#: ../includes/main.conf.php:156 -msgid "Old" -msgstr "Vecchi" - -#: ../includes/main.conf.php:158 -msgid "Work" -msgstr "Lavoro" - -#: ../includes/main.conf.php:237 -msgid "Call Forward All Activate" -msgstr "Attivazione Trasferimento di Chiamata Incondizionato" - -#: ../includes/main.conf.php:238 -msgid "Call Forward All Deactivate" -msgstr "Disattivazione Trasferimento di Chiamata Incondizionato" - -#: ../includes/main.conf.php:239 -msgid "Call Forward All Prompting Deactivate" -msgstr "Disattivazione Trasferimento di Chiamata Incondizionato (chiede dettagli)" - -#: ../includes/main.conf.php:240 -msgid "Call Forward Busy Activate" -msgstr "Attivazione Trasferimento di Chiamata su Occupato" - -#: ../includes/main.conf.php:241 -msgid "Call Forward Busy Deactivate" -msgstr "Disattivazione Trasferimento di Chiamata su Occupato" - -#: ../includes/main.conf.php:242 -msgid "Call Forward Busy Prompting Deactivate" -msgstr "Disattivazione Trasferimento di Chiamata su Occupato (chiede dettagli)" - -#: ../includes/main.conf.php:243 -msgid "Call Forward No Answer/Unavailable Activate" -msgstr "Attivazione Trasferimento di Chiamata su nessuna risposta" - -#: ../includes/main.conf.php:244 -msgid "Call Forward No Answer/Unavailable Deactivate" -msgstr "Disattivazione Trasferimento di Chiamata su nessuna risposta" - -#: ../includes/main.conf.php:245 -msgid "Call Waiting - Activate" -msgstr "Attivazione Avviso di chiamata" - -#: ../includes/main.conf.php:247 -msgid "Do-Not-Disturb Activate" -msgstr "Attivazione Non-Disturbare" - -#: ../includes/main.conf.php:248 -msgid "Do-Not-Disturb Deactivate" -msgstr "Disattivazione Non-Disturbare" - -#: ../includes/main.conf.php:249 -msgid "My Voicemail" -msgstr "Propria Casella Vocale" - -#: ../includes/main.conf.php:250 -msgid "Dial Voicemail" -msgstr "Casella Vocale" - -#: ../includes/main.conf.php:303 -msgid "Email voicemail as attachment" -msgstr "Invia messaggio vocale come allegato email" - -#: ../includes/main.conf.php:304 -msgid "Say caller id in recording emailed" -msgstr "Riproduci ID chiamante nella registrazione inviata" - -#: ../includes/main.conf.php:305 -msgid "Say envelop (date/time) in recording emailed" -msgstr "Riproduci data/ora nella registrazione inviata" - -#: ../includes/main.conf.php:306 -msgid "Delete voicemail when emailed" -msgstr "Elimina messaggio vocale dopo aver spedito l'email" - -#: ../includes/main.conf.php:307 -msgid "Play next message after deleting current message" -msgstr "" -"Riproduci il messaggio seguente dopo aver eliminato il messaggio corrente" - -#: ../includes/main.conf.php:308 -msgid "Ask caller to review their voicemail before sending" -msgstr "" - -#: ../includes/main.conf.php:309 -msgid "Maximum time in seconds a voicemail will record" -msgstr "" - -#: ../modules/VmX.module:58 -msgid "VmX™ Locator" -msgstr "VmX™ Locator" - -#: ../modules/VmX.module:115 -msgid "" -"Your Premium VmX Locator service has been disabled, REFRESH your browser to " -"remove this message" -msgstr "" -"Il proprio VmX Locator è stato disabilitato, AGGIORNARE la pagina per " -"rimuovere questo messaggio" - -#: ../modules/VmX.module:116 ../modules/followme.module:101 -#, php-format -msgid "" -"Check with your Telephone System Administrator if you think there is a " -"problem" -msgstr "" -"Contattare l'amministratore del Sistema Telefonico se ci sono dei problemi" - -#: ../modules/VmX.module:147 -msgid "Option 0 not changed" -msgstr "Opzione 0 non cambiata" - -# -#: ../modules/VmX.module:148 ../modules/VmX.module:181 -#: ../modules/VmX.module:201 ../modules/phonefeatures.module:302 -#, php-format -msgid "" -"Number %s must contain dial numbers (characters like '(', '-', and ')' are " -"ok)" -msgstr "" -"Il numero %s deve contenere cifre valide (vanno benne caratteri come '(', " -"'-' e ')')" - -#: ../modules/VmX.module:180 -msgid "Option 1 not changed" -msgstr "Opzione 1 non cambiata" - -#: ../modules/VmX.module:200 -msgid "Option 2 not changed" -msgstr "opzione 2 non cambiata" - -#: ../modules/VmX.module:300 -msgid "Use When:" -msgstr "Utilizzare quando:" - -#: ../modules/VmX.module:300 -msgid "" -"Menu options below are available during your personal voicemail greeting " -"playback. <br/><br/>Check both to use at all times." -msgstr "" -"Le opzioni del menu disponibili qui sotto sono proposte durante il messaggio " -"di benvenuto della casella vocale. <br/><br/>" - -#: ../modules/VmX.module:302 -msgid "unavailable" -msgstr "non disponibile" - -#: ../modules/VmX.module:306 -msgid "busy" -msgstr "occupato" - -#: ../modules/VmX.module:310 -msgid "Voicemail Instructions:" -msgstr "Istruzioni Casella Vocale:" - -#: ../modules/VmX.module:310 -msgid "Uncheck to play a beep after your personal voicemail greeting." -msgstr "Deselezionare per riprodurre un tono dopo il messaggio di benvenuto." - -#: ../modules/VmX.module:313 -msgid "Standard voicemail prompts." -msgstr "Messaggi standard Casella Vocale" - -#: ../modules/VmX.module:321 -msgid "Press 0:" -msgstr "Premere 0:" - -#: ../modules/VmX.module:321 -msgid "" -"Pressing 0 during your personal voicemail greeing goes to the Operator. \n" -"\t\t\t\t\tUncheck to enter another destination here." -msgstr "" -"Premendo 0 durante il messaggio di benvenuto della Casella Vocale, la " -"chiamata sarà reindirizzata all'operatore. \n" -"\t\t\t\t\tDeselezionare per inserire un'altra destinazione." - -#: ../modules/VmX.module:329 -msgid "Go To Operator" -msgstr "Per andare all'Operatore" - -#: ../modules/VmX.module:333 -msgid "Press 1:" -msgstr "Premere 1:" - -#: ../modules/VmX.module:336 -msgid "" -"The remaining options can have internal extensions, ringgroups, queues and " -"external numbers that may be rung. It is often used to include your cell " -"phone. You should run a test to make sure that the number is functional any " -"time a change is made so you don't leave a caller stranded or receiving " -"invalid number messages." -msgstr "" - -#: ../modules/VmX.module:338 -msgid "" -"Enter an alternate number here, then change your personal voicemail greeting " -"to let callers know to press 1 to reach that number. <br/><br/>If you'd like " -"to use your Follow Me List, check \"Send to Follow Me\" and disable Follow " -"Me above." -msgstr "" -"Immettere una destinazione alternativa, dopo, cambiare il messaggio di " -"benvenuto per permettere ai chiamanti di premere 1 per raggiungere quella " -"numerazione. <br/><br/> Se si vuole utilizzare la Lista Seguimi, selezionare " -"\"Invia al Seguimi\" e disattivare sopra il Seguimi." - -#: ../modules/VmX.module:351 -msgid "Send to Follow-Me" -msgstr "Invia al Seguimi" - -#: ../modules/VmX.module:359 -msgid "Press 2:" -msgstr "Premere 2:" - -#: ../modules/VmX.module:359 -msgid "" -"Use any extensions, ringgroups, queues or external numbers. <br/><br/" -">Remember to re-record your personal voicemail greeting and include " -"instructions. Run a test to make sure that the number is functional." -msgstr "" -"Utilizzare qualsiasi interno, gruppo di chiamata, coda o numero esterno. <br/" -"><br/>Ricordarsi di ri-registrare il proprio messaggio di benvenuto e " -"includere delle istruzioni. Fare dei test per assicurarsi che tutto funzioni." - -# -#: ../modules/VmX.module:373 -##, fuzzy, php-format -msgid "VmX Locator™ Settings for %s (%s)" -msgstr "Impostazioni di %s (%s)" - -#: ../modules/VmX.module:415 ../modules/followme.module:384 -#: ../modules/phonefeatures.module:180 ../modules/settings.module:625 -msgid "Update" -msgstr "Aggiorna" - -#: ../modules/callmonitor.module:36 ../modules/callmonitor.module:256 -msgid "Call Monitor" -msgstr "Registrazioni Chiamate" - -# -#: ../modules/callmonitor.module:131 -#, php-format -msgid "Path is not a directory: %s" -msgstr "Il percorso non è una directory: %s" - -#: ../modules/callmonitor.module:140 ../modules/voicemail.module:318 -msgid "delete" -msgstr "elimina" - -# -#: ../modules/callmonitor.module:146 -msgid "duration" -msgstr "durata" - -# -#: ../modules/callmonitor.module:149 -msgid "ignore" -msgstr "niente" - -#: ../modules/callmonitor.module:158 ../modules/voicemail.module:339 -msgid "Date" -msgstr "Data" - -#: ../modules/callmonitor.module:160 ../modules/voicemail.module:341 -msgid "Time" -msgstr "Ora" - -#: ../modules/callmonitor.module:162 ../modules/voicemail.module:343 -msgid "Caller ID" -msgstr "ID Chiamante" - -#: ../modules/callmonitor.module:164 -msgid "Source" -msgstr "Sorgente" - -#: ../modules/callmonitor.module:166 -msgid "Destination" -msgstr "Destinazione" - -#: ../modules/callmonitor.module:168 -msgid "Context" -msgstr "Contesto" - -#: ../modules/callmonitor.module:170 ../modules/voicemail.module:349 -msgid "Duration" -msgstr "Durata" - -#: ../modules/callmonitor.module:201 -msgid "Monitor" -msgstr "Registrazione" - -#: ../modules/callmonitor.module:221 ../modules/voicemail.module:390 -msgid "play" -msgstr "riproduci" - -# -#: ../modules/callmonitor.module:258 -#, php-format -msgid "Call Monitor for %s (%s)" -msgstr "Registrazioni Chiamate di %s (%s)" - -#: ../modules/callmonitor.module:310 ../modules/voicemail.module:492 -msgid "select" -msgstr "seleziona" - -#: ../modules/callmonitor.module:311 ../modules/voicemail.module:493 -msgid "all" -msgstr "tutto" - -#: ../modules/callmonitor.module:312 ../modules/voicemail.module:494 -msgid "none" -msgstr "niente" - -#: ../modules/callmonitor.module:532 -msgid "Only deletes recording files, not cdr log" -msgstr "Eliminati solo i file di registrazione, non i log delle chiamate" - -#: ../modules/featurecodes.module:36 ../modules/featurecodes.module:63 -##, fuzzy -msgid "Feature Codes" -msgstr "Codici Servizi" - -# -#: ../modules/featurecodes.module:65 -##, fuzzy, php-format -msgid " for %s (%s)" -msgstr " per %s (%s)" - -#: ../modules/featurecodes.module:72 -msgid "Handset Feature Code" -msgstr "Codice" - -#: ../modules/featurecodes.module:75 -msgid "Action" -msgstr "Azione" - -#: ../modules/followme.module:43 -msgid "Follow Me" -msgstr "Seguimi" - -#: ../modules/followme.module:100 -msgid "" -"Your Follow-Me has been disabled, REFRESH your browser to remove this message" -msgstr "" -"Il Seguimi è disattivato, AGGIORNA la pagina per rimuovere questo messaggio" - -#: ../modules/followme.module:118 -msgid "Follow-Me pre-ring time not changed" -msgstr "Tempo di pre-squillo per il Seguimi non cambiato" - -#: ../modules/followme.module:119 ../modules/followme.module:142 -#, php-format -msgid "Number %s must be an interger number of seconds" -msgstr "Il numero %s deve contenere numeri interi" - -#: ../modules/followme.module:141 -msgid "Follow-Me list ring time not changed" -msgstr "Tempo di squillo Lista Seguimi non cambiato" - -#: ../modules/followme.module:185 -msgid "Follow-Me list must contain at least one valid number" -msgstr "Il Seguimi deve contenere almeno un numero valido" - -#: ../modules/followme.module:186 -#, php-format -msgid "The following: %s is not valid" -msgstr "Il seguente: %s non è valido" - -# -#: ../modules/followme.module:291 ../modules/followme.module:344 -#: ../modules/phonefeatures.module:335 ../modules/settings.module:420 -msgid "Enable" -msgstr "Attiva" - -#: ../modules/followme.module:292 -msgid "" -"Dial-by-name Directory, IVR, and internal \n" -"\t\t\t\t\t\t\t\t\t\t\t\t\tcalls will ring the numbers in the FollowMe \n" -"\t\t\t\t\t\t\t\t\t\t\t\t\tList. Any FreePBX routes that directly \n" -"\t\t\t\t\t\t\t\t\t\t\t\t\treference a FollowMe are unaffected by this \n" -"\t\t\t\t\t\t\t\t\t\t\t\t\tenable/disable setting." -msgstr "L'Elenco Telefonico, l'IVR e le chiamate interne chiameranno i numeri definiti nella Lista Seguimi. Qualsiasi rotta che ha come referenza un Seguimi non sarà affetto dall'attivazione o dalla disattivazione di questa impostazione." - -#: ../modules/followme.module:304 -msgid "Follow Me List:" -msgstr "Lista Seguimi:" - -#: ../modules/followme.module:305 -#, php-format -msgid "Extensions and outside numbers to ring next." -msgstr "Interni e numeri esterni da chiamare dopo." - -#: ../modules/followme.module:306 -#, php-format -msgid "Include %s to keep it ringing." -msgstr "Immettere %s per lasciar squillare." - -#: ../modules/followme.module:312 -#, php-format -msgid "Ring %s First For:" -msgstr "Chiama prima %s per:" - -#: ../modules/followme.module:313 -#, php-format -msgid "Time to ring extension %s before ringing the %s Follow Me List %s" -msgstr "" -"Il tempo di chiamata per l'interno %s prima di far squillare la %s Lista " -"Seguimi %s" - -#: ../modules/followme.module:323 ../modules/followme.module:336 -msgid "seconds" -msgstr "secondi" - -#: ../modules/followme.module:326 -msgid "Ring Followme List for:" -msgstr "Chiama la Lista Seguimi per:" - -#: ../modules/followme.module:326 -msgid "Time to ring the Follow Me List." -msgstr "Il tempo di chiamata per la Lista Seguimi." - -#: ../modules/followme.module:341 -msgid "Use Confirmation:" -msgstr "Utilizza Conferma:" - -#: ../modules/followme.module:341 -msgid "" -"Outside lines that are part of the Follow Me List will be called and offered " -"a menu:<br/><br/> \"You have an incoming call. Press 1 to accept or 2 to " -"decline.\"<br/><br/> This keeps calls from ending up in external voicemail. " -"Make sure that the List Ring Time is long enough to allow for you to hear " -"and react to this message." -msgstr "" -"Ai Numeri esterni che fanno parte della Lista Seguimi sarà proposto un menu:" -"<br/><br/> \"Hai una chiamata in arrivo. Premere 1 per accettare o 2 per " -"rifiutare.\" Questo evita alle chiamate esterne di finire in una segreteria. " -"Assicurarsi che il tempo di chiamata sia abbastanza lungo per rispondere a " -"questo messaggio." - -#: ../modules/followme.module:356 -##, fuzzy -msgid "Followme Settings" -msgstr "Impostazioni Seguimi" - -# -#: ../modules/followme.module:358 -##, fuzzy, php-format -msgid "Followme Settings for %s (%s)" -msgstr "Impostazioni Seguimi per %s (%s)" - -#: ../modules/phonefeatures.module:25 ../modules/phonefeatures.module:96 -#: ../modules/phonefeatures.module:163 -msgid "Phone Features" -msgstr "Servizi Telefonici" - -# -#: ../modules/phonefeatures.module:149 -##, fuzzy -msgid "Call Forwarding" -msgstr "Trasferimento di Chiamata" - -# -#: ../modules/phonefeatures.module:165 -##, fuzzy, php-format -msgid "Features for %s (%s)" -msgstr "Impostazioni per %s (%s)" - -#: ../modules/phonefeatures.module:301 -msgid "Call forward number not changed" -msgstr "Numero per il trasferimento di chiamata non cambiato" - -#: ../modules/settings.module:56 -msgid "Settings" -msgstr "Impostazioni" - -#: ../modules/settings.module:118 ../modules/settings.module:123 -#: ../modules/settings.module:128 ../modules/settings.module:133 -#: ../modules/settings.module:143 ../modules/settings.module:148 -msgid "Voicemail password not changed" -msgstr "Password Casella Vocale non cambiata" - -#: ../modules/settings.module:119 -msgid "Password and password confirm must not be blank" -msgstr "Password e conferma password non possono essere vuoti" - -# -#: ../modules/settings.module:124 -##, fuzzy, php-format -msgid "Passwords must be all numbers and greater than %d digits" -msgstr "La Password deve essere minimo di %d numeri" - -# -#: ../modules/settings.module:129 -##, fuzzy, php-format -msgid "Passwords must be all numbers and only %d digits" -msgstr "La Password deve essere di %d numeri" - -#: ../modules/settings.module:134 -msgid "Password and password confirm do not match" -msgstr "Password e Conferma password non corrispondono" - -# -#: ../modules/settings.module:144 ../modules/settings.module:149 -#: ../modules/settings.module:200 ../modules/settings.module:205 -##, fuzzy, php-format -msgid "%s does not exist or is not writable" -msgstr "%s non esiste o non è scrivile" - -# -#: ../modules/settings.module:189 -msgid "Voicemail email and pager address not changed" -msgstr "Password Casella Vocale non cambiata" - -# -#: ../modules/settings.module:199 ../modules/settings.module:204 -msgid "Voicemail email settings not changed" -msgstr "Password Casella Vocale non cambiata" - -#: ../modules/settings.module:347 -msgid "Language:" -msgstr "Lingua:" - -# -#: ../modules/settings.module:357 -#, php-format -msgid "Passwords must be all numbers and only %s digits" -msgstr "La Password deve essere di solo numeri e %s cifre" - -# -#: ../modules/settings.module:360 -##, fuzzy, php-format -msgid "Passwords must be all numbers and at least %s digits" -msgstr "La Password deve essere di solo numeri e minimo %s cifre" - -# -#: ../modules/settings.module:365 -msgid "Voicemail Password:" -msgstr "Password Casella Vocale:" - -#: ../modules/settings.module:371 -msgid "Enter again to confirm:" -msgstr "Conferma password:" - -# -#: ../modules/settings.module:419 -msgid "Email Notification" -msgstr "Notifica Email" - -# -#: ../modules/settings.module:423 -msgid "Email Voicemail To:" -msgstr "Notifica Email a:" - -# -#: ../modules/settings.module:429 -msgid "Pager Email Notification To:" -msgstr "Invia Notifica Email al Pager:" - -#: ../modules/settings.module:485 -msgid "Audio Format:" -msgstr "Formato Audio:" - -#: ../modules/settings.module:488 -msgid "Best Quality" -msgstr "Migliore Qualità " - -#: ../modules/settings.module:489 -msgid "Smallest Download" -msgstr "Download Veloci" - -#: ../modules/settings.module:497 -msgid "Voicemail Settings" -msgstr "Impostazioni Casella Vocale" - -#: ../modules/settings.module:538 -msgid "Call Monitor Settings" -msgstr "Impostazioni Registrazioni Chiamate" - -#: ../modules/settings.module:541 -msgid "Record INCOMING:" -msgstr "Registra ENTRANTI:" - -#: ../modules/settings.module:543 ../modules/settings.module:551 -msgid "Always" -msgstr "Sempre" - -#: ../modules/settings.module:544 ../modules/settings.module:552 -msgid "Never" -msgstr "Mai" - -#: ../modules/settings.module:545 ../modules/settings.module:553 -msgid "On-Demand" -msgstr "Su richiesta" - -#: ../modules/settings.module:549 -msgid "Record OUTGOING:" -msgstr "Registra USCENTI:" - -# -#: ../modules/settings.module:592 -##, fuzzy, php-format -msgid "Settings for %s (%s)" -msgstr "Impostazioni per %s (%s)" - -#: ../modules/voicemail.module:44 -msgid "Voicemail" -msgstr "Casella Vocale" - -#: ../modules/voicemail.module:163 -msgid "A folder must be selected before the message can be moved." -msgstr "" -"Prima di spostare un messaggio, selezionare una cartella di destinazione" - -#: ../modules/voicemail.module:177 -msgid "An extension must be selected before the message can be forwarded." -msgstr "Prima di inoltrare un messaggio, selezionare l'interno di destinazione" - -#: ../modules/voicemail.module:321 -msgid "move_to" -msgstr "sposta_verso" - -#: ../modules/voicemail.module:324 -msgid "Folder" -msgstr "Cartella" - -#: ../modules/voicemail.module:328 -msgid "forward_to" -msgstr "inoltra_a" - -#: ../modules/voicemail.module:345 -msgid "Priority" -msgstr "Priorità " - -#: ../modules/voicemail.module:347 -msgid "Orig Mailbox" -msgstr "Casella Orig" - -#: ../modules/voicemail.module:379 -msgid "Message" -msgstr "Messaggio" - -#: ../modules/voicemail.module:394 -msgid "Voicemail recording(s) was not found." -msgstr "Registrazioni Casella Vocale non trovate." - -# -#: ../modules/voicemail.module:395 -#, php-format -msgid "" -"On settings page, change voicemail audio format. It is currently set to %s" -msgstr "" -"Nella pagina delle impostazioni, cambiare il formato dei messaggi vocali. " -"Adesso è impostato su %s" - -# -#: ../modules/voicemail.module:422 -msgid "Voicemail Login not found." -msgstr "Login Casella Vocale non trovato" - -#: ../modules/voicemail.module:423 -msgid "No access to voicemail" -msgstr "Accesso alla Casella Vocale disabilitato" - -#: ../modules/voicemail.module:429 -msgid "No Voicemail Recordings for Admin" -msgstr "Nessuna Casella Vocale per Admin" - -# -#: ../modules/voicemail.module:445 -#, php-format -msgid "Voicemail for %s (%s)" -msgstr "Casella Vocale di %s (%s)" - -# -#: ../modules/voicemail.module:695 -##, fuzzy, php-format -msgid "Could not create mailbox folder %s on the server" -msgstr "Non posso creare la cartella %s sul server" - -# -#: ../modules/voicemail.module:735 -#, php-format -msgid "Permission denied on folder %s or %s" -msgstr "Permessi negati nella cartella %s o %s" - -#: ../misc/recording_popup.php:39 -msgid "download" -msgstr "scarica" - -msgid "Unconditional:" -msgstr "Incondizionato:" - -msgid "Unavailable:" -msgstr "Non disponibile:" - -msgid "Busy:" -msgstr "Occupato:" - -# -##, fuzzy -msgid "Call Waiting" -msgstr "Avviso di Chiamata" - -##, fuzzy -msgid "Do Not Disturb" -msgstr " Non-Disturbare" - -# -##, fuzzy -msgid "Passwords must be all numbers and at least 3 digits" -msgstr "La Password deve essere di solo numeri e minimo di 3 cifre" - -#~ msgid "Directory" -#~ msgstr "Directory" - -#~ msgid "Echo Test" -#~ msgstr "Test Echo" - -#~ msgid "Weather" -#~ msgstr "Meteo" - -#~ msgid "Schedule wakeup call" -#~ msgstr "Sveglia" - -#~ msgid "festival test (your extension is XXX)" -#~ msgstr "Test Festival (il tuo interno è XXX)" - -#~ msgid "Deactivate Call Waiting" -#~ msgstr "Disattiva Avviso di Chiamata" - -#~ msgid "Disable Call Forwarding" -#~ msgstr "Disattiva Inoltro di Chiamata" - -# -#~ msgid "IVR Recording" -#~ msgstr "Registrazione IVR" - -#~ msgid "Disable Do-Not-Disturb" -#~ msgstr "Disattiva Non-Disturbare" - -#~ msgid "Disable Call Forward on Busy" -#~ msgstr "Disattiva Inoltro di Chiamata su Occupato" - -##, fuzzy -#~ msgid "Message Center (does not ask for extension)" -#~ msgstr "Centro Messaggi (non chiede l'interno)" - -#~ msgid "Enter Message Center" -#~ msgstr "Centro Messaggi" - -#~ msgid "Playback IVR Recording" -#~ msgstr "Riproduce Registrazione IVR" - -#~ msgid "Test Fax" -#~ msgstr "Test Fax" - -#~ msgid "Simulate incoming call" -#~ msgstr "Simula chiamata entrante" - -# -##, fuzzy -#~ msgid "Conference for %s (%s%s)" -#~ msgstr "Conferenza per %s (%s%s)" - -#~ msgid "Help" -#~ msgstr "Aiuto" - -# -#~ msgid "Pager Voicemail To:" -#~ msgstr "Casella Vocale" - -#~ msgid "Passwords must be all numbers and only 4 digits" -#~ msgstr "La Password deve essere di solo numeri e 4 cifre" - -msgid "Folders" -msgstr "Cartelle" - -#~ msgid "Login used" -#~ msgstr "Login utilizzato" - -#~ msgid "No Asterisk Manager Interface connection" -#~ msgstr "Impossibile connettersi all'Asterisk Manager Interface" - -#~ msgid "Cannot connect to the" -#~ msgstr "Impossibile connettersi al" - -#~ msgid "database" -#~ msgstr "database" - -#~ msgid "not a directory or not readable" -#~ msgstr "non è una directory o non è leggibile" - -#~ msgid "of" -#~ msgstr "di" - -#~ msgid "Use your" -#~ msgstr "Utilizzare il " - -#~ msgid "for" -#~ msgstr "di" - -#~ msgid "Password must be all numbers and 4 digits" -#~ msgstr "La Password deve essere di 4 numeri" - -#~ msgid "Check voicemail audio format on settings page to change from" -#~ msgstr "Controllare il formato audio nella pagina delle impostazioni" - -#~ msgid "on the server" -#~ msgstr "nel server" - -#~ msgid "No database connection" -#~ msgstr "Connessione al database fallita" - -msgid "Email a notification, including audio file if indicated below. " -msgstr "Invia una notifica per posta elettronica, incluso il file audio se impostato sotto." - -msgid "Email a short notification " -msgstr "Invia una breve notifica" - -msgid "Phone Features for %s (%s)" -msgstr "Servizi Telefonici per %s (%s)" - -msgid "User Portal" -msgstr "Portale Utente"
\ No newline at end of file diff --git a/fs_selfservice/fri/locale/locale.txt b/fs_selfservice/fri/locale/locale.txt deleted file mode 100644 index 6b93e2eb0..000000000 --- a/fs_selfservice/fri/locale/locale.txt +++ /dev/null @@ -1,37 +0,0 @@ -// To create the .po (write your translations to this file): -$ find *.php ../includes/* ../modules/*.module ../misc/*.php ../theme/* | xargs xgettext -L PHP -o ari.po --keyword=_ - - -// To create the utf-8 .po -$ iconv -f iso-8859-1 -t utf-8 -o ari.utf-8.po ari.po - -// To create the .mo: -$ msgfmt -v ari.utf-8.po -o ari.mo - -// To update (assume both files to be merged are utf-8) -$ msgmerge es_ES/LC_MESSAGES/ari.po ari.utf-8.po --output-file=es_ES/LC_MESSAGES/ari.po -$ msgfmt -v es_ES/LC_MESSAGES/ari.po -o es_ES/LC_MESSAGES/ari.mo - - -// script -// for this to work all translated files need to be converted to utf-8 (use iconv) -// -find ../*.php ../includes/* ../modules/*.module ../misc/*.php ../theme/*.css | xargs xgettext -L PHP -o ari.po --keyword=_ - -iconv -f iso-8859-1 -t utf-8 -o ari.utf-8.po ari.po -msgmerge el_GR/LC_MESSAGES/ari.po ari.utf-8.po --output-file=el_GR/LC_MESSAGES/ari.po -msgfmt -v el_GR/LC_MESSAGES/ari.po -o el_GR/LC_MESSAGES/ari.mo -msgmerge es_ES/LC_MESSAGES/ari.po ari.utf-8.po --output-file=es_ES/LC_MESSAGES/ari.po -msgfmt -v es_ES/LC_MESSAGES/ari.po -o es_ES/LC_MESSAGES/ari.mo -msgmerge fr_FR/LC_MESSAGES/ari.po ari.utf-8.po --output-file=fr_FR/LC_MESSAGES/ari.po -msgfmt -v fr_FR/LC_MESSAGES/ari.po -o fr_FR/LC_MESSAGES/ari.mo -msgmerge he_IL/LC_MESSAGES/ari.po ari.utf-8.po --output-file=he_IL/LC_MESSAGES/ari.po -msgfmt -v he_IL/LC_MESSAGES/ari.po -o he_IL/LC_MESSAGES/ari.mo -msgmerge hu_HU/LC_MESSAGES/ari.po ari.utf-8.po --output-file=hu_HU/LC_MESSAGES/ari.po -msgfmt -v hu_HU/LC_MESSAGES/ari.po -o hu_HU/LC_MESSAGES/ari.mo -msgmerge it_IT/LC_MESSAGES/ari.po ari.utf-8.po --output-file=it_IT/LC_MESSAGES/ari.po -msgfmt -v ot_IT/LC_MESSAGES/ari.po -o it_IT/LC_MESSAGES/ari.mo -msgmerge pt_BR/LC_MESSAGES/ari.po ari.utf-8.po --output-file=pt_BR/LC_MESSAGES/ari.po -msgfmt -v pt_BR/LC_MESSAGES/ari.po -o pt_BR/LC_MESSAGES/ari.mo -msgmerge sv_SE/LC_MESSAGES/ari.po ari.po --output-file=sv_SE/LC_MESSAGES/ari.po -msgfmt -v sv_SE/LC_MESSAGES/ari.po -o sv_SE/LC_MESSAGES/ari.mo - - diff --git a/fs_selfservice/fri/locale/pt_BR/LC_MESSAGES/ari.mo b/fs_selfservice/fri/locale/pt_BR/LC_MESSAGES/ari.mo Binary files differdeleted file mode 100644 index baa1a113f..000000000 --- a/fs_selfservice/fri/locale/pt_BR/LC_MESSAGES/ari.mo +++ /dev/null diff --git a/fs_selfservice/fri/locale/pt_BR/LC_MESSAGES/ari.po b/fs_selfservice/fri/locale/pt_BR/LC_MESSAGES/ari.po deleted file mode 100644 index 0ab45fa35..000000000 --- a/fs_selfservice/fri/locale/pt_BR/LC_MESSAGES/ari.po +++ /dev/null @@ -1,647 +0,0 @@ -# Brazilian portuguese translation -# Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# Arnaldo M. Pereira <arnaldo@ansi-c.org>, 2005. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-03 08:32-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Arnaldo M. Pereira <arnaldo@ansi-c.org>\n" -"Language-Team: Brazilian Portuguese <arnaldo@ansi-c.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../includes/asi.php:46 -msgid "Asterisk Call Manager not responding" -msgstr "Asterisk Call Manager não responde" - -#: ../includes/asi.php:54 -msgid "Asterisk authentication failed:" -msgstr "Autenticação no Asterisk falhou:" - -#: ../includes/asi.php:96 ../includes/asi.php:111 -#, fuzzy -msgid "Asterisk command not understood" -msgstr "Comando reload do Asterisk não compreendido" - -#: ../includes/bootstrap.php:123 -#, php-format -msgid "To many directories in %s Not all files processed" -msgstr "" - -#: ../includes/bootstrap.php:226 -msgid "ARI requires a version of PHP 4.3 or later" -msgstr "" - -#: ../includes/bootstrap.php:245 -msgid "" -"PHP PEAR must be installed. Visit http://pear.php.net for help with " -"installation." -msgstr "" - -#: ../includes/common.php:173 -#, fuzzy -msgid "ARI does not appear to have access to the Asterisk Manager." -msgstr "Não foi possÃvel conectar ao Asterisk Manager" - -#: ../includes/common.php:174 -msgid "" -"Check the ARI 'main.conf.php' configuration file to set the Asterisk Manager " -"Account." -msgstr "" - -#: ../includes/common.php:175 -msgid "Check /etc/asterisk/manager.conf for a proper Asterisk Manager Account" -msgstr "" - -#: ../includes/common.php:176 -msgid "" -"make sure [general] enabled = yes and a 'permit=' line for localhost or the " -"webserver." -msgstr "" - -#: ../includes/common.php:193 ../includes/common.php:208 -#, fuzzy -msgid "Check AMP installation, asterisk, and ARI main.conf" -msgstr "" -"Verifique a instalação do AMP, do banco de dados do asterisk ou do main.conf " -"do ARI" - -#: ../includes/common.php:344 -msgid "Logout" -msgstr "" - -#: ../includes/common.php:349 -msgid "Page Not Found." -msgstr "Página não encontrada." - -#: ../includes/display.php:92 -#, fuzzy -msgid "Search" -msgstr "Procurado" - -#: ../includes/display.php:135 -msgid "Searched for" -msgstr "Procurado" - -#: ../includes/display.php:139 -#, fuzzy, php-format -msgid "Results %d - %d of %d" -msgstr "Resultados" - -#: ../includes/display.php:141 -#, fuzzy, php-format -msgid "Results %d" -msgstr "Resultados" - -#: ../includes/display.php:195 -msgid "First" -msgstr "Primeiro" - -#: ../includes/display.php:208 -msgid "Last" -msgstr "" - -#: ../includes/login.php:267 -msgid "Incorrect Password" -msgstr "Senha incorreta" - -#: ../includes/login.php:279 -#, fuzzy -msgid "Incorrect Username or Password" -msgstr "Senha incorreta" - -#: ../includes/login.php:402 ../includes/login.php:411 -msgid "Login" -msgstr "" - -#: ../includes/login.php:419 -#, fuzzy -msgid "Password" -msgstr "Senha incorreta" - -#: ../includes/login.php:428 -msgid "Submit" -msgstr "" - -#: ../includes/login.php:436 -#, fuzzy -msgid "Remember Password" -msgstr "Voicemail para" - -#: ../includes/login.php:451 -#, fuzzy -msgid "Use your <b>Voicemail Mailbox and Password</b>" -msgstr "Mailbox e senha do Voicemail" - -#: ../includes/login.php:452 -msgid "This is the same password used for the phone" -msgstr "Esta é a mesma senha utilizada para o telefone" - -#: ../includes/login.php:454 -msgid "" -"For password maintenance or assistance, contact your Phone System " -"Administrator." -msgstr "" -"Para manutenção e assistência, entre em contato com o Administrador de seu " -"Sistema de Telefonia" - -#: ../includes/main.conf.php:152 -msgid "INBOX" -msgstr "" - -#: ../includes/main.conf.php:154 -msgid "Family" -msgstr "" - -#: ../includes/main.conf.php:156 -msgid "Friends" -msgstr "" - -#: ../includes/main.conf.php:158 -msgid "Old" -msgstr "" - -#: ../includes/main.conf.php:160 -msgid "Work" -msgstr "" - -#: ../includes/main.conf.php:229 -msgid "Directory" -msgstr "" - -#: ../includes/main.conf.php:230 -msgid "Echo Test" -msgstr "" - -#: ../includes/main.conf.php:231 ../modules/callmonitor.module:161 -#: ../modules/voicemail.module:324 -msgid "Time" -msgstr "" - -#: ../includes/main.conf.php:232 -msgid "Weather" -msgstr "" - -#: ../includes/main.conf.php:233 -msgid "Schedule wakeup call" -msgstr "" - -#: ../includes/main.conf.php:234 -msgid "festival test (your extension is XXX)" -msgstr "" - -#: ../includes/main.conf.php:235 -msgid "Activate Call Waiting (deactivated by default)" -msgstr "" - -#: ../includes/main.conf.php:236 -msgid "Deactivate Call Waiting" -msgstr "" - -#: ../includes/main.conf.php:237 -msgid "Call Forwarding System" -msgstr "" - -#: ../includes/main.conf.php:238 -msgid "Disable Call Forwarding" -msgstr "" - -#: ../includes/main.conf.php:239 -msgid "IVR Recording" -msgstr "" - -#: ../includes/main.conf.php:240 -msgid "Enable Do-Not-Disturb" -msgstr "" - -#: ../includes/main.conf.php:241 -msgid "Disable Do-Not-Disturb" -msgstr "" - -#: ../includes/main.conf.php:242 -msgid "Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:243 -msgid "Disable Call Forward on Busy" -msgstr "" - -#: ../includes/main.conf.php:244 -msgid "Message Center (does not ask for extension)" -msgstr "" - -#: ../includes/main.conf.php:245 -msgid "Enter Message Center" -msgstr "" - -#: ../includes/main.conf.php:246 -msgid "Playback IVR Recording" -msgstr "" - -#: ../includes/main.conf.php:247 -msgid "Test Fax" -msgstr "" - -#: ../includes/main.conf.php:248 -msgid "Simulate incoming call" -msgstr "" - -#: ../includes/main.conf.php:289 -msgid "Email voicemail as attachment" -msgstr "" - -#: ../includes/main.conf.php:290 -msgid "Say caller id in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:291 -msgid "Say envelop (date/time) in recording emailed" -msgstr "" - -#: ../includes/main.conf.php:292 -msgid "Delete voicemail when emailed" -msgstr "" - -#: ../includes/main.conf.php:293 -msgid "Play next message after deleting current message" -msgstr "" - -#: ../includes/main.conf.php:294 -msgid "Ask caller to review their voicemail before sending" -msgstr "" - -#: ../includes/main.conf.php:295 -msgid "Maximum time in seconds a voicemail will record" -msgstr "" - -#: ../modules/callmonitor.module:37 ../modules/callmonitor.module:257 -#, fuzzy -msgid "Call Monitor" -msgstr "Monitor de ligações para" - -#: ../modules/callmonitor.module:132 -#, php-format -msgid "Path is not a directory: %s" -msgstr "" - -#: ../modules/callmonitor.module:141 ../modules/voicemail.module:301 -msgid "delete" -msgstr "" - -#: ../modules/callmonitor.module:147 -msgid "duration" -msgstr "" - -#: ../modules/callmonitor.module:150 -msgid "ignore" -msgstr "" - -#: ../modules/callmonitor.module:159 ../modules/voicemail.module:322 -msgid "Date" -msgstr "" - -#: ../modules/callmonitor.module:163 ../modules/voicemail.module:326 -msgid "Caller ID" -msgstr "" - -#: ../modules/callmonitor.module:165 -msgid "Source" -msgstr "" - -#: ../modules/callmonitor.module:167 -msgid "Destination" -msgstr "" - -#: ../modules/callmonitor.module:169 -msgid "Context" -msgstr "" - -#: ../modules/callmonitor.module:171 ../modules/voicemail.module:332 -msgid "Duration" -msgstr "" - -#: ../modules/callmonitor.module:202 -#, fuzzy -msgid "Monitor" -msgstr "Monitor de ligações para" - -#: ../modules/callmonitor.module:222 ../modules/voicemail.module:373 -msgid "play" -msgstr "" - -#: ../modules/callmonitor.module:259 -#, fuzzy, php-format -msgid "Call Monitor for %s (%s)" -msgstr "Monitor de ligações para" - -#: ../modules/callmonitor.module:311 ../modules/voicemail.module:475 -msgid "select" -msgstr "" - -#: ../modules/callmonitor.module:312 ../modules/voicemail.module:476 -msgid "all" -msgstr "" - -#: ../modules/callmonitor.module:313 ../modules/voicemail.module:477 -msgid "none" -msgstr "" - -#: ../modules/callmonitor.module:533 -msgid "Only deletes recording files, not cdr log" -msgstr "" - -#: ../modules/conference.module:55 -msgid "My Conference room" -msgstr "" - -#: ../modules/conference.module:78 -#, fuzzy, php-format -msgid "Conference for %s (%s%s)" -msgstr "Voicemail para" - -#: ../modules/help.module:39 ../modules/help.module:68 -msgid "Help" -msgstr "" - -#: ../modules/help.module:70 -#, fuzzy, php-format -msgid "Help for %s (%s)" -msgstr "Configurações para" - -#: ../modules/help.module:77 -msgid "Handset Feature Code" -msgstr "" - -#: ../modules/help.module:80 -msgid "Action" -msgstr "" - -#: ../modules/settings.module:61 ../modules/settings.module:667 -msgid "Settings" -msgstr "Configurações" - -#: ../modules/settings.module:125 -msgid "Call forward number not changed" -msgstr "" - -#: ../modules/settings.module:126 -#, php-format -msgid "" -"Number %s must contain dial numbers (characters like '(', '-', and ')' are " -"ok)" -msgstr "" - -#: ../modules/settings.module:151 ../modules/settings.module:156 -#: ../modules/settings.module:161 ../modules/settings.module:166 -#: ../modules/settings.module:176 ../modules/settings.module:181 -msgid "Voicemail password not changed" -msgstr "Senha do Voicemail não alterada" - -#: ../modules/settings.module:152 -msgid "Password and password confirm must not be blank" -msgstr "Senha e confirmação de senha não pode ser não pode estar em branco" - -#: ../modules/settings.module:157 -#, fuzzy, php-format -msgid "Passwords must be all numbers and greater than %d digits" -msgstr "A senha deve conter apenas números e apenas 4 dÃgitos" - -#: ../modules/settings.module:162 -#, fuzzy, php-format -msgid "Passwords must be all numbers and only %d digits" -msgstr "A senha deve conter apenas números e apenas 4 dÃgitos" - -#: ../modules/settings.module:167 -msgid "Password and password confirm do not match" -msgstr "Senha e confirmação de senha não batem" - -#: ../modules/settings.module:177 ../modules/settings.module:182 -#: ../modules/settings.module:234 ../modules/settings.module:239 -#, fuzzy, php-format -msgid "%s does not exist or is not writable" -msgstr "não existe ou não tem permissão de escrita" - -#: ../modules/settings.module:223 -#, fuzzy -msgid "Voicemail email and pager address not changed" -msgstr "Senha do Voicemail não alterada" - -#: ../modules/settings.module:233 ../modules/settings.module:238 -#, fuzzy -msgid "Voicemail email settings not changed" -msgstr "Senha do Voicemail não alterada" - -#: ../modules/settings.module:385 -msgid "Language:" -msgstr "" - -#: ../modules/settings.module:408 -#, fuzzy -msgid "Call Routing" -msgstr "Monitor de ligações para" - -#: ../modules/settings.module:411 -#, fuzzy -msgid "Call Forwarding:" -msgstr "Monitor de ligações para" - -#: ../modules/settings.module:419 ../modules/settings.module:507 -msgid "Enable" -msgstr "" - -#: ../modules/settings.module:431 -#, fuzzy, php-format -msgid "Passwords must be all numbers and only %s digits" -msgstr "A senha deve conter apenas números e apenas 4 dÃgitos" - -#: ../modules/settings.module:434 -#, fuzzy, php-format -msgid "Passwords must be all numbers and at least %s digits" -msgstr "A senha deve conter apenas números e apenas 4 dÃgitos" - -#: ../modules/settings.module:439 -#, fuzzy -msgid "Voicemail Password:" -msgstr "Voicemail para" - -#: ../modules/settings.module:445 -msgid "Enter again to confirm:" -msgstr "" - -#: ../modules/settings.module:492 -#, fuzzy -msgid "Email Voicemail To:" -msgstr "Voicemail para" - -#: ../modules/settings.module:498 -#, fuzzy -msgid "Pager Voicemail To:" -msgstr "Voicemail para" - -#: ../modules/settings.module:558 -msgid "Audio Format:" -msgstr "" - -#: ../modules/settings.module:561 -msgid "Best Quality" -msgstr "" - -#: ../modules/settings.module:562 -msgid "Smallest Download" -msgstr "" - -#: ../modules/settings.module:570 -#, fuzzy -msgid "Voicemail Settings" -msgstr "Voicemail para" - -#: ../modules/settings.module:611 -#, fuzzy -msgid "Call Monitor Settings" -msgstr "Monitor de ligações para" - -#: ../modules/settings.module:614 -msgid "Record INCOMING:" -msgstr "" - -#: ../modules/settings.module:616 ../modules/settings.module:624 -msgid "Always" -msgstr "" - -#: ../modules/settings.module:617 ../modules/settings.module:625 -msgid "Never" -msgstr "" - -#: ../modules/settings.module:618 ../modules/settings.module:626 -msgid "On-Demand" -msgstr "" - -#: ../modules/settings.module:622 -msgid "Record OUTGOING:" -msgstr "" - -#: ../modules/settings.module:669 -#, fuzzy, php-format -msgid "Settings for %s (%s)" -msgstr "Configurações para" - -#: ../modules/settings.module:705 -msgid "Update" -msgstr "" - -#: ../modules/voicemail.module:45 -#, fuzzy -msgid "Voicemail" -msgstr "Voicemail para" - -#: ../modules/voicemail.module:164 -msgid "A folder must be selected before the message can be moved." -msgstr "Uma pasta deve ser selecionada antes que a mensagem possa ser movida." - -#: ../modules/voicemail.module:178 -msgid "An extension must be selected before the message can be forwarded." -msgstr "" -"Uma extensão deve ser selecionada antes que a mensagem possa ser repassada." - -#: ../modules/voicemail.module:304 -msgid "move_to" -msgstr "" - -#: ../modules/voicemail.module:307 -msgid "Folder" -msgstr "" - -#: ../modules/voicemail.module:311 -msgid "forward_to" -msgstr "" - -#: ../modules/voicemail.module:328 -msgid "Priority" -msgstr "" - -#: ../modules/voicemail.module:330 -msgid "Orig Mailbox" -msgstr "" - -#: ../modules/voicemail.module:362 -msgid "Message" -msgstr "" - -#: ../modules/voicemail.module:377 -msgid "Voicemail recording(s) was not found." -msgstr "Gravação do(s) Voicemail(s) não encontrada." - -#: ../modules/voicemail.module:378 -#, php-format -msgid "" -"On settings page, change voicemail audio format. It is currently set to %s" -msgstr "" - -#: ../modules/voicemail.module:405 -#, fuzzy -msgid "Voicemail Login not found." -msgstr "Login do Voicemail não encontrado, utilizado login SIP" - -#: ../modules/voicemail.module:406 -msgid "No access to voicemail" -msgstr "Sem acesso ao voicemail" - -#: ../modules/voicemail.module:412 -msgid "No Voicemail Recordings for Admin" -msgstr "Sem gravações para Admin" - -#: ../modules/voicemail.module:428 -#, fuzzy, php-format -msgid "Voicemail for %s (%s)" -msgstr "Voicemail para" - -#: ../modules/voicemail.module:678 -#, fuzzy, php-format -msgid "Could not create mailbox folder %s on the server" -msgstr "Não foi possÃvel criar caixa de mensagens" - -#: ../modules/voicemail.module:718 -#, php-format -msgid "Permission denied on folder %s or %s" -msgstr "" - -#: ../misc/recording_popup.php:39 -msgid "download" -msgstr "" - -#, fuzzy -#~ msgid "Passwords must be all numbers and only 4 digits" -#~ msgstr "A senha deve conter apenas números e apenas 4 dÃgitos" - -#, fuzzy -#~ msgid "No Asterisk Manager Interface connection" -#~ msgstr "Asterisk Call Manager não responde" - -#~ msgid "not a directory or not readable" -#~ msgstr "não é um diretório ou não pode ser lido" - -#~ msgid "of" -#~ msgstr "de" - -#~ msgid "Use your" -#~ msgstr "Use seu" - -#~ msgid "Password must be all numbers and 4 digits" -#~ msgstr "A senha deve conter apenas números e apenas 4 dÃgitos" - -#~ msgid "Check voicemail audio format on settings page to change from" -#~ msgstr "" -#~ "Verifique o formato do audio do voicemail na página de configurações para " -#~ "mudar de" - -#~ msgid "on the server" -#~ msgstr "no servidor" - -#~ msgid "No database connection" -#~ msgstr "Sem conexão com o banco de dados" diff --git a/fs_selfservice/fri/locale/readme.txt b/fs_selfservice/fri/locale/readme.txt deleted file mode 100644 index 24918654b..000000000 --- a/fs_selfservice/fri/locale/readme.txt +++ /dev/null @@ -1,37 +0,0 @@ -// To create the .po (write your translations to this file): -$ find *.php ../includes/* ../modules/*.module ../misc/*.php ../theme/* | xargs xgettext -L PHP -o ari.po --keyword=_ - - -// To create the utf-8 .po -$ iconv -f iso-8859-1 -t utf-8 -o ari.utf-8.po ari.po - -// To create the .mo: -$ msgfmt -v ari.utf-8.po -o ari.mo - -// To update (assume both files to be merged are utf-8) -$ msgmerge es_ES/LC_MESSAGES/ari.po ari.utf-8.po --output-file=es_ES/LC_MESSAGES/ari.po -$ msgfmt -v es_ES/LC_MESSAGES/ari.po -o es_ES/LC_MESSAGES/ari.mo - - -// script -// for this to work all translated files need to be converted to utf-8 (use iconv) -// -find *.php ../includes/* ../modules/*.module ../misc/*.php ../theme/* | xargs xgettext -L PHP -o ari.po --keyword=_ - -iconv -f iso-8859-1 -t utf-8 -o ari.utf-8.po ari.po -msgmerge el_GR/LC_MESSAGES/ari.po ari.utf-8.po --output-file=el_GR/LC_MESSAGES/ari.po -msgfmt -v el_GR/LC_MESSAGES/ari.po -o el_GR/LC_MESSAGES/ari.mo -msgmerge es_ES/LC_MESSAGES/ari.po ari.utf-8.po --output-file=es_ES/LC_MESSAGES/ari.po -msgfmt -v es_ES/LC_MESSAGES/ari.po -o es_ES/LC_MESSAGES/ari.mo -msgmerge fr_FR/LC_MESSAGES/ari.po ari.utf-8.po --output-file=fr_FR/LC_MESSAGES/ari.po -msgfmt -v fr_FR/LC_MESSAGES/ari.po -o fr_FR/LC_MESSAGES/ari.mo -msgmerge he_IL/LC_MESSAGES/ari.po ari.utf-8.po --output-file=he_IL/LC_MESSAGES/ari.po -msgfmt -v he_IL/LC_MESSAGES/ari.po -o he_IL/LC_MESSAGES/ari.mo -msgmerge hu_HU/LC_MESSAGES/ari.po ari.utf-8.po --output-file=hu_HU/LC_MESSAGES/ari.po -msgfmt -v hu_HU/LC_MESSAGES/ari.po -o hu_HU/LC_MESSAGES/ari.mo -msgmerge it_IT/LC_MESSAGES/ari.po ari.utf-8.po --output-file=it_IT/LC_MESSAGES/ari.po -msgfmt -v ot_IT/LC_MESSAGES/ari.po -o it_IT/LC_MESSAGES/ari.mo -msgmerge pt_BR/LC_MESSAGES/ari.po ari.utf-8.po --output-file=pt_BR/LC_MESSAGES/ari.po -msgfmt -v pt_BR/LC_MESSAGES/ari.po -o pt_BR/LC_MESSAGES/ari.mo -msgmerge sv_SE/LC_MESSAGES/ari.po ari.utf-8.po --output-file=sv_SE/LC_MESSAGES/ari.po -msgfmt -v sv_SE/LC_MESSAGES/ari.po -o sv_SE/LC_MESSAGES/ari.mo - - diff --git a/fs_selfservice/fri/locale/sv_SE/LC_MESSAGES/ari.mo b/fs_selfservice/fri/locale/sv_SE/LC_MESSAGES/ari.mo Binary files differdeleted file mode 100644 index c8ea15216..000000000 --- a/fs_selfservice/fri/locale/sv_SE/LC_MESSAGES/ari.mo +++ /dev/null diff --git a/fs_selfservice/fri/locale/sv_SE/LC_MESSAGES/ari.po b/fs_selfservice/fri/locale/sv_SE/LC_MESSAGES/ari.po deleted file mode 100644 index f8f0ad324..000000000 --- a/fs_selfservice/fri/locale/sv_SE/LC_MESSAGES/ari.po +++ /dev/null @@ -1,678 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-03 08:32-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Niklas Larsson <pnsystem@comhem.se>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../includes/asi.php:46 -msgid "Asterisk Call Manager not responding" -msgstr "Asterisk Call Manager svara ej" - -#: ../includes/asi.php:54 -msgid "Asterisk authentication failed:" -msgstr "Ej godkänd autentisering mot Asterisk:" - -#: ../includes/asi.php:96 ../includes/asi.php:111 -#, fuzzy -msgid "Asterisk command not understood" -msgstr "Asterisk förstod ej omladdningskommandot" - -#: ../includes/bootstrap.php:123 -#, php-format -msgid "To many directories in %s Not all files processed" -msgstr "För många mappar i %s Alla filer har inte behandlats" - -#: ../includes/bootstrap.php:226 -#, fuzzy -msgid "ARI requires a version of PHP 4.3 or later" -msgstr "ARI kräver version 4.0 eller högre av PHP" - -#: ../includes/bootstrap.php:245 -msgid "" -"PHP PEAR must be installed. Visit http://pear.php.net for help with " -"installation." -msgstr "" -"PHP PEAR måste installeras. Gå till http://pear.php.net, och " -"installera." - -#: ../includes/common.php:173 -#, fuzzy -msgid "ARI does not appear to have access to the Asterisk Manager." -msgstr "Kan ej ansluta till Asterisk Manager" - -#: ../includes/common.php:174 -#, fuzzy -msgid "" -"Check the ARI 'main.conf.php' configuration file to set the Asterisk Manager " -"Account." -msgstr "" -"Kontrollera ARI 'main.conf' filen och inställningarna för Asterisk " -"Manager kontot." - -#: ../includes/common.php:175 -#, fuzzy -msgid "Check /etc/asterisk/manager.conf for a proper Asterisk Manager Account" -msgstr "" -"Kontrollera /etc/asterisk/manager.conf, se till att det finns ett korrekt " -"Asterisk Manager konto" - -#: ../includes/common.php:176 -#, fuzzy -msgid "" -"make sure [general] enabled = yes and a 'permit=' line for localhost or the " -"webserver." -msgstr "" -" som bla har [general] enabled = yes och en 'permit=' för localhost " -"eller ip nummret för webservern" - -#: ../includes/common.php:193 ../includes/common.php:208 -#, fuzzy -msgid "Check AMP installation, asterisk, and ARI main.conf" -msgstr "Kontrollera AMP installationen, asterisk databas eller ARI main.conf" - -#: ../includes/common.php:344 -msgid "Logout" -msgstr "Logga ut" - -#: ../includes/common.php:349 -msgid "Page Not Found." -msgstr "Sidan hittas ej." - -#: ../includes/display.php:92 -msgid "Search" -msgstr "Sök" - -#: ../includes/display.php:135 -msgid "Searched for" -msgstr "Sökte efter" - -#: ../includes/display.php:139 -#, fuzzy, php-format -msgid "Results %d - %d of %d" -msgstr "Resultat %d av %d" - -#: ../includes/display.php:141 -#, fuzzy, php-format -msgid "Results %d" -msgstr "Resultat %d" - -#: ../includes/display.php:195 -msgid "First" -msgstr "Först" - -#: ../includes/display.php:208 -msgid "Last" -msgstr "Sist" - -#: ../includes/login.php:267 -msgid "Incorrect Password" -msgstr "Felaktigt lösenord" - -#: ../includes/login.php:279 -msgid "Incorrect Username or Password" -msgstr "Felaktigt lösenord" - -#: ../includes/login.php:402 ../includes/login.php:411 -msgid "Login" -msgstr "Användarnamn" - -#: ../includes/login.php:419 -msgid "Password" -msgstr "Lösenord" - -#: ../includes/login.php:428 -msgid "Submit" -msgstr "Logga in" - -#: ../includes/login.php:436 -msgid "Remember Password" -msgstr "Kom ihåg lösenord" - -#: ../includes/login.php:451 -#, fuzzy -msgid "Use your <b>Voicemail Mailbox and Password</b>" -msgstr "" -"Använd din <b>Röstbrevlådas nummer och lösenord</b>" - -#: ../includes/login.php:452 -msgid "This is the same password used for the phone" -msgstr "Det är samma lösenord som till din telefon" - -#: ../includes/login.php:454 -msgid "" -"For password maintenance or assistance, contact your Phone System " -"Administrator." -msgstr "" -"Om du har problem med lösenord eller behöver hjälp ska du " -"kontakta din växel ansvarig" - -#: ../includes/main.conf.php:152 -msgid "INBOX" -msgstr "Inbox" - -#: ../includes/main.conf.php:154 -msgid "Family" -msgstr "Familj" - -#: ../includes/main.conf.php:156 -msgid "Friends" -msgstr "Vänner" - -#: ../includes/main.conf.php:158 -msgid "Old" -msgstr "Gamla" - -#: ../includes/main.conf.php:160 -msgid "Work" -msgstr "Arbete" - -#: ../includes/main.conf.php:229 -msgid "Directory" -msgstr "Katalog" - -#: ../includes/main.conf.php:230 -msgid "Echo Test" -msgstr "Eko test" - -#: ../includes/main.conf.php:231 ../modules/callmonitor.module:161 -#: ../modules/voicemail.module:324 -msgid "Time" -msgstr "Tid" - -#: ../includes/main.conf.php:232 -msgid "Weather" -msgstr "Väder" - -#: ../includes/main.conf.php:233 -msgid "Schedule wakeup call" -msgstr "Schemalägg väckningssamtal" - -#: ../includes/main.conf.php:234 -msgid "festival test (your extension is XXX)" -msgstr "Festival test (din anknytning är XXX)" - -#: ../includes/main.conf.php:235 -msgid "Activate Call Waiting (deactivated by default)" -msgstr "Aktivera Samtal Väntar" - -#: ../includes/main.conf.php:236 -msgid "Deactivate Call Waiting" -msgstr "Avaktivera Samtal Väntar" - -#: ../includes/main.conf.php:237 -msgid "Call Forwarding System" -msgstr "Vidarekoppla" - -#: ../includes/main.conf.php:238 -msgid "Disable Call Forwarding" -msgstr "Avaktivera vidarekoppling" - -#: ../includes/main.conf.php:239 -#, fuzzy -msgid "IVR Recording" -msgstr "Röstmeny inspelning" - -#: ../includes/main.conf.php:240 -msgid "Enable Do-Not-Disturb" -msgstr "Aktivera Stör Ej" - -#: ../includes/main.conf.php:241 -msgid "Disable Do-Not-Disturb" -msgstr "Avaktivera Stör Ej" - -#: ../includes/main.conf.php:242 -msgid "Call Forward on Busy" -msgstr "Vidarekoppla vid upptaget" - -#: ../includes/main.conf.php:243 -msgid "Disable Call Forward on Busy" -msgstr "Avaktivera vidarekoppla vid upptaget" - -#: ../includes/main.conf.php:244 -#, fuzzy -msgid "Message Center (does not ask for extension)" -msgstr "Röstbrevlåda (fråga ej efter anknytning)" - -#: ../includes/main.conf.php:245 -msgid "Enter Message Center" -msgstr "Gå till röstbrevlådan" - -#: ../includes/main.conf.php:246 -msgid "Playback IVR Recording" -msgstr "Spela upp röstmeny" - -#: ../includes/main.conf.php:247 -msgid "Test Fax" -msgstr "Fax test" - -#: ../includes/main.conf.php:248 -msgid "Simulate incoming call" -msgstr "Simulera inkommande samtal" - -#: ../includes/main.conf.php:289 -msgid "Email voicemail as attachment" -msgstr "Bifoga meddeladen i E-Post" - -#: ../includes/main.conf.php:290 -msgid "Say caller id in recording emailed" -msgstr "Läser upp nummret i meddelandet" - -#: ../includes/main.conf.php:291 -#, fuzzy -msgid "Say envelop (date/time) in recording emailed" -msgstr "Läser upp informationen i meddelandet" - -#: ../includes/main.conf.php:292 -msgid "Delete voicemail when emailed" -msgstr "Radera meddelandet när det e-postats" - -#: ../includes/main.conf.php:293 -msgid "Play next message after deleting current message" -msgstr "Spelar upp nästa eftera att ha raderat nuvarande" - -#: ../includes/main.conf.php:294 -msgid "Ask caller to review their voicemail before sending" -msgstr "" - -#: ../includes/main.conf.php:295 -msgid "Maximum time in seconds a voicemail will record" -msgstr "" - -#: ../modules/callmonitor.module:37 ../modules/callmonitor.module:257 -msgid "Call Monitor" -msgstr "Samtalsregister" - -#: ../modules/callmonitor.module:132 -#, php-format -msgid "Path is not a directory: %s" -msgstr "S&oulm;kvägen leder ej till en mapp: %s" - -#: ../modules/callmonitor.module:141 ../modules/voicemail.module:301 -msgid "delete" -msgstr "Radera" - -#: ../modules/callmonitor.module:147 -#, fuzzy -msgid "duration" -msgstr "Längd" - -#: ../modules/callmonitor.module:150 -#, fuzzy -msgid "ignore" -msgstr "ignorera" - -#: ../modules/callmonitor.module:159 ../modules/voicemail.module:322 -msgid "Date" -msgstr "Datum" - -#: ../modules/callmonitor.module:163 ../modules/voicemail.module:326 -msgid "Caller ID" -msgstr "Nummerpresentation" - -#: ../modules/callmonitor.module:165 -msgid "Source" -msgstr "Källa" - -#: ../modules/callmonitor.module:167 -msgid "Destination" -msgstr "Mål" - -#: ../modules/callmonitor.module:169 -msgid "Context" -msgstr "Sammanhang" - -#: ../modules/callmonitor.module:171 ../modules/voicemail.module:332 -msgid "Duration" -msgstr "Längd" - -#: ../modules/callmonitor.module:202 -msgid "Monitor" -msgstr "Inspelning" - -#: ../modules/callmonitor.module:222 ../modules/voicemail.module:373 -msgid "play" -msgstr "spela" - -#: ../modules/callmonitor.module:259 -#, fuzzy, php-format -msgid "Call Monitor for %s (%s)" -msgstr "Samtalsregister för %s (%s)" - -#: ../modules/callmonitor.module:311 ../modules/voicemail.module:475 -msgid "select" -msgstr "Val" - -#: ../modules/callmonitor.module:312 ../modules/voicemail.module:476 -msgid "all" -msgstr "alla" - -#: ../modules/callmonitor.module:313 ../modules/voicemail.module:477 -msgid "none" -msgstr "inga" - -#: ../modules/callmonitor.module:533 -msgid "Only deletes recording files, not cdr log" -msgstr "Raderar endast inspelade filer, inte samtalsloggen" - -#: ../modules/conference.module:55 -msgid "My Conference room" -msgstr "" - -#: ../modules/conference.module:78 -#, fuzzy, php-format -msgid "Conference for %s (%s%s)" -msgstr "Röstbrevlåda för %s (%s)" - -#: ../modules/help.module:39 ../modules/help.module:68 -msgid "Help" -msgstr "Hjälp" - -#: ../modules/help.module:70 -#, php-format -msgid "Help for %s (%s)" -msgstr "Hjälp för %s (%s)" - -#: ../modules/help.module:77 -msgid "Handset Feature Code" -msgstr "Kortkoder" - -#: ../modules/help.module:80 -msgid "Action" -msgstr "Utför" - -#: ../modules/settings.module:61 ../modules/settings.module:667 -msgid "Settings" -msgstr "Inställningar" - -#: ../modules/settings.module:125 -msgid "Call forward number not changed" -msgstr "Vidarekopplingsnummret ej ändrat" - -#: ../modules/settings.module:126 -#, php-format -msgid "" -"Number %s must contain dial numbers (characters like '(', '-', and ')' are " -"ok)" -msgstr "" -"Nummer %s ska innehålla nummer (tecknen; '(', '-' och ')' är " -"tillåtna" - -#: ../modules/settings.module:151 ../modules/settings.module:156 -#: ../modules/settings.module:161 ../modules/settings.module:166 -#: ../modules/settings.module:176 ../modules/settings.module:181 -msgid "Voicemail password not changed" -msgstr "Lösenord för röstbrevlådan har inte ändrats" - -#: ../modules/settings.module:152 -msgid "Password and password confirm must not be blank" -msgstr "" -"Lösenord och bekräfta lösenord får inte vara tomma" - -#: ../modules/settings.module:157 -#, fuzzy, php-format -msgid "Passwords must be all numbers and greater than %d digits" -msgstr "Lösenordet måste vara %d siffror" - -#: ../modules/settings.module:162 -#, fuzzy, php-format -msgid "Passwords must be all numbers and only %d digits" -msgstr "Lösenordet måste vara %d siffror" - -#: ../modules/settings.module:167 -msgid "Password and password confirm do not match" -msgstr "Lösenord och bekräftat lösenord stämmer inte" - -#: ../modules/settings.module:177 ../modules/settings.module:182 -#: ../modules/settings.module:234 ../modules/settings.module:239 -#, fuzzy, php-format -msgid "%s does not exist or is not writable" -msgstr "%s finns ej eller är ej läsbar" - -#: ../modules/settings.module:223 -#, fuzzy -msgid "Voicemail email and pager address not changed" -msgstr "Lösenord för röstbrevlådan har inte ändrats" - -#: ../modules/settings.module:233 ../modules/settings.module:238 -#, fuzzy -msgid "Voicemail email settings not changed" -msgstr "Lösenord för röstbrevlådan har inte ändrats" - -#: ../modules/settings.module:385 -msgid "Language:" -msgstr "Språk:" - -#: ../modules/settings.module:408 -#, fuzzy -msgid "Call Routing" -msgstr "Inställningar för Vidarekoppling" - -#: ../modules/settings.module:411 -#, fuzzy -msgid "Call Forwarding:" -msgstr "Vidarekoppling" - -#: ../modules/settings.module:419 ../modules/settings.module:507 -#, fuzzy -msgid "Enable" -msgstr "Aktivera" - -#: ../modules/settings.module:431 -#, fuzzy, php-format -msgid "Passwords must be all numbers and only %s digits" -msgstr "Lösenordet måste vara %s siffror" - -#: ../modules/settings.module:434 -#, fuzzy, php-format -msgid "Passwords must be all numbers and at least %s digits" -msgstr "Lösenordet måste vara %s siffror" - -#: ../modules/settings.module:439 -#, fuzzy -msgid "Voicemail Password:" -msgstr "Lösenord för röstbrevlåda" - -#: ../modules/settings.module:445 -msgid "Enter again to confirm:" -msgstr "Bekräfta:" - -#: ../modules/settings.module:492 -#, fuzzy -msgid "Email Voicemail To:" -msgstr "Röstbrevlåda" - -#: ../modules/settings.module:498 -#, fuzzy -msgid "Pager Voicemail To:" -msgstr "Röstbrevlåda" - -#: ../modules/settings.module:558 -msgid "Audio Format:" -msgstr "Ljud format:" - -#: ../modules/settings.module:561 -msgid "Best Quality" -msgstr "Bästa kvaliten" - -#: ../modules/settings.module:562 -msgid "Smallest Download" -msgstr "Minsta storlek" - -#: ../modules/settings.module:570 -msgid "Voicemail Settings" -msgstr "Inställningar för Röstbrevlåda" - -#: ../modules/settings.module:611 -msgid "Call Monitor Settings" -msgstr "Inställningar för Samtalsregister" - -#: ../modules/settings.module:614 -msgid "Record INCOMING:" -msgstr "Spela in inkommande samtal:" - -#: ../modules/settings.module:616 ../modules/settings.module:624 -msgid "Always" -msgstr "Alltid" - -#: ../modules/settings.module:617 ../modules/settings.module:625 -msgid "Never" -msgstr "Aldrig" - -#: ../modules/settings.module:618 ../modules/settings.module:626 -msgid "On-Demand" -msgstr "Vid behov" - -#: ../modules/settings.module:622 -msgid "Record OUTGOING:" -msgstr "Spela in utgående samtal:" - -#: ../modules/settings.module:669 -#, fuzzy, php-format -msgid "Settings for %s (%s)" -msgstr "Inställningar för %s (%s)" - -#: ../modules/settings.module:705 -msgid "Update" -msgstr "Uppdatera" - -#: ../modules/voicemail.module:45 -msgid "Voicemail" -msgstr "Röstbrevlåda" - -#: ../modules/voicemail.module:164 -msgid "A folder must be selected before the message can be moved." -msgstr "En mapp måsta väljas innan meddelandet kan flyttas." - -#: ../modules/voicemail.module:178 -msgid "An extension must be selected before the message can be forwarded." -msgstr "" -"En anknytning måste väljas innan meddelandet kan vidarebefodras." - -#: ../modules/voicemail.module:304 -msgid "move_to" -msgstr "Flytta till" - -#: ../modules/voicemail.module:307 -#, fuzzy -msgid "Folder" -msgstr "Mappar" - -#: ../modules/voicemail.module:311 -msgid "forward_to" -msgstr "Vidarebefodra till" - -#: ../modules/voicemail.module:328 -msgid "Priority" -msgstr "Prioritet" - -#: ../modules/voicemail.module:330 -msgid "Orig Mailbox" -msgstr "Ursprunglig röstbrevlåda" - -#: ../modules/voicemail.module:362 -msgid "Message" -msgstr "Meddelande" - -#: ../modules/voicemail.module:377 -msgid "Voicemail recording(s) was not found." -msgstr "Röstmeddelande hittades inte." - -#: ../modules/voicemail.module:378 -#, php-format -msgid "" -"On settings page, change voicemail audio format. It is currently set to %s" -msgstr "" -"På inställningssidan, ändra röstbrevlådans " -"ljudformat. Det är nu %s" - -#: ../modules/voicemail.module:405 -#, fuzzy -msgid "Voicemail Login not found." -msgstr "Hittar inte röstbrevlåda." - -#: ../modules/voicemail.module:406 -msgid "No access to voicemail" -msgstr "Inget tillträde till röstbrevlådan" - -#: ../modules/voicemail.module:412 -msgid "No Voicemail Recordings for Admin" -msgstr "Inga röstmeddelande för Admin" - -#: ../modules/voicemail.module:428 -#, fuzzy, php-format -msgid "Voicemail for %s (%s)" -msgstr "Röstbrevlåda för %s (%s)" - -#: ../modules/voicemail.module:678 -#, fuzzy, php-format -msgid "Could not create mailbox folder %s on the server" -msgstr "Kan inte skapa mapp för röstbrevlåda" - -#: ../modules/voicemail.module:718 -#, php-format -msgid "Permission denied on folder %s or %s" -msgstr "Saknar rättigheter för mappen %s eller %s" - -#: ../misc/recording_popup.php:39 -msgid "download" -msgstr "ladda ner" - -#~ msgid "Folders" -#~ msgstr "Mappar" - -#~ msgid "Version" -#~ msgstr "Version" - -#~ msgid "Passwords must be all numbers and only 4 digits" -#~ msgstr "Lösenordet måste vara 4 siffror" - -#~ msgid "Unable to connect to Asterisk Manager" -#~ msgstr "Kan ej ansluta till Asterisk Manager" - -#, fuzzy -#~ msgid "No Asterisk Manager Interface connection" -#~ msgstr "Asterisk Call Manager svara ej" - -#~ msgid "of" -#~ msgstr "av" - -#~ msgid "Login used" -#~ msgstr "Använd Login" - -#~ msgid "help" -#~ msgstr "hjälp" - -#~ msgid "not a directory or not readable" -#~ msgstr "inte en mapp eller ej läsbar" - -#~ msgid "Use your" -#~ msgstr "Använd din" - -#~ msgid "for" -#~ msgstr "för" - -#~ msgid "Password must be all numbers and 4 digits" -#~ msgstr "Lösenordet måste vara 4 siffror" - -#~ msgid "Check voicemail audio format on settings page to change from" -#~ msgstr "" -#~ "Ändra inställningar för röstbrevlådans ljud " -#~ "format för att ändra från" - -#~ msgid "on the server" -#~ msgstr "på servern" - -#~ msgid "No database connection" -#~ msgstr "Ingen kontakt med databasen" diff --git a/fs_selfservice/fri/misc/audio.php b/fs_selfservice/fri/misc/audio.php deleted file mode 100644 index 2dc355cb3..000000000 --- a/fs_selfservice/fri/misc/audio.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php - -/** - * @file - * plays recording file - */ - - - -if (isset($_GET['recording'])) { - - chdir(".."); - include_once("./includes/bootstrap.php"); - - global $ARI_CRYPT_PASSWORD; - - $crypt = new Crypt(); - - $path = $crypt->decrypt($_GET['recording'],$ARI_CRYPT_PASSWORD); - - // strip ".." from path for security - $path = preg_replace('/\.\./','',$path); - - // See if the file exists - if (!is_file($path)) { die("<b>404 File not found!</b>"); } - - // Gather relevent info about file - $size = filesize($path); - $name = basename($path); - $extension = strtolower(substr(strrchr($name,"."),1)); - - // This will set the Content-Type to the appropriate setting for the file - $ctype =''; - switch( $extension ) { - case "mp3": $ctype="audio/mpeg"; break; - case "wav": $ctype="audio/x-wav"; break; - case "Wav": $ctype="audio/x-wav"; break; - case "WAV": $ctype="audio/x-wav"; break; - case "gsm": $ctype="audio/x-gsm"; break; - - // not downloadable - default: die("<b>404 File not found!</b>"); break ; - } - - // need to check if file is mislabeled or a liar. - $fp=fopen($path, "rb"); - if ($size && $ctype && $fp) { - header("Pragma: public"); - header("Expires: 0"); - header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); - header("Cache-Control: public"); - header("Content-Description: wav file"); - header("Content-Type: " . $ctype); - header("Content-Disposition: attachment; filename=" . $name); - header("Content-Transfer-Encoding: binary"); - header("Content-length: " . $size); - fpassthru($fp); - } -} - -?>
\ No newline at end of file diff --git a/fs_selfservice/fri/misc/popup.css b/fs_selfservice/fri/misc/popup.css deleted file mode 100644 index 7a5352805..000000000 --- a/fs_selfservice/fri/misc/popup.css +++ /dev/null @@ -1,10 +0,0 @@ -/* - * popup - */ - -.popup_download { - color: #105D90; - margin: 250px; - font-size: 12px; - text-align: right; -}
\ No newline at end of file diff --git a/fs_selfservice/fri/misc/recording_popup.php b/fs_selfservice/fri/misc/recording_popup.php deleted file mode 100644 index 1546adcc0..000000000 --- a/fs_selfservice/fri/misc/recording_popup.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php - -/** - * @file - * popup window for playing recording - */ - -chdir(".."); -include_once("./includes/bootstrap.php"); - -?> - -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <TITLE>ARI</TITLE> - <link rel="stylesheet" href="popup.css" type="text/css"> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - </head> - <body> - -<?php - - global $ARI_CRYPT_PASSWORD; - - $crypt = new Crypt(); - - $path = $crypt->encrypt($_GET['recording'],$ARI_CRYPT_PASSWORD); - - if (isset($path)) { - if (isset($_GET['date'])) { - echo($_GET['date'] . "<br>"); - } - if (isset($_GET['time'])) { - echo($_GET['time'] . "<br>"); - } - echo("<br>"); - echo("<embed src='audio.php?recording=" . $path . "' width=300, height=20 autoplay=true loop=false></embed><br>"); - echo("<a class='popup_download' href=/recordings/misc/audio.php?recording=" . $path . ">" . _("download") . "</a><br>"); - } - -?> - - </body> -</html> - diff --git a/fs_selfservice/fri/modules.template/blank.module b/fs_selfservice/fri/modules.template/blank.module deleted file mode 100644 index a3676c433..000000000 --- a/fs_selfservice/fri/modules.template/blank.module +++ /dev/null @@ -1,81 +0,0 @@ -<?php - -/** - * @file - * Functions for the interface to the help page - */ - -/** - * Class for help - */ -class blank { - - /* - * rank (for prioritizing modules) - */ - function rank() { - - $rank = 8; - return $rank; - } - - /* - * init - */ - function init() { - } - - /* - * Adds menu item to nav menu - * - * @param $args - * Common arguments - */ - function navMenu($args) { - - $ret .= "<p><small><small><a href='" . $_SESSION['ARI_ROOT'] . "?m=blank&f=display'>" . _("Blank") . "</a></small></small></p><br>"; - - return $ret; - } - - /* - * Displays stats page - * - * @param $args - * Common arguments - */ - function display($args) { - - global $ARI_HELP_FEATURE_CODES; - - $display = new Display(); - - // args - $m = getArgument($args,'m'); - $q = getArgument($args,'q'); - - $displayname = $_SESSION['ari_user']['displayname']; - $extension = $_SESSION['ari_user']['extension']; - - // build page content - $ret .= checkErrorMessage(); - - $header_text = _("Blank"); - if (!$_SESSION['ari_user']['admin_help']) { - $header_text .= sprintf(_(" for %s (%s)"), $displayname, $extension); - } - - // build page content - $ret .= checkErrorMessage(); - - $ret .= $display->displayHeaderText($header_text); - $ret .= $display->displayLine(); - - $ret .= 'Blank goes here'; - - return $ret; - } - -} - -?> diff --git a/fs_selfservice/fri/modules/VmX.module b/fs_selfservice/fri/modules/VmX.module deleted file mode 100644 index 61ef653a2..000000000 --- a/fs_selfservice/fri/modules/VmX.module +++ /dev/null @@ -1,661 +0,0 @@ -<?php - -/** - * @file - * Functions for the interface to the call monitor recordings - */ - -/** - * Class for Followme - */ -class VmX { - - var $protocol_table; - var $protocol_config_files; - - /* - * rank (for prioritizing modules) - */ - function rank() { - - $rank = 6; - return $rank; - } - - /* - * init - */ - function init() { - - } - - /* - * Adds menu item to nav menu - * - * @param $args - * Common arguments - */ - function navMenu($args) { - - global $SETTINGS_ALLOW_VMX_SETTINGS; - global $ARI_ADMIN_USERNAME; - - $ret = ""; - - // We are only going to show the menu - // if VmX is allowed - if ($SETTINGS_ALLOW_VMX_SETTINGS) { - - $exten = $_SESSION['ari_user']['extension']; - - // and we are not logged in as admin - if ($exten!=$ARI_ADMIN_USERNAME) { - - $vmx_enabled = $this->getVmxState($exten,'unavail'); - - // and vmx is enabled for this user - if ($vmx_enabled !== false) - $ret .= "<p><small><small><a href='" . $_SESSION['ARI_ROOT'] . "?m=VmX&f=display'>" . _("VmX™ Locator") . "</a></small></small></p>"; - } - } - - return $ret; - } - - /* - * Acts on the user settings - * - * @param $args - * Common arguments - * @param $a - * action - */ - function action($args) { - - global $STANDALONE; - global $ARI_ADMIN_USERNAME; - global $SETTINGS_ALLOW_VMX_SETTINGS; - - // args - $m = getArgument($args,'m'); - $a = getArgument($args,'a'); - - $follow_me_disabled = getArgument($args,'follow_me_disabled'); - - $vmx_option_0_number = getArgument($args, 'vmx_option_0_number'); - $vmx_option_0_system_default = getArgument($args, 'vmx_option_0_system_default'); - $vmx_option_1_number = getArgument($args, 'vmx_option_1_number'); - $vmx_option_1_system_default = getArgument($args, 'vmx_option_1_system_default'); - $vmx_option_2_number = getArgument($args, 'vmx_option_2_number'); - $vmx_unavail_enabled = getArgument($args, 'vmx_unavail_enabled'); - $vmx_busy_enabled = getArgument($args, 'vmx_busy_enabled'); - $vmx_play_instructions = getArgument($args, 'vmx_play_instructions'); - $vmx_disabled = getArgument($args, 'vmx_disabled'); - - $exten = $_SESSION['ari_user']['extension']; - - // The action is 'update - if ($a=='update') { - - $follow_me_disabled = ($this->getFollowMeListRingTime($exten) > 0)?0:1; - - - $vmx_disabled = $this->getVmxState($exten,'unavail'); - if ($vmx_disabled === false) { - $vmx_disabled = true; - $SETTINGS_ALLOW_VMX_SETTINGS=false; - } else { - $vmx_disabled = false; - } - if ($vmx_disabled) { - - setcookie("ari_vmx_disabled", $vmx_disabled, time()+365*24*60*60); - $vmx_disabled_delayed = $vmx_disabled; - $_SESSION['ari_error'] = - _("Your Premium VmX Locator service has been disabled, REFRESH your browser to remove this message") . "<br>" . - sprintf(_("Check with your Telephone System Administrator if you think there is a problem")); - } - - if (! $vmx_disabled) { - - // set database - $this->setVmxState($exten,'unavail',$vmx_unavail_enabled); - $this->setVmxState($exten,'busy',$vmx_busy_enabled); - $this->setVmxPlayInstructions($exten,'unavail',$vmx_play_instructions); - $this->setVmxPlayInstructions($exten,'busy',$vmx_play_instructions); - - // store cookie - setcookie("ari_vmx_unavail_enabled", $vmx_unavail_enabled, time()+365*24*60*60); - setcookie("ari_vmx_busy_enabled", $vmx_busy_enabled, time()+365*24*60*60); - setcookie("ari_vmx_play_instructions", $vmx_play_instructions, time()+365*24*60*60); - - $stripped_vmx_option_0_number = preg_replace('/-|\(|\)|\s/','',$vmx_option_0_number); - - if ($vmx_option_0_system_default) { - $this->setVmxOptionNumber($exten,'0','unavail',""); - $this->setVmxOptionNumber($exten,'0','busy',""); - setcookie("ari_vmx_option_0_system_default", $vmx_option_0_system_default, time()+365*24*60*60); - if (is_numeric($stripped_vmx_option_0_number) || !$stripped_vmx_option_0_number) { - $stripped = preg_replace('/-|\(|\)|\s/','',$_COOKIE['ari_vmx_option_0_number']); - if ($vmx_option_0_number && $stripped!=$stripped_vmx_option_0_number) { - setcookie("ari_vmx_option_0_number", $call_vmx_option_0_number, time()+365*24*60*60); - } - } - } else { - if (!is_numeric($stripped_vmx_option_0_number) && $stripped_vmx_option_0_number) { - $_SESSION['ari_error'] = - _("Option 0 not changed") . "<br>" . - sprintf(_("Number %s must contain dial numbers (characters like '(', '-', and ')' are ok)"),$vmx_option_0_number); - } - else { - - // set database - $this->setVmxOptionNumber($exten,'0','unavail',$stripped_vmx_option_0_number); - $this->setVmxOptionNumber($exten,'0','busy',$stripped_vmx_option_0_number); - - // store cookie - $stripped = preg_replace('/-|\(|\)|\s/','',$_COOKIE['ari_vmx_option_0_number']); - if ($vmx_option_0_number && $stripped!=$stripped_vmx_option_0_number) { - setcookie("ari_vmx_option_0_number", $call_vmx_option_0_number, time()+365*24*60*60); - } - } - } - - $stripped_vmx_option_1_number = preg_replace('/-|\(|\)|\s/','',$vmx_option_1_number); - if ($vmx_option_1_system_default && !$follow_me_disabled) { - $this->setVmxOptionFollowMe($exten,'1','unavail'); - $this->setVmxOptionFollowMe($exten,'1','busy'); - setcookie("ari_vmx_option_1_system_default", $vmx_option_1_system_default, time()+365*24*60*60); - if (is_numeric($stripped_vmx_option_1_number) || !$stripped_vmx_option_1_number) { - $stripped = preg_replace('/-|\(|\)|\s/','',$_COOKIE['ari_vmx_option_1_number']); - if ($vmx_option_1_number && $stripped!=$stripped_vmx_option_1_number) { - setcookie("ari_vmx_option_1_number", $call_vmx_option_1_number, time()+365*24*60*60); - } - } - } - else { - - if (!is_numeric($stripped_vmx_option_1_number) && $stripped_vmx_option_1_number) { - $_SESSION['ari_error'] = - _("Option 1 not changed") . "<br>" . - sprintf(_("Number %s must contain dial numbers (characters like '(', '-', and ')' are ok)"),$vmx_option_1_number); - } - else { - - // set database - $this->setVmxOptionNumber($exten,'1','unavail',$stripped_vmx_option_1_number); - $this->setVmxOptionNumber($exten,'1','busy',$stripped_vmx_option_1_number); - - // store cookie - $stripped = preg_replace('/-|\(|\)|\s/','',$_COOKIE['ari_vmx_option_1_number']); - if ($vmx_option_1_number && $stripped!=$stripped_vmx_option_1_number) { - setcookie("ari_vmx_option_1_number", $call_vmx_option_1_number, time()+365*24*60*60); - } - } - } - - $stripped_vmx_option_2_number = preg_replace('/-|\(|\)|\s/','',$vmx_option_2_number); - if (!is_numeric($stripped_vmx_option_2_number) && $stripped_vmx_option_2_number) { - $_SESSION['ari_error'] = - _("Option 2 not changed") . "<br>" . - sprintf(_("Number %s must contain dial numbers (characters like '(', '-', and ')' are ok)"),$vmx_option_2_number); - } - else { - - // set database - $this->setVmxOptionNumber($exten,'2','unavail',$stripped_vmx_option_2_number); - $this->setVmxOptionNumber($exten,'2','busy',$stripped_vmx_option_2_number); - - // store cookie - $stripped = preg_replace('/-|\(|\)|\s/','',$_COOKIE['ari_vmx_option_2_number']); - if ($vmx_option_2_number && $stripped!=$stripped_vmx_option_2_number) { - setcookie("ari_vmx_option_2_number", $call_vmx_option_2_number, time()+365*24*60*60); - } - } - } // vmx_disabled false - } - - // redirect to see updated page - $ret .= " - <head> - <script> - <!-- - window.location = \"" . $_SESSION['ARI_ROOT'] . "?m=" . $m . "\" - // --> - </script> - </head>"; - - return $ret; - } - - /* - * Displays stats page - * - * @param $args - * Common arguments - */ - function display($args) { - global $SETTINGS_ALLOW_VMX_SETTINGS; - - global $loaded_modules; - - // args - $m = getArgument($args,'m'); - $q = getArgument($args,'q'); - $start = getArgument($args,'start'); - $span = getArgument($args,'span'); - - $displayname = $_SESSION['ari_user']['displayname']; - $exten = $_SESSION['ari_user']['extension']; - - $display = new DisplaySearch(); - - $follow_me_listring_time = $this->getFollowMeListRingTime($exten); - - //TODO: Set this better than this? - $follow_me_disabled = ($follow_me_listring_time > 0)?0:1; - setcookie("ari_follow_me_disabled", $follow_me_disabled, time()+365*24*60*60); - - - $vmx_unavail_enabled=$this->getVmxState($exten,'unavail'); - if ($vmx_unavail_enabled === false) { - $vmx_disabled = true; - setcookie("ari_vmx_disabled", $vmx_disabled, time()+365*24*60*60); - $SETTINGS_ALLOW_VMX_SETTINGS=false; - } else { - $vmx_disabled = false; - setcookie("ari_vmx_disabled", false, time()+365*24*60*60); - $vmx_busy_enabled=$this->getVmxState($exten,'busy'); - $vmx_play_instructions=$this->getVmxPlayInstructions($exten); - $vmx_option_0_number=$this->getVmxOptionNumber($exten,'0');; - $vmx_option_1_number=$this->getVmxOptionNumber($exten,'1');; - $vmx_option_2_number=$this->getVmxOptionNumber($exten,'2');; - - if (is_numeric($vmx_option_0_number)) { - $vmx_option_0_system_default=''; - $vmx_option_0_number_text_box_options=''; - } else { - $vmx_option_0_system_default='checked'; - $vmx_option_0_number_text_box_options="disabled style='background: #DDD;'"; - } - - // if follow-me is enabled then the options are a numberic value (dial a phone number) - // or a followme target (FMnnn) which should not be displayed but means the box is checked - // or otherwise blank (or garbage in which case blank it) - // - if (!$follow_me_disabled) { - $vmx_option_1_system_default=$this->getVmxOptionFollowMe($exten,'1'); - if ($vmx_option_1_system_default) { - $vmx_option_1_number = ''; - $vmx_option_1_number_text_box_options="disabled style='background: #DDD;'"; - } - } - } - - $set_vmx_text .= - " - <br> - <table class='settings'> - <tr> - <td><a href='#' class='info'>" . _("Use When:") . "<span>" . _("Menu options below are available during your personal voicemail greeting playback. <br/><br/>Check both to use at all times.") . "<br></span></a></td> <td> - <input " . $vmx_unavail_enabled . " type=checkbox name='vmx_unavail_enabled' value='checked'> - <small>" . _("unavailable") . "</small> - </td> - <td> - <input " . $vmx_busy_enabled . " type=checkbox name='vmx_busy_enabled' value='checked'> - <small>" . _("busy") . "</small> - </td> - </tr> - <tr> - <td><a href='#' class='info'>" . _("Voicemail Instructions:") ."<span>" . _("Uncheck to play a beep after your personal voicemail greeting.") . "<br></span></a></td> - <td> - <input " . $vmx_play_instructions . " type=checkbox name='vmx_play_instructions' value='checked'> - <small>" . _("Standard voicemail prompts.") . "</small> - </td> - </tr> - </table> - <br> - <br> - <table class='settings'> - <tr> - <td><a href='#' class='info'>" . _("Press 0:") . "<span>" . _("Pressing 0 during your personal voicemail greeing goes to the Operator. - Uncheck to enter another destination here.") . "<br></span></a> - </td> - <td> - <input " . $vmx_option_0_number_text_box_options . " name='vmx_option_0_number' type='text' size=24 value='" . $vmx_option_0_number . "'> - </td> - <td> - <input " . $vmx_option_0_system_default . " type=checkbox name='vmx_option_0_system_default' value='checked' OnClick=\"disable_fields(); return true;\"> - <small>" . _("Go To Operator") . "</small> - </td> - </tr> - <tr> - <td><a href='#' class='info'>" . _("Press 1:") . "<span>"; - - if ($follow_me_disabled) - $set_vmx_text .= _("The remaining options can have internal extensions, ringgroups, queues and external numbers that may be rung. It is often used to include your cell phone. You should run a test to make sure that the number is functional any time a change is made so you don't leave a caller stranded or receiving invalid number messages."); - else - $set_vmx_text .= _("Enter an alternate number here, then change your personal voicemail greeting to let callers know to press 1 to reach that number. <br/><br/>If you'd like to use your Follow Me List, check \"Send to Follow Me\" and disable Follow Me above."); - - - $set_vmx_text .= - " <br></span></a> - </td> - <td> - <input " . $vmx_option_1_number_text_box_options . " name='vmx_option_1_number' type='text' size=24 value='" . $vmx_option_1_number . "'> - </td> - <td>"; - - - if (!$follow_me_disabled) - $set_vmx_text .= "<input " . $vmx_option_1_system_default . " type=checkbox name='vmx_option_1_system_default' value='checked' OnClick=\"disable_fields(); return true;\"><small>" . _("Send to Follow-Me") . "</small>"; - - - $set_vmx_text .= - " - </td> - </tr> - <tr> - <td><a href='#' class='info'>" . _("Press 2:") . "<span>" . _("Use any extensions, ringgroups, queues or external numbers. <br/><br/>Remember to re-record your personal voicemail greeting and include instructions. Run a test to make sure that the number is functional.") . "<br></span></a></td> - <td> - <input " . $vmx_option_2_number_text_box_options . " name='vmx_option_2_number' type='text' size=24 value='" . $vmx_option_2_number . "'> - </td> - </tr> - </table> - <br> - <br> - "; - - - // Now we should be ready to build the page - $ret .= checkErrorMessage(); - - $headerText = sprintf(_("VmX Locator™ Settings for %s (%s)"),$displayname,$exten); - - $ret .= $display->displayHeaderText($headerText); - $ret .= $display->displayLine(); - - $ret .= - "<SCRIPT LANGUAGE='JavaScript'> - <!-- Begin - function disable_fields() { - - if (document.ari_settings.vmx_option_0_system_default.checked) { - document.ari_settings.vmx_option_0_number.style.backgroundColor = '#DDD'; - document.ari_settings.vmx_option_0_number.disabled = true; - } - else { - document.ari_settings.vmx_option_0_number.style.backgroundColor = '#FFF'; - document.ari_settings.vmx_option_0_number.disabled = false; - }"; - - if (!$follow_me_disabled) { - $ret .= " - if (document.ari_settings.vmx_option_1_system_default.checked) { - document.ari_settings.vmx_option_1_number.style.backgroundColor = '#DDD'; - document.ari_settings.vmx_option_1_number.disabled = true; - } - else { - document.ari_settings.vmx_option_1_number.style.backgroundColor = '#FFF'; - document.ari_settings.vmx_option_1_number.disabled = false; - }"; - } - $ret .= - "} - // End --> - </script>"; - - $ret .= - "<form class='settings' name='ari_settings' action='' method='GET'> - <input type=hidden name=m value=" . $m . "> - <input type=hidden name=f value='action'> - <input type=hidden name=a value='update'> - " . $set_vmx_text . " - <br> - <input name='submit' type='submit' value='" . _("Update") . "'> - </form>"; - - return $ret; - } - - /* - * Gets VMX option FollowMe - * - * @param $exten - * Extension to get information about - * @param $digit - * Option number to get - * @param $mode - * Mode to get (unavail/busy) - * @return $response - * checked if set to got to extesion's follow-me on this option - */ - function getVmxOptionFollowMe($exten, $digit, $mode='unavail') { - - global $asterisk_manager_interface; - - $digit = trim($digit); - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database get AMPUSER $exten/vmx/$mode/$digit/ext\r\n\r\n"); - return (($response == 'FM'.$exten) ? 'checked':''); - } - - /* - * Sets VMX option FollowMe - * - * @param $exten - * Extension to set information about - * @param $digit - * Option number to set - * @param $mode - * Mode to set (unavail/busy) - * @param $context - * Context to set ext to (default from-findmefollow) - * @param $priority - * Priority to set ext to (default 1) - */ - function setVmxOptionFollowMe($exten, $digit, $mode, $context='ext-findmefollow', $priority='1') { - - global $asterisk_manager_interface; - - $value_opt = "FM$exten"; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database put AMPUSER $exten/vmx/$mode/$digit/ext $value_opt\r\n\r\n"); - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database put AMPUSER $exten/vmx/$mode/$digit/context $context\r\n\r\n"); - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database put AMPUSER $exten/vmx/$mode/$digit/pri $priority\r\n\r\n"); - } - - /* - * Gets VMX option number - * - * @param $exten - * Extension to get information about - * @param $digit - * Option number to get - * @param $mode - * Mode to get (unavail/busy) - * @return $number - * Number to use or blank if disabled - */ - function getVmxOptionNumber($exten, $digit, $mode='unavail') { - - global $asterisk_manager_interface; - - $number = ''; - $digit = trim($digit); - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database get AMPUSER $exten/vmx/$mode/$digit/ext\r\n\r\n"); - if (is_numeric($response)) { - $number = $response; - } - - $stripped = preg_replace('/-|\(|\)|\s/','',$_COOKIE["ari_vmx_option_${digit}_number"]); - if ($stripped==$number) { - $number = $_COOKIE["ari_vmx_option_${digit}_number"]; - } - - return $number; - } - - /* - * Sets VMX option number - * - * @param $exten - * Extension to set information about - * @param $digit - * Option number to set - * @param $mode - * Mode to set (unavail/busy) - * @param $number - * Number to set ext to (blank will delete it) - * @param $context - * Context to set ext to (default from-internal) - * @param $priority - * Priority to set ext to (default 1) - */ - function setVmxOptionNumber($exten, $digit, $mode, $number, $context='from-internal', $priority='1') { - - global $asterisk_manager_interface; - - $value_opt = trim($number); - - if (is_numeric($value_opt)) { - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database put AMPUSER $exten/vmx/$mode/$digit/ext $value_opt\r\n\r\n"); - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database put AMPUSER $exten/vmx/$mode/$digit/context $context\r\n\r\n"); - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database put AMPUSER $exten/vmx/$mode/$digit/pri $priority\r\n\r\n"); - } else { - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database deltree AMPUSER $exten/vmx/$mode/$digit\r\n\r\n"); - } - } - - /* - * Sets VMX State - * - * @param $exten - * Extension to modify - * @param $mode - * Mode to set (unavail/busy) - * @param $vmx_state - * enabled/disabled state based on check box value - */ - function setVmxState($exten,$mode,$vmx_state) { - - global $asterisk_manager_interface; - - $value_opt = ($vmx_state)?'enabled':'disabled'; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database put AMPUSER $exten/vmx/$mode/state $value_opt\r\n\r\n"); - } - - /* - * Gets VMX State - * - * @param $exten - * Extension to get information about - * @param $mode - * Mode to get (unavail/busy) - * @return $data - * state of variable (checked/blank) or false if no poper value - */ - function getVmxState($exten, $mode='unavail') { - - global $asterisk_manager_interface; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database get AMPUSER $exten/vmx/$mode/state\r\n\r\n"); - - if (preg_match("/enabled/",$response)) { - $response='checked'; - } - elseif (preg_match("/disabled/",$response)) { - $response=''; - } - else { - $response = false; - } - - //TODO: really need to check for a bogus response, see how other side does it - // - return $response; - - } - - /* - * Sets VMX Play Instructions - * - * @param $exten - * Extension to modify - * @param $vmx_play_instructions - * play instructions or just beep (checked, blank) - * @param $mode - * Mode to set (unavail/busy) - */ - function setVmxPlayInstructions($exten,$mode,$vmx_play_instructions) { - - global $asterisk_manager_interface; - - $value_opt = ($vmx_play_instructions)?'""':'s'; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database put AMPUSER $exten/vmx/$mode/vmxopts/timeout $value_opt\r\n\r\n"); - } - - /* - * Get VMX Play Instructions - * - * @param $exten - * Extension to get information about - * @param $mode - * Mode to get (unavail/busy) - * @return $data - * state of variable (checked/blank) or false if no poper value - */ - function getVmxPlayInstructions($exten, $mode='unavail') { - - global $asterisk_manager_interface; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database get AMPUSER $exten/vmx/$mode/vmxopts/timeout\r\n\r\n"); - - if (preg_match("/s/",$response)) { - $response=''; - } - else { - $response='checked'; - } - - //TODO: really need to check for a bogus response, see how other side does it - // - return $response; - - } - - - /* - * Gets Follow Me List-Ring Time if set - * - * @param $exten - * Extension to get information about - * @return $number - * follow me list-ring time returned if set - */ - function getFollowMeListRingTime($exten) { - - global $asterisk_manager_interface; - - $number = ''; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database get AMPUSER $exten/followme/grptime\r\n\r\n"); - if (is_numeric($response)) { - $number = $response; - } - - $stripped = preg_replace('/-|\(|\)|\s/','',$_COOKIE['ari_follow_me_listring_time']); - if ($stripped==$number) { - $number = $_COOKIE['ari_follow_me_listring_time']; - } - - return $number; - } - - -} // class - -?> diff --git a/fs_selfservice/fri/modules/billing.module b/fs_selfservice/fri/modules/billing.module deleted file mode 100644 index 6ef16e57d..000000000 --- a/fs_selfservice/fri/modules/billing.module +++ /dev/null @@ -1,250 +0,0 @@ -<?php - -/** - * @file - * Functions for the interface to the help page - */ - -/** - * Class for help - */ -class billing { - - /* - * rank (for prioritizing modules) - */ - function rank() { - - $rank = -2; - return $rank; - } - - /* - * init - */ - function init() { - } - - /* - * Adds menu item to nav menu - * - * @param $args - * Common arguments - */ - function navMenu($args) { - - $ret .= "<p><small><small><a href='" . $_SESSION['ARI_ROOT'] . "?m=billing&f=display'>" . _("Billing") . "</a></small></small></p><br>"; - - return $ret; - } - - /* - * Displays stats page - * - * @param $args - * Common arguments - */ - function display($args) { - - $display = new Display(); - - // args - $m = getArgument($args,'m'); - $q = getArgument($args,'q'); - - $displayname = $_SESSION['ari_user']['displayname']; - $extension = $_SESSION['ari_user']['extension']; - - // build page content - $ret .= checkErrorMessage(); - - $header_text = _("Billing"); - if (!$_SESSION['ari_user']['admin_help']) { - $header_text .= sprintf(_(" for %s (%s)"), $displayname, $extension); - } - - // build page content - $ret .= checkErrorMessage(); - - $ret .= $display->displayHeaderText($header_text); - $ret .= $display->displayLine(); - - - $freeside = new FreesideSelfService(); - - $fs_info = $freeside->customer_info( array( - 'session_id' => $_SESSION['freeside_session_id'], - ) ); - $error = $fs_info['error']; - if ( $error ) { - //$_SESSION['ari_error'] = _("Incorrect Username or Password"); - $_SESSION['ari_error'] = $error; #// XXX report as ari_error???! - } - - //$ret .= $fs_info['small_custview']; - //$ret .= '<BR>'; - - $ret .= 'Balance: <b>$'. $fs_info['balance']. '</b><BR><BR>'; - - if ( $fs_info['balance'] > 0 ) { - - #$ret .= '<B><A HREF="'. $_SESSION['ARI_ROOT']. - # '?m=billing&f=make_payment">Make a payment</A></B><BR><BR>'; - $ret .= '<B><A HREF="/selfservice/selfservice.cgi?session='. - $_SESSION['freeside_session_id']. - ';action=make_payment">Make a payment</A></B><BR><BR>'; - - } - - // XXX count() ??? - if ( count($fs_info['open_invoices']) ) { - - $ret .= '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR="#eeeeee">'. - '<TR><TH BGCOLOR="#ff6666" COLSPAN=5>Open Invoices</TH></TR>'; - $link = '<A HREF="'. $_SESSION['ARI_ROOT']. - '?m=billing&f=view_invoice&invnum='; - - $col1 = "eeeeee"; - $col2 = "cccccc"; - $col = $col1; - - while ( $i = each($fs_info['open_invoices']) ) { - - $invoice = $i[value]; - - $td = '<TD BGCOLOR="#'. $col. '">'; - $a = $link. $invoice['invnum']. '">'; - $ret .= - "<TR>$td$a". 'Invoice #'. $invoice['invnum']. "</A></TD>$td</TD>". - "$td$a". $invoice['date']. "</A></TD>$td</TD>". - '<TD BGCOLOR="#'. $col. '" ALIGN="right">'. $a. '$'. $invoice['owed']. - '</A></TD>'. - '</TR>'; - - if ( $col == $col1 ) { - $col = $col2; - } else { - $col = $col1; - } - - } - - $ret .= '</TABLE><BR>'; - } else { - $ret .= 'You have no outstanding invoices.<BR><BR>'; - } - - #$fs_info = $freeside->customer_info( array( - # 'session_id' => $_SESSION['freeside_session_id'], - #) ); - #$error = $fs_info['error']; - #if ( $error ) { - # //$_SESSION['ari_error'] = _("Incorrect Username or Password"); - # $_SESSION['ari_error'] = $error; #// XXX report as ari_error???! - #} - - // $ret .= 'Billing goes here'; - // XXX navigate to make payment, view invoice, - // & myaccount change payment info - - $ret .= '<B><A HREF="/selfservice/selfservice.cgi?session='. - $_SESSION['freeside_session_id']. - ';action=make_payment">Make a credit card payment</A></B><BR><BR>'; - $ret .= '<B><A HREF="/selfservice/selfservice.cgi?session='. - $_SESSION['freeside_session_id']. - ';action=make_payment">Make an electronic check payment</A></B><BR><BR>'; - $ret .= '<B><A HREF="/selfservice/selfservice.cgi?session='. - $_SESSION['freeside_session_id']. - ';action=make_payment">Use a prepaid card</A></B><BR><BR>'; - - return $ret; - - } - - function make_payment($args) { - - $display = new Display(); - - // args - $m = getArgument($args,'m'); - $q = getArgument($args,'q'); - - $displayname = $_SESSION['ari_user']['displayname']; - $extension = $_SESSION['ari_user']['extension']; - - // build page content - $ret .= checkErrorMessage(); - - $header_text = _("Billing"); - if (!$_SESSION['ari_user']['admin_help']) { - $header_text .= sprintf(_(" for %s (%s)"), $displayname, $extension); - } - - // build page content - $ret .= checkErrorMessage(); - - $ret .= $display->displayHeaderText($header_text); - $ret .= $display->displayLine(); - - - #$freeside = new FreesideSelfService(); - - $ret .= 'Make payment goes here'; - - return $ret; - - } - - function view_invoice($args) { - - $display = new Display(); - - // args - $m = getArgument($args,'m'); - $q = getArgument($args,'q'); - - $displayname = $_SESSION['ari_user']['displayname']; - $extension = $_SESSION['ari_user']['extension']; - - // build page content - $ret .= checkErrorMessage(); - - $header_text = _("Billing"); - if (!$_SESSION['ari_user']['admin_help']) { - $header_text .= sprintf(_(" for %s (%s)"), $displayname, $extension); - } - - // build page content - $ret .= checkErrorMessage(); - - $ret .= $display->displayHeaderText($header_text); - #$ret .= $display->displayLine(); - - $invnum = getArgument($args, 'invnum'); - - $freeside = new FreesideSelfService(); - $invoice = $freeside->invoice( array( - 'session_id' => $_SESSION['freeside_session_id'], - 'invnum' => $invnum, - ) ); - $error = $invoice['error']; - if ( $error ) { - //$_SESSION['ari_error'] = _("Incorrect Username or Password"); - $_SESSION['ari_error'] = $error; // XXX report as ari_error???! - } - - $html = $invoice['invoice_html']->scalar; - $html = str_replace( "\xA0", ' ', $html); // XX doh - error_log($html); - - $ret .= '<TABLE BGCOLOR="#000000" BORDER=0><TR><TD>'. - $html. - '</TD></TR></TABLE>'; - - return $ret; - - } - -} - -?> diff --git a/fs_selfservice/fri/modules/callmonitor.module b/fs_selfservice/fri/modules/callmonitor.module deleted file mode 100644 index 36f5f285a..000000000 --- a/fs_selfservice/fri/modules/callmonitor.module +++ /dev/null @@ -1,675 +0,0 @@ -<?php - -/** - * @file - * Functions for the interface to the call monitor recordings - */ - -/** - * Class for Callmonitor - */ -class Callmonitor { - - /* - * rank (for prioritizing modules) - */ - function rank() { - - $rank = 2; - return $rank; - } - - /* - * init - */ - function init() { - } - - /* - * Adds menu item to nav menu - * - * @param $args - * Common arguments - */ - function navMenu($args) { - - $ret .= "<p><small><small><a href='" . $_SESSION['ARI_ROOT'] . "?m=Callmonitor&f=display'>" . _("Call History") . "</a></small></small></p><br>"; - - return $ret; - } - - /* - * Acts on the selected call monitor recordings in the method indicated by the action and updates page - * - * @param $args - * Common arguments - */ - function recAction($args) { - - // args - $m = getArgument($args,'m'); - $a = getArgument($args,'a'); - $q = getArgument($args,'q'); - $start = getArgument($args,'start'); - $span = getArgument($args,'span'); - $order = getArgument($args,'order'); - $sort = getArgument($args,'sort'); - $duration_filter = getArgument($args,'duration_filter'); - - // get files - $files = array(); - foreach($_REQUEST as $key => $value) { - if (preg_match('/selected/',$key)) { - array_push($files, $value); - } - } - - if ($a=='delete') { - $this->deleteRecData($files); - } - - if ($a=='ignore') { - - $start = 0; - - setcookie("ari_duration_filter", $duration_filter, time()+365*24*60*60); - } - - // redirect to see updated page - $ret .= " - <head> - <script> - <!-- - window.location = \"" . $_SESSION['ARI_ROOT'] . "?m=" . $m . "&q=" . $q . "&start=" . $start . "&span=" . $span . "&order=" . $order . "&sort=" . $sort . "&duration_filter=" . $duration_filter . "\" - // --> - </script> - </head>"; - - return $ret; - } - - /* - * Displays stats page - * - * @param $args - * Common arguments - */ - function display($args) { - - global $ASTERISK_CALLMONITOR_PATH; - global $CALLMONITOR_ALLOW_DELETE; - global $AJAX_PAGE_REFRESH_ENABLE; - - $display = new DisplaySearch(); - - // get the search string - $m = getArgument($args,'m'); - $f = getArgument($args,'f'); - $q = getArgument($args,'q'); - $start = getArgument($args,'start'); - $span = getArgument($args,'span'); - $order = getArgument($args,'order'); - $sort = getArgument($args,'sort'); - $duration_filter = getArgument($args,'duration_filter'); - - $start = $start=='' ? 0 : $start; - $span = $span=='' ? 15 : $span; - $order = $order=='' ? 'calldate' : $order; - $sort = $sort=='' ? 'desc' : $sort; - - $displayname = $_SESSION['ari_user']['displayname']; - $extension = $_SESSION['ari_user']['extension']; - - // get data - $record_count = $this->getCdrCount($q,$duration_filter); - $data = $this->getCdrData($q,$duration_filter,$start,$span,$order,$sort); - - // get the call monitor recording files - $paths = split(';',$ASTERISK_CALLMONITOR_PATH); - foreach($paths as $key => $path) { - if (!is_dir($path)) { - $_SESSION['ari_error'] .= sprintf(_("Path is not a directory: %s"),$path) . "<br>"; - } - } - $recordings = $this->getRecordings($ASTERISK_CALLMONITOR_PATH,$data); - - // build controls - if ($CALLMONITOR_ALLOW_DELETE) { - $controls .= " - <button class='infobar' type='submit' onclick=\"document.callmonitor_form.a.value='delete'\"> - " . _("delete") . " - </button> - "; - } - - $controls .= " - <small>" . _("duration") . "</small> - <input name='duration_filter' type='text' size=4 maxlength=8 value='" . $_COOKIE['ari_duration_filter'] . "'> - <button class='infobar' type='submit' onclick=\"document.callmonitor_form.a.value='ignore'\"> - " . _("ignore") . " - </button>"; - - // table header - if ($CALLMONITOR_ALLOW_DELETE) { - $recording_delete_header = "<th></th>"; - } - - $fields[0]['field'] = "calldate"; - $fields[0]['text'] = _("Date"); - $fields[1]['field'] = "calldate"; - $fields[1]['text'] = _("Time"); - $fields[2]['field'] = "clid"; - $fields[2]['text'] = _("Caller ID"); - $fields[3]['field'] = "src"; - $fields[3]['text'] = _("Source"); - $fields[4]['field'] = "dst"; - $fields[4]['text'] = _("Destination"); - $fields[5]['field'] = "dcontext"; - $fields[5]['text'] = _("Context"); - $fields[6]['field'] = "duration"; - $fields[6]['text'] = _("Duration"); - - $i = 0; - while ($fields[$i]) { - - $field = $fields[$i]['field']; - $text = $fields[$i]['text']; - if ($order==$field) { - if ($sort=='asc') { - $currentSort = 'desc'; - $arrowImg = "<img src='theme/images/arrow-asc.gif' alt='sort'>"; - } - else { - $currentSort = 'asc'; - $arrowImg = "<img src='theme/images/arrow-desc.gif' alt='sort'>"; - } - - if ($i==1) { - $arrowImg = ''; - } - } - else { - $arrowImg = ''; - $currentSort = 'desc'; - } - - $unicode_q = urlencode($q); - $recording_header .= "<th><a href=" . $_SESSION['ARI_ROOT'] . "?m=" . $m . "&f=" . $f . "&q=" . $unicode_q . "&order=" . $field . "&sort=" . $currentSort . ">" . $text . $arrowImg . "</a></th>"; - - $i++; - } - $recording_header .= "<th>" . _("Monitor") . "</th>"; - - // table body - foreach($data as $key=>$value) { - - // recording file - $recording = $recordings[$value['uniqueid'] . $value['calldate']]; - - // date and time - $buf = split(' ', $value[calldate]); - $date = $buf[0]; - $time = $buf[1]; - - // recording delete checkbox - if ($CALLMONITOR_ALLOW_DELETE) { - $recording_delete_checkbox = "<td class='checkbox'><input type=checkbox name='selected" . ++$i . "' value=" . $recording . "></td>"; - } - - $recordingLink = ''; - if (is_file($recordings[$value['uniqueid'] . $value['calldate']])) { - $recordingLink = "<a href='#' onClick=\"javascript:popUp('misc/recording_popup.php?recording=" . $recording . "&date=" . $date . "&time=" . $time . "'); return false;\">" . _("play") . "</a>"; - } - - $recording_body .= "<tr> - " . $recording_delete_checkbox . " - <td width=70>" . $date . "</td> - <td>" . $time . "</td> - <td>" . $value[clid] . "</td> - <td>" . $value[src] . "</td> - <td>" . $value[dst] . "</td> - <td>" . $value[dcontext] . "</td> - <td width=90>" . $value[duration] . " sec</td> - <td>" . $recordingLink . "</td> - </tr>"; - } - if (!count($data)) { - $recording_body .= "<tr></tr>"; - } - - // options - $url_opts = array(); - $url_opts['sort'] = $sort; - $url_opts['order'] = $order; - $url_opts['duration_filter'] = $duration_filter; - - // build page content - $ret .= checkErrorMessage(); - - // ajax page refresh script - if ($AJAX_PAGE_REFRESH_ENABLE) { - // $ret .= ajaxRefreshScript($args); - } - - // header - if ($_SESSION['ari_user']['admin_callmonitor']) { - $header_text = _("Call History"); - } else { - $header_text = sprintf(_("Call History for %s (%s)"),$displayname,$extension); - } - $ret .= $display->displayHeaderText($header_text); - $ret .= $display->displaySearchBlock('left',$m,$q,$url_opts,true); - - // start form - if ($CALLMONITOR_ALLOW_DELETE) { - - $ret .= " - <form name='callmonitor_form' action='" . $_SESSION['ARI_ROOT'] . "' method='GET'> - <input type=hidden name=m value=" . $m . "> - <input type=hidden name=f value=recAction> - <input type=hidden name=a value=''> - <input type=hidden name=q value=" . $q . "> - <input type=hidden name=start value=" . $start . "> - <input type=hidden name=span value=" . $span . "> - <input type=hidden name=order value=" . $order . "> - <input type=hidden name=sort value=" . $sort . ">"; - } - - $ret .= $display->displayInfoBarBlock($controls,$q,$start,$span,$record_count); - - // javascript for popup and message actions - $ret .= " - <SCRIPT LANGUAGE='JavaScript'> - <!-- Begin - function popUp(URL) { - eval(\"page = window.open(URL, 'play', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=324,height=110');\"); - } - - function checkAll(form,set) { - var elem = 0; - var i = 0; - while (elem = form.elements[i]) { - if (set) { - elem.checked = true; - } else { - elem.checked = false; - } - i++; - } - return true; - } - // End --> - </script>"; - - // call monitor delete recording controls - if ($CALLMONITOR_ALLOW_DELETE) { - $ret .= " - <table> - <tr> - <td> - <small>" . _("select") . ": </small> - <small><a href='' OnClick=\"checkAll(document.callmonitor_form,true); return false;\">" . _("all") . "</a></small> - <small><a href='' OnClick=\"checkAll(document.callmonitor_form,false); return false;\">" . _("none") . "</a></small> - </td> - </tr> - </table>"; - } - else { - $ret .= "<br>"; - } - - // table - $ret .= " - <table class='callmonitor'> - <tr> - " . $recording_delete_header . " - " . $recording_header . " - </tr> - " . $recording_body . " - </table>"; - - $start = getArgument($args,'start'); - $span = getArgument($args,'span'); - $order = getArgument($args,'order'); - $sort = getArgument($args,'sort'); - - // end form - if ($CALLMONITOR_ALLOW_DELETE) { - $ret .= "</form>"; - } - - $ret .= $display->displaySearchBlock('center',$m,$q,$url_opts,false); - $ret .= $display->displayNavigationBlock($m,$q,$url_opts,$start,$span,$record_count); - - return $ret; - } - - /* - * Checks for a recording file - * - * @param $asterisk_callmonitor_path - * path call monitor recording directory on the asterisk server - * @param $data - * current call monitor recordings on the asterisk server - * @return $recording - * returns an array of $recording file names if found - */ - function getRecordings($asterisk_callmonitor_path,$data) { - - global $CALLMONITOR_ONLY_EXACT_MATCHING; - global $CALLMONITOR_AGGRESSIVE_MATCHING; - - $recordings = array(); - - $extension = $_SESSION['ari_user']['extension']; - - $paths = split(';',$asterisk_callmonitor_path); - foreach($paths as $key => $path) { - $paths[$key] = fixPathSlash($paths[$key]); - } - - $files = array(); - if (!$CALLMONITOR_ONLY_EXACT_MATCHING) { - $filter = ''; - $recursiveMax = 6; - $recursiveCount = 0; - foreach($paths as $key => $path) { - $path_files = getFiles($path,$filter,$recursiveMax,$recursiveCount); - if ($path_files) { - $files = array_merge($files,$path_files); - } - } - rsort($files); - } - - foreach($data as $data_key => $data_value) { - - $recording=''; - - $calldate = $data_value['calldate']; - $duration = $data_value['duration']; - $lastdata = $data_value['lastdata']; - $uniqueid = $data_value['uniqueid']; - $userfield = $data_value['userfield']; - - // timestamps - $st = trim(strtotime($calldate)); - $et = trim(strtotime($calldate) + $duration); // for on-demand call recordings - - // unique file key - if ($uniqueid) { - $buf = preg_replace('/\-|\:/', '', $calldate); - $calldate_key = preg_replace('/\s+/', '-', $buf); - $unique_file_key = $calldate_key . "-" . $uniqueid; - } - if ($unique_file_key=='') { - $buf = preg_split("/\|/", $lastdata); - $unique_file_key = $buf[1]; - } - - $recordingLink = ''; - foreach($paths as $callmonitor_key => $path) { - - // try to find an exact match using the uniqueid - if (isset($uniqueid)) { - - $check_files = array(); - array_push($check_files,$path . $uniqueid . ".WAV"); - array_push($check_files,$path . $uniqueid . ".wav"); - array_push($check_files,$path . $uniqueid . ".gsm"); - - array_push($check_files,$path . $unique_file_key . ".WAV"); - array_push($check_files,$path . $unique_file_key . ".wav"); - array_push($check_files,$path . $unique_file_key . ".gsm"); - - array_push($check_files,$path . "g" . $extension . "-" . $unique_file_key . ".WAV"); - array_push($check_files,$path . "g" . $extension . "-" . $unique_file_key . ".wav"); - array_push($check_files,$path . "g" . $extension . "-" . $unique_file_key . ".gsm"); - - array_push($check_files,$path . "q" . $extension . "-" . $unique_file_key . ".WAV"); - array_push($check_files,$path . "q" . $extension . "-" . $unique_file_key . ".wav"); - array_push($check_files,$path . "q" . $extension . "-" . $unique_file_key . ".gsm"); - - array_push($check_files,$path . "OUT" . $extension . "-" . $unique_file_key . ".WAV"); - array_push($check_files,$path . "OUT" . $extension . "-" . $unique_file_key . ".wav"); - array_push($check_files,$path . "OUT" . $extension . "-" . $unique_file_key . ".gsm"); - - array_push($check_files,$path . $userfield); - - // try to match - foreach($check_files as $check_file) { - if (is_file($check_file)) { - $recording = $check_file; - break; - } - } - } - - // if found do not need to check the rest of the paths - if ($recording!='') { - break; - } - } - - // get all the callmonitor recordings on server and try to find a non-exact match for this log entry - if (!$CALLMONITOR_ONLY_EXACT_MATCHING) { - - // try to find a file using the uniqueid - if (!$recording) { - - // try and match the unique id - if (!$recording) { - foreach($files as $key => $path) { - if (strlen($uniqueid)>1 && strpos($path,$uniqueid)!==FALSE) { - $recording = $path; - $files[$key] = ''; // remove it from the recording files so it will not be matched twice - break; - } - } - } - } - - // try and match a file using the calldate (if no unique number from database) - if (!$recording) { - - foreach($files as $key => $path) { - $parts = split("-", $path); - if (strlen($st)>1 && - (strpos($path,$st)!==FALSE) || - (strpos($path,"auto")!==FALSE && $parts[1] >= $st && $parts[1] <= $et)) { - $recording = $path; - $files[$key] = ''; // remove it from the recording files so it will not be matched twice - break; - } - } - } - - if ($CALLMONITOR_AGGRESSIVE_MATCHING) { - - // one last stab at finding a recording by adding one or two seconds to the call time - if (!$recording) { - $st_1 = trim($st+1); - $st_2 = trim($st+2); - $et_1 = trim($et+1); - $et_2 = trim($et+2); - foreach($files as $key => $path) { - $split = explode("-", $path); - if (strlen($st)>1 - && ((strpos($path,$st_1)!==FALSE) || - (strpos($path,$st_2)!==FALSE) || - (strpos($path,"auto")!==FALSE && $parts[1] >= $st_1 && $parts[1] <= $et_1) || - (strpos($path,"auto")!==FALSE && $parts[1] >= $st_2 && $parts[1] <= $et_2))) { - $recording = $path; - $files[$key] = ''; // remove it from the recording files so it will not be matched twice - break; - } - } - } - } - } - - // add to array to be returned - if ($recording) { - $recordings[$uniqueid . $calldate] = $recording; - } - } - - return $recordings; - } - - /* - * Deletes selected call monitor recordings - * - * @param $files - * Array of files to delete - */ - function deleteRecData($files) { - - foreach($files as $key => $file) { - if (is_writable($file)) { - unlink($file); - } else { - $_SESSION['ari_error'] = _("Only deletes recording files, not cdr log"); - } - } - } - - /* - * Gets cdr record count - * - * @param $q - * query text - */ - function getSearchText($q,$duration_filter) { - - // search text - if ($q!='*' && $q!=NULL) { - $searchText .= "WHERE "; - $tok = strtok($q," \n\t"); - while ($tok) { - $searchText .= " (calldate regexp '" . $tok . "' - OR clid regexp '" . $tok . "' - OR src regexp '" . $tok . "' - OR dst regexp '" . $tok . "' - OR dstchannel regexp '" . $tok . "' - OR dcontext regexp '" . $tok . "' - OR duration regexp '" . $tok . "' - OR disposition regexp '" . $tok . "' - OR uniqueid regexp '" . $tok . "' - OR userfield regexp '" . $tok . "' - )"; - $tok = strtok(" \n\t"); - if ($tok) { - $searchText .= " AND"; - } - } - } - - // duration_filter - if ($duration_filter) { - if (!$searchText) { - $searchText .= "WHERE "; - } else { - $searchText .= "AND "; - } - $searchText .= "duration>" . $duration_filter . " "; - } - - // admin - if (!$_SESSION['ari_user']['admin_callmonitor']) { - if (!$searchText) { - $searchText .= "WHERE "; - } else { - $searchText .= "AND "; - } - - // allow entries to be viewed with users extension - $searchText .= "(src = '" . $_SESSION['ari_user']['extension'] . "' - OR dst = '" . $_SESSION['ari_user']['extension'] . "' - - OR channel LIKE 'IAX2/" . $_SESSION['ari_user']['extension'] ."-%' - OR dstchannel LIKE 'IAX2/" . $_SESSION['ari_user']['extension'] ."-%' - - OR channel LIKE 'SIP/" . $_SESSION['ari_user']['extension'] ."-%' - OR dstchannel LIKE 'SIP/" . $_SESSION['ari_user']['extension'] ."-%')"; - - // allow entries to be viewed with users outbound CID - if (isset($_SESSION['ari_user']['outboundCID']) && trim($_SESSION['ari_user']['outboundCID']) != '') { - $searchText .= "OR (src = '" . $_SESSION['ari_user']['outboundCID'] . "' - OR dst = '" . $_SESSION['ari_user']['outboundCID'] . "')"; - } - } - - return $searchText; - } - - /* - * Gets cdr record count - * - * @param $q - * query text - * @return $count - * Number of cdr records counted - */ - function getCdrCount($q,$duration_filter) { - - global $ASTERISKCDR_DBTABLE; - - $searchText = $this->getSearchText($q,$duration_filter); - - $dbh = $_SESSION['dbh_cdr']; - $sql = "SELECT count(*) - FROM " . $ASTERISKCDR_DBTABLE . " - " . $searchText; - - $result = $dbh->getAll($sql); - if (DB::isError($result)) { - $_SESSION['ari_error'] = $result->getMessage(); - return; - } - $count = $result[0][0]; - - return $count; - } - - /* - * Gets cdr data - * - * @param $q - * query text - * @param $start - * start record - * @param $span - * number of records to return - * @return $data - * cdr data to be returned - */ - function getCdrData($q,$duration_filter,$start,$span,$order,$sort) { - - global $ASTERISKCDR_DBTABLE; - - $data = array(); - - $searchText = $this->getSearchText($q,$duration_filter); - - $dbh = $_SESSION['dbh_cdr']; - $sql = "SELECT * - FROM " . $ASTERISKCDR_DBTABLE . " - " . $searchText . " - ORDER BY " . $order . " " . $sort . " - LIMIT " . $start . "," . $span; - $result = $dbh->getAll($sql,DB_FETCHMODE_ASSOC); - if (DB::isError($result)) { - $_SESSION['ari_error'] = $result->getMessage(); - return; - } - $data = $result; - - return $data; - } - - -} - - -?> diff --git a/fs_selfservice/fri/modules/dashboard.module b/fs_selfservice/fri/modules/dashboard.module deleted file mode 100644 index 62d6de46a..000000000 --- a/fs_selfservice/fri/modules/dashboard.module +++ /dev/null @@ -1,166 +0,0 @@ -<?php - -/** - * @file - * Functions for the interface to the help page - */ - -/** - * Class for help - */ -class dashboard { - - /* - * rank (for prioritizing modules) - */ - function rank() { - - $rank = -4; - return $rank; - } - - /* - * init - */ - function init() { - } - - /* - * Adds menu item to nav menu - * - * @param $args - * Common arguments - */ - function navMenu($args) { - - $ret .= "<p><small><small><a href='" . $_SESSION['ARI_ROOT'] . "?m=dashboard&f=display'>" . _("Dashboard") . "</a></small></small></p><br>"; - - return $ret; - } - - /* - * Displays stats page - * - * @param $args - * Common arguments - */ - function display($args) { - - $display = new Display(); - - // args - $m = getArgument($args,'m'); - $q = getArgument($args,'q'); - - $displayname = $_SESSION['ari_user']['displayname']; - $extension = $_SESSION['ari_user']['extension']; - - // build page content - $ret .= checkErrorMessage(); - - $header_text = _("Dashboard"); - if (!$_SESSION['ari_user']['admin_help']) { - $header_text .= sprintf(_(" for %s (%s)"), $displayname, $extension); - } - - // build page content - $ret .= checkErrorMessage(); - - $ret .= $display->displayHeaderText($header_text); - $ret .= $display->displayLine(); - - $freeside = new FreesideSelfService(); - $fs_info = $freeside->customer_info( array( - 'session_id' => $_SESSION['freeside_session_id'], - ) ); - $error = $fs_info['error']; - if ( $error ) { - //$_SESSION['ari_error'] = _("Incorrect Username or Password"); - $_SESSION['ari_error'] = $error; #// XXX report as ari_error???! - } - - $ret .= $fs_info['small_custview']; - $ret .= '<BR>'; - - if ( $fs_info['balance'] > 0 ) { - - #$ret .= '<B><A HREF="'. $_SESSION['ARI_ROOT']. - # '?m=billing&f=make_payment">Make a payment</A></B><BR><BR>'; - $ret .= '<B><A HREF="/selfservice/selfservice.cgi?session='. - $_SESSION['freeside_session_id']. - ';action=make_payment">Make a payment</A></B><BR><BR>'; - - } - - // XXX count() ??? - if ( count($fs_info['open_invoices']) ) { - - $ret .= '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR="#eeeeee">'. - '<TR><TH BGCOLOR="#ff6666" COLSPAN=5>Open Invoices</TH></TR>'; - $link = '<A HREF="'. $_SESSION['ARI_ROOT']. - '?m=billing&f=view_invoice&invnum='; - - $col1 = "eeeeee"; - $col2 = "cccccc"; - $col = $col1; - - while ( $i = each($fs_info['open_invoices']) ) { - - $invoice = $i[value]; - - $td = '<TD BGCOLOR="#'. $col. '">'; - $a = $link. $invoice['invnum']. '">'; - $ret .= - "<TR>$td$a". 'Invoice #'. $invoice['invnum']. "</A></TD>$td</TD>". - "$td$a". $invoice['date']. "</A></TD>$td</TD>". - '<TD BGCOLOR="#'. $col. '" ALIGN="right">'. $a. '$'. $invoice['owed']. - '</A></TD>'. - '</TR>'; - - if ( $col == $col1 ) { - $col = $col2; - } else { - $col = $col1; - } - - } - - $ret .= '</TABLE><BR>'; - } else { - $ret .= 'You have no outstanding invoices.<BR><BR>'; - } - - #$ret .= 'Received calls (10)<br><br>'; - #$ret .= 'Placed calls (10)'; - -// if ( @tickets ) { -// $OUT .= '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR="#eeeeee">'. -// '<TR><TH BGCOLOR="#ff6666" COLSPAN=5>Open Tickets</TH></TR>'. -// '<TR><TH>#</TH><TH>Subject</TH><TH>Priority</TH><TH>Queue</TH>'. -// '<TH>Status</TH></TR>'; -// my $col1 = "ffffff"; -// my $col2 = "dddddd"; -// my $col = $col1; -// -// foreach my $ticket ( @tickets ) { -// my $td = qq!<TD BGCOLOR="#$col">!; -// $OUT .= -// "<TR>$td". $ticket->{'id'}. "</TD>". -// $td. $ticket->{'subject'}. "</TD>". -// $td. ($ticket->{'content'} || $ticket->{'priority'}). "</TD>". -// $td. $ticket->{'name'}. "</TD>". -// $td. $ticket->{'status'}. "</TD>". -// '</TR>'; -// $col = $col eq $col1 ? $col2 : $col1; -// } -// $OUT .= '</TABLE>'; -// } else { -// $OUT .= ''; -// } - - return $ret; - } - -} - -?> diff --git a/fs_selfservice/fri/modules/featurecodes.module b/fs_selfservice/fri/modules/featurecodes.module deleted file mode 100644 index 75d1d5c4e..000000000 --- a/fs_selfservice/fri/modules/featurecodes.module +++ /dev/null @@ -1,152 +0,0 @@ -<?php - -/** - * @file - * Functions for the interface to the help page - */ - -/** - * Class for help - */ -class featurecodes { - - /* - * rank (for prioritizing modules) - */ - function rank() { - - $rank = 7; - return $rank; - } - - /* - * init - */ - function init() { - } - - /* - * Adds menu item to nav menu - * - * @param $args - * Common arguments - */ - function navMenu($args) { - - $ret .= "<p><small><small><a href='" . $_SESSION['ARI_ROOT'] . "?m=featurecodes&f=display'>" . _("Feature Codes") . "</a></small></small></p><br>"; - - return $ret; - } - - /* - * Displays stats page - * - * @param $args - * Common arguments - */ - function display($args) { - - global $ARI_HELP_FEATURE_CODES; - - $display = new Display(); - - // args - $m = getArgument($args,'m'); - $q = getArgument($args,'q'); - - $displayname = $_SESSION['ari_user']['displayname']; - $extension = $_SESSION['ari_user']['extension']; - - // build page content - $ret .= checkErrorMessage(); - - $header_text = _("Feature Codes"); - if (!$_SESSION['ari_user']['admin_help']) { - $header_text .= sprintf(_(" for %s (%s)"), $displayname, $extension); - } - - // handset feature code header - $handset_feature_codes_header = - "<tr> - <th class='feature_codes'> - " . _("Handset Feature Code") . " - </th> - <th> - " . _("Action") . " - </th> - </tr>"; - - // handset feature code body - if (isset($_SESSION['dbh_asterisk'])) { - - $sql = " - SELECT keycode, description - FROM ( - SELECT modulename, description, defaultcode keycode - FROM featurecodes - WHERE customcode IS NULL - AND enabled = '1' - UNION ALL SELECT modulename, description, customcode keycode - FROM featurecodes - WHERE customcode IS NOT NULL - AND enabled = '1' - )c - WHERE modulename NOT - IN ( 'core', 'recordings', 'infoservices', 'polycomreassign') - ORDER BY modulename, keycode - "; - - $results = $_SESSION['dbh_asterisk']->getAll($sql, DB_FETCHMODE_ASSOC); - if(DB::IsError($results)) { - $_SESSION['ari_error'] = $results->getMessage(); - } - else { - foreach ($results as $item ) { - $handset_feature_codes_body .= - "<tr> - <td class='feature_codes'> - " . $item['keycode'] . " - </td> - <td> - " . $item['description'] . " - </td> - </tr>"; - } - } - } - else { - - // handset feature code body - foreach($ARI_HELP_FEATURE_CODES as $key => $feature_code) { - - $handset_feature_codes_body .= - "<tr> - <td class='feature_codes'> - " . $key . " - </td> - <td> - " . $feature_code . " - </td> - </tr>"; - } - } - - // build page content - $ret .= checkErrorMessage(); - - $ret .= $display->displayHeaderText($header_text); - $ret .= $display->displayLine(); - - // table - $ret .= " - <table class='help'> - " . $handset_feature_codes_header . " - " . $handset_feature_codes_body . " - </table>"; - - return $ret; - } - -} - -?> diff --git a/fs_selfservice/fri/modules/followme.module b/fs_selfservice/fri/modules/followme.module deleted file mode 100644 index 85a1f3776..000000000 --- a/fs_selfservice/fri/modules/followme.module +++ /dev/null @@ -1,678 +0,0 @@ -<?php - -/** - * @file - * Functions for the interface to the call monitor recordings - */ - -/** - * Class for Followme - */ -class followme { - - var $protocol_table; - var $protocol_config_files; - - /* - * rank (for prioritizing modules) - */ - function rank() { - - $rank = 5; - return $rank; - } - - /* - * init - */ - function init() { - - } - - /* - * Adds menu item to nav menu - * - * @param $args - * Common arguments - */ - function navMenu($args) { - global $ARI_ADMIN_USERNAME; - - $exten = $_SESSION['ari_user']['extension']; - if ($exten!=$ARI_ADMIN_USERNAME) { - $ret .= "<p><small><small><a href='" . $_SESSION['ARI_ROOT'] . "?m=followme&f=display'>" . _("Follow Me") . "</a></small></small></p>"; - } - - return $ret; - } - - /* - * Acts on the user settings - * - * @param $args - * Common arguments - * @param $a - * action - */ - function action($args) { - - global $STANDALONE; - global $ARI_ADMIN_USERNAME; - global $SETTINGS_ALLOW_VMX_SETTINGS; - - // args - $m = getArgument($args,'m'); - $a = getArgument($args,'a'); - - $lang_code = getArgument($args,'lang_code'); - - $follow_me_prering_time = getArgument($args,'follow_me_prering_time'); - $follow_me_listring_time = getArgument($args,'follow_me_listring_time'); - $follow_me_list = getArgument($args,'follow_me_list'); - $follow_me_confirm = getArgument($args,'follow_me_confirm'); - $follow_me_ddial = getArgument($args,'follow_me_ddial'); - $follow_me_disabled = getArgument($args,'follow_me_disabled'); - - $language = new Language(); - - // Lets see if we can make heads or tails of this code?!? - - // The action is 'update - if ($a=='update') { - - // Get the extension and make sure we are not in - // admin mode - $exten = $_SESSION['ari_user']['extension']; - if ($exten!=$ARI_ADMIN_USERNAME) { - - - // Make sure Follow-Me setup has not been deleted for this user since the last refresh - $follow_me_disabled_delayed = $_COOKIE['ari_follow_me_disabled']; - if (! $_COOKIE['ari_follow_me_disabled']) { - - $follow_me_disabled = ($this->getFollowMeListRingTime($exten) > 0)?0:1; - - if ($follow_me_disabled) { - - setcookie("ari_follow_me_disabled", $follow_me_disabled, time()+365*24*60*60); - $follow_me_disabled_delayed = $follow_me_disabled; - $_SESSION['ari_error'] = - _("Your Follow-Me has been disabled, REFRESH your browser to remove this message") . "<br>" . - sprintf(_("Check with your Telephone System Administrator if you think there is a problem")); - } - } - - - - if (! $follow_me_disabled_delayed) { - - // assume no errors, don't update SQL if errors occured - $follow_me_update_succeeded=1; - - // update follow me pre-ring time - if (!$STANDALONE['use']) { - - $stripped_follow_me_prering_time = preg_replace('/-|\s/','',$follow_me_prering_time); - if (!is_numeric($stripped_follow_me_prering_time)) { - $_SESSION['ari_error'] = - _("Follow-Me pre-ring time not changed") . "<br>" . - sprintf(_("Number %s must be an interger number of seconds"),$follow_me_prering_time); - $follow_me_update_succeeded=0; - } - else { - - // set database - $this->setFollowMePreRingTime($exten,$stripped_follow_me_prering_time); - - // store cookie - $stripped = preg_replace('/-|\s/','',$_COOKIE['ari_follow_me_prering_time']); - if ($follow_me_prering_time && $stripped!=$stripped_follow_me_prering_time) { - setcookie("ari_follow_me_prering_time", $follow_me_prering_time, time()+365*24*60*60); - } - } - } - - // update follow me list ring time - if (!$STANDALONE['use']) { - - $stripped_follow_me_listring_time = preg_replace('/-|\s/','',$follow_me_listring_time); - if (!is_numeric($stripped_follow_me_listring_time)) { - $_SESSION['ari_error'] = - _("Follow-Me list ring time not changed") . "<br>" . - sprintf(_("Number %s must be an interger number of seconds"),$follow_me_listring_time); - $follow_me_update_succeeded=0; - } - else { - - // set database - $this->setFollowMeListRingTime($exten,$stripped_follow_me_listring_time); - - // store cookie - $stripped = preg_replace('/-|\s/','',$_COOKIE['ari_follow_me_listring_time']); - if ($follow_me_listring_time && $stripped!=$stripped_follow_me_listring_time) { - setcookie("ari_follow_me_listring_time", $follow_me_listring_time, time()+365*24*60*60); - } - } - } - - // update follow me list - if (!$STANDALONE['use']) { - - $grplist = explode("\n", $follow_me_list); - - if (!$grplist) { - $grplist = null; - } - - foreach (array_keys($grplist) as $key) { - //trim it - $grplist[$key] = trim($grplist[$key]); - - // Lookup the extension and append hash if not a user, and remove invalid chars - $grplist[$key] = $this->lookupSetExtensionFormat($grplist[$key]); - - // remove blanks - if ($grplist[$key] == "") unset($grplist[$key]); - } - - // check for duplicates, and re-sequence - $grplist = array_values(array_unique($grplist)); - - $stripped_follow_me_list = implode("-",$grplist); - - if ($stripped_follow_me_list == "") { - $_SESSION['ari_error'] = - _("Follow-Me list must contain at least one valid number") . "<br>" . - sprintf(_("The following: %s is not valid"),$follow_me_list); - $follow_me_update_succeeded=0; - } - else { - - // set database - $this->setFollowMeList($exten,$stripped_follow_me_list); - - // store cookie - $stripped = preg_replace('/|\(|\)|\s/','',$_COOKIE['ari_follow_me_list']); - if ($follow_me_list && $stripped!=$stripped_follow_me_list) { - setcookie("ari_follow_me_list", $follow_me_list, time()+365*24*60*60); - } - } - } - - // update follow me confirm - if (!$STANDALONE['use']) { - - // set database - $this->setFollowMeConfirm($exten,$follow_me_confirm); - $this->setFollowMeDDial($exten,$follow_me_ddial); - - // store cookie - setcookie("ari_follow_me_confirm", $follow_me_confirm, time()+365*24*60*60); - setcookie("ari_follow_me_ddial", $follow_me_ddial, time()+365*24*60*60); - } - - //If no errors than update the SQL table to keep in sync - if ($follow_me_update_succeeded) { - $this->setFollowMeMySQL($exten, $follow_me_prering_time, $follow_me_listring_time, $follow_me_list, $follow_me_confirm); - } - - } //if !follow_me_disabled - } - } - - // redirect to see updated page - $ret .= " - <head> - <script> - <!-- - window.location = \"" . $_SESSION['ARI_ROOT'] . "?m=" . $m . "\" - // --> - </script> - </head>"; - - return $ret; - } - - /* - * Displays stats page - * - * @param $args - * Common arguments - */ - function display($args) { - - global $STANDALONE; - global $ARI_ADMIN_USERNAME; - global $SETTINGS_PRERING_LOW; - global $SETTINGS_PRERING_HIGH; - global $SETTINGS_LISTRING_LOW; - global $SETTINGS_LISTRING_HIGH; - - global $SETTINGS_FOLLOW_ME_LIST_MAX; - - global $loaded_modules; - - // args - $m = getArgument($args,'m'); - $q = getArgument($args,'q'); - $start = getArgument($args,'start'); - $span = getArgument($args,'span'); - - $displayname = $_SESSION['ari_user']['displayname']; - $exten = $_SESSION['ari_user']['extension']; - - $language = new Language(); - $display = new DisplaySearch(); - - // build controls - if ($exten!=$ARI_ADMIN_USERNAME) { - - // call forward settings - if (!$STANDALONE['use']) { - - $follow_me_prering_time = $this->getFollowMePreRingTime($exten); - $follow_me_listring_time = $this->getFollowMeListRingTime($exten); - $follow_me_list = explode("-", $this->getFollowMeList($exten) ); - $follow_me_confirm = $this->getFollowMeConfirm($exten); - $follow_me_ddial = $this->getFollowMeDDial($exten); - - $FOLLOW_ME_LIST_MAX = (count($follow_me_list) > $SETTINGS_FOLLOW_ME_LIST_MAX) ? count($follow_me_list):$SETTINGS_FOLLOW_ME_LIST_MAX; - - //TODO: Set this better than this? - $follow_me_disabled = ($follow_me_listring_time > 0)?0:1; - setcookie("ari_follow_me_disabled", $follow_me_disabled, time()+365*24*60*60); - - $followme_text.= "<table class='settings'>"; - - if (!$follow_me_disabled) { - // $followme_text .= "<tr><td><h3><br>" . _("Follow Me") . "</h3></td></tr>"; - $followme_text .= "<tr><td> </td></tr>"; // Blank Line - - $followme_text .= "<tr><td><a href='#' class='info'>" . _("Enable") . "<span>"; - $followme_text .= _( "Dial-by-name Directory, IVR, and internal - calls will ring the numbers in the FollowMe - List. Any FreePBX routes that directly - reference a FollowMe are unaffected by this - enable/disable setting."); - $followme_text .= "<br></span></a></td>"; - - $followme_text .= "<td><input " . $follow_me_ddial . " type=checkbox name='follow_me_ddial' value='checked'></td></tr>"; - - $followme_text .= "<tr><td> </td></tr>"; // Blank Line - $followme_text .= "<tr><td valign='top'><a href='#' class='info'>" . _("Follow Me List:"); - $followme_text .= "<span>" . sprintf(_("Extensions and outside numbers to ring next.")) ."<br/><br/>"; - $followme_text .= sprintf(_("Include %s to keep it ringing."),"<strong>".$exten."</strong>") . "<br></span></a></td>"; - $followme_text .= "<td><textarea " . $follow_me_list_options . " id='follow_me_list' name='follow_me_list' type='text' cols='20' rows='".$FOLLOW_ME_LIST_MAX."' value='' onKeyUp='rowCounter(this.form.follow_me_list, ".$FOLLOW_ME_LIST_MAX.");' onKeyDown='rowCounter(this.form.follow_me_list, ".$FOLLOW_ME_LIST_MAX.");'>".implode("\n",$follow_me_list)."</textarea>"; - $followme_text .= "</td></tr>"; - - $followme_text .= "<tr><td> </td></tr>"; // Blank Line - $followme_text .= "<tr><td><a href='#' class='info'>"; - $followme_text .= sprintf(_("Ring %s First For:"), $exten); - $followme_text .= "<span>" . sprintf( _("Time to ring extension %s before ringing the %s Follow Me List %s"), "<strong>".$exten."</strong>","<strong>","</strong>"); - $followme_text .= "<br></span></a></td><td>"; - - $followme_text .= "<select " . $follow_me_prering_time_text_box_options . " name='follow_me_prering_time'/>"; - $default_prering = $follow_me_prering_time; - for ($i=$SETTINGS_PRERING_LOW; $i <= $SETTINGS_PRERING_HIGH; $i++) { - $followme_text .= '<option value="'.$i.'" '.($i == $default_prering ? 'SELECTED' : '').'>'.$i.'</option>'; - } - $followme_text .= "</select>"; - - $followme_text .= "<small>" . _("seconds") . "</small>"; - $followme_text .= "</td></tr>"; - - $followme_text .= "<tr><td><a href='#' class='info'>" . _("Ring Followme List for:") . "<span>" . _("Time to ring the Follow Me List.") . "<br></span></a></td>"; - $followme_text .= "<td>"; - - $followme_text .= "<select " . $follow_me_listring_time_text_box_options . " name='follow_me_listring_time'/>"; - $default_listring = $follow_me_listring_time; - for ($i=$SETTINGS_LISTRING_LOW; $i <= $SETTINGS_LISTRING_HIGH; $i++) { - $followme_text .= '<option value="'.$i.'" '.($i == $default_listring ? 'SELECTED' : '').'>'.$i.'</option>'; - } - $followme_text .= "</select>"; - - $followme_text .= "<small>" . _("seconds") . "</small></td></tr>"; - - - $followme_text .= "<tr><td> </td></tr>"; // Blank Line - - $followme_text .= "<tr><td><a href='#' class='info'>" . _("Use Confirmation:") . "<span>". _("Outside lines that are part of the Follow Me List will be called and offered a menu:<br/><br/> \"You have an incoming call. Press 1 to accept or 2 to decline.\"<br/><br/> This keeps calls from ending up in external voicemail. Make sure that the List Ring Time is long enough to allow for you to hear and react to this message."); - $followme_text .= "<br></span></a></td><td>"; - $followme_text .= "<input " . $follow_me_confirm . " type=checkbox name='follow_me_confirm' value='checked'>"; - $followme_text .= "<small>" . _("Enable") . "</small></td></tr>"; - $followme_text .= "<tr><td> </td></tr>"; // Blank Line - $followme_text .= "</table>"; - } - } - - } - - // build page content - $ret .= checkErrorMessage(); - - if ($_SESSION['ari_user']['admin_settings']) { - $headerText = _("Followme Settings"); - } else { - $headerText = sprintf(_("Followme Settings for %s (%s)"),$displayname,$exten); - } - - $ret .= $display->displayHeaderText($headerText); - $ret .= $display->displayLine(); - - $ret .= - "\n<SCRIPT LANGUAGE='JavaScript'> - <!-- Begin - function rowCounter(field, maxlimit) { - temp = field.value.split('\u000A',maxlimit+1) - field.value = temp.join('\u000A') - if (temp.length == maxlimit+1) { - field.value = field.value.substring(0, field.value.length-1) - } - } - // End --> - </script>\n"; - - $ret .= - "<form class='settings' name='ari_settings' action='' method='GET'> - <input type=hidden name=m value=" . $m . "> - <input type=hidden name=f value='action'> - <input type=hidden name=a value='update'> - " . $followme_text . " - <br> - <input name='submit' type='submit' value='" . _("Update") . "'> - </form>"; - - return $ret; - } - - - /* - * Sets Follow Me Pre-Ring Time - * - * @param $exten - * Extension to modify - * @param $follow_me_prering_time - * Pre-Ring Time to ring - */ - function setFollowMePreRingTime($exten,$follow_me_prering_time) { - - global $asterisk_manager_interface; - - $value_opt = $follow_me_prering_time; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database put AMPUSER $exten/followme/prering $value_opt\r\n\r\n"); - } - - /* - * Gets Follow Me Pre-Ring Time if set - * - * @param $exten - * Extension to get information about - * @return $number - * follow me pre-ring time returned if set - */ - function getFollowMePreRingTime($exten) { - - global $asterisk_manager_interface; - - $number = ''; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database get AMPUSER $exten/followme/prering\r\n\r\n"); - if (is_numeric($response)) { - $number = $response; - } - - $stripped = preg_replace('/-|\(|\)|\s/','',$_COOKIE['ari_follow_me_prering_time']); - if ($stripped==$number) { - $number = $_COOKIE['ari_follow_me_prering_time']; - } - - return $number; - } - - /* - * Sets Follow Me List Ring Time - * - * @param $exten - * Extension to modify - * @param $follow_me_listring_time - * List Ring Time to ring - */ - function setFollowMeListRingTime($exten,$follow_me_listring_time) { - - global $asterisk_manager_interface; - - $value_opt = $follow_me_listring_time; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database put AMPUSER $exten/followme/grptime $value_opt\r\n\r\n"); - } - - /* - * Gets Follow Me List-Ring Time if set - * - * @param $exten - * Extension to get information about - * @return $number - * follow me list-ring time returned if set - */ - function getFollowMeListRingTime($exten) { - - global $asterisk_manager_interface; - - $number = ''; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database get AMPUSER $exten/followme/grptime\r\n\r\n"); - if (is_numeric($response)) { - $number = $response; - } - - $stripped = preg_replace('/-|\(|\)|\s/','',$_COOKIE['ari_follow_me_listring_time']); - if ($stripped==$number) { - $number = $_COOKIE['ari_follow_me_listring_time']; - } - - return $number; - } - - /* - * Sets Follow Me List - * - * @param $exten - * Extension to modify - * @param $follow_me_list - * Follow Me List - */ - function setFollowMeList($exten,$follow_me_list) { - - global $asterisk_manager_interface; - - $value_opt = $follow_me_list; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database put AMPUSER $exten/followme/grplist $value_opt\r\n\r\n"); - } - - /* - * Gets Follow Me List if set - * - * @param $exten - * Extension to get information about - * @return $data - * follow me list if set - */ - function getFollowMeList($exten) { - - global $asterisk_manager_interface; - - $number = ''; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database get AMPUSER $exten/followme/grplist\r\n\r\n"); - - //TODO: really need to check for a bogus response, see how other side does it - // - return preg_replace("/[^0-9*\-]/", "", $response); - } - - /* - * Sets Follow Confirmation Setting - * - * @param $exten - * Extension to modify - * @param $follow_me_cofirm - * Follow Me Confirm Setting - */ - function setFollowMeConfirm($exten,$follow_me_confirm) { - - global $asterisk_manager_interface; - - $value_opt = ($follow_me_confirm)?'ENABLED':'DISABLED'; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database put AMPUSER $exten/followme/grpconf $value_opt\r\n\r\n"); - } - - /* - * Gets Follow Me Confirmation Setting - * - * @param $exten - * Extension to get information about - * @return $data - * follow me confirm setting - */ - function getFollowMeConfirm($exten) { - - global $asterisk_manager_interface; - - $number = ''; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database get AMPUSER $exten/followme/grpconf\r\n\r\n"); - - if (preg_match("/ENABLED/",$response)) { - $response='checked'; - } - else { - $response=''; - } - - //TODO: really need to check for a bogus response, see how other side does it - // - return $response; - - } - - /* - * Sets Follow Ddial Setting - * - * @param $exten - * Extension to modify - * @param $follow_me_ddial - * Follow Me Ddial Setting - */ - function setFollowMeDDial($exten,$follow_me_ddial) { - - global $asterisk_manager_interface; - - $value_opt = ($follow_me_ddial)?'DIRECT':'EXTENSION'; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database put AMPUSER $exten/followme/ddial $value_opt\r\n\r\n"); - } - - /* - * Gets Follow Me Ddial Setting - * - * @param $exten - * Extension to get information about - * @return $data - * follow me ddial setting - */ - function getFollowMeDDial($exten) { - - global $asterisk_manager_interface; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database get AMPUSER $exten/followme/ddial\r\n\r\n"); - - if (preg_match("/EXTENSION/",$response)) { - $response=''; - } - else { - $response='checked'; - } - - //TODO: really need to check for a bogus response, see how other side does it - // - return $response; - - } - - - - - - /* - * Gets FreePBX Version - */ - function getFreePBXVersion() { - - if (isset($_SESSION['dbh_asterisk'])) { - $sql = "SELECT * FROM admin WHERE variable = 'version'"; - $results = $_SESSION['dbh_asterisk']->getAll($sql); - if(DB::IsError($results)) { - $_SESSION['ari_error'] = $results->getMessage(); - } - - return $results[0][1]; - } - } - - /* - * Sets Follow-Me Settings in FreePBX MySQL Database - * - * @param $exten - * Extension to modify - * @param $follow_me_prering_time - * Pre-Ring Time to ring - * @param $follow_me_listring_time - * List Ring Time to ring - * @param $follow_me_list - * Follow Me List - * @param $follow_me_list - * Follow Me Confirm Setting - * - */ - function setFollowMeMySQL($exten, $follow_me_prering_time, $follow_me_listring_time, $follow_me_list, $follow_me_confirm) { - - if (isset($_SESSION['dbh_asterisk'])) { - - //format for SQL database - $follow_me_confirm = ($follow_me_confirm)?'CHECKED':''; - - $sql = "UPDATE findmefollow SET grptime = '" . $follow_me_listring_time . "', grplist = '". - str_replace("'", "''", trim($follow_me_list)) . "', pre_ring = '" . $follow_me_prering_time . - "', needsconf = '" . $follow_me_confirm . "' WHERE grpnum = $exten LIMIT 1"; - $results = $_SESSION['dbh_asterisk']->query($sql); - - if(DB::IsError($results)) { - $_SESSION['ari_error'] = $results->getMessage(); - } - - return 1; - } - } - - function lookupSetExtensionFormat($exten) { - - if (trim($exten) == "") return $exten; - - $exten = preg_replace("/[^0-9*]/", "", $exten); - - $sql = "SELECT extension FROM users WHERE extension = '".$exten."'"; - $asa = $_SESSION['dbh_asterisk']->getrow($sql, DB_FETCHMODE_ASSOC); - if (!is_array($asa)) { - return $exten.'#'; - } else { - return $exten; - } - } - - -} // class - -?> diff --git a/fs_selfservice/fri/modules/myaccount.module b/fs_selfservice/fri/modules/myaccount.module deleted file mode 100644 index 6b7cb839b..000000000 --- a/fs_selfservice/fri/modules/myaccount.module +++ /dev/null @@ -1,109 +0,0 @@ -<?php - -/** - * @file - * Functions for the interface to the help page - */ - -/** - * Class for help - */ -class myaccount { - - /* - * rank (for prioritizing modules) - */ - function rank() { - - $rank = 9; - return $rank; - } - - /* - * init - */ - function init() { - } - - /* - * Adds menu item to nav menu - * - * @param $args - * Common arguments - */ - function navMenu($args) { - - $ret .= "<p><small><small><a href='" . $_SESSION['ARI_ROOT'] . "?m=myaccount&f=display'>" . _("My Account") . "</a></small></small></p><br>"; - - return $ret; - } - - /* - * Displays stats page - * - * @param $args - * Common arguments - */ - function display($args) { - - global $ARI_HELP_FEATURE_CODES; - - $display = new Display(); - - // args - $m = getArgument($args,'m'); - $q = getArgument($args,'q'); - - $displayname = $_SESSION['ari_user']['displayname']; - $extension = $_SESSION['ari_user']['extension']; - - // build page content - $ret .= checkErrorMessage(); - - $header_text = _("My Account"); - if (!$_SESSION['ari_user']['admin_help']) { - $header_text .= sprintf(_(" for %s (%s)"), $displayname, $extension); - } - - // build page content - $ret .= checkErrorMessage(); - - $ret .= $display->displayHeaderText($header_text); - $ret .= $display->displayLine(); - - $freeside = new FreesideSelfService(); - $fs_info = $freeside->customer_info( array( - 'session_id' => $_SESSION['freeside_session_id'], - ) ); - $error = $fs_info['error']; - if ( $error ) { - //$_SESSION['ari_error'] = _("Incorrect Username or Password"); - $_SESSION['ari_error'] = $error; #// XXX report as ari_error???! - } - - $ret .= $fs_info['small_custview']; - $ret .= '<BR>'; - - - $ret .= '<B><A HREF="/selfservice/selfservice.cgi?session='. - $_SESSION['freeside_session_id']. - ';action=change_bill">Change billing address</A></B>'; - - $ret .= ' | '; - - $ret .= '<B><A HREF="/selfservice/selfservice.cgi?session='. - $_SESSION['freeside_session_id']. - ';action=change_ship">Change service address</A></B>'; - - $ret .= '<BR><BR>'; - - $ret .= '<B><A HREF="/selfservice/selfservice.cgi?session='. - $_SESSION['freeside_session_id']. - ';action=change_pay">Change payment information</A></B><BR><BR>'; - - return $ret; - } - -} - -?> diff --git a/fs_selfservice/fri/modules/phonefeatures.module b/fs_selfservice/fri/modules/phonefeatures.module deleted file mode 100644 index 89dc903bf..000000000 --- a/fs_selfservice/fri/modules/phonefeatures.module +++ /dev/null @@ -1,342 +0,0 @@ -<?php -//***************************************************************************** -class PhoneFeatures { -//***************************************************************************** - function rank() { - - $rank = 4; - return $rank; - } - -//***************************************************************************** - function init() { - } -//***************************************************************************** - function navMenu($args) { - - global $ARI_NO_LOGIN; - global $SETTINGS_ALLOW_PHONE_SETTINGS; - global $SETTINGS_ALLOW_CALLFORWARD_SETTINGS; - - // If we're not allowing call forwarding AND PHONE SETTINGS get out of here - if (!$SETTINGS_ALLOW_PHONE_SETTINGS && !$SETTINGS_ALLOW_CALLFORWARD_SETTINGS) return ""; - - $ret .= " - <p><small><small><a href='" . $_SESSION['ARI_ROOT'] . "?m=PhoneFeatures&f=display'>" . _("Phone Features") . "</a></small></small></p>"; - - return $ret; - } -//***************************************************************************** - function action($args) { - - global $ARI_ADMIN_USERNAME; - global $SETTINGS_ALLOW_PHONE_SETTINGS; - global $SETTINGS_ALLOW_CALLFORWARD_SETTINGS; - - // args - $m = getArgument($args,'m'); - $a = getArgument($args,'a'); - $lang_code = getArgument( $args,'lang_code'); - $exten = $_SESSION['ari_user']['extension']; - - if ($a=='update') { - - if ($SETTINGS_ALLOW_PHONE_SETTINGS) { - if ($exten!=$ARI_ADMIN_USERNAME) { - $this->storePhoneSetting( $args, $exten, 'call_waiting', 'CW', 'ENABLED'); - $this->storePhoneSetting( $args, $exten, 'do_not_disturb', 'DND', 'YES'); - } - } - - if ($SETTINGS_ALLOW_CALLFORWARD_SETTINGS) { - if ($exten!=$ARI_ADMIN_USERNAME) { - $this->storeCallForwardNumber( $args, $exten, 'call_forward', 'CF'); - $this->storeCallForwardNumber( $args, $exten, 'call_forward_busy', 'CFB'); - $this->storeCallForwardNumber( $args, $exten, 'call_forward_unavailable', 'CFU'); - } - } - } - - // redirect to see updated page - $ret .= " - <head> - <script> - <!-- - window.location = \"" . $_SESSION['ARI_ROOT'] . "?m=" . $m . "\" - // --> - </script> - </head>"; - - return $ret; - } -//***************************************************************************** -function display($args) { - - global $STANDALONE; - global $ARI_ADMIN_USERNAME; - global $SETTINGS_ALLOW_PHONE_SETTINGS; - global $SETTINGS_ALLOW_CALLFORWARD_SETTINGS; - - // args - $m = getArgument($args,'m'); - $a = getArgument($args,'a'); - $lang_code = getArgument( $args,'lang_code'); - $exten = $_SESSION['ari_user']['extension']; - - $displayname = $_SESSION['ari_user']['displayname']; - $exten = $_SESSION['ari_user']['extension']; - - $display = new DisplaySearch(); - - // build controls - if ($exten!=$ARI_ADMIN_USERNAME) { - - if ($SETTINGS_ALLOW_PHONE_SETTINGS) { - $dnd_cw_text = "<table class='settings'>"; - $dnd_cw_text.= "<tr><td><h3>" . _("Phone Features") . "</h3></td></tr>"; - - $dnd_cw_text.= $this->displayPhoneControls( $exten, 'call_waiting', 'CW', "Call Waiting"); - $dnd_cw_text.= $this->displayPhoneControls( $exten, 'do_not_disturb', 'DND', "Do Not Disturb"); - - $dnd_cw_text .= "</table>"; - } - - if ($SETTINGS_ALLOW_CALLFORWARD_SETTINGS) { - - $set_call_forward_text .= "<SCRIPT LANGUAGE='JavaScript'> - <!-- Begin - function rowCounter(field, maxlimit) { - temp = field.value.split('\u000A',maxlimit+1) - field.value = temp.join('\u000A') - if (temp.length == maxlimit+1) { - field.value = field.value.substring(0, field.value.length-1) - } - } - - function disable_fields() { - - if (document.ari_settings.call_forward_enable.checked) { - document.ari_settings.call_forward_number.style.backgroundColor = '#FFF'; - document.ari_settings.call_forward_number.disabled = false; - } - else { - document.ari_settings.call_forward_number.style.backgroundColor = '#DDD'; - document.ari_settings.call_forward_number.disabled = true; - } - - if (document.ari_settings.call_forward_busy_enable.checked) { - document.ari_settings.call_forward_busy_number.style.backgroundColor = '#FFF'; - document.ari_settings.call_forward_busy_number.disabled = false; - } - else { - document.ari_settings.call_forward_busy_number.style.backgroundColor = '#DDD'; - document.ari_settings.call_forward_busy_number.disabled = true; - } - - if (document.ari_settings.call_forward_unavailable_enable.checked) { - document.ari_settings.call_forward_unavailable_number.style.backgroundColor = '#FFF'; - document.ari_settings.call_forward_unavailable_number.disabled = false; - } - else { - document.ari_settings.call_forward_unavailable_number.style.backgroundColor = '#DDD'; - document.ari_settings.call_forward_unavailable_number.disabled = true; - } - } - // End --> - </script>"; - - $set_call_forward_text.= "<table class='settings'>"; - $set_call_forward_text.= "<tr><td><h3>" . _("Call Forwarding") . "</h3></td></tr>"; - - $set_call_forward_text.= $this->displayCallForwardControls( $exten, 'call_forward', 'CF', "Unconditional:"); - $set_call_forward_text.= $this->displayCallForwardControls( $exten, 'call_forward_unavailable', 'CFU', "Unavailable:"); - $set_call_forward_text.= $this->displayCallForwardControls( $exten, 'call_forward_busy', 'CFB', "Busy:"); - - $set_call_forward_text .= "</table>"; - } - } - - // build page content - $ret .= checkErrorMessage(); - - if ($_SESSION['ari_user']['admin_settings']) { - $headerText = _("Phone Features"); - } else { - $headerText = sprintf(_("Phone Features for %s (%s)"),$displayname,$exten); - } - - $ret .= $display->displayHeaderText($headerText); - $ret .= $display->displayLine(); - $ret .= " - <form class='settings' name='ari_settings' action='' method='GET'> - <input type=hidden name=m value=" . $m . "> - <input type=hidden name=f value='action'> - <input type=hidden name=a value='update'> - <br> - " . $dnd_cw_text . " - <br> - " . $set_call_forward_text . " - <br> - <input name='submit' type='submit' value='" . _("Update") . "'> - </form>"; - -return $ret; -} -//***************************************************************************** - function setPhoneSetting( $databaseCallFwdType, $exten, $state_value) { - - global $asterisk_manager_interface; - - $type_opt = ($state_value != "") ? "put":"del"; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database $type_opt $databaseCallFwdType $exten $state_value\r\n\r\n"); - } - -//***************************************************************************** - function getPhoneSetting($exten, $databaseCallFwdType) { - - global $asterisk_manager_interface; - $number = ''; - - $result = false; - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database get $databaseCallFwdType $exten\r\n\r\n"); - if (stristr($response, 'ENABLED')) { - $result = true; - } - elseif (stristr($response, 'YES')) { - $result = true; - } - - return $result; - } -//***************************************************************************** - function storePhoneSetting( $args, $exten, $settingType, $databaseCallFwdType, $state_value) - { - $setting_enable = getArgument( $args, $settingType . '_enable'); - - $this->setPhoneSetting( $databaseCallFwdType, $exten, ($setting_enable == 'checked')?$state_value:""); - } - -//***************************************************************************** - function displayPhoneControls( $exten, $callFwdType, $databaseCallFwdType, $title) - { - - $phone_setting_enable = ($this->getPhoneSetting($exten, $databaseCallFwdType)) ? 'checked':''; - - $ret = "\n<tr>"; - $ret.= "<td>"; - $ret.= "<label><input " . $phone_setting_enable . " type=checkbox name='" . $callFwdType . "_enable' value='checked' >"; - $ret.= "<small>" . _($title) . "</small></label>"; - $ret.= "</td>"; - $ret.= "</tr>\n"; - - return $ret; - } -//***************************************************************************** - /* - * Sets Asterisk call forward setting - * - * @param $exten - * Extension to modify - * @param $state - * Call forward enable or disable - * @param $call_forward_number - * Call forward number - * @param $variable_opt - * Call forward type (CF, CFU, CFB) - */ - function setCallForward($exten,$state,$call_forward_number, $variable_opt = "CF") { - - global $asterisk_manager_interface; - - if ($state) { - $type_opt = "put"; - $value_opt = $call_forward_number; - } - else { - $type_opt = "del"; - } - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database $type_opt $variable_opt $exten $value_opt\r\n\r\n"); - } - - /* - * Gets call forward number if set - * - * @param $exten - * Extension to get information about - * @return $number - * call forward number returned if set - * @param $variable_opt - * Call forward type (CF, CFU, CFB) - */ - function getCallForwardNumber($exten, $variable_opt = "CF") { - - global $asterisk_manager_interface; - - $number = ''; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database get $variable_opt $exten\r\n\r\n"); - if (is_numeric($response)) { - $number = $response; - } - - $stripped = preg_replace('/-|\(|\)|\s/','',$_COOKIE['ari_call_forward_number']); - if ($stripped==$number) { - $number = $_COOKIE['ari_call_forward_number']; - } - - return $number; - } - - - function storeCallForwardNumber( $args, $exten, $callFwdType, $databaseCallFwdType) - { - $call_forward_enable = getArgument($args, $callFwdType . '_enable'); - $call_forward_number = getArgument($args, $callFwdType . '_number'); - - $stripped_call_forward_number = preg_replace('/-|\(|\)|\s/','',$call_forward_number); - - if ($call_forward_enable && !is_numeric($stripped_call_forward_number)) { - $_SESSION['ari_error'] = _("Call forward number not changed") . "<br>" . - sprintf(_("Number %s must contain dial numbers (characters like '(', '-', and ')' are ok)"), $call_forward_number); - } - else { - $this->setCallForward( $exten, $call_forward_enable, $stripped_call_forward_number, $databaseCallFwdType); - - // store cookie - $stripped = preg_replace('/-|\(|\)|\s/','',$_COOKIE['ari_' . $callFwdType]); - if ($call_forward_number && $stripped!=$stripped_call_forward_number) { - setcookie('ari_' . $callFwdType, $call_forward_number, time()+365*24*60*60); - } - } - } - - function displayCallForwardControls( $exten, $callFwdType, $databaseCallFwdType, $title) - { - $call_forward_number = $this->getCallForwardNumber($exten, $databaseCallFwdType); - - // If we have a value, we want the item checked - if ($call_forward_number) { - $call_forward_enable = 'checked'; - } - else { - $call_forward_number = $_COOKIE['ari_' . $callFwdType ]; - $call_forward_text_box_options = "disabled style='background: #DDD;'"; - } - - $ret = "\n<tr>"; - $ret.= "<td>" . _($title) . "</td>"; - $ret.= "<td>"; - $ret.= "<input " . $call_forward_text_box_options . " name='" . $callFwdType . "_number' type='text' size=24 value='" . $call_forward_number . "'>"; - $ret.= "</td>"; - $ret.= "<td>"; - $ret.= "<input " . $call_forward_enable . " type=checkbox name='" . $callFwdType . "_enable' value='checked' OnClick=\"disable_fields(); return true;\">"; - $ret.= "<small>" . _("Enable") . "</small>"; - $ret.= "</td>"; - $ret.= "</tr>\n"; - - return $ret; - } -} // class -?> diff --git a/fs_selfservice/fri/modules/settings.module b/fs_selfservice/fri/modules/settings.module deleted file mode 100644 index f20eb0253..000000000 --- a/fs_selfservice/fri/modules/settings.module +++ /dev/null @@ -1,813 +0,0 @@ -<?php - -/** - * @file - * Functions for the interface to the call monitor recordings - */ - -/** - * Class for settings - */ -class Settings { - - var $protocol_table; - var $protocol_config_files; - - /* - * rank (for prioritizing modules) - */ - function rank() { - - $rank = 9; - return $rank; - } - - /* - * init - */ - function init() { - - // determine what protocol user is using - global $ASTERISK_PROTOCOLS; - - foreach ($ASTERISK_PROTOCOLS as $protocol => $value) { - $data = $this->getProtocolRecordSettings($value['table'],$_SESSION['ari_user']['extension']); - if (count($data)) { - $this->protocol_table = $value['table']; - $this->protocol_config_files = $value['config_files']; - break; - } - } - } - - /* - * Adds menu item to nav menu - * - * @param $args - * Common arguments - */ - function navMenu($args) { - - $ret = ""; - $exten = $_SESSION['ari_user']['extension']; - - // and we are not logged in as admin - if ($exten!=$ARI_ADMIN_USERNAME) { - $ret .= "<p><small><small><a href='" . $_SESSION['ARI_ROOT'] . "?m=Settings&f=display'>" . _("Phone Settings") . "</a></small></small></p><br>"; - } - - return $ret; - } - - /* - * Acts on the user settings - * - * @param $args - * Common arguments - * @param $a - * action - */ - function action($args) { - - global $ARI_ADMIN_USERNAME; - global $ASTERISK_VOICEMAIL_CONF; - global $SETTINGS_ALLOW_VOICEMAIL_SETTINGS; - global $SETTINGS_ALLOW_VOICEMAIL_PASSWORD_SET; - global $SETTINGS_VOICEMAIL_PASSWORD_LENGTH; - global $SETTINGS_VOICEMAIL_PASSWORD_EXACT; - global $SETTINGS_ALLOW_CALL_RECORDING_SET; - - // args - $m = getArgument($args,'m'); - $a = getArgument($args,'a'); - - $voicemail_password = getArgument($args,'voicemail_password'); - $voicemail_password_confirm = getArgument($args,'voicemail_password_confirm'); - $voicemail_email_address = getArgument($args,'voicemail_email_address'); - $voicemail_pager_address = getArgument($args,'voicemail_pager_address'); - $voicemail_email_enable = getArgument($args,'voicemail_email_enable'); - $voicemail_audio_format = getArgument($args,'voicemail_audio_format'); - $record_in = getArgument($args,'record_in'); - $record_out = getArgument($args,'record_out'); - - if (isset($_SESSION['ari_user']['voicemail_email'])) { - foreach (array_keys($_SESSION['ari_user']['voicemail_email']) as $key) { - $var = "voicemail_email_$key"; - $$var = getArgument($args,$var); - } - } - - if ($a=='update') { - - $exten = $_SESSION['ari_user']['extension']; - if ($exten!=$ARI_ADMIN_USERNAME) { - - // Make sure Follow-Me setup has not been deleted for this user since the last refresh - $follow_me_disabled_delayed = $_COOKIE['ari_follow_me_disabled']; - - // voicemail settings - if ($SETTINGS_ALLOW_VOICEMAIL_SETTINGS && $_SESSION['ari_user']['voicemail_enabled']==1) { - - - // update voicemail password - if ($SETTINGS_ALLOW_VOICEMAIL_PASSWORD_SET) { - - // update voicemail password - if ($voicemail_password=='' || $voicemail_password_confirm=='') { - $_SESSION['ari_error'] = - _("Voicemail password not changed") . "<br>" . - _("Password and password confirm must not be blank"); - } - else if ((strlen($voicemail_password)<$SETTINGS_VOICEMAIL_PASSWORD_LENGTH) || !is_numeric($voicemail_password)) { - $_SESSION['ari_error'] = - _("Voicemail password not changed") . "<br>" . - sprintf(_("Passwords must be all numbers and greater than %d digits"),$SETTINGS_VOICEMAIL_PASSWORD_LENGTH); - } - else if (strlen($voicemail_password)!=$SETTINGS_VOICEMAIL_PASSWORD_LENGTH && $SETTINGS_VOICEMAIL_PASSWORD_EXACT || !is_numeric($voicemail_password)) { - $_SESSION['ari_error'] = - _("Voicemail password not changed") . "<br>" . - sprintf(_("Passwords must be all numbers and only %d digits"),$SETTINGS_VOICEMAIL_PASSWORD_LENGTH); - } - else if ($voicemail_password!=$voicemail_password_confirm) { - $_SESSION['ari_error'] = - _("Voicemail password not changed") . "<br>" . - _("Password and password confirm do not match"); - } - else { - - // check for writable the files - $temp_file = $ASTERISK_VOICEMAIL_CONF . ".tmp"; - $fp = fopen($temp_file, "w"); - if (!$fp) { - $_SESSION['ari_error'] = - _("Voicemail password not changed") . "<br>" . - sprintf(_("%s does not exist or is not writable"),$temp_file); - } - else if (!is_writable($ASTERISK_VOICEMAIL_CONF)) { - $_SESSION['ari_error'] = - _("Voicemail password not changed") . "<br>" . - sprintf(_("%s does not exist or is not writable"),$ASTERISK_VOICEMAIL_CONF); - } - else { - - // update session - $_SESSION['ari_user']['voicemail_password'] = $voicemail_password; - - // save password - $lines = file($ASTERISK_VOICEMAIL_CONF); - foreach ($lines as $key => $line) { - unset($value); - list($var,$value) = split('=>',$line); - $var = trim($var); - if ($var==$exten && $value) { - - // write out line with password change - $buf = split(',',$value); - $buf[0] = $voicemail_password; - $line = $var . " => " . join(',', $buf); - - fwrite($fp, $line); - } - else { - // write out original line with no changes - fwrite($fp, $line); - } - } - fclose($fp); - unlink($ASTERISK_VOICEMAIL_CONF); - rename($temp_file,$ASTERISK_VOICEMAIL_CONF); - - $voicemail_reload = 1; - } - } - - // voicemail email address - if ($voicemail_email_enable && - ($voicemail_email_address && !preg_match('/@/',$voicemail_email_address) || - ($voicemail_pager_address && !preg_match('/@/',$voicemail_pager_address)))) { - $_SESSION['ari_error'] = - _("Voicemail email and pager address not changed") . "<br>" . - ("'$voicemail_email_address' and '$voicemail_pager_address' must be a valid email addresses"); - } - else { - - // check for writable the files - $temp_file = $ASTERISK_VOICEMAIL_CONF . ".tmp"; - $fp = fopen($temp_file, "w"); - if (!$fp) { - $_SESSION['ari_error'] = - _("Voicemail email settings not changed") . "<br>" . - sprintf(_("%s does not exist or is not writable"),$temp_file); - } - else if (!is_writable($ASTERISK_VOICEMAIL_CONF)) { - $_SESSION['ari_error'] = - _("Voicemail email settings not changed") . "<br>" . - sprintf(_("%s does not exist or is not writable"),$ASTERISK_VOICEMAIL_CONF); - } - else { - - // store cookie - if ($voicemail_email_enable) { - setcookie("ari_voicemail_email_address", $voicemail_email_address, time()+365*24*60*60); - setcookie("ari_voicemail_pager_address", $voicemail_pager_address, time()+365*24*60*60); - foreach (array_keys($_SESSION['ari_user']['voicemail_email']) as $key) { - $var = "voicemail_email_$key"; - $var_cookie = "ari_" . $var; - setcookie("$var_cookie", $$var, time()+365*24*60*60); - } - } - - // update session - $_SESSION['ari_user']['voicemail_email_enable'] = $voicemail_email_enable; - if ($voicemail_email_enable) { - $_SESSION['ari_user']['voicemail_email_address'] = $voicemail_email_address; - $_SESSION['ari_user']['voicemail_pager_address'] = $voicemail_pager_address; - foreach (array_keys($_SESSION['ari_user']['voicemail_email']) as $key) { - $option = "voicemail_email_$key"; - $_SESSION['ari_user']['voicemail_email'][$key] = $$option; - } - } - - // save settings - if (!$voicemail_email_enable) { - $voicemail_email_address = ''; - $voicemail_pager_address = ''; - } - - $lines = file($ASTERISK_VOICEMAIL_CONF); - foreach ($lines as $key => $line) { - unset($value); - list($var,$value) = split('=>',$line); - $var = trim($var); - if ($var==$exten && $value) { - - // write out line with voicemail email change - $buf = split(',',$value); - $buf[2] = $voicemail_email_address; - $buf[3] = $voicemail_pager_address; - - foreach ($_SESSION['ari_user']['voicemail_email'] as $key => $value) { - $option = "voicemail_email_$key"; - if ($$option && $key) { - $options .= $key . "=" . $value; - } - else { - $options .= $key . "=no"; - } - $options .= "|"; - } - $buf[4] = substr($options, 0, -1); - - $line = $var . " =>" . join(',', $buf); - if (substr($line, 0, -1)!="\n") { - $line .= "\n"; - } - - fwrite($fp, $line); - } - else { - - // write out original line with no changes - fwrite($fp, $line); - } - } - fclose($fp); - unlink($ASTERISK_VOICEMAIL_CONF); - rename($temp_file,$ASTERISK_VOICEMAIL_CONF); - - $voicemail_reload = 1; - } - } - - // reload asterisk voicemail - if ($voicemail_reload) { - $this->reloadAsteriskVoicemail(); - } - } - - // update voicemail audio format setting - setcookie("ari_voicemail_audio_format", $voicemail_audio_format, time()+365*24*60*60); - } - - // update call monitor record setting - if ($SETTINGS_ALLOW_CALL_RECORDING_SET) { - if ($record_in && $record_out) { - $this->setRecordSettings($exten,$record_in,$record_out); - } - } - } - } - - // redirect to see updated page - $ret .= " - <head> - <script> - <!-- - window.location = \"" . $_SESSION['ARI_ROOT'] . "?m=" . $m . "\" - // --> - </script> - </head>"; - - return $ret; - } - - /* - * Displays stats page - * - * @param $args - * Common arguments - */ - function display($args) { - global $SETTINGS_ALLOW_VOICEMAIL_SETTINGS; - global $SETTINGS_ALLOW_VOICEMAIL_PASSWORD_SET; - global $SETTINGS_VOICEMAIL_PASSWORD_LENGTH; - global $SETTINGS_VOICEMAIL_EMAIL_OPTION_DESCRIPTIONS; - global $ARI_VOICEMAIL_AUDIO_FORMAT_DEFAULT; - global $SETTINGS_ALLOW_CALL_RECORDING_SET; - - global $loaded_modules; - - // args - $m = getArgument($args,'m'); - $q = getArgument($args,'q'); - $start = getArgument($args,'start'); - $span = getArgument($args,'span'); - - $displayname = $_SESSION['ari_user']['displayname']; - $exten = $_SESSION['ari_user']['extension']; - - $language = new Language(); - $display = new DisplaySearch(); - - // get data - $data = $this->getRecordSettings($_SESSION['ari_user']['extension']); - - // lang setting options - if (extension_loaded('gettext')) { - $setLangText = "<p class='lang'>" . _("Language:") . " " . $language->GetForm() . "</p>"; - } - - - // voicemail settings - if ($SETTINGS_ALLOW_VOICEMAIL_SETTINGS && $_SESSION['ari_user']['voicemail_enabled']==1 && - in_array('voicemail',array_keys($loaded_modules))) { - if ($SETTINGS_ALLOW_VOICEMAIL_PASSWORD_SET) { - - if ($SETTINGS_VOICEMAIL_PASSWORD_EXACT) { - $voicemail_password_length_message = sprintf(_("Passwords must be all numbers and only %s digits"),$SETTINGS_VOICEMAIL_PASSWORD_LENGTH); - } - else { - $voicemail_password_length_message = sprintf(_("Passwords must be all numbers and at least %s digits"),$SETTINGS_VOICEMAIL_PASSWORD_LENGTH); - } - - $set_voicemail_password_text = " - <tr> - <td>" . _("Voicemail Password:") . "</td> - <td> - <input name='voicemail_password' type='password' size=16 value=" . $_SESSION['ari_user']['voicemail_password'] . "> - </td> - </tr> - <tr> - <td>" . _("Enter again to confirm:") . "</td> - <td> - <input name='voicemail_password_confirm' type='password' size=16 value=" . $_SESSION['ari_user']['voicemail_password'] . "> - </td> - </tr> - <tr> - <td class='note' colspan=2><small>" . $voicemail_password_length_message . "</small></td> - </tr>"; - } - - if (isset($_SESSION['ari_user']['voicemail_email'])) { - - if ($_SESSION['ari_user']['voicemail_email_enable']) { - $voicemail_email_address = $_SESSION['ari_user']['voicemail_email_address']; - $voicemail_pager_address = $_SESSION['ari_user']['voicemail_pager_address']; - $voicemail_email_enable = 'checked'; - - foreach (array_keys($_SESSION['ari_user']['voicemail_email']) as $key) { - $var = "voicemail_email_$key"; - $var_enable = $var . "enable"; - if ($_SESSION['ari_user']['voicemail_email'][$key]=='yes') { - $$var_enable = 'checked'; - } - } - } - else { - - $voicemail_email_address = $_COOKIE['ari_voicemail_email_address']; - $voicemail_email_text_box_options = "disabled style='background: #DDD;'"; - $voicemail_pager_address = $_COOKIE['ari_voicemail_pager_address']; - $voicemail_pager_text_box_options = "disabled style='background: #DDD;'"; - - foreach ($_SESSION['ari_user']['voicemail_email'] as $key => $value) { - $var = "voicemail_email_$key"; - $var_cookie = "ari_" . $var; - $var_enable = $var . "enable"; - $var_text_box_options = $var . "text_box_options"; - - $$var_text_box_options = "disabled"; - if ($_COOKIE[$var_cookie]=='yes') { - $$var_enable = 'checked'; - } - } - } - - $set_voicemail_email_text = " - - <tr> - <td> " . _("Email Notification") . " <input " . $voicemail_email_enable . " type=checkbox name='voicemail_email_enable' value='1' OnClick=\"disable_fields(); return true;\"> - <small> " ._("Enable") . " </small> - </td> - </tr><tr> - <td><a href='#' class='info'>" . _("Email Voicemail To:") . "<span>" . ("Email a notification, including audio file if indicated below.") . " </span></a></td> - <td> - <input " . $voicemail_email_text_box_options . " name='voicemail_email_address' type='text' size=48 value='" . $voicemail_email_address . "'> - </td> - </tr> - <tr> - <td><a href='#' class='info'>" . _("Pager Email Notification To:") . "<span>" . ("Email a short notification") . " </span></a></td> - <td> - <input " . $voicemail_pager_text_box_options . " name='voicemail_pager_address' type='text' size=48 value='" . $voicemail_pager_address . "'> - </td> - </tr> - <tr> - <td></td> - </tr>"; - - foreach ($_SESSION['ari_user']['voicemail_email'] as $key => $value) { - - $var = "voicemail_email_$key"; - $var_enable = $var . "enable"; - $var_text_box_options = $var . "text_box_options"; - if ($SETTINGS_VOICEMAIL_EMAIL_OPTION_DESCRIPTIONS[$key]) { - $var_text = $SETTINGS_VOICEMAIL_EMAIL_OPTION_DESCRIPTIONS[$key]; - } - else { - $var_text = $key; - } - - if ($value != 'yes' && $value != 'no' && $value !='') { - - $size = strlen($value) - 1; - $set_voicemail_email_text .= " - <tr> - <td></td> - <td> - <input type=text size='" . $size . "' name='" . $var . "' value='" . $value . "' OnClick=\"disable_fields(); return true;\"> - <small>" . $var_text . "</small> - </td> - </tr>"; - } - else { - - $set_voicemail_email_text .= " - <tr> - <td></td> - <td> - <input " . $$var_enable . " " . $$var_text_box_options . " type=checkbox name='" . $var . "' value='yes' OnClick=\"disable_fields(); return true;\"> - <small>" . $var_text . "</small> - </td> - </tr>"; - } - } - } - - $wav_enable = 'selected'; - if ($_COOKIE['ari_voicemail_audio_format']=='.gsm'|| - ($_COOKIE['ari_voicemail_audio_format']=='' && $ARI_VOICEMAIL_AUDIO_FORMAT_DEFAULT='.gsm')) { - $wav_enable = ''; - $gsm_enable = 'selected'; - } - - $set_voicemail_audio_format_text = " - <tr> - <td>" . _("Audio Format:") . "</td> - <td> - <select name='voicemail_audio_format'> - <option value='.wav' " . $wav_enable . ">" . _("Best Quality") . " (.wav)</option> - <option value='.gsm' " . $gsm_enable . ">" . _("Smallest Download") . " (.gsm)</option> - </select> - </td> - </tr>"; - - $set_voicemail_text = " - <table class='settings'> - <tr> - <td><h3>" . _("Voicemail Settings") . "</h3></td> - </tr> - " . $set_voicemail_password_text . " - " . $set_voicemail_email_text . " - " . $set_voicemail_audio_format_text . " - </table>"; - } - - // call monitor settings - if ($this->getFreePBXVersion() && - $SETTINGS_ALLOW_CALL_RECORDING_SET && - in_array('callmonitor',array_keys($loaded_modules))) { - - foreach($data as $key=>$value) { - if ($key=='record_in') { - if ($value=='Always') { - $ri_always = 'checked=checked'; - } - elseif ($value=='Never') { - $ri_never = 'checked=checked'; - } - elseif ($value=='Adhoc') { - $ri_on_demand = 'checked=checked'; - } - } - if ($key=='record_out') { - if ($value=='Always') { - $ro_always = 'checked=checked'; - } - elseif ($value=='Never') { - $ro_never = 'checked=checked'; - } - elseif ($value=='Adhoc') { - $ro_on_demand = 'checked=checked'; - } - } - } - - $set_callmonitor_text = " - <table class='settings'> - <tr> - <td><h3>" . _("Call Monitor Settings") . "</h3></td> - </tr> - <tr> - <td>" . _("Record INCOMING:") . " </td> - <td> - <input type='radio' name='record_in' value='Always' " . $ri_always . "/> " . _("Always") . " - <input type='radio' name='record_in' value='Never' " . $ri_never . "/> " . _("Never") . " - <input type='radio' name='record_in' value='Adhoc' " . $ri_on_demand . "/> " . _("On-Demand") . " - </td> - </tr> - <tr> - <td>" . _("Record OUTGOING:") . " </td> - <td> - <input type='radio' name='record_out' value='Always' " . $ro_always . "/> " . _("Always") . " - <input type='radio' name='record_out' value='Never' " . $ro_never . "/> " . _("Never") . " - <input type='radio' name='record_out' value='Adhoc' " . $ro_on_demand . "/> " . _("On-Demand") . " - </td> - </tr> - </table>"; - } - - // javascript enable options - if (isset($_SESSION['ari_user']['voicemail_email']) && - in_array('voicemail',array_keys($loaded_modules))) { - foreach ($_SESSION['ari_user']['voicemail_email'] as $key => $value) { - $var = "voicemail_email_$key"; - $js_voicemail_email_disable .= " - document.ari_settings.$var.disabled = false;"; - $js_voicemail_email_enable .= " - document.ari_settings.$var.disabled = true;"; - } - - $js_voicemail_script = " - if (document.ari_settings.voicemail_email_enable.checked) { - document.ari_settings.voicemail_email_address.style.backgroundColor = '#FFF'; - document.ari_settings.voicemail_email_address.disabled = false; - document.ari_settings.voicemail_email_address.value='" . $voicemail_email_address . "'; - document.ari_settings.voicemail_pager_address.style.backgroundColor = '#FFF'; - document.ari_settings.voicemail_pager_address.disabled = false; - document.ari_settings.voicemail_pager_address.value='" . $voicemail_pager_address . "'; - " . $js_voicemail_email_disable . " - } - else { - document.ari_settings.voicemail_email_address.style.backgroundColor = '#DDD'; - document.ari_settings.voicemail_email_address.disabled = true; - document.ari_settings.voicemail_pager_address.style.backgroundColor = '#DDD'; - document.ari_settings.voicemail_pager_address.disabled = true; - " . $js_voicemail_email_enable . " - }"; - } - - // build page content - $ret .= checkErrorMessage(); - - $headerText = sprintf(_("Phone Settings for %s (%s)"),$displayname,$exten); - - $ret .= $display->displayHeaderText($headerText); - $ret .= $display->displayLine(); - - $ret .= " - <SCRIPT LANGUAGE='JavaScript'> - <!-- Begin - function rowCounter(field, maxlimit) { - temp = field.value.split('\u000A',maxlimit+1) - field.value = temp.join('\u000A') - if (temp.length == maxlimit+1) { - field.value = field.value.substring(0, field.value.length-1) - } - } - - function disable_fields() {"; - $ret .= $js_voicemail_script . " - } - // End --> - </script>"; - - $ret .= " - " . $setLangText . " - <form class='settings' name='ari_settings' action='' method='GET'> - <input type=hidden name=m value=" . $m . "> - <input type=hidden name=f value='action'> - <input type=hidden name=a value='update'> - <br> - " . $set_voicemail_text . " - <br> - " . $set_callmonitor_text . " - <br> - <input name='submit' type='submit' value='" . _("Update") . "'> - </form>"; - - return $ret; - } - - - - - - - /* - * Sets Asterisk call recording setting - * - * @param $exten - * Extension to modify - * @param $direction - * Call direction - * @param $state - * State to set to - */ - function setRecordSettings($exten,$state_in,$state_out) { - - global $asterisk_manager_interface; - - if (version_compare($this->getFreePBXVersion(), '1.10', '<')) { - - if ($state_in=="Always") { - $type_opt = "put"; - $value_opt = " " . "ENABLED"; - } - elseif ($state_in=="Never") { - $type_opt = "put"; - $value_opt = " " . "DISABLED"; - } - else { - $type_opt = "del"; - $value_opt = ""; - } - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database $type_opt RECORD-IN $exten $value_opt\r\n\r\n"); - - if ($state_out=="Always") { - $type_opt = "put"; - $value_opt = " " . "ENABLED"; - } - elseif ($state_out=="Never") { - $type_opt = "put"; - $value_opt = " " . "DISABLED"; - } - else { - $type_opt = "del"; - $value_opt = ""; - } - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database $type_opt RECORD-OUT $exten $value_opt\r\n\r\n"); - } - else { - - $value_opt= "out=".$state_out."|in=".$state_in; - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database put AMPUSER $exten/recording $value_opt\r\n\r\n"); - } - } - - /* - * Gets record settings for a protocol - * - * @param $table - * Table to pull information from - * @param $exten - * Extension to get information about - * @return $data - * call monitor record settings - */ - function getProtocolRecordSettings($table,$exten) { - - global $asterisk_manager_interface; - - $data = array(); - - if (version_compare($this->getFreePBXVersion(), '1.10', '<')) { - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database get RECORD-IN $exten\r\n\r\n"); - if (preg_match("/ENABLED/",$response)) { - $data['record_in'] = 'Always'; - } - elseif (preg_match("/DISABLED/",$response)) { - $data['record_in'] = 'Never'; - } - else { - $data['record_in'] = 'Adhoc'; - } - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database get RECORD-OUT $exten\r\n\r\n"); - if (preg_match("/ENABLED/",$response)) { - $data['record_out'] = 'Always'; - } - elseif (preg_match("/DISABLED/",$response)) { - $data['record_out'] = 'Never'; - } - else { - $data['record_out'] = 'Adhoc'; - } - } - else { - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: database get AMPUSER $exten/recording\r\n\r\n"); - if (strstr($response,"in=Always")) { - $data['record_in'] = 'Always'; - } - elseif (strstr($response,"in=Never")) { - $data['record_in'] = 'Never'; - } - else { - $data['record_in'] = 'Adhoc'; - } - if (strstr($response,"out=Always")) { - $data['record_out'] = 'Always'; - } - elseif (strstr($response,"out=Never")) { - $data['record_out'] = 'Never'; - } - else { - $data['record_out'] = 'Adhoc'; - } - } - - return $data; - } - - /* - * Gets record settings - * - * @param $exten - * Extension to get information about - * @param $data - * Reference to the variable to store the data in - */ - function getRecordSettings($exten) { - - // check protocol tables first - $data = $this->getProtocolRecordSettings($this->protocol_table,$exten); - - return $data; - } - - /* - * Reloads Asterisk Configuration - */ - function reloadAsteriskVoicemail() { - - global $asterisk_manager_interface; - - $response = $asterisk_manager_interface->Command("Action: Command\r\nCommand: Reload app_voicemail.so\r\n\r\n"); - } - - /* - * Gets FreePBX Version - */ - function getFreePBXVersion() { - - if (isset($_SESSION['dbh_asterisk'])) { - $sql = "SELECT * FROM admin WHERE variable = 'version'"; - $results = $_SESSION['dbh_asterisk']->getAll($sql); - if(DB::IsError($results)) { - $_SESSION['ari_error'] = $results->getMessage(); - } - - return $results[0][1]; - } - } - - function lookupSetExtensionFormat($exten) { - - if (trim($exten) == "") return $exten; - - $exten = preg_replace("/[^0-9*]/", "", $exten); - - $sql = "SELECT extension FROM users WHERE extension = '".$exten."'"; - $asa = $_SESSION['dbh_asterisk']->getrow($sql, DB_FETCHMODE_ASSOC); - if (!is_array($asa)) { - return $exten.'#'; - } else { - return $exten; - } - } - - -} // class - -?> diff --git a/fs_selfservice/fri/modules/voicemail.module b/fs_selfservice/fri/modules/voicemail.module deleted file mode 100644 index aad14564f..000000000 --- a/fs_selfservice/fri/modules/voicemail.module +++ /dev/null @@ -1,805 +0,0 @@ -<?php - -/** - * @file - * Functions for the interface to the voicemail recordings - */ - -/** - * Class for voicemail - */ -class Voicemail { - - /* - * rank (for prioritizing modules) - */ - function rank() { - - $rank = 1; - return $rank; - } - - /* - * init - */ - function init() { - } - - /* - * Adds menu item to nav menu - * - * @param $args - * Common arguments - */ - function navMenu($args) { - - global $ARI_NO_LOGIN; - - // check logout - if ($_SESSION['ari_user'] && !$ARI_NO_LOGIN) { - $logout = 1; - } - - if ($logout!='') { - $ret .= "<p><small><small><a href='" . $_SESSION['ARI_ROOT'] . "?m=Voicemail&f=display'>" . _("Voicemail") . "</a></small></small></p>"; - } - - return $ret; - } - - /* - * Deletes selected voicemails and updates page - * - * @param $args - * Common arguments - */ - function navSubMenu($args) { - - global $ASTERISK_VOICEMAIL_PATH; - global $ASTERISK_VOICEMAIL_FOLDERS; - - // args - $m = getArgument($args,'m'); - $q = getArgument($args,'q'); - $current_folder = getArgument($args,'folder'); - - $context = $_SESSION['ari_user']['context']; - $extension = $_SESSION['ari_user']['extension']; - - // check for voicemail enabled or admin - if ($_SESSION['ari_user']['voicemail_enabled']!=1 || - $extension=='admin') { - return; - } - - // make folder list - $paths = split(';',$ASTERISK_VOICEMAIL_PATH); - $i = 0; - while ($ASTERISK_VOICEMAIL_FOLDERS[$i]) { - - $f = $ASTERISK_VOICEMAIL_FOLDERS[$i]['folder']; - $fn = $ASTERISK_VOICEMAIL_FOLDERS[$i]['name']; - - foreach($paths as $key => $path) { - - $path = appendPath($path,$context); - $path = appendPath($path,$extension); - - if (is_dir($path) && is_readable($path)) { - $dh = opendir($path); - while (false!== ($folder = readdir($dh))) { - - $folder_path = AppendPath($path,$folder); - - if($folder!="." && $folder!=".." && - filetype($folder_path)=='dir') { - - if ($f==$folder) { - - // get message count - $indexes = $this->getVoicemailIndex($folder_path,$q,$order,$sort); - $record_count = 0; - $record_count += $this->getVoicemailCount($indexes); - - // set current folder color - $class=''; - if ($current_folder==$folder || - ($current_folder=='' && $ASTERISK_VOICEMAIL_FOLDERS[0]['folder']==$folder)) { - $class = "class='current'"; - } - - // add folder to list - $ret .= "<p><small><small> - <a " . $class . " href='" . $_SESSION['ARI_ROOT'] . "?m=Voicemail&q=" . $q . "&folder=" . $f. "'> - " . $fn . " (" . $record_count . ")" . " - </a> - </small></small></p>"; - } - } - } - } - } - $i++; - } - - return $ret; - } - - /* - * Acts on the selected voicemails in the method indicated by the action and updates page - * - * @param $args - * Common arguments - */ - function msgAction($args) { - - global $ASTERISK_VOICEMAIL_FOLDERS; - - // args - $m = getArgument($args,'m'); - $a = getArgument($args,'a'); - $folder = getArgument($args,'folder'); - $q = getArgument($args,'q'); - $start = getArgument($args,'start'); - $span = getArgument($args,'span'); - $order = getArgument($args,'order'); - $sort = getArgument($args,'sort'); - - // get files - $files = array(); - foreach($_REQUEST as $key => $value) { - if (preg_match('/selected/',$key)) { - array_push($files, $value); - } - } - - if ($a=='delete') { - $this->deleteVoicemailData($files); - } - else if ($a=='move_to') { - $folder_rx = getArgument($args,'folder_rx'); - if ($folder_rx=='') { - $_SESSION['ari_error'] - = _("A folder must be selected before the message can be moved."); - } - else { - $context = $_SESSION['ari_user']['context']; - $extension = $_SESSION['ari_user']['extension']; - $this->moveVoicemailData($files, $context, $extension, $folder_rx); - } - } - else if ($a=='forward_to') { - - $mailbox_rx = getArgument($args,'mailbox_rx'); - list($context_rx,$extension_rx) = split('/',$mailbox_rx); - if ($extension_rx=='') { - $_SESSION['ari_error'] - = _("An extension must be selected before the message can be forwarded."); - } - else { - $folder_rx = $ASTERISK_VOICEMAIL_FOLDERS[0]['folder']; - $this->moveVoicemailData($files, $context_rx, $extension_rx, $folder_rx); - } - } - - // redirect to see updated page - $ret .= " - <head> - <script> - <!-- - window.location = \"" . $_SESSION['ARI_ROOT'] . "?m=" . $m . "&folder=" . $folder . "&q=" . $q . "&start=" . $start . "&span=" . $span . "&order=" . $order . "&sort=" . $sort . "\" - // --> - </script> - </head>"; - - return $ret; - } - - /* - * Displays stats page - * - * @param $args - * Common arguments - */ - function display($args) { - - global $ASTERISK_VOICEMAIL_CONF; - global $ASTERISK_VOICEMAIL_PATH; - global $ASTERISK_VOICEMAIL_FOLDERS; - global $AJAX_PAGE_REFRESH_ENABLE; - - $voicemail_audio_format = $_COOKIE['ari_voicemail_audio_format']; - - $display = new DisplaySearch(); - - // args - $m = getArgument($args,'m'); - $f = getArgument($args,'f'); - $q = getArgument($args,'q'); - $start = getArgument($args,'start'); - $span = getArgument($args,'span'); - $order = getArgument($args,'order'); - $sort = getArgument($args,'sort'); - - $start = $start=='' ? 0 : $start; - $span = $span=='' ? 15 : $span; - $order = $order=='' ? 'calldate' : $order; - $sort = $sort=='' ? 'desc' : $sort; - - $paths = split(';',$ASTERISK_VOICEMAIL_PATH); - - $displayname = $_SESSION['ari_user']['displayname']; - $extension = $_SESSION['ari_user']['extension']; - $context = $_SESSION['ari_user']['context']; - $folder = getArgument($args,'folder'); - if (!$folder) { - $folder = $ASTERISK_VOICEMAIL_FOLDERS[0]['folder']; - } - - // get data - $data = array(); - foreach($paths as $key => $path) { - $path = fixPathSlash($path); - $vm_path = $path . "$context/$extension/$folder"; - $indexes = $this->getVoicemailIndex($vm_path,$q,$order,$sort); - $record_count += $this->getVoicemailCount($indexes); - $data = array_merge($data,$this->getVoicemailData($indexes,$start,$span)); - } - - // build controls - - // get the recordings from the asterisk server - $filter = ''; - $recursiveMax = 1; - $recursiveCount = 0; - $files = array(); - foreach($paths as $key => $path) { - $path_files = GetFiles($path,$filter,$recursiveMax,$recursiveCount); - $files = array_merge($files,$path_files); - } - - // move options - $i=0; - while ($ASTERISK_VOICEMAIL_FOLDERS[$i]) { - $cf = $ASTERISK_VOICEMAIL_FOLDERS[$i]['folder']; - $fn = $ASTERISK_VOICEMAIL_FOLDERS[$i]['name']; - if ($cf!=$folder) { - $move_options .= "<option VALUE='" . $cf . "'> " . $fn; - } - $i++; - } - - // forward options - if (is_readable($ASTERISK_VOICEMAIL_CONF)) { - $lines = file($ASTERISK_VOICEMAIL_CONF); - $ext_array = array(); - foreach ($lines as $key => $line) { - - // get context for forward to mailbox - if (preg_match("/\[.*\]/i",$line)) { - $forwardContext = trim(preg_replace('/\[|\]/', '', $line)); - } - - // get username and add to options - if (preg_match("/\=\>/i",$line)) { - list($username,$value) = split('=>',$line); - $username = trim($username); - if ($username!=$_SESSION['ari_user']['extension']) { - //$ext_array[] = $username . "|" . $forwardContext; - list(,$real_name,) = split(",",$value,3); - $ext_array[] = $real_name . "|" . $username . "|" . $forwardContext; - } - } - } //foreach - //sort the array - sort($ext_array); - - //get the size of the array - $array_size = count($ext_array) - 1; - - //loop through the array and build the drop down list - foreach ($ext_array as $item) - { - //split the values apart - list($real_name,$username,$context) = explode("|",$item); - - //add it to the drop down - $forward_options .= "<option VALUE='" . $context . "/" . $username . "'>" . substr($real_name,0,15) . " <" . $username . ">"; - } - } - else { - $_SESSION['ari_error'] = "File not readable: " . $ASTERISK_VOICEMAIL_CONF; - return; - } - - // table controls - $controls = " - <button class='infobar' type='submit' onclick=\"document.voicemail_form.a.value='delete'\"> - " . _("delete") . " - </button> - <button class='infobar' type='submit' onclick=\"document.voicemail_form.a.value='move_to'\"> - " . _("move_to") . " - </button> - <select name='folder_rx' style='width:124px;'> - <option VALUE=''>" . _("Folder") . " - " . $move_options . " - </select> - <button class='infobar' type='submit' onclick=\"document.voicemail_form.a.value='forward_to'\"> - " . _("forward_to") . " - </button> - <select name='mailbox_rx'> - <option VALUE=''> - " . $forward_options . " - </select>"; - - // table header - $recording_delete_header = "<th></th>"; - - $fields[0]['field'] = "calldate"; - $fields[0]['text'] = _("Date"); - $fields[1]['field'] = "calldate"; - $fields[1]['text'] = _("Time"); - $fields[2]['field'] = "clid"; - $fields[2]['text'] = _("Caller ID"); - $fields[3]['field'] = "priority"; - $fields[3]['text'] = _("Priority"); - $fields[4]['field'] = "origmailbox"; - $fields[4]['text'] = _("Orig Mailbox"); - $fields[5]['field'] = "duration"; - $fields[5]['text'] = _("Duration"); - $i = 0; - while ($fields[$i]) { - - $field = $fields[$i]['field']; - $text = $fields[$i]['text']; - if ($order==$field) { - if ($sort=='asc') { - $currentSort = 'desc'; - $arrowImg = "<img src='theme/images/arrow-asc.gif' alt='sort'>"; - } - else { - $currentSort = 'asc'; - $arrowImg = "<img src='theme/images/arrow-desc.gif' alt='sort'>"; - } - - if ($i==1) { - $arrowImg = ''; - } - } - else { - $arrowImg = ''; - $currentSort = 'desc'; - } - - $unicode_q = urlencode($q); - $recording_header .= "<th><a href=" . $_SESSION['ARI_ROOT'] . "?m=" . $m . "&f=" . $f . "&q=" . $unicode_q . "&order=" . $field . "&sort=" . $currentSort . ">" . $text . $arrowImg . "</a></th>"; - - $i++; - } - $recording_header .= "<th>" . _("Message") . "</th>"; - - // table body - if (isset($data)) { - foreach($data as $file=>$value) { - - // recording popup link - $voicemail_audio_format = $voicemail_audio_format=='' ? '.wav' : $voicemail_audio_format; - $recording = preg_replace('/.txt/', $voicemail_audio_format, $file); - if (is_file($recording)) { - $recordingLink = "<a href='#' onClick=\"javascript:popUp('misc/recording_popup.php?recording=" . $recording . "&date=" . $date . "&time=" . $time . "'); return false;\"> - " . _("play") . " - </a>"; - } - else { - $_SESSION['ari_error'] = _("Voicemail recording(s) was not found.") . "<br>" . - sprintf(_("On settings page, change voicemail audio format. It is currently set to %s"),$voicemail_audio_format); - } - - $tableText .= " - <tr> - <td class='checkbox'><input type=checkbox name='selected" . ++$i . "' value=" . $file . "></td> - <td width=68>" . GetDateFormat($value['origtime']) . "</td> - <td>" . GetTimeFormat($value['origtime']) . "</td> - <td width=100>" . $value[callerid] . "</td> - <td>" . $value[priority] . "</td> - <td width=90>" . $value[origmailbox] . "</td> - <td>" . $value[duration] . " sec</td> - <td>" . $recordingLink . "</td> - </tr>"; - } - } - - // options - $url_opts = array(); - $url_opts['folder'] = $folder; - $url_opts['sort'] = $sort; - $url_opts['order'] = $order; - - $error = 0; - - // check for voicemail enabled - if ($_SESSION['ari_user']['voicemail_enabled']!=1) { - $_SESSION['ari_error'] = _("Voicemail Login not found.") . "<br>" . - _("No access to voicemail"); - $error = 1; - } - - // check admin - if ($extension=='admin') { - $_SESSION['ari_error'] = _("No Voicemail Recordings for Admin"); - $error = 1; - } - - // build page content - $ret .= checkErrorMessage(); - if ($error) { - return $ret; - } - - // ajax page refresh script - if ($AJAX_PAGE_REFRESH_ENABLE) { -// $ret .= ajaxRefreshScript($args); - } - - // header - $ret .= $display->displayHeaderText(sprintf(_("Voicemail for %s (%s)"),$displayname,$extension)); - $ret .= $display->displaySearchBlock('left',$m,$q,$url_opts,true); - - // start form - $ret .= " - <form name='voicemail_form' action='" . $_SESSION['ARI_ROOT'] . "' method='GET'> - <input type=hidden name=m value=" . $m . "> - <input type=hidden name=f value=msgAction> - <input type=hidden name=a value=''> - <input type=hidden name=q value=" . $q . "> - <input type=hidden name=folder value=" . $folder . "> - <input type=hidden name=start value=" . $start . "> - <input type=hidden name=span value=" . $span . "> - <input type=hidden name=order value=" . $order . "> - <input type=hidden name=sort value=" . $sort . ">"; - - $ret .= $display->displayInfoBarBlock($controls,$q,$start,$span,$record_count); - - // add javascript for popup and message actions - $ret .= " - <SCRIPT LANGUAGE='JavaScript'> - <!-- Begin - function popUp(URL) { - popup = window.open(URL, 'play', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=324,height=110'); - } - - function checkAll(form,set) { - var elem = 0; - var i = 0; - while (elem = form.elements[i]) { - if (set) { - elem.checked = true; - } else { - elem.checked = false; - } - i++; - } - return true; - } - // End --> - </script>"; - - // voicemail delete recording controls - $ret .= " - <table> - <tr> - <td> - <small>" . _("select") . ": </small> - <small><a href='' OnClick=\"checkAll(document.voicemail_form,true); return false;\">" . _("all") . "</a></small> - <small><a href='' OnClick=\"checkAll(document.voicemail_form,false); return false;\">" . _("none") . "</a></small> - </td> - </tr> - </table>"; - - // table - $ret .= " - <table class='voicemail'> - <tr> - " . $recording_delete_header . " - " . $recording_header . " - </tr> - " . $tableText . " - </table>"; - - // end form - $ret .= "</form>"; - - $ret .= $display->displaySearchBlock('center',$m,$q,$url_opts,false); - $ret .= $display->displayNavigationBlock($m,$q,$url_opts,$start,$span,$record_count); - - return $ret; - } - - /* - * Gets voicemail data - * - * @param $data - * Reference to the variable to store the data in - * @param $q - * search string - */ - function getVoicemailIndex($path,$q,$order,$sort) { - - $indexes = array(); - - $filter = '.txt'; - $recursiveMax = 0; - $recursiveCount = 0; - $files = getFiles($path,$filter,$recursiveMax,$recursiveCount); - - if (isset($files)) { - - // ugly, but sorts array by time stamp - foreach ($files as $file) { - - if (is_file($file)) { - - $lines = file($file); - foreach ($lines as $key => $line) { - unset($value); - list($key,$value) = split('=',$line); - if ($value) { - - if ($key=="origtime") { - $calldate = $value; - $date = GetDateFormat($value); - $time = GetTimeFormat($value); - } - if ($key=="callerid") { - $callerid = $value; - } - if ($key=="priority") { - $priority = $value; - } - if ($key=="origmailbox") { - $origmailbox = $value; - } - if ($key=="duration") { - $duration = (int)$value; - } - } - } - - // search filter - $found = 1; - if ($q) { - - $found = 0; - - if (preg_match("/" . $q . "/", $origmailbox) || - preg_match("/" . $q . "/", $callerid) || - preg_match("/" . $q . "/", $date) || - preg_match("/" . $q . "/", $time)) { - $found = 1; - } - } - } - - // add to index - if ($found) { - $indexes[$file] = $$order; - } - } - - if (count($indexes)) { - if ($sort=='desc') { - arsort($indexes); - } - else { - asort($indexes); - } - } - } - - return $indexes; - } - - /* - * Deletes selected voicemails - * - * @param $files - * Array of files to delete - */ - function deleteVoicemailData($files) { - - foreach($files as $key => $path) { - - // get file parts for search - $path_parts = pathinfo($path); - $path = fixPathSlash($path_parts['dirname']); - - list($name,$ext) = split("\.",$path_parts['basename']); - - // delete all related files using a wildcard - if (is_dir($path)) { - $hdl = opendir($path); - while ($fn = readdir($hdl)) { - if (preg_match("/" . $name ."/",$fn)) { - $file = $path . $fn; - unlink($file); - } - } - closedir($hdl); - } - } - } - - /* - * Moves selected voicemails to a specified folder - * - * @param $files - * Array of files to delete - * @param $extension_rx - * Mailbox to move message to - * @param $folder_rx - * Folder to move the messages to - */ - function moveVoicemailData($files,$context_rx,$extension_rx,$folder_rx) { - - global $ASTERISK_VOICEMAIL_PATH; - - $perm = fileperms($ASTERISK_VOICEMAIL_PATH); - $uid = fileowner($ASTERISK_VOICEMAIL_PATH); - $gid = filegroup($ASTERISK_VOICEMAIL_PATH); - - // recieving path - $paths = split(';',$ASTERISK_VOICEMAIL_PATH); - $path_rx = appendPath($paths[0],$context_rx); - if (!is_dir($path_rx)) { - mkdir($path_rx, $perm); - chown($path_rx,intval($uid)); - chgrp($path_rx,intval($gid)); - } - $path_rx = appendPath($path_rx,$extension_rx); - if (!is_dir($path_rx)) { - mkdir($path_rx, $perm); - chown($path_rx,intval($uid)); - chgrp($path_rx,intval($gid)); - } - $path_rx = appendPath($path_rx,$folder_rx); - if (!is_dir($path_rx)) { - mkdir($path_rx, $perm); - chown($path_rx,intval($uid)); - chgrp($path_rx,intval($gid)); - } - - // get recieving folder last message number - if (is_dir($path_rx)) { - - $lastNum = -1; - $lastNumLen = 4; - - $dh = opendir($path_rx); - while (false != ($filename = readdir($dh))) { - if($filename!="." && $filename!="..") { - - $msg_path = $path_rx; - $msg_path = appendPath($msg_path,$filename); - if (is_file($msg_path)) { - $path_parts = pathinfo($msg_path); - $num = preg_replace("/[a-zA-Z]|\./",'', $path_parts['basename']); - if ($num > $lastNum) { - $lastNum = $num; - $lastNumLen = strlen($lastNum); - } - } - } - } - } - else { - $_SESSION['ari_error'] = sprintf(_("Could not create mailbox folder %s on the server"),$folder_rx); - return; - } - - // copy files to new location, incrementing each message number - asort($files); - foreach($files as $key => $path) { - - // get file parts for search - $path_parts = pathinfo($path); - $path = $path_parts['dirname']; - $path = fixPathSlash($path); - list($name,$ext) = split("\.",$path_parts['basename']); - if (is_dir($path)) { - - $lastNum++; - $hdl = opendir($path); - while ($fn = readdir($hdl)) { - if (preg_match("/" . $name . "/",$fn)) { - $src = $path . $fn; - $path_parts = pathinfo($src); - $folder_rx = preg_replace("/\d+/",sprintf("%0" . $lastNumLen . "d",$lastNum),$path_parts['basename']); - $dst = appendPath($path_rx,$folder_rx); - if (is_writable($src) && is_writable($path_rx)) { - - $perm = fileperms($src); - $uid = fileowner($src); - $gid = filegroup($src); - - copy($src,$dst); - - if (is_writable($dst)) { - chmod($dst, $perm); - chown($dst,intval($uid)); - chgrp($dst,intval($gid)); - } - - unlink($src); - } - else { - $_SESSION['ari_error'] = sprintf(_("Permission denied on folder %s or %s"),$src,$path_rx); - return; - } - } - } - closedir($hdl); - } - } - } - - /* - * Gets voicemail record count - * - * @param $indexes - * array of files to be counted - * @return $count - * number of cdr records counted - */ - function getVoicemailCount($indexes) { - - $count = count($indexes); - - return $count; - } - - /* - * Gets voicemail data - * - * @param $indexes - * array of voicemail files - * @param $start - * message number to start page with - * @param $span - * number of messages to display on page - * @param $data - * Reference to the variable to store the data in - */ - function getVoicemailData($indexes,$start,$span) { - - $data = array(); - - if (!isset($indexes)) { - return; - } - - // populate array - $i = 0; - foreach ($indexes as $file => $index) { - if ($i>$start-1+$span) { - return $data; - } - elseif ($i>$start-1 && $i<$start+$span) { - $lines = file($file); - foreach ($lines as $key => $line) { - unset($value); - list($key,$value) = split('=',$line); - if ($value) { - $data[$file][$key] = $value; - } - } - } - $i++; - } - - return $data; - } - -} - - -?>
\ No newline at end of file diff --git a/fs_selfservice/fri/theme/global.css b/fs_selfservice/fri/theme/global.css deleted file mode 100644 index cd97aa285..000000000 --- a/fs_selfservice/fri/theme/global.css +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Global Styles - */ - -body { - color: #333; - background-color: white; - font-family: Verdana, Helvetica, Arial, sans-serif; -} - -div { - font-family: Verdana, Helvetica, Arial, sans-serif; -} - -h2 { - font-size: 1.2em; - font-family: "Trebuchet MS", Arial, Helvetica, Tahoma, Verdana, sans-serif; - margin-top: 0; - margin-bottom: 0; - color: #555; -} - -h3 { - font-size: 1em; - margin-top: 1.5em; - font-family: "Trebuchet MS", Arial, Helvetica, Tahoma, Verdana, sans-serif; - margin-top: 0; - margin-bottom: 0; - color: #555; -} - - -h4 { - font-family: "Trebuchet MS", Arial, Helvetica, Tahoma, Verdana, sans-serif; - margin-top: 0; - margin-bottom: 0; - color: #555; - margin-top: 1.5em -} - - - -sup { - font-size: 9px -} - -small small { - font-family: Verdana, Helvetica, Arial, sans-serif; - font-weight: bold; -} - - - -/***** info popups *****/ -a.info { - position:relative; - color:black; - border-bottom:1px dashed #ccc; -} -/* Added to solve the z-order problem of IE -*/ -a.info:hover { - background-color: #FFA178; - z-index:2; -} -/* End */ -a.info span{ - display: none; - background-color: #FFA178; -} -a.info:hover span{ - display:block; - position:absolute; - z-index:1; - top:2em; - left:-10em; - width:25em; - border:1px solid #F2AF1D; - background-color:#FDF1D5; - color:#000; - text-align:justify; - font-size:10px; - font-weight:normal; - padding:3px; - line-height:15px; -} - diff --git a/fs_selfservice/fri/theme/header.css b/fs_selfservice/fri/theme/header.css deleted file mode 100644 index 1c28e7a5a..000000000 --- a/fs_selfservice/fri/theme/header.css +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Header - */ - -/* Header */ - -#ariHeader { - position: relative; - background: #105D90; - height: 72px; - margin: 0; - padding: 0; - clear: both; -} - -#ariHeader span.left { - position: relative; - height: 72px; - border: 0px; - padding: 0px; - margin: 0px; - float: left; -} - -#ariHeader img { - border: 0px; -} - -#ariHeader span.right { - height: 72px; - border: 0px; - padding: 0px; - margin: 0px; - float: right; -} - -#ariHeader img { - border: 0px; -} - -/* Topnav */ - -#topnav { - width: 100%; - height: 36px; - border: 0; - padding: 0; - margin-top: -1px; /* stupid browser hack */ - color: #999; - background-color: #333; -} - -#topnav span.left { - float: left; - text-align: left; - font-weight: bold; - color: #fff; - width: 49%; -} - -#topnav span.right { - float: right; - text-align: right; - font-weight: bold; - color: #fff; - width: 49%; -} - -.topnav small b { - font-family: Verdana, Helvetica, Arial, sans-serif; - font-weight: bold; - background-color: #105D90; -} - -/* Headerspacer */ - -#headerspacer { - border: 0; - padding: 0; - margin-top: -16px; /* stupid browser hack */ - background-color: #fff; - height: 16px -}
\ No newline at end of file diff --git a/fs_selfservice/fri/theme/iefixes.css b/fs_selfservice/fri/theme/iefixes.css deleted file mode 100644 index a7939a454..000000000 --- a/fs_selfservice/fri/theme/iefixes.css +++ /dev/null @@ -1,16 +0,0 @@ -/* - * IE Fixes - */ - -/*Win IE fix \*/ -* html .minwidth { border-left: 760px solid #fff; position: relative; float: left; z-index: 1; } - -/*End Win IE fix*/ - -/*Win IE fix \*/ -* html .container { margin-left: -760px; position: relative; float: left; z-index :2; } -/*End Win IE fix*/ - - - - diff --git a/fs_selfservice/fri/theme/images/arrow-asc.gif b/fs_selfservice/fri/theme/images/arrow-asc.gif Binary files differdeleted file mode 100644 index 46a5848be..000000000 --- a/fs_selfservice/fri/theme/images/arrow-asc.gif +++ /dev/null diff --git a/fs_selfservice/fri/theme/images/arrow-desc.gif b/fs_selfservice/fri/theme/images/arrow-desc.gif Binary files differdeleted file mode 100644 index 6f4e5e6e7..000000000 --- a/fs_selfservice/fri/theme/images/arrow-desc.gif +++ /dev/null diff --git a/fs_selfservice/fri/theme/layout.css b/fs_selfservice/fri/theme/layout.css deleted file mode 100644 index a398714ee..000000000 --- a/fs_selfservice/fri/theme/layout.css +++ /dev/null @@ -1,420 +0,0 @@ -/* - * Layout - */ - -/* Page */ - -#page { - background-color: white; - text-align: left; - min-width: 760px; -} - -/* main */ - -#main { - min-width: 760px; - float: left; -} - -#main span.left { - float: left; -} - -#main span.right { - float: left; -} - -/* Center */ - -#center { - float: left; - margin-bottom: 20px; -} - -/* Login */ - -#login { - margin: 0; - padding: 0; -} -#login p { - font-size: 0.7em; -} -table#login { - width: 600px; - border: 0px; -} -table#login td.right { - text-align: right; - width: 20%; -} -table#login td.left { - text-align: left; -} -table#login td.small { - font-size: 0.7em; -} -table#login_text { - margin-left: 60px; - font-size: 0.8em; - text-align: left; -} - -/* i18n lang */ - -.lang { - display: inline; - font-size: 0.8em; - margin: 0; - padding: 0; -} -.lang_code { - margin: 0; - padding: 0; - width: 10em; -} - -/* Line */ - -#line { - min-width: 604px; - border: 1px solid #333; - padding: 0; - margin: 0; - color: #999; - background-color: #333; - height: 1px; -} -#line span.left { - float: left; - text-align: left; - font-weight: bold; - color: #fff; - width: 49%; -} -#line span.right { - float: right; - text-align: right; - font-weight: bold; - color: #fff; - width: 49%; -} - -/* Navbar */ - -#navbar { - width: 604px; - height: 24px; - border: 1px; - padding: 0; - margin-bottom: 0; - color: #fff; - background-color: #333; -} -#navbar span.left { - margin: 2px; - float: left; - text-align: left; - font-weight: bold; - vertical-align: middle; - width: 49%; -} -#navbar span.right { - margin: 2px; - float: right; - text-align: right; - font-weight: bold; - vertical-align: middle; - width: 49%; -} - -/* Info Bar */ - -#info_bar { - min-width: 604px; - border: 1px solid #333; - padding: 3px; - margin-top: -1px; /* stupid browser hack */ - color: #999; - background-color: #333; - height: 20px; -} -#info_bar span.left { - float: left; - text-align: left; - font-weight: bold; - color: #fff; - width: 49%; -} -#info_bar span.right { - float: right; - text-align: right; - font-weight: bold; - color: #fff; - width: 49%; -} -.info_bar a:link { - color: white; - text-decoration: none; -} -.info_bar a:active, a:link { - color: #105D90; -} -.info_bar a:hover { - color: #fc0; -} -.info_bar small b { - font-family: Verdana, Helvetica, Arial, sans-serif; - font-weight: bold; -} -input.infoBar { - font-size: 11px; - padding: 0px; - height: 22px; -} - -/* bars */ - -.bar { - margin: 0; -} - -.bar_left { - width: 604px; - margin: 0 0 16px 0; - padding: 0; -} - -.bar_center { - width: 604px; - text-align: center; - margin: 0 0 16px 0; - padding: 0; -} -.bar_center a:active, .bar_center a:hover { - color: red; -} - -/* Subheader */ - -#subheader { - padding: 0px; - margin: 0px; - margin-bottom: 16px; -} - -/* servBodL */ - -.servBodL { - border-left: 1px dotted #CEDCEA; -} - -/* Callmonitor */ - -table.callmonitor { - border: 1px #6699CC solid; - border-collapse: collapse; - border-spacing: 0px; - margin: 0 0 16px 0; - width: 604px; -} -table.callmonitor th { - background-color: #BEC8D1; - border: 1px solid #6699CC; - border-bottom: 2px solid #6699CC; - text-align: center; - font-family: Verdana; - font-weight: bold; - font-size: 0.7em; - color: #404040; -} -table.callmonitor th a { - color: #404040; -} -table.callmonitor img { - border: 0; -} -table.callmonitor td { - background-color: white; - border: 1px solid #6699CC; - color: #404040; - font-family: Verdana, sans-serif, Arial; - font-weight: normal; - font-size: 0.7em; - padding: 3px; - text-align: center; -} -table.callmonitor td.checkbox { - padding: 1px; -} - -/* Voicemail */ - -.voicemail { - margin: 0px; -} -table.voicemail { - border: 1px #6699CC solid; - border-collapse: collapse; - border-spacing: 0px; - margin: 0 0 16px 0; - width: 604px; -} -table.voicemail th { - background-color: #BEC8D1; - border: 1px solid #6699CC; - border-bottom: 2px solid #6699CC; - text-align: center; - font-family: Verdana; - font-weight: bold; - font-size: 0.7em; - color: #404040; -} -table.voicemail th a { - color: #404040; -} -table.voicemail img { - border: 0; -} -table.voicemail td { - background-color: white; - border: 1px solid #6699CC; - color: #404040; - font-family: Verdana, sans-serif, Arial; - font-weight: normal; - font-size: 0.7em; - padding: 3px; - text-align: center; -} -table.voicemail td.checkbox { - padding: 1px; -} - -/* Help */ - -.help { - margin: 0px; -} -table.help { - border: 1px #6699CC solid; - border-collapse: collapse; - border-spacing: 0px; - margin: 0 0 16px 0; -} -table.help th { - background-color: #BEC8D1; - border: 1px solid #6699CC; - border-bottom: 2px solid #6699CC; - font-family: Verdana; - font-weight: bold; - font-size: 0.7em; - color: #404040; -} -table.help th.feature_codes { - text-align: center; - width: 9em; -} -table.help th a { - color: #404040; -} -table.help img { - border: 0; -} -table.help td { - background-color: white; - border: 1px solid #6699CC; - color: #404040; - font-family: Verdana, sans-serif, Arial; - font-weight: normal; - font-size: 0.7em; - padding: 3px; -} -table.help td.feature_codes { - text-align: center; -} -table.help td.checkbox { - padding: 1px; -} - -/* Settings */ - -.settings { - font-family: Verdana, sans-serif, Arial; - font-weight: normal; - font-size: 0.9em; - padding: 0; - margin: 0; -} -table.settings { - font-family: Verdana; - color: #404040; - border-collapse: collapse; - border-spacing: 0px; - padding-bottom: 3px; -} -table.settings td { - color: #404040; - background-color: white; - padding: 3px; -} -table.settings td.note { - color: #105D90; -} - -/* Footer */ - -#ariFooter { - color: #999; - margin-left: 148px; - font-size: 10px; - overflow: auto; -/* width: 100%; */ - clear: both; -} - -#ariFooter a { - text-decoration: none; - color: #999; -} - -#ariFooter a:hover { - text-decoration: underline; - color: #105D90; -} - -#ariFooter a:link { - text-decoration: none; - color: #999; -} - -/* Misc */ - -.ariClearBoth { - clear: both; - margin: 0; - padding: 0; -} - -.ariBlockHide { - display: none; - height: 0; - width: 0; - overflow: hidden; - position: absolute; /* IE5 Mac */ -} - - - - - - - - - - - - - - - diff --git a/fs_selfservice/fri/theme/logo.gif b/fs_selfservice/fri/theme/logo.gif Binary files differdeleted file mode 100644 index b2d23d7a6..000000000 --- a/fs_selfservice/fri/theme/logo.gif +++ /dev/null diff --git a/fs_selfservice/fri/theme/main.css b/fs_selfservice/fri/theme/main.css deleted file mode 100644 index 6b9ba9405..000000000 --- a/fs_selfservice/fri/theme/main.css +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Main - */ - -@import url("global.css"); -@import url("text.css"); -@import url("layout.css"); -@import url("header.css"); -@import url("navigation.css"); - -@import url("iefixes.css"); - - diff --git a/fs_selfservice/fri/theme/navigation.css b/fs_selfservice/fri/theme/navigation.css deleted file mode 100644 index 907851b21..000000000 --- a/fs_selfservice/fri/theme/navigation.css +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Navigation - */ - -/* Menu */ - -#menu { - width: 148px; - float: left; -} - -/* Nav */ - -.nav { - font-weight: bold; - color: #105D90; - margin-right: 20px; -} - -.nav p { - margin: 0px; - padding-top: 2px; - padding-bottom: 3px; - background: #FFF; -} - -.nav a:visited { - color: #105D90; -} - -.sub { - margin-left: 1em; -} - -.navtext { - margin-left: 20px; -} - -.nav_b1 { - height: 1px; - font-size: 1px; - overflow: hidden; - display: block; - background: #EEE; - margin:0 5px; -} - -.nav_b2 { - height: 1px; - font-size: 1px; - overflow: hidden; - display: block; - background: #FFF; - border-right: 2px solid #EEE; - border-left: 2px solid #EEE; - margin:0 3px; -} - -.nav_b3 { - height: 1px; - font-size: 1px; - overflow: hidden; - display:block; - background: #FFF; - border-right: 1px solid #EEE; - border-left: 1px solid #EEE; - margin: 0 2px; -} - -.nav_b4 { - height: 2px; - font-size: 1px; - overflow: hidden; - display:block; - background: #FFF; - border-right: 1px solid #EEE; - border-left:1px solid #EEE; - margin:0 1px; -} - -#nav_menu { - background: #FFF; - border-right: 1px solid #EEE; - border-left: 1px solid #EEE; - padding-left: 0.75em; -} - -/* Subnav */ - -.subnav { - font-weight: bold; - color: #105D90; - margin-right: 20px; -} - -.subnav p { - margin: 0px; - padding-top: 2px; - padding-bottom: 3px; - background: #BEC8D1; -} - -.subnav a:visited { - color: #105D90; -} - -.subnav a.current, a:visited.current { - color: #404040; -} - -.subnav_b1 { - height: 1px; - font-size: 1px; - overflow: hidden; - display: block; - background: #aaa; - margin:0 5px; -} - -.subnav_b2 { - height: 1px; - font-size: 1px; - overflow: hidden; - display: block; - background: #BEC8D1; - border-right: 2px solid #aaa; - border-left: 2px solid #aaa; - margin:0 3px; -} - -.subnav_b3 { - height: 1px; - font-size: 1px; - overflow: hidden; - display:block; - background: #BEC8D1; - border-right: 1px solid #aaa; - border-left: 1px solid #aaa; - margin: 0 2px; -} - -.subnav_b4 { - height: 2px; - font-size: 1px; - overflow: hidden; - display:block; - background: #BEC8D1; - border-right: 1px solid #aaa; - border-left:1px solid #aaa; - margin:0 1px; -} - -.subnav_title { - font-weight: normal; - color: #105D90; - font-size: 12px; - padding-left: 1em; -} - -#subnav_menu { - background: #BEC8D1; - border-right: 1px solid #aaa; - border-left: 1px solid #aaa; - padding-left: 1.25em; -} - diff --git a/fs_selfservice/fri/theme/page.tpl.php b/fs_selfservice/fri/theme/page.tpl.php deleted file mode 100644 index 9d54659c3..000000000 --- a/fs_selfservice/fri/theme/page.tpl.php +++ /dev/null @@ -1,78 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <TITLE>User Portal</TITLE> - <link rel="stylesheet" href="theme/main.css" type="text/css"> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - </head> - <body> - <div id="page"> - <div class="minwidth"> - <div class="container"> - <div id="topnav"> - <div class="spacer"></div> - <span class="left"> - </span> - <div class="spacer"></div> - </div> - <div id="headerspacer"><img src="theme/spacer.gif" alt=""></div> - <div id="main"> - <div class="minwidth"> - <div class="container"> - <div class="spacer"></div> - <span class="left"> - <div id="menu"> - <div><img height=4 src="theme/spacer.gif" alt=""></div> - <div class="nav"> - <?php if ($nav_menu != '') { ?> - <b class='nav_b1'></b><b class='nav_b2'></b><b class='nav_b3'></b><b class='nav_b4'></b> - <div id='nav_menu'> - <?php print($nav_menu) ?> - </div> - <b class='nav_b4'></b><b class='nav_b3'></b><b class='nav_b2'></b><b class='nav_b1'></b> - <?php } ?> - </div> - <div><img height=14 src="theme/spacer.gif" alt=""></div> - <?php if ($subnav_menu != '') { ?> - <div class="subnav"> - <div class="subnav_title"><?php echo _("Folders")?>:</div> - <b class='subnav_b1'></b><b class='subnav_b2'></b><b class='subnav_b3'></b><b class='subnav_b4'></b> - <div id='subnav_menu'> - <?php print($subnav_menu) ?> - </div> - <b class='subnav_b4'></b><b class='subnav_b3'></b><b class='subnav_b2'></b><b class='subnav_b1'></b> - </div> - <?php } ?> - </div> - </span> - <span class="right"> - <div id="center"> - <?php if ($login != "") { ?> - <?php print($login) ?> - <?php } ?> - <div id="content"> - <!-- begin main content --> - <?php print($content) ?> - <!-- end main content --> - </div> - </div> - </span> - <div class="spacer"></div> - </div> - </div> - </div> - <!--begin footer--> - <div id="ariFooter"> - <small> - <!-- <?php print($ari_version) ?> <?php echo _("Version")?><br> --> - Freeside Recording Interface (c) 2008 Freeside Internet Services, Inc.<br> - <a href="http<?php print(isset($_SERVER['HTTPS'])&&$_SERVER['HTTPS']!=''?'s':''); ?>://www.littlejohnconsulting.com">Based on ARI from Littlejohn Consulting</a> - </small> - </div> - <!-- end footer --> - </div> - </div> - </div> - </body> -</html> - diff --git a/fs_selfservice/fri/theme/spacer.gif b/fs_selfservice/fri/theme/spacer.gif Binary files differdeleted file mode 100644 index 8f096840c..000000000 --- a/fs_selfservice/fri/theme/spacer.gif +++ /dev/null diff --git a/fs_selfservice/fri/theme/text.css b/fs_selfservice/fri/theme/text.css deleted file mode 100644 index 9625ca0bb..000000000 --- a/fs_selfservice/fri/theme/text.css +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Text - */ - -/* Error */ - -.error { - color: #CC3333; -} - diff --git a/fs_selfservice/fri/version.php b/fs_selfservice/fri/version.php deleted file mode 100644 index 7f313a138..000000000 --- a/fs_selfservice/fri/version.php +++ /dev/null @@ -1,10 +0,0 @@ -<?php - -/** - * @file - * version - */ - -$ARI_VERSION = 'FreePBX 2.3'; - -?> diff --git a/fs_selfservice/fs_passwd_test b/fs_selfservice/fs_passwd_test deleted file mode 100755 index 4f8b8a888..000000000 --- a/fs_selfservice/fs_passwd_test +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/perl -w - -use strict; -use FS::SelfService qw(passwd); - -my $rv = passwd( - 'username' => 'ivan', - 'old_password' => 'heyhoo', - 'new_password' => 'haloo', -); -my $error = $rv->{error}; - -if ( $error eq 'Incorrect password.' ) { - exit; -} else { - die $error if $error; - die "no error"; -} - diff --git a/fs_selfservice/java/biz/freeside/SelfService.java b/fs_selfservice/java/biz/freeside/SelfService.java deleted file mode 100755 index 752815a02..000000000 --- a/fs_selfservice/java/biz/freeside/SelfService.java +++ /dev/null @@ -1,52 +0,0 @@ -package biz.freeside; - -// see http://ws.apache.org/xmlrpc/client.html for these classes -import org.apache.xmlrpc.XmlRpcException; -import org.apache.xmlrpc.client.XmlRpcClient; -import org.apache.xmlrpc.client.XmlRpcClientConfig; -import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; - -import java.util.HashMap; -import java.util.List; -import java.net.URL; - -public class SelfService extends XmlRpcClient { - - public SelfService( String url ) throws Exception { - super(); - XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl(); - config.setServerURL(new URL( url )); - this.setConfig(config); - } - - private String canonicalMethod ( String method ) { - String canonical = new String(method); - if (!canonical.startsWith( "FS.SelfService.XMLRPC." )) { - canonical = "FS.SelfService.XMLRPC." + canonical; - } - return canonical; - } - - private HashMap testResponse ( Object toTest ) throws XmlRpcException { - if (! ( toTest instanceof HashMap )) { - throw new XmlRpcException("expected HashMap but got" + toTest.getClass()); - } - return (HashMap) toTest; - } - - public HashMap execute( String method, List params ) throws XmlRpcException { - return testResponse(super.execute( canonicalMethod(method), params )); - } - - public HashMap execute( String method, Object[] params ) throws XmlRpcException { - return testResponse(super.execute( canonicalMethod(method), params )); - } - - public HashMap execute( XmlRpcClientConfig config, String method, List params ) throws XmlRpcException { - return testResponse(super.execute( config, canonicalMethod(method), params )); - } - - public HashMap execute( XmlRpcClientConfig config, String method, Object[] params ) throws XmlRpcException { - return testResponse(super.execute( config, canonicalMethod(method), params )); - } -} diff --git a/fs_selfservice/java/freeside_create_ticket_example.java b/fs_selfservice/java/freeside_create_ticket_example.java deleted file mode 100755 index 759a4a6a3..000000000 --- a/fs_selfservice/java/freeside_create_ticket_example.java +++ /dev/null @@ -1,85 +0,0 @@ - -import biz.freeside.SelfService; -import org.apache.commons.logging.impl.SimpleLog; //included in apache xmlrpc -import java.util.HashMap; -import java.util.Vector; - -public class freeside_create_ticket_example { - private static SimpleLog logger = new SimpleLog("SelfService"); - - public static void main( String args[] ) throws Exception { - SelfService client = - new SelfService( "http://192.168.1.221:8081/xmlrpc.cgi" ); - - Vector params = new Vector(); - params.addElement( "username" ); - params.addElement( "4155551212" ); // svc_phone.phonenum - params.addElement( "password" ); - params.addElement( "5454" ); // svc_phone.pin - params.addElement( "domain" ); - params.addElement( "svc_phone" ); - HashMap result = client.execute( "login", params ); - - String error = (String) result.get("error"); - - if (error.length() < 1) { - - // successful login - - String sessionId = (String) result.get("session_id"); - - logger.trace("[login] logged into freeside with session_id="+sessionId); - - // store session id in your session store to be used for other calls - - // like, say, this one to create a ticket - - Vector ticket_params = new Vector(); - ticket_params.addElement( "session_id" ); - ticket_params.addElement( sessionId ); - ticket_params.addElement( "queue" ); - ticket_params.addElement( 3 ); // otherwise defaults to - // ticket_system-selfservice_queueid - // or ticket_system-default_queueid - ticket_params.addElement( "requestor" ); // these - ticket_params.addElement( "email@example.com" ); // are - ticket_params.addElement( "cc" ); // optional - ticket_params.addElement( "joe@example.com" ); // - ticket_params.addElement( "subject" ); - ticket_params.addElement( "Houston, we have a problem." ); - ticket_params.addElement( "message" ); - ticket_params.addElement( "The Oscillation Overthurster has gone out of alignment!<br><br>It needs to be fixed immediately! <A HREF=\"http://linktest.freeside.biz/hi\">link test</A>" ); - ticket_params.addElement( "mime_type" ); - ticket_params.addElement( "text/html" ); - - HashMap ticket_result = client.execute( "create_ticket", ticket_params); - - String error = (String) ticket_result.get("error"); - - if (error.length() < 1) { - - // successful ticket creation - - String ticketId = (String) ticket_result.get("ticket_id"); - - logger.trace("[login] ticket created with id="+ticketId); - - } else { - - // unsuccesful creating ticket - - logger.warn("[login] error creating ticket: "+error); - - } - - }else{ - - // unsuccessful login - - logger.warn("[login] error logging into freeside: "+error); - - // display/say error message to user - - } - } -} diff --git a/fs_selfservice/java/freeside_login_example.java b/fs_selfservice/java/freeside_login_example.java deleted file mode 100755 index cb6d2bcac..000000000 --- a/fs_selfservice/java/freeside_login_example.java +++ /dev/null @@ -1,45 +0,0 @@ - -import biz.freeside.SelfService; -import org.apache.commons.logging.impl.SimpleLog; //included in apache xmlrpc -import java.util.HashMap; -import java.util.Vector; - -public class freeside_login_example { - private static SimpleLog logger = new SimpleLog("SelfService"); - - public static void main( String args[] ) throws Exception { - SelfService client = - new SelfService( "http://192.168.1.221:8081/xmlrpc.cgi" ); - - Vector params = new Vector(); - params.addElement( "username" ); - params.addElement( "testuser" ); - params.addElement( "domain" ); - params.addElement( "example.com" ); - params.addElement( "password" ); - params.addElement( "testpass" ); - HashMap result = client.execute( "login", params ); - - String error = (String) result.get("error"); - - if (error.length() < 1) { - - // successful login - - String sessionId = (String) result.get("session_id"); - - logger.trace("[login] logged into freeside with session_id="+sessionId); - - // store session id in your session store to be used for other calls - - }else{ - - // successful login - - logger.warn("[login] error logging into freeside: "+error); - - // display error message to user - - } - } -} diff --git a/fs_selfservice/java/freeside_signup_example.java b/fs_selfservice/java/freeside_signup_example.java deleted file mode 100755 index 6c695c445..000000000 --- a/fs_selfservice/java/freeside_signup_example.java +++ /dev/null @@ -1,69 +0,0 @@ - -import biz.freeside.SelfService; -import org.apache.commons.logging.impl.SimpleLog; // included in apache xmlrpc -import java.util.HashMap; -import java.util.Vector; - -public class freeside_signup_example { - private static SimpleLog logger = new SimpleLog("SelfService"); - - public static void main( String args[] ) throws Exception { - SelfService client = - new SelfService( "http://192.168.1.221:8081/xmlrpc.cgi" ); - - Vector params = new Vector(); - params.addElement( "first" ); - params.addElement( "Test" ); - params.addElement( "last" ); - params.addElement( "User" ); - params.addElement( "address1"); - params.addElement( "123 Test Street" ); - params.addElement( "address2"); - params.addElement( "Suite A" ); - params.addElement( "city"); - params.addElement( "Testville" ); - params.addElement( "state"); - params.addElement( "OH" ); - params.addElement( "zip"); - params.addElement( "44632" ); - params.addElement( "country"); - params.addElement( "US" ); - params.addElement( "daytime" ); - params.addElement( "216-412-1234" ); - params.addElement( "fax" ); - params.addElement( "216-412-1235" ); - params.addElement( "payby" ); - params.addElement( "BILL" ); - params.addElement( "invoicing_list" ); - params.addElement( "test@test.example.com" ); - params.addElement( "pkgpart" ); - params.addElement( "101" ); - params.addElement( "popnum" ); - params.addElement( "4018" ); - params.addElement( "username" ); - params.addElement( "testy" ); - params.addElement( "_password" ); - params.addElement( "tester" ); - HashMap result = client.execute( "new_customer", params ); - - String error = (String) result.get("error"); - - if (error.length() < 1) { - - // successful signup - - String custnum = (String) result.get("custnum"); - - logger.trace("[new_customer] signup with custnum "+custnum); - - }else{ - - // unsuccessful signup - - logger.warn("[new_customer] signup error: "+error); - - // display error message to user - - } - } -} diff --git a/fs_selfservice/perl/xmlrpc-create_ticket.pl b/fs_selfservice/perl/xmlrpc-create_ticket.pl deleted file mode 100755 index 0ccada291..000000000 --- a/fs_selfservice/perl/xmlrpc-create_ticket.pl +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/perl - -use strict; -use Frontier::Client; -use Data::Dumper;; - -my $server = new Frontier::Client ( - url => 'http://localhost/selfservice/xmlrpc.cgi', -); - -my $result = $server->call('FS.SelfService.XMLRPC.login', - 'username' => '4155551212', - 'password' => '5454', - 'domain' => 'svc_phone', -); - -#print Dumper($result); -die $result->{'error'} if $result->{'error'}; - -my $session_id = $result->{'session_id'}; -warn "logged in with session_id $session_id\n"; - -my $t_result = $server->call('FS.SelfService.XMLRPC.create_ticket', - 'session_id' => $session_id, - 'queue' => 3, #otherwise defaults to ticket_system-selfservice_queueid - #or ticket_system-default_queueid - 'requestor' => 'harveylala@example.com', - 'cc' => 'chiquitabanana@example.com', - 'subject' => 'Chiquita keeps sitting on me', - 'message' => 'Is there something you can do about this?<BR><BR>She keeps waking me up! <A HREF="http://linktest.freeside.biz/hi">link test</A>', - 'mime_type' => 'text/html', -); - -die $t_result->{'error'} if $t_result->{'error'}; - -warn Dumper($t_result); - -my $ticket_id = $t_result->{'ticket_id'}; -warn "ticket $ticket_id created\n"; - -1; diff --git a/fs_selfservice/perl/xmlrpc_local-phonenum_balance.pl b/fs_selfservice/perl/xmlrpc_local-phonenum_balance.pl deleted file mode 100755 index 8cbb5b0f0..000000000 --- a/fs_selfservice/perl/xmlrpc_local-phonenum_balance.pl +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/perl - -use strict; -use Frontier::Client; -use Data::Dumper; - -my $phonenum = shift @ARGV; - -my $server = new Frontier::Client ( - url => 'http://localhost:8080/selfservice/xmlrpc.cgi', -); - -my $result = $server->call('FS.ClientAPI_XMLRPC.phonenum_balance', - 'phonenum' => $server->string($phonenum), # '3615588197', -); - -#print Dumper($result); -die $result->{'error'} if $result->{'error'}; - -warn Dumper($result); - -1; diff --git a/fs_selfservice/php/freeside.class.php b/fs_selfservice/php/freeside.class.php deleted file mode 100644 index bb2ac98ee..000000000 --- a/fs_selfservice/php/freeside.class.php +++ /dev/null @@ -1,34 +0,0 @@ -<?php -class FreesideSelfService { - - //Change this to match the location of your selfservice xmlrpc.cgi or daemon - #var $URL = 'https://localhost/selfservice/xmlrpc.cgi'; - var $URL = 'http://localhost/selfservice/xmlrpc.cgi'; - - function FreesideSelfService() { - $this; - } - - public function __call($name, $arguments) { - - error_log("[FreesideSelfService] $name called, sending to ". $this->URL); - - $request = xmlrpc_encode_request("FS.SelfService.XMLRPC.$name", $arguments); - $context = stream_context_create( array( 'http' => array( - 'method' => "POST", - 'header' => "Content-Type: text/xml", - 'content' => $request - ))); - $file = file_get_contents($this->URL, false, $context); - $response = xmlrpc_decode($file); - if (xmlrpc_is_fault($response)) { - trigger_error("[FreesideSelfService] XML-RPC communication error: $response[faultString] ($response[faultCode])"); - } else { - //error_log("[FreesideSelfService] $response"); - return $response; - } - } - -} - -?> diff --git a/fs_selfservice/php/freeside.login_example.php b/fs_selfservice/php/freeside.login_example.php deleted file mode 100644 index 69174a40a..000000000 --- a/fs_selfservice/php/freeside.login_example.php +++ /dev/null @@ -1,37 +0,0 @@ -<? - -require('freeside.class.php'); -$freeside = new FreesideSelfService(); - -$domain = 'example.com'; - -$response = $freeside->login( array( - 'username' => strtolower($_POST['username']), - 'domain' => $domain, - 'password' => strtolower($_POST['password']), -) ); - -error_log("[login] received response from freeside: $response"); -$error = $response['error']; - -if ( ! $error ) { - - // sucessful login - - $session_id = $response['session_id']; - - error_log("[login] logged into freeside with session_id=$session_id"); - - // store session id in your session store, to be used for other calls - -} else { - - // unsucessful login - - error_log("[login] error logging into freeside: $error"); - - // display error message to user - -} - -?> diff --git a/fs_selfservice/php/freeside_order_pkg_example.php b/fs_selfservice/php/freeside_order_pkg_example.php deleted file mode 100644 index 395ad1199..000000000 --- a/fs_selfservice/php/freeside_order_pkg_example.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php - -require('freeside.class.php'); -$freeside = new FreesideSelfService(); - -$response = $freeside->order_pkg( array( - 'session_id' => $_POST['session_id'], - 'pkgpart' => 15, #Freesize 25 - #if needed# 'svcpart' => - 'id' => $_POST['id'], #unique integer ID - 'name' => $_POST['name'], #text name -) ); - -$error = $response['error']; - -if ( ! $error ) { - - // sucessful order - - $pkgnum = $response['pkgnum']; - $svcnum = $response['svcnum']; - - error_log("[order_pkg] package ordered pkgnum=$pkgnum, svcnum=$svcnum"); - - // store svcnum, to be used for the customer_status call - -} else { - - // unsucessful order - - error_log("[order_pkg] error ordering package: $error"); - - // display error message to user - -} - - -?> diff --git a/fs_selfservice/php/freeside_signup_example.php b/fs_selfservice/php/freeside_signup_example.php deleted file mode 100644 index 8b1dc193c..000000000 --- a/fs_selfservice/php/freeside_signup_example.php +++ /dev/null @@ -1,49 +0,0 @@ -<? - -require('freeside.class.php'); -$freeside = new FreesideSelfService(); - -$response = $freeside->new_customer( array( - 'agentnum' => 1, - - 'first' => $_POST['first'], - 'last' => $_POST['last'], - 'address1' => $_POST['address1'], - 'address2' => $_POST['address2'], - 'city' => $_POST['city'], - 'state' => $_POST['state'], - 'zip' => $_POST['zip'], - 'country' => 'US', - 'daytime' => $_POST['daytime'], - 'fax' => $_POST['fax'], - - 'payby' => 'BILL', - 'invoicing_list' => $_POST['email'], - - 'pkgpart' => 2, - 'username' => strtolower($_POST['username']), - '_password' => strtolower($_POST['password']) -) ); - -error_log("[new_customer] received response from freeside: $response"); -$error = $response['error']; - -if ( ! $error ) { - - // sucessful signup - - $custnum = $response['custnum']; - - error_log("[new_customer] signup up with custnum $custnum"); - -} else { - - // unsucessful signup - - error_log("[new_customer] signup error:: $error"); - - // display error message to user - -} - -?> diff --git a/fs_selfservice/php/login.php b/fs_selfservice/php/login.php deleted file mode 100644 index d9609147e..000000000 --- a/fs_selfservice/php/login.php +++ /dev/null @@ -1,90 +0,0 @@ -<?php - -require('freeside.class.php'); -$freeside = new FreesideSelfService(); - -$login_info = $freeside->login_info(); - -extract($login_info); - -$error = $_GET['error']; -if ( $error ) { - $username = $_GET['username']; - $domain = $_GET['domain']; -} - -?> -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<HTML><HEAD><TITLE>Login</TITLE></HEAD> -<BODY BGCOLOR="#e8e8e8"><FONT SIZE=5>Login</FONT><BR><BR> -<FONT SIZE="+1" COLOR="#ff0000"><?php echo htmlspecialchars($error); ?></FONT> - -<FORM ACTION="process_login.php" METHOD=POST> -<INPUT TYPE="hidden" NAME="session" VALUE="login"> - -<TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=2 CELLPADDING=0> - -<TR> - <TH ALIGN="right">Username </TH> - <TD> - <INPUT TYPE="text" NAME="username" VALUE="<?php echo htmlspecialchars($username); ?>"><?php if ( $single_domain ) { echo '@'.$single_domain; } ?> - </TD> -</TR> - -<?php if ( $single_domain ) { ?> - - <INPUT TYPE="hidden" NAME="domain" VALUE="<?php echo $single_domain ?>"> - -<?php } else { ?> - - <TR> - <TH ALIGN="right">Domain </TH> - <TD> - <INPUT TYPE="text" NAME="domain" VALUE="<?php echo htmlspecialchars($domain); ?>"> - </TD> - </TR> - -<?php } ?> - -<TR> - <TH ALIGN="right">Password </TH> - <TD> - <INPUT TYPE="password" NAME="password"> - </TD> -</TR> -<TR> - <TD COLSPAN=2 ALIGN="center"><INPUT TYPE="submit" VALUE="Login"></TD> -</TR> -</TABLE> -</FORM> - -<?php if ( $phone_login ) { ?> - - <B>OR</B><BR><BR> - - <FORM ACTION="process_login.php" METHOD=POST> - <INPUT TYPE="hidden" NAME="session" VALUE="login"> - <TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=2 CELLPADDING=0> - <TR> - <TH ALIGN="right">Phone number </TH> - <TD> - <INPUT TYPE="text" NAME="username" VALUE="<?php echo htmlspecialchars($username) ?>"> - </TD> - </TR> - <INPUT TYPE="hidden" NAME="domain" VALUE="svc_phone"> - <TR> - <TH ALIGN="right">PIN </TH> - <TD> - <INPUT TYPE="password" NAME="password"> - </TD> - </TR> - <TR> - <TD COLSPAN=2 ALIGN="center"><INPUT TYPE="submit" VALUE="Login"></TD> - </TR> - </TABLE> - </FORM> - -<?php } ?> - -</BODY></HTML> - diff --git a/fs_selfservice/php/main.php b/fs_selfservice/php/main.php deleted file mode 100644 index b34a47730..000000000 --- a/fs_selfservice/php/main.php +++ /dev/null @@ -1,39 +0,0 @@ -<?php - -require('freeside.class.php'); -$freeside = new FreesideSelfService(); - -$session_id = $_GET['session_id']; - -$response = $freeside->customer_info( array( - 'session_id' => $session_id, -) ); - -$error = $response['error']; - -if ( $error ) { - header('Location:login.php?error='. urlencode($error)); - die(); -} - -extract($response); - -?> -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<HTML> - <HEAD> - <TITLE>My Account</TITLE> - </HEAD> - <BODY> - <H1>My Account</H1> - - Hello, <?php echo htmlspecialchars($name); ?><BR><BR> - - <?php echo $small_custview; ?> - - <BR> - - <A HREF="order_renew.php?session_id=<?php echo $session_id; ?>">Renew early</A> - - </BODY> -</HTML> diff --git a/fs_selfservice/php/order_renew.php b/fs_selfservice/php/order_renew.php deleted file mode 100644 index e74ba40af..000000000 --- a/fs_selfservice/php/order_renew.php +++ /dev/null @@ -1,166 +0,0 @@ -<?php - -require('freeside.class.php'); -$freeside = new FreesideSelfService(); - -$session_id = $_GET['session_id']; - -$renew_info = $freeside->renew_info( array( - 'session_id' => $session_id, -) ); - -$error = $renew_info['error']; - -if ( $error ) { - header('Location:login.php?error='. urlencode($error)); - die(); -} - -#in the simple case, just deal with the first package -$bill_date = $renew_info['dates'][0]['bill_date']; -$bill_date_pretty = $renew_info['dates'][0]['bill_date_pretty']; -$renew_date = $renew_info['dates'][0]['renew_date']; -$renew_date_pretty = $renew_info['dates'][0]['renew_date_pretty']; -$amount = $renew_info['dates'][0]['amount']; - -$payment_info = $freeside->payment_info( array( - 'session_id' => $session_id, -) ); - -extract($payment_info); - -?> -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<HTML> - <HEAD> - <TITLE>Renew Early</TITLE> - </HEAD> - <BODY> - <H1>Renew Early</H1> - - <FONT SIZE="+1" COLOR="#ff0000"><?php echo htmlspecialchars($_GET['error']); ?></FONT> - - <FORM NAME="OneTrueForm" METHOD="POST" ACTION="process_payment_order_renew.php" onSubmit="document.OneTrueForm.process.disabled=true"> - - <INPUT TYPE="hidden" NAME="date" VALUE="<?php echo $date; ?>"> - <INPUT TYPE="hidden" NAME="session_id" VALUE="<?php echo $session_id; ?>"> - <INPUT TYPE="hidden" NAME="amount" VALUE="<?php echo $amount; ?>"> - - A payment of $<?php echo $amount; ?> will renew your account through <?php echo $renew_date_pretty; ?>.<BR><BR> - - <TABLE BGCOLOR="#cccccc"> - <TR> - <TD ALIGN="right">Amount</TD> - <TD> - <TABLE><TR><TD BGCOLOR="#ffffff"> - $<?php echo $amount; ?> - </TD></TR></TABLE> - </TD> - </TR> - <TR> - <TD ALIGN="right">Card type</TD> - <TD> - <SELECT NAME="card_type"><OPTION></OPTION> - <?php foreach ( array_keys($card_types) as $t ) { ?> - <OPTION <?php if ($card_type == $card_types[$t] ) { ?> SELECTED <?php } ?> - VALUE="<?php echo $card_types[$t]; ?>" - ><?php echo $t; ?> - <?php } ?> - </SELECT> - </TD> - </TR> - - <TR> - <TD ALIGN="right">Card number</TD> - <TD> - <TABLE> - <TR> - <TD> - <INPUT TYPE="text" NAME="payinfo" SIZE=20 MAXLENGTH=19 VALUE="<?php echo $payinfo; ?>"> </TD> - <TD>Exp.</TD> - <TD> - <SELECT NAME="month"> - <?php foreach ( array('01','02','03','04','05','06','07','08','09','10','11','12') as $m) { ?> - <OPTION<?php if ($m == $month ) { ?> SELECTED<?php } ?> - ><?php echo $m; ?> - <?php } ?> - </SELECT> - </TD> - <TD> / </TD> - <TD> - <SELECT NAME="year"> - <?php $lt = localtime(); $y = $lt[5] + 1900; - for ($y = $lt[5]+1900; $y < $lt[5] + 1910; $y++ ) { ?> - <OPTION<?php if ($y == $year ) { ?> SELECTED<?php } ?> - ><?php echo $y; ?> - <?php } ?> - </SELECT> - </TD> - </TR> - </TABLE> - </TD> - </TR> - <?php if ( $withcvv ) { ?> - <TR> - <TD ALIGN="right">CVV2 (<A HREF="javascript:myopen('cvv2.html','cvv2','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=480,height=288')">help</A>)</TD> - <TD><INPUT TYPE="text" NAME="paycvv" VALUE="" SIZE=4 MAXLENGTH=4></TD> - </TR> - <?php } ?> - <TR> - <TD ALIGN="right">Exact name on card</TD> - <TD><INPUT TYPE="text" SIZE=32 MAXLENGTH=80 NAME="payname" VALUE="<?php echo $payname; ?>"></TD> - </TR><TR> - <TD ALIGN="right">Card billing address</TD> - <TD> - <INPUT TYPE="text" SIZE=40 MAXLENGTH=80 NAME="address1" VALUE="<?php echo $address1; ?>"> - </TD> - </TR><TR> - <TD ALIGN="right">Address line 2</TD> - <TD> - <INPUT TYPE="text" SIZE=40 MAXLENGTH=80 NAME="address2" VALUE="<?php echo $address2; ?>"> - </TD> - </TR><TR> - <TD ALIGN="right">City</TD> - <TD> - <TABLE> - <TR> - <TD> - <INPUT TYPE="text" NAME="city" SIZE="12" MAXLENGTH=80 VALUE="<?php echo $city; ?>"> - </TD> - <TD>State</TD> - <TD> - <SELECT NAME="state"> - <?php foreach ( $states as $s ) { ?> - <OPTION<?php if ($s == $state) { ?> SELECTED<?php } ?> - ><?php echo $s; ?> - <?php } ?> - </SELECT> - </TD> - <TD>Zip</TD> - <TD> - <INPUT TYPE="text" NAME="zip" SIZE=11 MAXLENGTH=10 VALUE="<?php echo $zip; ?>"> - </TD> - </TR> - </TABLE> - </TD> - </TR> - - <TR> - <TD COLSPAN=2> - <INPUT TYPE="checkbox" CHECKED NAME="save" VALUE="1"> - Remember this information - </TD> - </TR><TR> - <TD COLSPAN=2> - <INPUT TYPE="checkbox"<?php if ( $payby == 'CARD' ) { ?> CHECKED<?php } ?> NAME="auto" VALUE="1" onClick="if (this.checked) { document.OneTrueForm.save.checked=true; }"> - Charge future payments to this card automatically - </TD> - </TR> - </TABLE> - <BR> - <INPUT TYPE="hidden" NAME="paybatch" VALUE="<?php echo $paybatch; ?>"> - <INPUT TYPE="submit" NAME="process" VALUE="Process payment"> <!-- onClick="this.disabled=true"> --> - </FORM> - - </BODY> -</HTML> diff --git a/fs_selfservice/php/process_login.php b/fs_selfservice/php/process_login.php deleted file mode 100644 index 1f4fd9a6b..000000000 --- a/fs_selfservice/php/process_login.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php - -require('freeside.class.php'); -$freeside = new FreesideSelfService(); - -$response = $freeside->login( array( - 'username' => strtolower($_POST['username']), - 'domain' => strtolower($_POST['domain']), - 'password' => strtolower($_POST['password']), -) ); - -#error_log("[login] received response from freeside: $response"); - -$error = $response['error']; - -if ( $error ) { - - header('Location:login.php?username='. urlencode($username). - '&domain='. urlencode($domain). - '&error='. urlencode($error) - ); - die(); - -} - -// sucessful login - -$session_id = $response['session_id']; - -#error_log("[login] logged into freeside with session_id=$session_id"); - -// now what? for now, always redirect to the main page. -// eventually, other options? - -header("Location:main.php?session_id=$session_id") -#die(); - -?> diff --git a/fs_selfservice/php/process_payment_order_renew.php b/fs_selfservice/php/process_payment_order_renew.php deleted file mode 100644 index 20594624b..000000000 --- a/fs_selfservice/php/process_payment_order_renew.php +++ /dev/null @@ -1,74 +0,0 @@ -<?php - -require('freeside.class.php'); -$freeside = new FreesideSelfService(); - -$response = $freeside->process_payment_order_renew( array( - 'session_id' => $_POST['session_id'], - 'payby' => 'CARD', - 'amount' => $_POST['amount'], - 'payinfo' => $_POST['payinfo'], - 'paycvv' => $_POST['paycvv'], - 'month' => $_POST['month'], - 'year' => $_POST['year'], - 'payname' => $_POST['payname'], - 'address1' => $_POST['address1'], - 'address2' => $_POST['address2'], - 'city' => $_POST['city'], - 'state' => $_POST['state'], - 'zip' => $_POST['zip'], - 'save' => $_POST['save'], - 'auto' => $_POST['auto'], - 'paybatch' => $_POST['paybatch'], -) ); - -error_log("[process_payment_order_renew] received response from freeside: $response"); - -$error = $response['error']; - -if ( $error ) { - - error_log("[process_payment_order_renew] response error: $error"); - - header('Location:order_renew.php'. - '?session_id='. urlencode($_POST['session_id']). - '?error='. urlencode($error). - '&payby=CARD'. - '&amount='. urlencode($_POST['amount']). - '&payinfo='. urlencode($_POST['payinfo']). - '&paycvv='. urlencode($_POST['paycvv']). - '&month='. urlencode($_POST['month']). - '&year='. urlencode($_POST['year']). - '&payname='. urlencode($_POST['payname']). - '&address1='. urlencode($_POST['address1']). - '&address2='. urlencode($_POST['address2']). - '&city='. urlencode($_POST['city']). - '&state='. urlencode($_POST['state']). - '&zip='. urlencode($_POST['zip']). - '&save='. urlencode($_POST['save']). - '&auto='. urlencode($_POST['auto']). - '&paybatch='. urlencode($_POST['paybatch']) - ); - die(); - -} - -// sucessful renewal. - -$session_id = $response['session_id']; - -// now what? - -?> -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<HTML> - <HEAD> - <TITLE>Renew Early</TITLE> - </HEAD> - <BODY> - <H1>Renew Early</H1> - - Renewal processed sucessfully. - - </BODY> -</HTML> |