From 72ef5b01d2b2d8f376e643a79664c881428df3e3 Mon Sep 17 00:00:00 2001 From: Michael Wulff Nielsen Date: Tue, 20 Nov 2012 09:29:38 -0100 Subject: [PATCH] Fixes bug 383, inserting macro parameters with quotes fails in macrocontainer --- .../MacroFieldEditorsResolver.cs | 5 ++- src/Umbraco.Web.UI/Umbraco.Web.UI.csproj | 4 ++ .../umbraco/plugins/tinymce3/insertMacro.aspx | 2 + .../web.Template.wulff-Pc.Debug.config | 44 +++++++++++++++++++ src/Umbraco.Web/Umbraco.Web.csproj | 8 ++-- .../umbraco/plugins/tinymce3/insertMacro.aspx | 2 + .../umbraco/templateControls/Macro.cs | 3 +- 7 files changed, 61 insertions(+), 7 deletions(-) create mode 100644 src/Umbraco.Web.UI/web.Template.wulff-Pc.Debug.config diff --git a/src/Umbraco.Core/ObjectResolution/MacroFieldEditorsResolver.cs b/src/Umbraco.Core/ObjectResolution/MacroFieldEditorsResolver.cs index c9d5f05b24..348ed699d3 100644 --- a/src/Umbraco.Core/ObjectResolution/MacroFieldEditorsResolver.cs +++ b/src/Umbraco.Core/ObjectResolution/MacroFieldEditorsResolver.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Web; using System.Web.UI; using Umbraco.Core.Macros; using umbraco.interfaces; @@ -47,7 +48,7 @@ namespace Umbraco.Core.ObjectResolution /// internal string GetValueFromMacroControl(Control macroControl) { - return ((IMacroGuiRendering)macroControl).Value; + return HttpUtility.HtmlDecode(((IMacroGuiRendering)macroControl).Value); } /// @@ -74,7 +75,7 @@ namespace Umbraco.Core.ObjectResolution { if (!string.IsNullOrEmpty(prop.Value)) { - instance.Value = prop.Value; + instance.Value = HttpUtility.HtmlDecode(prop.Value); } var macroControl = instance as Control; if (macroControl != null) diff --git a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj index 2a7d711ecf..551c9e5e79 100644 --- a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj +++ b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj @@ -2320,6 +2320,10 @@ web.Template.config + + web.Template.config + Designer + diff --git a/src/Umbraco.Web.UI/umbraco/plugins/tinymce3/insertMacro.aspx b/src/Umbraco.Web.UI/umbraco/plugins/tinymce3/insertMacro.aspx index 36f5cf0168..ca3e9f2bcd 100644 --- a/src/Umbraco.Web.UI/umbraco/plugins/tinymce3/insertMacro.aspx +++ b/src/Umbraco.Web.UI/umbraco/plugins/tinymce3/insertMacro.aspx @@ -3,6 +3,7 @@ <%@ Register TagPrefix="ui" Namespace="umbraco.uicontrols" Assembly="controls" %> <%@ Register TagPrefix="umb" Namespace="ClientDependency.Core.Controls" Assembly="ClientDependency.Core" %> +<%@ Register TagPrefix="asp" Namespace="System.Web.UI" Assembly="System.Web" %> @@ -100,6 +101,7 @@
+ " /> <%if (Request["umb_macroID"] != null || Request["umb_macroAlias"] != null) {%> diff --git a/src/Umbraco.Web.UI/web.Template.wulff-Pc.Debug.config b/src/Umbraco.Web.UI/web.Template.wulff-Pc.Debug.config new file mode 100644 index 0000000000..d6eac6aca9 --- /dev/null +++ b/src/Umbraco.Web.UI/web.Template.wulff-Pc.Debug.config @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj index 47e474b0fa..6df96af69f 100644 --- a/src/Umbraco.Web/Umbraco.Web.csproj +++ b/src/Umbraco.Web/Umbraco.Web.csproj @@ -149,9 +149,7 @@ System.Drawing - - System.Web - + 3.5 @@ -1951,7 +1949,9 @@ ASPXCodeBehind - + + ASPXCodeBehind + diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/plugins/tinymce3/insertMacro.aspx b/src/Umbraco.Web/umbraco.presentation/umbraco/plugins/tinymce3/insertMacro.aspx index 36f5cf0168..ca3e9f2bcd 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/plugins/tinymce3/insertMacro.aspx +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/plugins/tinymce3/insertMacro.aspx @@ -3,6 +3,7 @@ <%@ Register TagPrefix="ui" Namespace="umbraco.uicontrols" Assembly="controls" %> <%@ Register TagPrefix="umb" Namespace="ClientDependency.Core.Controls" Assembly="ClientDependency.Core" %> +<%@ Register TagPrefix="asp" Namespace="System.Web.UI" Assembly="System.Web" %> @@ -100,6 +101,7 @@ + " /> <%if (Request["umb_macroID"] != null || Request["umb_macroAlias"] != null) {%> diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/templateControls/Macro.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/templateControls/Macro.cs index c3e24292b8..dc94b66cd8 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/templateControls/Macro.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/templateControls/Macro.cs @@ -5,6 +5,7 @@ using System.Web.UI; using System.Web.UI.WebControls; using System.Collections; using umbraco.cms.businesslogic.macro; +using System.Web; namespace umbraco.presentation.templateControls { @@ -135,7 +136,7 @@ namespace umbraco.presentation.templateControls // collect all attributes set on the control var keys = Attributes.Keys; foreach (string key in keys) - MacroAttributes.Add(key.ToLower(), Attributes[key]); + MacroAttributes.Add(key.ToLower(), HttpUtility.HtmlDecode(Attributes[key])); if (!MacroAttributes.ContainsKey("macroalias") && !MacroAttributes.ContainsKey("macroAlias")) MacroAttributes.Add("macroalias", Alias);