diff --git a/mailpoet/assets/js/src/handlebars_helpers.js b/mailpoet/assets/js/src/handlebars_helpers.js index 9290db9483..de221e5fb7 100644 --- a/mailpoet/assets/js/src/handlebars_helpers.js +++ b/mailpoet/assets/js/src/handlebars_helpers.js @@ -159,6 +159,23 @@ Handlebars.registerHelper('getNumber', function getNumberHelper(string) { return parseInt(string, 10); }); +Handlebars.registerHelper('escapeURL', function escapeURLHelper(url) { + if (!url) { + return ''; + } + + try { + const escapedURL = new URL(url); + // eslint-disable-next-line no-script-url + if (escapedURL.protocol === 'javascript:') { + return ''; + } + return escapedURL.href; + } catch (e) { + return ''; + } +}); + Handlebars.registerHelper( 'fontWithFallback', function fontWithFallbackHelper(font) { diff --git a/mailpoet/views/newsletter/templates/blocks/button/block.hbs b/mailpoet/views/newsletter/templates/blocks/button/block.hbs index 36cc1b2218..f8fcc3b209 100644 --- a/mailpoet/views/newsletter/templates/blocks/button/block.hbs +++ b/mailpoet/views/newsletter/templates/blocks/button/block.hbs @@ -1,5 +1,5 @@
- {{ model.text }} + {{ model.text }}