public XmlNode GetMacro(int Id, string Login, string Password) { if (ValidateCredentials(Login, Password) && UserHasAppAccess(DefaultApps.developer.ToString(), Login)) { var xmlDoc = new XmlDocument(); var macro = xmlDoc.CreateElement("macro"); var m = new cms.businesslogic.macro.Macro(Id); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "id", m.Id.ToString())); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "refreshRate", m.RefreshRate.ToString())); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "useInEditor", m.UseInEditor.ToString())); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "alias", m.Alias)); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "name", m.Name)); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "assembly", m.Assembly)); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "type", m.Type)); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "xslt", m.Xslt)); var properties = xmlDoc.CreateElement("properties"); foreach (var mp in m.Properties) { var pXml = xmlDoc.CreateElement("property"); pXml.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "alias", mp.Alias)); pXml.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "name", mp.Name)); pXml.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "public", mp.Public.ToString())); properties.AppendChild(pXml); } macro.AppendChild(properties); return macro; } return null; }
public XmlNode GetMacro(int Id, string Login, string Password) { if (BusinessLogic.User.validateCredentials(Login, Password)) { XmlDocument xmlDoc = new XmlDocument(); XmlElement macro = xmlDoc.CreateElement("macro"); cms.businesslogic.macro.Macro m = new cms.businesslogic.macro.Macro(Id); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "id", m.Id.ToString())); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "refreshRate", m.RefreshRate.ToString())); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "useInEditor", m.UseInEditor.ToString())); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "alias", m.Alias)); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "name", m.Name)); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "assembly", m.Assembly)); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "type", m.Type)); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "xslt", m.Xslt)); XmlElement Properties = xmlDoc.CreateElement("properties"); foreach (cms.businesslogic.macro.MacroProperty mp in m.Properties) { XmlElement pXml = xmlDoc.CreateElement("property"); pXml.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "alias", mp.Alias)); pXml.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "name", mp.Name)); pXml.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "public", mp.Public.ToString())); Properties.AppendChild(pXml); } macro.AppendChild(Properties); return macro; } else return null; }
public XmlNode GetMacro(int Id, string Login, string Password) { if (ValidateCredentials(Login, Password) && UserHasAppAccess(DefaultApps.developer.ToString(), Login)) { var xmlDoc = new XmlDocument(); var macro = xmlDoc.CreateElement("macro"); var m = new cms.businesslogic.macro.Macro(Id); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "id", m.Id.ToString())); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "refreshRate", m.RefreshRate.ToString())); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "useInEditor", m.UseInEditor.ToString())); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "alias", m.Alias)); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "name", m.Name)); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "assembly", m.Assembly)); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "type", m.Type)); macro.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "xslt", m.Xslt)); var properties = xmlDoc.CreateElement("properties"); foreach (var mp in m.Properties) { var pXml = xmlDoc.CreateElement("property"); pXml.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "alias", mp.Alias)); pXml.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "name", mp.Name)); pXml.Attributes.Append(XmlHelper.AddAttribute(xmlDoc, "public", mp.Public.ToString())); properties.AppendChild(pXml); } macro.AppendChild(properties); return(macro); } return(null); }
public XmlNode GetMacro(int Id, string Login, string Password) { if (BusinessLogic.User.validateCredentials(Login, Password)) { XmlDocument xmlDoc = new XmlDocument(); XmlElement macro = xmlDoc.CreateElement("macro"); cms.businesslogic.macro.Macro m = new cms.businesslogic.macro.Macro(Id); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "id", m.Id.ToString())); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "refreshRate", m.RefreshRate.ToString())); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "useInEditor", m.UseInEditor.ToString())); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "alias", m.Alias)); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "name", m.Name)); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "assembly", m.Assembly)); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "type", m.Type)); macro.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "xslt", m.Xslt)); XmlElement Properties = xmlDoc.CreateElement("properties"); foreach (cms.businesslogic.macro.MacroProperty mp in m.Properties) { XmlElement pXml = xmlDoc.CreateElement("property"); pXml.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "alias", mp.Alias)); pXml.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "name", mp.Name)); pXml.Attributes.Append(xmlHelper.addAttribute(xmlDoc, "public", mp.Public.ToString())); Properties.AppendChild(pXml); } macro.AppendChild(Properties); return(macro); } else { return(null); } }
public static string GetModuleAlias(string Name) { XmlDocument installed = new XmlDocument(); installed.Load(IO.IOHelper.MapPath(SystemDirectories.Packages) + "/installed/installedPackages.config"); XmlNode packageNode = installed.SelectSingleNode( string.Format("//package [@name = '{0}']", Name)); XmlNode macroNode = packageNode.SelectSingleNode(".//macros"); cms.businesslogic.macro.Macro m = new cms.businesslogic.macro.Macro(Convert.ToInt32(macroNode.InnerText.Split(',')[0])); return(m.Alias); }
private void setup() { using (IRecordsReader dr = SqlHelper.ExecuteReader("select macro, macroPropertyHidden, macroPropertyType, 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")); } else { throw new ArgumentException("No macro property found for the id specified"); } } }
protected void renderProperties() { if (!string.IsNullOrEmpty(Request["macroAlias"])) { m = cms.businesslogic.macro.Macro.GetByAlias(Request["macroAlias"]); String macroAssembly = ""; String macroType = ""; _macroAlias = m.Alias; //If no properties, we will exit now... if (m.Properties.Length == 0) { Literal noProps = new Literal(); noProps.Text = "<script type='text/javascript'>updateMacro()</script>"; macroProperties.Controls.Add(noProps); } else { //if we have properties, we'll render the controls for them... foreach (cms.businesslogic.macro.MacroProperty mp in m.Properties) { macroAssembly = mp.Type.Assembly; macroType = mp.Type.Type; try { Assembly assembly = Assembly.LoadFrom(IOHelper.MapPath(SystemDirectories.Bin + "/" + macroAssembly + ".dll")); Type type = assembly.GetType(macroAssembly + "." + macroType); interfaces.IMacroGuiRendering typeInstance = Activator.CreateInstance(type) as interfaces.IMacroGuiRendering; if (typeInstance != null) { Control control = Activator.CreateInstance(type) as Control; control.ID = mp.Alias; if (!IsPostBack) { if (Request["umb_" + mp.Alias] != null) { if (Request["umb_" + mp.Alias] != "") { type.GetProperty("Value").SetValue(control, Convert.ChangeType(Request["umb_" + mp.Alias], type.GetProperty("Value").PropertyType), null); } } } // register alias uicontrols.PropertyPanel pp = new uicontrols.PropertyPanel(); pp.Text = mp.Name; pp.Controls.Add(control); macroProperties.Controls.Add(pp); pp.Controls.Add(new LiteralControl("<script type=\"text/javascript\"> registerAlias('" + control.ClientID + "','" + mp.Alias + "'); </script>\n")); } else { Trace.Warn("umbEditContent", "Type doesn't exist or is not umbraco.interfaces.DataFieldI ('" + macroAssembly + "." + macroType + "')"); } } catch (Exception fieldException) { Trace.Warn("umbEditContent", "Error creating type '" + macroAssembly + "." + macroType + "'", fieldException); } } } } else { } }
protected void Page_Load(object sender, EventArgs e) { pane_edit.Text = ui.Text("general", "edit", this.getUser()) + " " + ui.Text("general", "macro", this.getUser()); pane_insert.Text = ui.Text("general", "insert", this.getUser()) + " " + ui.Text("general", "macro", this.getUser()); if (Request["macroID"] != null || Request["macroAlias"] != null) { // Put user code to initialize the page here cms.businesslogic.macro.Macro m; if (helper.Request("macroID") != "") { m = new cms.businesslogic.macro.Macro(int.Parse(helper.Request("macroID"))); } else { m = cms.businesslogic.macro.Macro.GetByAlias(helper.Request("macroAlias")); } foreach (var mp in m.Properties) { var macroAssembly = mp.Type.Assembly; var macroType = mp.Type.Type; try { var assembly = Assembly.LoadFrom(IOHelper.MapPath(SystemDirectories.Bin + "/" + macroAssembly + ".dll")); Type type = assembly.GetType(macroAssembly + "." + macroType); var typeInstance = Activator.CreateInstance(type) as interfaces.IMacroGuiRendering; if (typeInstance != null) { var control = Activator.CreateInstance(type) as Control; control.ID = mp.Alias; if (Request[mp.Alias] != null) { if (Request[mp.Alias] != "") { type.GetProperty("Value").SetValue(control, Convert.ChangeType(Request[mp.Alias], type.GetProperty("Value").PropertyType), null); } } // register alias var pp = new uicontrols.PropertyPanel(); pp.Text = mp.Name; pp.Controls.Add(control); macroProperties.Controls.Add(pp); /* * macroProperties.Controls.Add(new LiteralControl("<script>\nregisterAlias('" + control.ID + "');\n</script>")); * macroProperties.Controls.Add(new LiteralControl("<tr><td class=\"propertyHeader\">" + mp.Name + "</td><td class=\"propertyContent\">")); * macroProperties.Controls.Add(control); * macroProperties.Controls.Add(new LiteralControl("</td></tr>")); */ } else { Trace.Warn("umbEditContent", "Type doesn't exist or is not umbraco.interfaces.DataFieldI ('" + macroAssembly + "." + macroType + "')"); } } catch (Exception fieldException) { Trace.Warn("umbEditContent", "Error creating type '" + macroAssembly + "." + macroType + "'", fieldException); } } } else { IRecordsReader macroRenderings; if (helper.Request("editor") != "") { const string query = "select macroAlias, macroName from cmsMacro where macroUseInEditor = 1 order by macroName"; using (var sqlHelper = BusinessLogic.Application.SqlHelper) using (var renderings = sqlHelper.ExecuteReader(query)) macroRenderings = renderings; } else { const string query = "select macroAlias, macroName from cmsMacro order by macroName"; using (var sqlHelper = BusinessLogic.Application.SqlHelper) using (var renderings = sqlHelper.ExecuteReader(query)) macroRenderings = renderings; } macroAlias.DataSource = macroRenderings; macroAlias.DataValueField = "macroAlias"; macroAlias.DataTextField = "macroName"; macroAlias.DataBind(); macroRenderings.Close(); } }
protected void Page_Load(object sender, EventArgs e) { pane_edit.Text = ui.Text("general", "edit",this.getUser()) + " " + ui.Text("general", "macro",this.getUser()); pane_insert.Text = ui.Text("general", "insert",this.getUser()) + " " + ui.Text("general", "macro",this.getUser()); if (Request["macroID"] != null || Request["macroAlias"] != null) { // Put user code to initialize the page here cms.businesslogic.macro.Macro m; if (helper.Request("macroID") != "") m = new cms.businesslogic.macro.Macro(int.Parse(helper.Request("macroID"))); else m = cms.businesslogic.macro.Macro.GetByAlias(helper.Request("macroAlias")); foreach (var mp in m.Properties) { var macroAssembly = mp.Type.Assembly; var macroType = mp.Type.Type; try { var assembly = Assembly.LoadFrom( IOHelper.MapPath(SystemDirectories.Bin + "/" + macroAssembly + ".dll")); Type type = assembly.GetType(macroAssembly+"."+macroType); var typeInstance = Activator.CreateInstance(type) as interfaces.IMacroGuiRendering; if (typeInstance != null) { var control = Activator.CreateInstance(type) as Control; control.ID = mp.Alias; if (Request[mp.Alias] != null) { if (Request[mp.Alias] != "") { type.GetProperty("Value").SetValue(control, Convert.ChangeType(Request[mp.Alias], type.GetProperty("Value").PropertyType), null); } } // register alias var pp = new uicontrols.PropertyPanel(); pp.Text = mp.Name; pp.Controls.Add(control); macroProperties.Controls.Add(pp); /* macroProperties.Controls.Add(new LiteralControl("<script>\nregisterAlias('" + control.ID + "');\n</script>")); macroProperties.Controls.Add(new LiteralControl("<tr><td class=\"propertyHeader\">" + mp.Name + "</td><td class=\"propertyContent\">")); macroProperties.Controls.Add(control); macroProperties.Controls.Add(new LiteralControl("</td></tr>")); */ } else { Trace.Warn("umbEditContent", "Type doesn't exist or is not umbraco.interfaces.DataFieldI ('" + macroAssembly + "." + macroType + "')"); } } catch (Exception fieldException) { Trace.Warn("umbEditContent", "Error creating type '" + macroAssembly + "." + macroType + "'", fieldException); } } } else { IRecordsReader macroRenderings; if (helper.Request("editor") != "") macroRenderings = SqlHelper.ExecuteReader("select macroAlias, macroName from cmsMacro where macroUseInEditor = 1 order by macroName"); else macroRenderings = SqlHelper.ExecuteReader("select macroAlias, macroName from cmsMacro order by macroName"); macroAlias.DataSource = macroRenderings; macroAlias.DataValueField = "macroAlias"; macroAlias.DataTextField = "macroName"; macroAlias.DataBind(); macroRenderings.Close(); } }
private void AskForProperties(string alias) { pl_edit.Visible = true; pl_insert.Visible = false; MacroObject = cms.businesslogic.macro.Macro.GetByAlias(alias); _macroAlias = MacroObject.Alias; //If no properties, we will exit now... if (MacroObject.Properties.Length == 0) { //var noProps = new Literal(); //noProps.Text = "<script type='text/javascript'>Umbraco.Dialogs.EditMacro.getInstance().updateMacro()</script>"; //macroProperties.Controls.Add(noProps); } else { //if we have properties, we'll render the controls for them... foreach (cms.businesslogic.macro.MacroProperty mp in MacroObject.Properties) { var macroAssembly = mp.Type.Assembly; var macroType = mp.Type.Type; try { Assembly assembly = Assembly.LoadFrom(IOHelper.MapPath(SystemDirectories.Bin + "/" + macroAssembly + ".dll")); Type type = assembly.GetType(macroAssembly + "." + macroType); var typeInstance = Activator.CreateInstance(type) as interfaces.IMacroGuiRendering; if (typeInstance != null) { var control = Activator.CreateInstance(type) as Control; control.ID = mp.Alias; if (!IsPostBack) { if (Request["umb_" + mp.Alias] != null) { if (Request["umb_" + mp.Alias] != "") { type.GetProperty("Value").SetValue(control, Convert.ChangeType(Request["umb_" + mp.Alias], type.GetProperty("Value").PropertyType), null); } } } // register alias var pp = new umbraco.uicontrols.PropertyPanel(); pp.Text = mp.Name; pp.Controls.Add(control); macroProperties.Controls.Add(pp); pp.Controls.Add(new LiteralControl("<script type=\"text/javascript\">Umbraco.Dialogs.EditMacro.getInstance().registerAlias('" + control.ClientID + "','" + mp.Alias + "'); </script>\n")); } else { Trace.Warn("umbEditContent", "Type doesn't exist or is not umbraco.interfaces.DataFieldI ('" + macroAssembly + "." + macroType + "')"); } } catch (Exception fieldException) { Trace.Warn("umbEditContent", "Error creating type '" + macroAssembly + "." + macroType + "'", fieldException); } } } }
public static string GetModuleAlias(string Name) { XmlDocument installed = new XmlDocument(); installed.Load(IO.IOHelper.MapPath(SystemDirectories.Packages) + "/installed/installedPackages.config"); XmlNode packageNode = installed.SelectSingleNode( string.Format("//package [@name = '{0}']", Name)); XmlNode macroNode = packageNode.SelectSingleNode(".//macros"); cms.businesslogic.macro.Macro m = new cms.businesslogic.macro.Macro(Convert.ToInt32(macroNode.InnerText.Split(',')[0])); return m.Alias; }