aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/App/View/Web.pm
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2011-07-26 16:57:08 +0100
committerStruan Donald <struan@exo.org.uk>2011-07-26 16:57:08 +0100
commit54066cd1387643dd6c6cb3040c520bee66881fd7 (patch)
treeeda84b3f347220ed12de3aa690116148287891bd /perllib/FixMyStreet/App/View/Web.pm
parent8146bad18eeaab658871dd28eb38199a5d068395 (diff)
parent198fcef62892fe0b2fbb3ea8a080fca87843445e (diff)
Merge branch 'master' of ssh://git.mysociety.org/data/git/public/fixmystreet into new_statuses
Conflicts: perllib/FixMyStreet/App/Controller/Admin.pm perllib/FixMyStreet/App/Controller/JSON.pm perllib/FixMyStreet/Map/Tilma/Original.pm web/css/core.css
Diffstat (limited to 'perllib/FixMyStreet/App/View/Web.pm')
-rw-r--r--perllib/FixMyStreet/App/View/Web.pm22
1 files changed, 22 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/App/View/Web.pm b/perllib/FixMyStreet/App/View/Web.pm
index 358e280c3..df2d0ac20 100644
--- a/perllib/FixMyStreet/App/View/Web.pm
+++ b/perllib/FixMyStreet/App/View/Web.pm
@@ -21,6 +21,9 @@ __PACKAGE__->config(
'loc', 'nget', 'tprintf', 'display_crosssell_advert', 'prettify_epoch',
'add_links',
],
+ FILTERS => {
+ escape_js => \&escape_js,
+ },
);
=head1 NAME
@@ -120,5 +123,24 @@ sub add_links {
return $text;
}
+=head2 escape_js
+
+Used to escape strings that are going to be put inside JavaScript.
+
+=cut
+
+sub escape_js {
+ my $text = shift;
+ my %lookup = (
+ '\\' => 'u005c',
+ '"' => 'u0022',
+ "'" => 'u0027',
+ '<' => 'u003c',
+ '>' => 'u003e',
+ );
+ $text =~ s/([\\"'<>])/\\$lookup{$1}/g;
+ return $text;
+}
+
1;