[freeside-commits] branch FREESIDE_3_BRANCH updated. a2dbfca9b10917eba6e8ec2231eb2cc764b886b2

Ivan ivan at 420.am
Mon Oct 5 14:43:35 PDT 2015


The branch, FREESIDE_3_BRANCH has been updated
       via  a2dbfca9b10917eba6e8ec2231eb2cc764b886b2 (commit)
      from  5b27ffc34056dbd340f83db34f00defc7cccae24 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a2dbfca9b10917eba6e8ec2231eb2cc764b886b2
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Mon Oct 5 14:43:30 2015 -0700

    fix UTF-8 in ClientAPI, RT#38254

diff --git a/FS/FS/ClientAPI_XMLRPC.pm b/FS/FS/ClientAPI_XMLRPC.pm
index 5934402..96b4b71 100644
--- a/FS/FS/ClientAPI_XMLRPC.pm
+++ b/FS/FS/ClientAPI_XMLRPC.pm
@@ -30,6 +30,7 @@ L<FS::SelfService::XMLRPC>, L<FS::SelfService>
 use strict;
 
 use vars qw($DEBUG $AUTOLOAD);
+use Encode;
 use XMLRPC::Lite; # for XMLRPC::Data
 use FS::ClientAPI;
 
@@ -67,12 +68,17 @@ sub AUTOLOAD {
 
     shift; #discard package name;
 
+
     #$call = "FS::SelfService::$call";
     #no strict 'refs';
     #&{$call}(@_);
     #FS::ClientAPI->dispatch($autoload->{$call}, @_);
 
-    my $return = FS::ClientAPI->dispatch($autoload->{$call}, { @_ } );
+    my %hash = @_;
+    #XXX doesn't handle multi-level data structs
+    $hash{$_} = decode(utf8=>$hash{$_}) foreach keys %hash;
+
+    my $return = FS::ClientAPI->dispatch($autoload->{$call}, \%hash );
 
     if ( exists($typefix{$call}) ) {
       my $typefix = $typefix{$call};
@@ -85,7 +91,7 @@ sub AUTOLOAD {
 
     $return;
 
-  }else{
+  } else {
     die "No such procedure: $call";
   }
 }

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/ClientAPI_XMLRPC.pm |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)




More information about the freeside-commits mailing list