diff --git a/src/umbraco.cms/businesslogic/macro/Macro.cs b/src/umbraco.cms/businesslogic/macro/Macro.cs
index d2f79dcecd..2da63fc04f 100644
--- a/src/umbraco.cms/businesslogic/macro/Macro.cs
+++ b/src/umbraco.cms/businesslogic/macro/Macro.cs
@@ -309,7 +309,7 @@ namespace umbraco.cms.businesslogic.macro
{
Macro m = null;
- string alias = xmlHelper.GetNodeValue(n.SelectSingleNode("alias"));
+ string alias = XmlHelper.GetNodeValue(n.SelectSingleNode("alias"));
try
{
//check to see if the macro alreay exists in the system
@@ -319,27 +319,27 @@ namespace umbraco.cms.businesslogic.macro
}
catch (IndexOutOfRangeException)
{
- m = MakeNew(xmlHelper.GetNodeValue(n.SelectSingleNode("name")));
+ m = MakeNew(XmlHelper.GetNodeValue(n.SelectSingleNode("name")));
}
try
{
m.Alias = alias;
- m.Assembly = xmlHelper.GetNodeValue(n.SelectSingleNode("scriptAssembly"));
- m.Type = xmlHelper.GetNodeValue(n.SelectSingleNode("scriptType"));
- m.Xslt = xmlHelper.GetNodeValue(n.SelectSingleNode("xslt"));
- m.RefreshRate = int.Parse(xmlHelper.GetNodeValue(n.SelectSingleNode("refreshRate")));
+ m.Assembly = XmlHelper.GetNodeValue(n.SelectSingleNode("scriptAssembly"));
+ m.Type = XmlHelper.GetNodeValue(n.SelectSingleNode("scriptType"));
+ m.Xslt = XmlHelper.GetNodeValue(n.SelectSingleNode("xslt"));
+ m.RefreshRate = int.Parse(XmlHelper.GetNodeValue(n.SelectSingleNode("refreshRate")));
// we need to validate if the usercontrol is missing the tilde prefix requirement introduced in v6
if (String.IsNullOrEmpty(m.Assembly) && !String.IsNullOrEmpty(m.Type) && !m.Type.StartsWith("~"))
m.Type = "~/" + m.Type;
if (n.SelectSingleNode("scriptingFile") != null)
- m.ScriptingFile = xmlHelper.GetNodeValue(n.SelectSingleNode("scriptingFile"));
+ m.ScriptingFile = XmlHelper.GetNodeValue(n.SelectSingleNode("scriptingFile"));
try
{
- m.UseInEditor = bool.Parse(xmlHelper.GetNodeValue(n.SelectSingleNode("useInEditor")));
+ m.UseInEditor = bool.Parse(XmlHelper.GetNodeValue(n.SelectSingleNode("useInEditor")));
}
catch (Exception macroExp)
{
@@ -355,9 +355,8 @@ namespace umbraco.cms.businesslogic.macro
var property = m.Properties.SingleOrDefault(p => p.Alias == propertyAlias);
if (property != null)
{
- property.Public = bool.Parse(mp.Attributes.GetNamedItem("show").Value);
property.Name = mp.Attributes.GetNamedItem("name").Value;
- property.Type = new MacroPropertyType(mp.Attributes.GetNamedItem("propertyType").Value);
+ property.ParameterEditorAlias = mp.Attributes.GetNamedItem("propertyType").Value;
property.Save();
}
@@ -365,10 +364,9 @@ namespace umbraco.cms.businesslogic.macro
{
MacroProperty.MakeNew(
m,
- bool.Parse(mp.Attributes.GetNamedItem("show").Value),
propertyAlias,
mp.Attributes.GetNamedItem("name").Value,
- new MacroPropertyType(mp.Attributes.GetNamedItem("propertyType").Value)
+ mp.Attributes.GetNamedItem("propertyType").Value
);
}
}
@@ -427,14 +425,14 @@ namespace umbraco.cms.businesslogic.macro
XmlNode doc = xd.CreateElement("macro");
// info section
- doc.AppendChild(xmlHelper.addTextNode(xd, "name", this.Name));
- doc.AppendChild(xmlHelper.addTextNode(xd, "alias", this.Alias));
- doc.AppendChild(xmlHelper.addTextNode(xd, "scriptType", this.Type));
- doc.AppendChild(xmlHelper.addTextNode(xd, "scriptAssembly", this.Assembly));
- doc.AppendChild(xmlHelper.addTextNode(xd, "xslt", this.Xslt));
- doc.AppendChild(xmlHelper.addTextNode(xd, "useInEditor", this.UseInEditor.ToString()));
- doc.AppendChild(xmlHelper.addTextNode(xd, "refreshRate", this.RefreshRate.ToString()));
- doc.AppendChild(xmlHelper.addTextNode(xd, "scriptingFile", this.ScriptingFile));
+ doc.AppendChild(XmlHelper.AddTextNode(xd, "name", this.Name));
+ doc.AppendChild(XmlHelper.AddTextNode(xd, "alias", this.Alias));
+ doc.AppendChild(XmlHelper.AddTextNode(xd, "scriptType", this.Type));
+ doc.AppendChild(XmlHelper.AddTextNode(xd, "scriptAssembly", this.Assembly));
+ doc.AppendChild(XmlHelper.AddTextNode(xd, "xslt", this.Xslt));
+ doc.AppendChild(XmlHelper.AddTextNode(xd, "useInEditor", this.UseInEditor.ToString()));
+ doc.AppendChild(XmlHelper.AddTextNode(xd, "refreshRate", this.RefreshRate.ToString()));
+ doc.AppendChild(XmlHelper.AddTextNode(xd, "scriptingFile", this.ScriptingFile));
// properties
XmlNode props = xd.CreateElement("properties");
diff --git a/src/umbraco.cms/businesslogic/macro/MacroProperty.cs b/src/umbraco.cms/businesslogic/macro/MacroProperty.cs
index 7316c86c66..88ed668147 100644
--- a/src/umbraco.cms/businesslogic/macro/MacroProperty.cs
+++ b/src/umbraco.cms/businesslogic/macro/MacroProperty.cs
@@ -2,7 +2,7 @@ using System;
using System.Data;
using System.Xml;
using System.Runtime.CompilerServices;
-
+using Umbraco.Core;
using umbraco.DataLayer;
using umbraco.BusinessLogic;
using System.Collections.Generic;
@@ -20,15 +20,6 @@ namespace umbraco.cms.businesslogic.macro
///
public class MacroProperty
{
-
- int _id;
- int _sortOrder;
- bool _public;
- string _alias;
- string _name;
- cms.businesslogic.macro.Macro m_macro;
- cms.businesslogic.macro.MacroPropertyType _type;
-
protected static ISqlHelper SqlHelper
{
get { return Application.SqlHelper; }
@@ -47,92 +38,66 @@ namespace umbraco.cms.businesslogic.macro
/// Id
public MacroProperty(int Id)
{
- _id = Id;
- setup();
+ this.Id = Id;
+ Setup();
}
///
/// The sortorder
///
- public int SortOrder
- {
- get { return _sortOrder; }
- set { _sortOrder = value; }
- }
+ public int SortOrder { get; set; }
///
- /// If set to true, the user will be presented with an editor to input data.
- ///
- /// If not, the field can be manipulated by a default value given by the MacroPropertyType, this is s
+ /// This is not used for anything
///
- [Obsolete]
- public bool Public
- {
- get { return _public; }
- set { _public = value; }
- }
+ [Obsolete("This is not used for anything and will be removed in future versions")]
+ public bool Public { get; set; }
///
- /// The alias if of the macroproperty, this is used in the special macro element
- /// ?UMBRACO_MACRO>
- ///
+ /// The macro property alias
///
- public string Alias
- {
- get { return _alias; }
- set { _alias = value; }
- }
+ public string Alias { get; set; }
///
/// The userfriendly name
///
- public string Name
- {
- get { return _name; }
- set { _name = value; }
- }
+ public string Name { get; set; }
///
/// Gets the id.
///
/// The id.
- public int Id
- {
- get { return _id; }
- }
+ public int Id { get; private set; }
///
/// Gets or sets the macro.
///
/// The macro.
- public Macro Macro
- {
- get { return m_macro; }
- set { m_macro = value; }
- }
+ public Macro Macro { get; set; }
///
/// The basetype which defines which component is used in the UI for editing content
///
- public MacroPropertyType Type
- {
- get { return _type; }
- set { _type = value; }
- }
+ [Obsolete("This no longer does anything and will be removed in future versions")]
+ public MacroPropertyType Type { get; set; }
+ ///
+ /// The macro parameter editor alias used to render the editor
+ ///
+ public string ParameterEditorAlias { get; set; }
- private void setup()
+ private void Setup()
{
- using (IRecordsReader dr = SqlHelper.ExecuteReader("select macro, macroPropertyHidden, macroPropertyType, macroPropertySortOrder, macroPropertyAlias, macroPropertyName from cmsMacroProperty where id = @id", SqlHelper.CreateParameter("@id", _id)))
+ using (var dr = SqlHelper.ExecuteReader("select macro, macroPropertyHidden, editorAlias, macroPropertySortOrder, macroPropertyAlias, macroPropertyName from cmsMacroProperty where id = @id", SqlHelper.CreateParameter("@id", Id)))
{
if (dr.Read())
{
- m_macro = new Macro(dr.GetInt("macro"));
- _public = dr.GetBoolean("macroPropertyHidden");
- _sortOrder = (int)dr.GetByte("macroPropertySortOrder");
- _alias = dr.GetString("macroPropertyAlias");
- _name = dr.GetString("macroPropertyName");
- _type = new MacroPropertyType(dr.GetShort("macroPropertyType"));
+ Macro = new Macro(dr.GetInt("macro"));
+ SortOrder = (int)dr.GetByte("macroPropertySortOrder");
+ Alias = dr.GetString("macroPropertyAlias");
+ Name = dr.GetString("macroPropertyName");
+ Type = null;
+ ParameterEditorAlias = dr.GetString("editorAlias");
}
else
{
@@ -146,28 +111,29 @@ namespace umbraco.cms.businesslogic.macro
///
public void Delete()
{
- SqlHelper.ExecuteNonQuery("delete from cmsMacroProperty where id = @id", SqlHelper.CreateParameter("@id", this._id));
+ SqlHelper.ExecuteNonQuery("delete from cmsMacroProperty where id = @id", SqlHelper.CreateParameter("@id", this.Id));
}
public void Save()
{
- if (_id == 0)
+ if (Id == 0)
{
MacroProperty mp =
- MakeNew(m_macro, Public, Alias, Name, Type);
- _id = mp.Id;
+ MakeNew(Macro, Public, Alias, Name, Type);
+ Id = mp.Id;
}
else
{
- SqlHelper.ExecuteNonQuery("UPDATE cmsMacroProperty set macro = @macro, macroPropertyHidden = @show, macropropertyAlias = @alias, macroPropertyName = @name, macroPropertyType = @type, macroPropertySortOrder = @so WHERE id = @id",
- SqlHelper.CreateParameter("@id", Id),
- SqlHelper.CreateParameter("@macro", Macro.Id),
- SqlHelper.CreateParameter("@show", Public),
- SqlHelper.CreateParameter("@alias", Alias),
- SqlHelper.CreateParameter("@name", Name),
- SqlHelper.CreateParameter("@type", Type.Id),
- SqlHelper.CreateParameter("@so", SortOrder));
+ SqlHelper.ExecuteNonQuery("UPDATE cmsMacroProperty set macro = @macro, " +
+ "macropropertyAlias = @alias, macroPropertyName = @name, " +
+ "editorAlias = @editorAlias, macroPropertySortOrder = @so WHERE id = @id",
+ SqlHelper.CreateParameter("@id", Id),
+ SqlHelper.CreateParameter("@macro", Macro.Id),
+ SqlHelper.CreateParameter("@alias", Alias),
+ SqlHelper.CreateParameter("@name", Name),
+ SqlHelper.CreateParameter("@editorAlias", ParameterEditorAlias),
+ SqlHelper.CreateParameter("@so", SortOrder));
}
}
@@ -180,10 +146,9 @@ namespace umbraco.cms.businesslogic.macro
{
XmlElement doc = xd.CreateElement("property");
- doc.Attributes.Append(xmlHelper.addAttribute(xd, "name", this.Name));
- doc.Attributes.Append(xmlHelper.addAttribute(xd, "alias", this.Alias));
- doc.Attributes.Append(xmlHelper.addAttribute(xd, "show", this.Public.ToString()));
- doc.Attributes.Append(xmlHelper.addAttribute(xd, "propertyType", this.Type.Alias));
+ doc.Attributes.Append(XmlHelper.AddAttribute(xd, "name", this.Name));
+ doc.Attributes.Append(XmlHelper.AddAttribute(xd, "alias", this.Alias));
+ doc.Attributes.Append(XmlHelper.AddAttribute(xd, "propertyType", this.ParameterEditorAlias));
return doc;
}
@@ -193,12 +158,12 @@ namespace umbraco.cms.businesslogic.macro
///
/// Retieve all MacroProperties of a macro
///
- /// Macro identifier
+ /// Macro identifier
/// All MacroProperties of a macro
- public static MacroProperty[] GetProperties(int MacroId)
+ public static MacroProperty[] GetProperties(int macroId)
{
var props = new List();
- using (IRecordsReader dr = SqlHelper.ExecuteReader("select id from cmsMacroProperty where macro = @macroId order by macroPropertySortOrder, id ASC", SqlHelper.CreateParameter("@macroId", MacroId)))
+ using (IRecordsReader dr = SqlHelper.ExecuteReader("select id from cmsMacroProperty where macro = @macroId order by macroPropertySortOrder, id ASC", SqlHelper.CreateParameter("@macroId", macroId)))
{
while (dr.Read())
{
@@ -208,25 +173,31 @@ namespace umbraco.cms.businesslogic.macro
}
}
+
+ [MethodImpl(MethodImplOptions.Synchronized)]
+ [Obsolete("This method is no longer supported because MacroPropertyType no longer has a function")]
+ public static MacroProperty MakeNew(Macro macro, bool show, string alias, string name, MacroPropertyType propertyType)
+ {
+ return MakeNew(macro, alias, name, propertyType.Alias);
+ }
+
///
/// Creates a new MacroProperty on a macro
///
- /// The macro
- /// Will the editor be able to input data
+ /// The macro
/// The alias of the property
/// Userfriendly MacroProperty name
- /// The MacroPropertyType of the property
+ /// The Alias of the parameter editor
[MethodImpl(MethodImplOptions.Synchronized)]
- public static MacroProperty MakeNew(Macro M, bool show, string alias, string name, MacroPropertyType propertyType)
+ public static MacroProperty MakeNew(Macro macro, string alias, string name, string editorAlias)
{
int macroPropertyId = 0;
// The method is synchronized
- SqlHelper.ExecuteNonQuery("INSERT INTO cmsMacroProperty (macro, macroPropertyHidden, macropropertyAlias, macroPropertyName, macroPropertyType) VALUES (@macro, @show, @alias, @name, @type)",
- SqlHelper.CreateParameter("@macro", M.Id),
- SqlHelper.CreateParameter("@show", show),
+ SqlHelper.ExecuteNonQuery("INSERT INTO cmsMacroProperty (macro, macropropertyAlias, macroPropertyName, editorAlias) VALUES (@macro, @alias, @name, @editorAlias)",
+ SqlHelper.CreateParameter("@macro", macro.Id),
SqlHelper.CreateParameter("@alias", alias),
SqlHelper.CreateParameter("@name", name),
- SqlHelper.CreateParameter("@type", propertyType.Id));
+ SqlHelper.CreateParameter("@editorAlias", editorAlias));
macroPropertyId = SqlHelper.ExecuteScalar("SELECT MAX(id) FROM cmsMacroProperty");
return new MacroProperty(macroPropertyId);
}
diff --git a/src/umbraco.cms/businesslogic/macro/macroPropertyType.cs b/src/umbraco.cms/businesslogic/macro/macroPropertyType.cs
index 58102082ec..c3b96aa4dc 100644
--- a/src/umbraco.cms/businesslogic/macro/macroPropertyType.cs
+++ b/src/umbraco.cms/businesslogic/macro/macroPropertyType.cs
@@ -10,15 +10,9 @@ namespace umbraco.cms.businesslogic.macro
/// The MacroPropertyType class contains information on the assembly and class of the
/// IMacroGuiRendering component and basedatatype
///
+ [Obsolete("This class is no longer used, the cmsMacroPropertyType has been removed, all methods will return empty collections and not perform any functions")]
public class MacroPropertyType
{
- int _id;
- string _alias;
- string _assembly;
- string _type;
- string _baseType;
- private static List m_allPropertyTypes = new List();
-
protected static ISqlHelper SqlHelper
{
get { return Application.SqlHelper; }
@@ -26,61 +20,41 @@ namespace umbraco.cms.businesslogic.macro
public static List GetAll
{
- get
- {
- if (m_allPropertyTypes.Count == 0)
- {
- using (IRecordsReader dr = SqlHelper.ExecuteReader("select id from cmsMacroPropertyType order by macroPropertyTypeAlias"))
- {
- while (dr.Read())
- {
- m_allPropertyTypes.Add(new MacroPropertyType(dr.GetShort("id")));
- }
- }
- }
-
- return m_allPropertyTypes;
- }
+ get { return new List(); }
}
-
///
/// Identifier
///
- public int Id
- {
- get { return _id; }
- }
+ public int Id { get; private set; }
///
/// The alias of the MacroPropertyType
///
- public string Alias { get { return _alias; } }
+ public string Alias { get; private set; }
///
/// The assembly (without the .dll extension) used to retrieve the component at runtime
///
- public string Assembly { get { return _assembly; } }
+ public string Assembly { get; private set; }
///
/// The MacroPropertyType
///
- public string Type { get { return _type; } }
+ public string Type { get; private set; }
///
/// The IMacroGuiRendering component (namespace.namespace.Classname)
///
- public string BaseType { get { return _baseType; } }
-
-
+ public string BaseType { get; private set; }
+
///
/// Constructor
///
/// Identifier
public MacroPropertyType(int Id)
{
- _id = Id;
- setup();
+
}
///
@@ -89,28 +63,8 @@ namespace umbraco.cms.businesslogic.macro
/// The alias of the MacroPropertyType
public MacroPropertyType(string Alias)
{
- _id = SqlHelper.ExecuteScalar("select id from cmsMacroPropertyType where macroPropertyTypeAlias = @alias", SqlHelper.CreateParameter("@alias", Alias));
- setup();
+
}
- private void setup()
- {
- using (IRecordsReader dr = SqlHelper.ExecuteReader("select macroPropertyTypeAlias, macroPropertyTypeRenderAssembly, macroPropertyTypeRenderType, macroPropertyTypeBaseType from cmsMacroPropertyType where id = @id", SqlHelper.CreateParameter("@id", _id)))
- {
- if (dr.Read())
- {
- _alias = dr.GetString("macroPropertyTypeAlias");
- _assembly = dr.GetString("macroPropertyTypeRenderAssembly");
- _type = dr.GetString("macroPropertyTypeRenderType");
- _baseType = dr.GetString("macroPropertyTypeBaseType");
- }
- else
- {
- throw new ArgumentException("No macro property type found with the id specified");
- }
- }
- }
-
-
}
}