X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FClientAPI_XMLRPC.pm;h=464bd6374c79bff821ab2395ddc6145d34cd606e;hb=f4ad9107585d16317bb15bf3223fe8b8eeeeb82c;hp=0420d1a1314c493d56d482c85bbd82118957431d;hpb=0fa98e9782d550147a68a00d7ee75079ad331666;p=freeside.git diff --git a/FS/FS/ClientAPI_XMLRPC.pm b/FS/FS/ClientAPI_XMLRPC.pm index 0420d1a13..464bd6374 100644 --- a/FS/FS/ClientAPI_XMLRPC.pm +++ b/FS/FS/ClientAPI_XMLRPC.pm @@ -47,13 +47,18 @@ 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, + '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 +80,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 ); @@ -127,6 +134,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', 'cancel' => 'MyAccount/cancel', #add to ss cgi! 'payment_info' => 'MyAccount/payment_info', 'payment_info_renew_info' => 'MyAccount/payment_info_renew_info', @@ -141,6 +150,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', @@ -212,6 +222,8 @@ sub ss2clientapi { 'quotation_add_pkg' => 'MyAccount/quotation/quotation_add_pkg', 'quotation_remove_pkg' => 'MyAccount/quotation/quotation_remove_pkg', 'quotation_order' => 'MyAccount/quotation/quotation_order', + 'get_mac_address' => 'MyAccount/get_mac_address', + 'check_access' => 'MyAccount/check_access', 'freesideinc_service' => 'Freeside/freesideinc_service', };