diff options
author | ivan <ivan> | 2010-08-04 01:15:51 +0000 |
---|---|---|
committer | ivan <ivan> | 2010-08-04 01:15:51 +0000 |
commit | d6410143bcc839925e955ea84d4ce5b83a770bd5 (patch) | |
tree | e5e2f59e9185294d6c03f9d28ecdd0270b9bc585 | |
parent | 492f852b74ab2e2d7a059ad034e42c438d1745e4 (diff) |
better serialization on debugging data, RT#7514
-rw-r--r-- | FS/FS/part_export/communigate_pro.pm | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/FS/FS/part_export/communigate_pro.pm b/FS/FS/part_export/communigate_pro.pm index 3ac0dfd9c..76fd60815 100644 --- a/FS/FS/part_export/communigate_pro.pm +++ b/FS/FS/part_export/communigate_pro.pm @@ -732,7 +732,11 @@ sub export_getsettings_svc_domain { { my $value = $effective_settings->{$key}; if ( ref($value) eq 'ARRAY' ) { - $effective_settings->{$key} = join(' ', @$value); + $effective_settings->{$key} = + join(' ', map { ref($_) ? '['.join(', ', @$_).']' : $_ } @$value ); + } elsif ( ref($value) eq 'HASH' ) { + $effective_settings->{$key} = + join(', ', map { "$_:".$value->{$_} } keys %$value ); } else { #XXX warn "serializing ". ref($value). " for table display not yet handled"; @@ -821,7 +825,11 @@ sub export_getsettings_svc_acct { { my $value = $effective_settings->{$key}; if ( ref($value) eq 'ARRAY' ) { - $effective_settings->{$key} = join(' ', @$value); + $effective_settings->{$key} = + join(' ', map { ref($_) ? '['.join(', ', @$_).']' : $_ } @$value ); + } elsif ( ref($value) eq 'HASH' ) { + $effective_settings->{$key} = + join(', ', map { "$_:".$value->{$_} } keys %$value ); } else { #XXX warn "serializing ". ref($value). " for table display not yet handled"; |