diff options
author | ivan <ivan> | 2010-07-21 02:06:44 +0000 |
---|---|---|
committer | ivan <ivan> | 2010-07-21 02:06:44 +0000 |
commit | 1932aeb09f14c6293905882806fd50a277e45ee9 (patch) | |
tree | ad62531b9879a09c78a64fb19597bf36e5d394db /FS | |
parent | f794037a8c67dccf85bef34c7a865e3ed151b24c (diff) |
fix calendar popup for weirdly named fields in RT, for the quotes around custom field bullshit, RT#8449
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/Mason.pm | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/FS/FS/Mason.pm b/FS/FS/Mason.pm index 5d860f2de..0f1415009 100644 --- a/FS/FS/Mason.pm +++ b/FS/FS/Mason.pm @@ -480,15 +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/\r/\\r/g; - ${$_[0]} =~ s/\n/\\n/g; - ${$_[0]} = "'". ${$_[0]}. "'"; - }, + escape_flags => { 'js_string' => $js_string_sub, 'defang' => sub { ${$_[0]} = $html_defang->defang(${$_[0]}); }, @@ -500,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)], |