diff options
author | tetragon <tetragon@4979c152-3d1c-0410-bac9-87ea11338e46> | 2007-10-18 23:00:16 +0000 |
---|---|---|
committer | tetragon <tetragon@4979c152-3d1c-0410-bac9-87ea11338e46> | 2007-10-18 23:00:16 +0000 |
commit | 152171006218a1ecfbaf567c8e20ce854d09c613 (patch) | |
tree | 9bc582016d826ed17f57ba24504493059f3e8d15 /LedgerSMB/Template/CSV.pm | |
parent | 9bfd772f2b58e5e236e6b81912f2a683b5d8207d (diff) |
Some template handling tweaking to allow for escaping scalar references
git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@1788 4979c152-3d1c-0410-bac9-87ea11338e46
Diffstat (limited to 'LedgerSMB/Template/CSV.pm')
-rwxr-xr-x | LedgerSMB/Template/CSV.pm | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/LedgerSMB/Template/CSV.pm b/LedgerSMB/Template/CSV.pm index 9700a18a..50edef15 100755 --- a/LedgerSMB/Template/CSV.pm +++ b/LedgerSMB/Template/CSV.pm @@ -38,6 +38,9 @@ holders, see the CONTRIBUTORS file. package LedgerSMB::Template::CSV; +use warnings; +use strict; + use Error qw(:try); use Template; use LedgerSMB::Template::TTI18N; @@ -54,12 +57,17 @@ sub preprocess { #XXX fix escaping function return $rawvars if $type =~ /^LedgerSMB::Locale/; + return unless defined $rawvars; if ( $type eq 'ARRAY' ) { for (@{$rawvars}) { push @{$vars}, preprocess( $_ ); } - } elsif ( !$type ) { # Scalar - $vars = $rawvars; + } elsif ( !$type or $type eq 'SCALAR' ) { # Scalar + if ($type eq 'SCALAR' ) { + $vars = $$rawvars; + } else { + $vars = $rawvars; + } $vars =~ s/(^ +| +$)//g; $vars =~ s/"/""/g; $vars = qq|"$vars"| if $vars !~ /^\w*$/; |