X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FMason.pm;h=0f14150099dc76339c1b7da2b6b8deede8a39b99;hb=bdcb36b078b81da7de1aa2ba8d38af91964bbbf7;hp=aec6342b09889a2c1d3a42a9479be54636dce951;hpb=184a1a9cfcd3beb1c4eabbdb2cfa5b5064684b9c;p=freeside.git diff --git a/FS/FS/Mason.pm b/FS/FS/Mason.pm index aec6342b0..0f1415009 100644 --- a/FS/FS/Mason.pm +++ b/FS/FS/Mason.pm @@ -247,6 +247,7 @@ if ( -e $addl_handler_use_file ) { 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 ) { @@ -479,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]}); }, @@ -498,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)],