summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorivan <ivan>2011-07-27 23:56:55 +0000
committerivan <ivan>2011-07-27 23:56:55 +0000
commit18db2b641feada9d073de97a918b9a84b5a9729d (patch)
treeb5620af72b10d6753f1c0c8a205ed77cc08fdd9a /FS
parentbb0a133d8272271cbd4f8798b3e43a93e86022eb (diff)
fix i18n of javascript re-print/email confirmations, RT#12515
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/Maketext.pm12
-rw-r--r--FS/FS/Mason.pm3
2 files changed, 13 insertions, 2 deletions
diff --git a/FS/FS/Maketext.pm b/FS/FS/Maketext.pm
index 965c9990c..ccfc1204b 100644
--- a/FS/FS/Maketext.pm
+++ b/FS/FS/Maketext.pm
@@ -6,7 +6,7 @@ use FS::Conf;
use FS::L10N;
use HTML::Entities qw( encode_entities );
-our @EXPORT_OK = qw( mt emt );
+our @EXPORT_OK = qw( mt emt js_mt );
our $lh;
@@ -20,6 +20,16 @@ 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')
diff --git a/FS/FS/Mason.pm b/FS/FS/Mason.pm
index 934004e4a..3691975ee 100644
--- a/FS/FS/Mason.pm
+++ b/FS/FS/Mason.pm
@@ -140,7 +140,7 @@ if ( -e $addl_handler_use_file ) {
use FS::NetworkMonitoringSystem;
use FS::Tron qw( tron_lint );
use FS::Locales;
- use FS::Maketext qw( mt emt );
+ use FS::Maketext qw( mt emt js_mt );
use FS::agent;
use FS::agent_type;
@@ -526,6 +526,7 @@ sub mason_interps {
my $html_defang = new HTML::Defang (%defang_opts);
+ #false laziness w/ FS::Maketext js_mt
my $js_string_sub = sub {
#${$_[0]} =~ s/(['\\\n])/'\\'.($1 eq "\n" ? 'n' : $1)/ge;
${$_[0]} =~ s/(['\\])/\\$1/g;