X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FClientAPI_XMLRPC.pm;h=430edfe366be57fe44953f84d3161c9bf8d9666f;hp=e69a06e32fc0612ece27d6d48c0b99ab27062360;hb=20f03d52cc6c930f610c0b4466eeeeda54fdbb40;hpb=80bfc5e1b11694553ddaa48e3b181462cfadc9dd diff --git a/FS/FS/ClientAPI_XMLRPC.pm b/FS/FS/ClientAPI_XMLRPC.pm index e69a06e32..430edfe36 100644 --- a/FS/FS/ClientAPI_XMLRPC.pm +++ b/FS/FS/ClientAPI_XMLRPC.pm @@ -47,13 +47,19 @@ our %typefix_skin_info = ( 'menu_bottom_image' => 'base64', ); our %typefix = ( - 'invoice_pdf' => { 'invoice_pdf' => 'base64', }, - 'legacy_invoice_pdf' => { 'invoice_pdf' => 'base64', }, - 'skin_info' => \%typefix_skin_info, - 'login_info' => \%typefix_skin_info, - 'invoice_logo' => { 'logo' => 'base64', }, - 'login_banner_image' => { 'image' => 'base64', }, - 'quotation_print' => { 'document' => 'base64' }, + 'invoice_pdf' => { 'invoice_pdf' => 'base64', }, + 'legacy_invoice_pdf' => { 'invoice_pdf' => 'base64', }, + 'skin_info' => \%typefix_skin_info, + 'payment_only_skin_info' => \%typefix_skin_info, + 'login_info' => \%typefix_skin_info, + 'logout' => \%typefix_skin_info, + 'access_info' => \%typefix_skin_info, + 'reset_passwd' => \%typefix_skin_info, + 'check_reset_passwd' => \%typefix_skin_info, + 'process_reset_passwd' => \%typefix_skin_info, + 'invoice_logo' => { 'logo' => 'base64', }, + 'login_banner_image' => { 'image' => 'base64', }, + 'quotation_print' => { 'document' => 'base64' }, ); sub AUTOLOAD { @@ -75,8 +81,10 @@ sub AUTOLOAD { #FS::ClientAPI->dispatch($autoload->{$call}, @_); my %hash = @_; - #XXX doesn't handle multi-level data structs - $hash{$_} = decode(utf8=>$hash{$_}) foreach keys %hash; + #XXX doesn't deep-fix multi-level data structs, but at least doesn't mangle + # them anymore + $hash{$_} = decode(utf8=>$hash{$_}) + foreach grep !ref($hash{$_}), keys %hash; my $return = FS::ClientAPI->dispatch($autoload->{$call}, \%hash ); @@ -128,6 +136,8 @@ sub ss2clientapi { 'legacy_invoice_pdf' => 'MyAccount/legacy_invoice_pdf', 'invoice_logo' => 'MyAccount/invoice_logo', 'list_invoices' => 'MyAccount/list_invoices', #? + 'list_payments' => 'MyAccount/list_payments', + 'payment_receipt' => 'MyAccount/payment_receipt', 'list_payby' => 'MyAccount/list_payby', 'insert_payby' => 'MyAccount/insert_payby', 'update_payby' => 'MyAccount/update_payby', @@ -146,6 +156,7 @@ sub ss2clientapi { 'finish_thirdparty' => 'MyAccount/finish_thirdparty', 'realtime_collect' => 'MyAccount/realtime_collect', 'list_pkgs' => 'MyAccount/list_pkgs', #add to ss (added?) + 'pkg_info' => 'MyAccount/pkg_info', 'list_svcs' => 'MyAccount/list_svcs', #add to ss (added?) 'list_svc_usage' => 'MyAccount/list_svc_usage', 'svc_status_html' => 'MyAccount/svc_status_html', @@ -205,6 +216,7 @@ sub ss2clientapi { 'suspend_username' => 'Agent/suspend_username', 'unsuspend_username' => 'Agent/unsuspend_username', 'mason_comp' => 'MasonComponent/mason_comp', + 'payment_only_mason_comp' => 'MasonComponent/payment_only_mason_comp', 'call_time' => 'PrepaidPhone/call_time', 'call_time_nanpa' => 'PrepaidPhone/call_time_nanpa', 'phonenum_balance' => 'PrepaidPhone/phonenum_balance', @@ -217,6 +229,12 @@ sub ss2clientapi { 'quotation_add_pkg' => 'MyAccount/quotation/quotation_add_pkg', 'quotation_remove_pkg' => 'MyAccount/quotation/quotation_remove_pkg', 'quotation_order' => 'MyAccount/quotation/quotation_order', + 'ip_login' => 'PaymentOnly/ip_login', + 'ip_logout' => 'PaymentOnly/ip_logout', + 'get_mac_address' => 'PaymentOnly/get_mac_address', + 'payment_only_skin_info' => 'PaymentOnly/payment_only_skin_info', + 'payment_only_payment_info' => 'PaymentOnly/payment_only_payment_info', + 'payment_only_process_payment' => 'PaymentOnly/payment_only_process_payment', 'freesideinc_service' => 'Freeside/freesideinc_service', };