X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FMason.pm;h=0f14150099dc76339c1b7da2b6b8deede8a39b99;hb=22e59cf0fddecd4808a6ce91fe2b1712f3ab3c87;hp=6bc2338441319621a48bd5318e5f93d04c3c4f5d;hpb=76c8b9576ce93895433de2d9a2f5a0524a733103;p=freeside.git diff --git a/FS/FS/Mason.pm b/FS/FS/Mason.pm index 6bc233844..0f1415009 100644 --- a/FS/FS/Mason.pm +++ b/FS/FS/Mason.pm @@ -244,6 +244,10 @@ if ( -e $addl_handler_use_file ) { use FS::cgp_rule_action; use FS::bill_batch; use FS::cust_bill_batch; + use FS::rate_time; + use FS::rate_time_interval; + use FS::msg_template; + use FS::part_tag; # Sammath Naur if ( $FS::Mason::addl_handler_use ) { @@ -476,14 +480,17 @@ sub mason_interps { my $html_defang = new HTML::Defang (%defang_opts); + my $js_string_sub = sub { + #${$_[0]} =~ s/(['\\\n])/'\\'.($1 eq "\n" ? 'n' : $1)/ge; + ${$_[0]} =~ s/(['\\])/\\$1/g; + ${$_[0]} =~ s/\r/\\r/g; + ${$_[0]} =~ s/\n/\\n/g; + ${$_[0]} = "'". ${$_[0]}. "'"; + }; + my $fs_interp = new HTML::Mason::Interp ( %interp, - escape_flags => { 'js_string' => sub { - #${$_[0]} =~ s/(['\\\n])/'\\'.($1 eq "\n" ? 'n' : $1)/ge; - ${$_[0]} =~ s/(['\\])/\\$1/g; - ${$_[0]} =~ s/\n/\\n/g; - ${$_[0]} = "'". ${$_[0]}. "'"; - }, + escape_flags => { 'js_string' => $js_string_sub, 'defang' => sub { ${$_[0]} = $html_defang->defang(${$_[0]}); }, @@ -495,7 +502,9 @@ sub mason_interps { my $rt_interp = new HTML::Mason::Interp ( %interp, - escape_flags => { 'h' => \&RT::Interface::Web::EscapeUTF8 }, + escape_flags => { 'h' => \&RT::Interface::Web::EscapeUTF8, + 'js_string' => $js_string_sub, + }, compiler => HTML::Mason::Compiler::ToObject->new( default_escape_flags => 'h', allow_globals => [qw(%session)],