Example #1
0
        private uicontrols.PropertyPanel AddProperty(string caption, Control c)
        {
            var pp = new uicontrols.PropertyPanel();

            pp.Controls.Add(c);
            pp.Text = caption;
            return(pp);
        }
	    private uicontrols.PropertyPanel AddProperty(string caption, Control c)
	    {
	        var pp = new uicontrols.PropertyPanel();
	        pp.Controls.Add(c);
	        pp.Text = caption;
	        return pp;
	    }
Example #3
0
        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();

			}

		}
        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)
        {
            ClientLoader.DataBind();

            _scriptOnLoad = "";

            var reqMacroId = Request["umb_macroID"];
            var reqMacroAlias = Request["umb_macroAlias"];
            var ignoreForm = string.IsNullOrEmpty(Request["class"]);

            pane_insert.Text = ui.Text("insertMacro");
            Page.Title = ui.Text("insertMacro");

            if (!string.IsNullOrEmpty(reqMacroId) || !string.IsNullOrEmpty(reqMacroAlias))
            {

                pane_edit.Visible = true;
                pane_insert.Visible = false;
                edit_buttons.Visible = true;
                insert_buttons.Visible = false;

                // Put user code to initialize the page here
                if (!string.IsNullOrEmpty(reqMacroId))
                {
                    m = new Macro(int.Parse(reqMacroId));
                }
                else
                {
                    m = new Macro(reqMacroAlias);
                }

                pane_edit.Text = ui.Text("edit") + " " + m.Name;
                Page.Title = ui.Text("edit") + " " + m.Name;

                if (m.Properties.Length == 0)
                {

                    if (ignoreForm)
                    {
                        renderMacro_Click(null, EventArgs.Empty);
                    }
                    else
                    {
                        var fb = new Literal();
                        fb.Text = "<p>" + ui.Text("macroDoesNotHaveProperties") + "</p><p><a href='#' onClick='tinyMCEPopup.close();'>" + ui.Text("closeThisWindow") + "</a>";
                        macroProperties.Controls.Add(fb);
                        edit_buttons.Visible = false;
                    }

                }
                else
                {
                    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"));

                            var type = assembly.GetType(macroAssembly + "." + macroType);
                            var typeInstance = Activator.CreateInstance(type) as IMacroGuiRendering;
                            if (typeInstance != null)
                            {
                                var control = Activator.CreateInstance(type) as Control;
                                control.ID = mp.Alias;

                                if (!IsPostBack)
                                {
                                    string propertyValue = Request["umb_" + mp.Alias];
                                    if (propertyValue != null)
                                    {
                                        // replace linebreaks and quotes
                                        propertyValue =
                                            propertyValue.Replace("\\r", "\r").Replace("\\n", "\n").Replace("\\\"", "\"");

                                        // check encoding
                                        propertyValue = HttpUtility.UrlDecode(propertyValue);

                                        if (propertyValue != "")
                                        {
                                            type.GetProperty("Value").SetValue(control,
                                                                               Convert.ChangeType(
                                                                                   propertyValue,
                                                                                   type.GetProperty("Value").PropertyType),
                                                                               null);
                                        }
                                    }
                                }


                                var pp = new uicontrols.PropertyPanel();
                                pp.Text = mp.Name;
                                pp.Controls.Add(control);
                                _scriptOnLoad += "\t\tregisterAlias('" + control.ID + "');\n";
                                macroProperties.Controls.Add(pp);

                                _dataFields.Add(control);

                                
                            }
                            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 (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");

                umb_macroAlias.DataSource = macroRenderings;
                umb_macroAlias.DataValueField = "macroAlias";
                umb_macroAlias.DataTextField = "macroName";
                umb_macroAlias.DataBind();
                macroRenderings.Close();
            }
        }
Example #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ClientLoader.DataBind();

            _scriptOnLoad = "";

            var reqMacroId    = Request["umb_macroID"];
            var reqMacroAlias = Request["umb_macroAlias"];
            var ignoreForm    = string.IsNullOrEmpty(Request["class"]);

            pane_insert.Text = ui.Text("insertMacro");
            Page.Title       = ui.Text("insertMacro");

            if (!string.IsNullOrEmpty(reqMacroId) || !string.IsNullOrEmpty(reqMacroAlias))
            {
                pane_edit.Visible      = true;
                pane_insert.Visible    = false;
                edit_buttons.Visible   = true;
                insert_buttons.Visible = false;

                // Put user code to initialize the page here
                if (!string.IsNullOrEmpty(reqMacroId))
                {
                    m = new Macro(int.Parse(reqMacroId));
                }
                else
                {
                    m = new Macro(reqMacroAlias);
                }

                pane_edit.Text = ui.Text("edit") + " " + m.Name;
                Page.Title     = ui.Text("edit") + " " + m.Name;

                if (m.Properties.Length == 0)
                {
                    if (ignoreForm)
                    {
                        renderMacro_Click(null, EventArgs.Empty);
                    }
                    else
                    {
                        var fb = new Literal();
                        fb.Text = "<p>" + ui.Text("macroDoesNotHaveProperties") + "</p><p><a href='#' onClick='tinyMCEPopup.close();'>" + ui.Text("closeThisWindow") + "</a>";
                        macroProperties.Controls.Add(fb);
                        edit_buttons.Visible = false;
                    }
                }
                else
                {
                    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"));

                            var type         = assembly.GetType(macroAssembly + "." + macroType);
                            var typeInstance = Activator.CreateInstance(type) as IMacroGuiRendering;
                            if (typeInstance != null)
                            {
                                var control = Activator.CreateInstance(type) as Control;
                                control.ID = mp.Alias;

                                if (!IsPostBack)
                                {
                                    string propertyValue = Request["umb_" + mp.Alias];
                                    if (propertyValue != null)
                                    {
                                        // replace linebreaks and quotes
                                        propertyValue =
                                            propertyValue.Replace("\\r", "\r").Replace("\\n", "\n").Replace("\\\"", "\"");

                                        // check encoding
                                        propertyValue = HttpUtility.UrlDecode(propertyValue);

                                        if (propertyValue != "")
                                        {
                                            type.GetProperty("Value").SetValue(control,
                                                                               Convert.ChangeType(
                                                                                   propertyValue,
                                                                                   type.GetProperty("Value").PropertyType),
                                                                               null);
                                        }
                                    }
                                }


                                var pp = new uicontrols.PropertyPanel();
                                pp.Text = mp.Name;
                                pp.Controls.Add(control);
                                _scriptOnLoad += "\t\tregisterAlias('" + control.ID + "');\n";
                                macroProperties.Controls.Add(pp);

                                _dataFields.Add(control);
                            }
                            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 (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");
                }

                umb_macroAlias.DataSource     = macroRenderings;
                umb_macroAlias.DataValueField = "macroAlias";
                umb_macroAlias.DataTextField  = "macroName";
                umb_macroAlias.DataBind();
                macroRenderings.Close();
            }
        }