X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FMaketext.pm;h=c90e573037cd7fef36fa43848ff73f0622a9fba0;hb=80511cb4158b98db01deec317e5408675487bc6e;hp=319fb1d37edf2303a81782162d70fe3a45e385ce;hpb=be40a9fa3750374b32f2aa31e8807433c05d7817;p=freeside.git diff --git a/FS/FS/Maketext.pm b/FS/FS/Maketext.pm index 319fb1d37..c90e57303 100644 --- a/FS/FS/Maketext.pm +++ b/FS/FS/Maketext.pm @@ -4,16 +4,33 @@ use base qw( Exporter ); use FS::CurrentUser; use FS::Conf; use FS::L10N; +use HTML::Entities qw( encode_entities ); -our @EXPORT_OK = qw( mt ); +our @EXPORT_OK = qw( mt emt js_mt ); our $lh; sub mt { + return '' if $_[0] eq ''; $lh ||= lh(); $lh->maketext(@_); } +# HTML-escaped version of mt() +sub emt { + encode_entities(mt(@_)); +} + +# Javascript-escaped version of mt() +sub js_mt { + my $s = mt(@_); + #false laziness w/Mason.pm + $s =~ s/(['\\])/\\$1/g; + $s =~ s/\r/\\r/g; + $s =~ s/\n/\\n/g; + $s = "'$s'"; +} + sub lh { my $locale = $FS::CurrentUser::CurrentUser->option('locale') || FS::Conf->new->config('locale')