From 4e62fe32bf6f27b583eeb8d5d2309c7abebd5535 Mon Sep 17 00:00:00 2001 From: adammada Date: Mon, 24 Sep 2018 09:58:16 +0200 Subject: [PATCH 1/2] fix wysiwyg editor not decoding base64 filenames special chars --- lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js b/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js index f2b3365555f3c..3bae5f8eb48b4 100755 --- a/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js +++ b/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js @@ -463,6 +463,11 @@ define([ var url = this.makeDirectiveUrl('%directive%').replace(/([$^.?*!+:=()\[\]{}|\\])/g, '\\$1'), reg = new RegExp(url.replace('%directive%', '([a-zA-Z0-9,_-]+)')); + var uriReg = /___directive\/(.*)\/key\//g; + content = content.replace(uriReg, function (match) { + return decodeURIComponent(match); + }); + return content.gsub(reg, function (match) { //eslint-disable-line no-extra-bind return Base64.mageDecode(match[1]); }); From bf2efffff0da82f33796c82d643403545466911d Mon Sep 17 00:00:00 2001 From: Stanislav Idolov Date: Thu, 27 Sep 2018 11:20:36 +0300 Subject: [PATCH 2/2] Fixed code style issue --- lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js b/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js index 3bae5f8eb48b4..ed105bd2c18f5 100755 --- a/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js +++ b/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js @@ -461,9 +461,9 @@ define([ decodeDirectives: function (content) { // escape special chars in directives url to use it in regular expression var url = this.makeDirectiveUrl('%directive%').replace(/([$^.?*!+:=()\[\]{}|\\])/g, '\\$1'), - reg = new RegExp(url.replace('%directive%', '([a-zA-Z0-9,_-]+)')); + reg = new RegExp(url.replace('%directive%', '([a-zA-Z0-9,_-]+)')), + uriReg = /___directive\/(.*)\/key\//g; - var uriReg = /___directive\/(.*)\/key\//g; content = content.replace(uriReg, function (match) { return decodeURIComponent(match); });