示例#1
0
        public static ArrayList GetCustomSettingValues(int moduleId)
        {
            ArrayList customSettings = new ArrayList();

            using (IDataReader reader = DBModuleSettings.GetModuleSettings(moduleId))
            {
                while (reader.Read())
                {
                    int sortOrder = 100;
                    if (reader["SortOrder"] != DBNull.Value)
                    {
                        sortOrder = Convert.ToInt32(reader["SortOrder"]);
                    }

                    CustomModuleSetting setting
                        = new CustomModuleSetting(
                              new Guid(reader["FeatureGuid"].ToString()),
                              -1,
                              reader["ResourceFile"].ToString(),
                              reader["SettingName"].ToString().Trim(),
                              reader["SettingValue"].ToString(),
                              reader["ControlType"].ToString(),
                              reader["RegexValidationExpression"].ToString(),
                              reader["ControlSrc"].ToString(),
                              reader["HelpKey"].ToString(),
                              sortOrder
                              );
                    customSettings.Add(setting);
                }
            }

            return(customSettings);
        }
示例#2
0
        public static ArrayList GetDefaultSettings(int moduleDefId)
        {
            ArrayList defaultCustomSettings = new ArrayList();

            using (IDataReader reader = DBModuleSettings.GetDefaultModuleSettings(moduleDefId))
            {
                while (reader.Read())
                {
                    int sortOrder = 100;
                    if (reader["SortOrder"] != DBNull.Value)
                    {
                        sortOrder = Convert.ToInt32(reader["SortOrder"]);
                    }

                    CustomModuleSetting setting = new CustomModuleSetting(
                        new Guid(reader["FeatureGuid"].ToString()),
                        Convert.ToInt32(reader["ID"]),
                        reader["ResourceFile"].ToString(),
                        reader["SettingName"].ToString().Trim(),
                        reader["SettingValue"].ToString(),
                        reader["ControlType"].ToString(),
                        reader["RegexValidationExpression"].ToString(),
                        reader["ControlSrc"].ToString(),
                        reader["HelpKey"].ToString(),
                        sortOrder,
                        reader["Attributes"].ToString(),
                        reader["Options"].ToString()
                        );

                    setting.GroupName = reader["GroupName"].ToString();
                    defaultCustomSettings.Add(setting);
                }
            }

            return(defaultCustomSettings);
        }
        private void AddSettingControl(CustomModuleSetting s, Panel groupPanel)
        {
            if (s.SettingName == "WebPartModuleWebPartSetting")
            {
                // Special handling for this one
                divWebParts.Visible = true;
                using (IDataReader reader = WebPartContent.SelectBySite(siteSettings.SiteId))
                {
                    this.ddWebParts.DataSource = reader;
                    this.ddWebParts.DataBind();
                }
                if (s.SettingValue.Length == 36)
                {
                    ListItem listItem = ddWebParts.Items.FindByValue(s.SettingValue);
                    if (listItem != null)
                    {
                        ddWebParts.ClearSelection();
                        listItem.Selected = true;

                    }

                }

            }
            else
            {
                if (s.SettingControlType == string.Empty) { return; }

                String settingLabel = s.SettingName;
                String resourceFile = "Resource";
                if (s.ResourceFile.Length > 0)
                {
                    resourceFile = s.ResourceFile;
                }

                try
                {
                    settingLabel = GetGlobalResourceObject(resourceFile, s.SettingName).ToString();
                    if (settingLabel == null) { settingLabel = s.SettingName; }
                }
                catch (NullReferenceException ex)
                {
                    log.Error("ModuleSettings.aspx.cs handled error getting resource for s.SettingName " + s.SettingName, ex);
                }

                Panel panel = new Panel();
                panel.CssClass = "settingrow " + s.SettingName;
                Literal label = new Literal();
                label.Text = "<label class='settinglabel' >" + settingLabel + "</label>";
                panel.Controls.Add(label);

                if ((s.SettingControlType == "TextBox") || (s.SettingControlType == string.Empty))
                {
                    Literal textBox = new Literal();
                    textBox.Text = "<input name=\""
                        + s.SettingName + moduleId.ToInvariantString()
                        + "\" type='text' class=\"forminput\" value=\"" + s.SettingValue.HtmlEscapeQuotes()
                        + "\" size=\"45\" id=\"" + s.SettingName + moduleId.ToInvariantString() + "\" />";

                    panel.Controls.Add(textBox);

                }

                if (s.SettingControlType == "CheckBox")
                {
                    Literal checkBox = new Literal();
                    String isChecked = String.Empty;

                    if (string.Equals(s.SettingValue, "true", StringComparison.InvariantCultureIgnoreCase))
                    {
                        isChecked = "checked";
                    }

                    checkBox.Text = "<input id='"
                        + s.SettingName + this.moduleId.ToInvariantString()
                        + "' type='checkbox' class='forminput' " + isChecked
                        + " name='" + s.SettingName + moduleId.ToInvariantString() + "' />";

                    panel.Controls.Add(checkBox);

                }

                if (s.SettingControlType == "ISettingControl")
                {
                    if (s.ControlSrc.Length > 0)
                    {
                        if(s.ControlSrc.EndsWith(".ascx"))
                        {
                            Control uc = Page.LoadControl(s.ControlSrc);
                            if (uc is ISettingControl)
                            {

                                ISettingControl sc = uc as ISettingControl;
                                if (!IsPostBack)
                                    sc.SetValue(s.SettingValue);

                                uc.ID = "uc" + moduleId.ToInvariantString() + s.SettingName;
                                panel.Controls.Add(uc);
                            }

                        }
                        else
                        {
                            try
                            {

                                Control c = Activator.CreateInstance(Type.GetType(s.ControlSrc)) as Control;
                                if (c != null)
                                {
                                    if (c is ISettingControl)
                                    {
                                        ISettingControl sc = c as ISettingControl;

                                        c.ID = "uc" + moduleId.ToInvariantString() + s.SettingName;
                                        panel.Controls.Add(c);

                                        if (!IsPostBack)
                                        {
                                            sc.SetValue(s.SettingValue);
                                        }

                                    }
                                    else
                                    {
                                        log.Error("setting control " + s.ControlSrc + " does not implement ISettingControl");
                                    }
                                }

                            }
                            catch(Exception ex)
                            {
                                log.Error(ex);
                            }

                        }

                    }
                    else
                    {
                        log.Error("could not add setting control for ISettingControl, missing controlsrc for " + s.SettingName);
                    }
                }

                if (s.HelpKey.Length > 0)
                {
                    mojoHelpLink.AddHelpLink(panel, s.HelpKey);
                }

                //this.PlaceHolderAdvancedSettings.Controls.Add(panel);
                //pnlcustomSettings.Controls.Add(panel);
                groupPanel.Controls.Add(panel);
            }
        }
示例#4
0
        public static ArrayList GetCustomSettingValues(int moduleId)
        {
            ArrayList customSettings = new ArrayList();
            using (IDataReader reader = DBModuleSettings.GetModuleSettings(moduleId))
            {
                while (reader.Read())
                {
                    int sortOrder = 100;
                    if (reader["SortOrder"] != DBNull.Value)
                        sortOrder = Convert.ToInt32(reader["SortOrder"]);

                    CustomModuleSetting setting
                        = new CustomModuleSetting(
                        new Guid(reader["FeatureGuid"].ToString()),
                        -1,
                        reader["ResourceFile"].ToString(),
                        reader["SettingName"].ToString().Trim(),
                        reader["SettingValue"].ToString(),
                        reader["ControlType"].ToString(),
                        reader["RegexValidationExpression"].ToString(),
                        reader["ControlSrc"].ToString(),
                        reader["HelpKey"].ToString(),
                        sortOrder
                        );
                    customSettings.Add(setting);
                }
            }

            return customSettings;
        }