From a0c941dac2c6b902dbe8369c2e2bd98bce97d5ae Mon Sep 17 00:00:00 2001 From: clausjensen Date: Sun, 11 Nov 2012 09:50:42 -0100 Subject: [PATCH] Fixes U4-1092 - TinyMce breaks script tags by double wrapping in CDATA on save --- src/umbraco.editorControls/tinyMCE3/TinyMCE.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/umbraco.editorControls/tinyMCE3/TinyMCE.cs b/src/umbraco.editorControls/tinyMCE3/TinyMCE.cs index 232caab2ed..96c9af703d 100644 --- a/src/umbraco.editorControls/tinyMCE3/TinyMCE.cs +++ b/src/umbraco.editorControls/tinyMCE3/TinyMCE.cs @@ -324,6 +324,7 @@ namespace umbraco.editorControls.tinyMCE3 public virtual void Save() { string parsedString = base.Text.Trim(); + string parsedStringForTinyMce = parsedString; if (parsedString != string.Empty) { parsedString = replaceMacroTags(parsedString).Trim(); @@ -370,19 +371,22 @@ namespace umbraco.editorControls.tinyMCE3 parsedString = parsedString.Replace(helper.GetBaseUrl(HttpContext.Current) + "/#", "#"); parsedString = parsedString.Replace(helper.GetBaseUrl(HttpContext.Current), ""); } + // if a paragraph is empty, remove it + if (parsedString.ToLower() == "

") + parsedString = ""; + + // save string after all parsing is done, but before CDATA replacement - to put back into TinyMCE + parsedStringForTinyMce = parsedString; //Allow CDATA nested into RTE without exceptions // GE 2012-01-18 parsedString = parsedString.Replace("").Replace("]]>", ""); - - // if text is an empty parargraph, make it all empty - if (parsedString.ToLower() == "

") - parsedString = ""; } + _data.Value = parsedString; // update internal webcontrol value with parsed result - base.Text = parsedString; + base.Text = parsedStringForTinyMce; } #endregion