/// <summary> /// Creates settings group. Called when the "Create group" button is pressed. /// Expects the CreateSettingsCategory method to be run first. /// </summary> private bool CreateSettingsGroup() { // Get the settings category SettingsCategoryInfo settingsCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("MyNewSettingsCategory"); if (settingsCategory != null) { // Create new settings group object SettingsCategoryInfo newGroup = new SettingsCategoryInfo(); // Set the properties newGroup.CategoryDisplayName = "My New Settings Group"; newGroup.CategoryName = "MyNewSettingsGroup"; newGroup.CategoryOrder = 0; newGroup.CategoryParentID = settingsCategory.CategoryID; newGroup.CategoryIsGroup = true; newGroup.CategoryIsCustom = true; // Create the settings group SettingsCategoryInfoProvider.SetSettingsCategoryInfo(newGroup); return(true); } return(false); }
/// <summary> /// Gets and bulk updates settings groups. Called when the "Get and bulk update groups" button is pressed. /// Expects the CreateSettingsGroup method to be run first. /// </summary> private bool GetAndBulkUpdateSettingsGroups() { // Prepare the parameters string where = "CategoryName LIKE 'MyNew%' AND CategoryIsGroup = 1"; string orderBy = "CategoryName"; // Get the data DataSet groups = SettingsCategoryInfoProvider.GetSettingsCategories(where, orderBy); if (!DataHelper.DataSourceIsEmpty(groups)) { // Loop through the individual items foreach (DataRow groupDr in groups.Tables[0].Rows) { // Create object from DataRow SettingsCategoryInfo modifyGroup = new SettingsCategoryInfo(groupDr); // Update the property modifyGroup.CategoryDisplayName = modifyGroup.CategoryDisplayName.ToUpper(); // Update settings group SettingsCategoryInfoProvider.SetSettingsCategoryInfo(modifyGroup); } return(true); } return(false); }
/// <summary> /// Gets and bulk updates settings categories. Called when the "Get and bulk update categories" button is pressed. /// Expects the CreateSettingsCategory method to be run first. /// </summary> private bool GetAndBulkUpdateSettingsCategories() { // Prepare the parameters string where = "CategoryName LIKE 'MyNew%' AND CategoryIsGroup = 0"; // Get the settings categories DataSet categories = SettingsCategoryInfoProvider.GetSettingsCategories(where, null); if (!DataHelper.DataSourceIsEmpty(categories)) { // Loop through the individual items foreach (DataRow categoryDr in categories.Tables[0].Rows) { // Create object from DataRow SettingsCategoryInfo modifyCategory = new SettingsCategoryInfo(categoryDr); // Update the property modifyCategory.CategoryDisplayName = modifyCategory.CategoryDisplayName.ToUpper(); // Update the settings category SettingsCategoryInfoProvider.SetSettingsCategoryInfo(modifyCategory); } return(true); } return(false); }
protected void Page_Load(object sender, EventArgs e) { if (CultureHelper.IsUICultureRTL()) { ControlsHelper.ReverseFrames(colsFrameset); } int moduleId = QueryHelper.GetInteger("moduleid", 0); int catId = QueryHelper.GetInteger("categoryid", -1); if (catId <= 0) { string whereCond = moduleId > 0 ? "CategoryResourceID = " + moduleId : "CategoryParentID = (SELECT CategoryId FROM CMS_SettingsCategory WHERE CategoryName = 'CMS.Settings')"; DataSet ds = SettingsCategoryInfoProvider.GetSettingsCategories(whereCond, "CategoryLevel, CategoryOrder", 1, "CategoryIsGroup, CategoryID, CategoryParentID"); if (!DataHelper.DataSourceIsEmpty(ds)) { DataRow row = ds.Tables[0].Rows[0]; catId = ValidationHelper.GetBoolean(row["CategoryIsGroup"], false) ? ValidationHelper.GetInteger(row["CategoryParentID"], 0) : ValidationHelper.GetInteger(row["CategoryID"], 0); } else { catId = SettingsCategoryInfoProvider.GetRootSettingsCategoryInfo().CategoryID; } } frameTree.Attributes["src"] = "Tree.aspx?categoryid=" + catId + "&moduleid=" + moduleId; var queryString = "categoryid=" + catId + "&moduleid=" + moduleId + "&objectID=" + catId + "&objectParentID=" + moduleId; frameMain.Attributes["src"] = URLHelper.AppendQuery(UIContextHelper.GetElementUrl(ModuleName.CMS, "EditSettingsCategory", false), queryString); ScriptHelper.HideVerticalTabs(this); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); // Get query string parameters int siteId = QueryHelper.GetInteger("siteid", 0); int categoryId = QueryHelper.GetInteger("categoryid", 0); string searchForText = QueryHelper.GetString("search", ""); bool searchInDescription = QueryHelper.GetBoolean("description", false); // Get category SettingsCategoryInfo category = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(categoryId); // Either category or search text needs to be set if ((category == null) && (!string.IsNullOrEmpty(searchForText))) { return; } // Get site SiteInfo site = SiteInfoProvider.GetSiteInfo(siteId); // Export settings Export(category, searchForText, searchInDescription, site); }
protected void Page_Load(object sender, EventArgs e) { ScriptHelper.RegisterJQuery(Page); TreeViewCategories.RootIsClickable = true; // Get selected category ID int categoryId; if (!RequestHelper.IsPostBack() && QueryHelper.Contains("selectedCategoryId")) { // Get from URL categoryId = QueryHelper.GetInteger("selectedCategoryId", 0); } else if (Request.Form["selectedCategoryId"] != null) { // Get from postback categoryId = ValidationHelper.GetInteger(Request.Form["selectedCategoryId"], 0); } else { // Select root by default categoryId = SettingsCategoryInfoProvider.GetRootSettingsCategoryInfo().CategoryID; } TreeViewCategories.CategoryID = categoryId; }
protected override void OnInit(EventArgs e) { base.OnInit(e); mCategoryId = QueryHelper.GetInteger("categoryid", 0); mTreeRoot = QueryHelper.GetText("treeroot", "customsettings"); mWholeSettings = mTreeRoot == "settings"; mRootName = mWholeSettings ? "CMS.Settings" : "CMS.CustomSettings"; if (mCategoryId > 0) { mCategoryInfo = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(mCategoryId); } else { mCategoryInfo = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(mRootName); } if (mCategoryInfo != null) { mCategoryId = mCategoryInfo.CategoryID; } // Intialize the control SetupControl(); }
/// <summary> /// Creates settings category. Called when the "Create category" button is pressed. /// </summary> private bool CreateSettingsCategory() { // Get parent category ID SettingsCategoryInfo parentCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("CMS.CustomSettings"); if (parentCategory != null) { // Create new settings category object SettingsCategoryInfo newCategory = new SettingsCategoryInfo(); // Set the properties newCategory.CategoryDisplayName = "My New Settings Category"; newCategory.CategoryName = "MyNewSettingsCategory"; newCategory.CategoryOrder = 0; newCategory.CategoryParentID = parentCategory.CategoryID; newCategory.CategoryIsGroup = false; newCategory.CategoryIsCustom = true; // Create settings category SettingsCategoryInfoProvider.SetSettingsCategoryInfo(newCategory); return(true); } return(false); }
/// <summary> /// Gets path containing display names of all predecessors of given category and name of category itself. /// </summary> /// <param name="child">Category to get path from</param> /// <returns>String containing path to given Category</returns> private string GetCategoryPathNames(SettingsCategoryInfo child) { // Convert IDPath to be suitable for IN-clause of SQL query string inClause = child.CategoryIDPath.Remove(0, 1).Replace('/', ','); StringBuilder sb = new StringBuilder(""); if (!string.IsNullOrEmpty(inClause)) { // Get display names of all categories from path, order by nesting level DataSet ds = SettingsCategoryInfoProvider.GetSettingsCategories(string.Format("CategoryID IN ({0}) AND CategoryLevel > 0", inClause), "CategoryLevel", -1, "CategoryDisplayName"); if (!DataHelper.DataSourceIsEmpty(ds)) { foreach (DataRow row in ds.Tables[0].Rows) { // No slash before first name if (sb.Length > 0) { sb.Append(" / "); } sb.Append(ValidationHelper.GetString(row["CategoryDisplayName"], "")); } } } return(sb.ToString()); }
/// <summary> /// Gets formatted string of display names of all predecessors of given category and name of the category itself separated by ">". /// </summary> /// <param name="categoryIdPath">Category ID path</param> private string FormatCategoryPathNames(string categoryIdPath) { var categories = SettingsCategoryInfoProvider.GetCategoriesOnPath(categoryIdPath).Cast <SettingsCategoryInfo>().Select(c => c.CategoryDisplayName); var formatted = categories.Join(" > "); return(formatted); }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); string[,] breadcrumbs = new string[2, 4]; breadcrumbs[0, 2] = "_parent"; breadcrumbs[1, 1] = ""; // Set bradcrumbs for editing if (skeEditKey.SettingsKeyObj != null) { SettingsCategoryInfo sci = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(skeEditKey.SettingsKeyObj.KeyCategoryID); breadcrumbs[0, 0] = sci.CategoryDisplayName; breadcrumbs[0, 1] = ResolveUrl("CustomSettingsCategory_Default.aspx?treeroot=" + mTreeRoot + "&categoryid=" + sci.CategoryParentID + "&siteid=" + mSiteId); breadcrumbs[1, 0] = skeEditKey.SettingsKeyObj.KeyDisplayName; } // Set bradcrumbs for creating new key else { if (mParentGroup != null) { SettingsCategoryInfo parentCat = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(mParentGroup); if (parentCat != null) { breadcrumbs[0, 0] = parentCat.CategoryDisplayName; breadcrumbs[0, 1] = ResolveUrl("CustomSettingsCategory_Default.aspx?treeroot=" + mTreeRoot + "&categoryid=" + parentCat.CategoryParentID + "&siteid=" + mSiteId); breadcrumbs[1, 0] = GetString("Development.CustomSettings.NewKey"); } } } CurrentMaster.Title.Breadcrumbs = breadcrumbs; }
protected void Page_Load(object sender, EventArgs e) { if (!RequestHelper.IsPostBack()) { treeSettings.SelectPath = "/"; int categoryId = QueryHelper.GetInteger("categoryid", -1); SettingsCategoryInfo category = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(categoryId); // Select requested category if (category != null) { treeSettings.SelectPath = category.CategoryIDPath; treeSettings.CategoryID = category.CategoryID; treeSettings.ParentID = category.CategoryParentID; treeSettings.CategoryModuleID = category.CategoryResourceID; treeSettings.Value = category.CategoryID + "|" + category.CategoryParentID; } else { // Select root SettingsCategoryInfo rootCat = treeSettings.RootCategory; if (rootCat != null) { treeSettings.CategoryID = rootCat.CategoryID; treeSettings.ParentID = rootCat.CategoryParentID; treeSettings.Value = rootCat.CategoryID + "|" + rootCat.CategoryParentID; } } } }
/// <summary> /// Method removes obsolete settings. /// </summary> private static void CleanupSettings() { var settings = SettingsKeyInfoProvider.GetSettingsKeys().Where(@"[KeyName] = 'CMSFacebookPageId' OR [KeyName] = 'CMSFacebookAccessToken' OR [KeyName] = 'CMSFacebookURLShortenerType' OR [KeyName] = 'CMSTwitterURLShortenerType' OR [KeyName] = 'CMSTwitterConsumerKey' or [KeyName] = 'CMSTwitterConsumerSecret' OR [KeyName] = 'CMSTwitterAccessToken' OR [KeyName] = 'CMSTwitterAccessTokenSecret' OR [KeyName] = 'CMSRequiredFacebookPage'"); foreach (SettingsKeyInfo settingsKeyInfo in settings) { SettingsKeyInfoProvider.DeleteSettingsKeyInfo(settingsKeyInfo); } var categories = SettingsCategoryInfoProvider.GetSettingsCategories().Where(@"[CategoryName] = 'CMS.Facebook.UrlShortening' OR [CategoryName] = 'CMS.Twitter.General' OR [CategoryName] = 'CMS.Twitter.UrlShortening' OR [CategoryName] = 'CMS.Twitter'"); foreach (SettingsCategoryInfo category in categories) { SettingsCategoryInfoProvider.DeleteSettingsCategoryInfo(category); } }
public SettingsKey GetKeyByName(string keyName) { var keyInfo = SettingsKeyInfoProvider.GetSettingsKeyInfo(keyName); if (keyInfo == null) { throw new ArgumentException($"'{keyName}' is not a valid key name"); } var groupInfo = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(keyInfo.KeyCategoryID); var categoryInfo = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(groupInfo.CategoryParentID); var categoryParentInfo = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(categoryInfo.CategoryParentID); var category = new Category(categoryInfo.CategoryDisplayName, categoryInfo.CategoryName, categoryParentInfo.CategoryName); var group = new Group(groupInfo.CategoryDisplayName, category); var key = new SettingsKey { KeyDefaultValue = keyInfo.KeyDefaultValue, KeyDescription = keyInfo.KeyDescription, KeyDisplayName = keyInfo.KeyDisplayName, KeyEditingControlPath = keyInfo.KeyEditingControlPath, KeyExplanationText = keyInfo.KeyExplanationText, KeyFormControlSettings = keyInfo.KeyFormControlSettings, KeyName = keyInfo.KeyName, KeyType = keyInfo.KeyType, KeyValidation = keyInfo.KeyValidation, Group = group }; return(key); }
/// <summary> /// Creates settings key. Called when the "Create key" button is pressed. /// </summary> private bool CreateSettingsKey() { // Get the settings group SettingsCategoryInfo settingsGroup = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("MyNewSettingsGroup"); if (settingsGroup != null) { // Create new settings key object SettingsKeyInfo newKey = new SettingsKeyInfo(); // Set the properties newKey.KeyDisplayName = "My new key"; newKey.KeyName = "MyNewKey"; newKey.KeyDescription = "My new key description"; newKey.KeyType = "string"; newKey.KeyValue = "My new value"; newKey.KeyCategoryID = settingsGroup.CategoryID; newKey.KeyDefaultValue = null; // Set Site ID for site specific settings key (for global settings key is default value 0). newKey.SiteID = CMSContext.CurrentSiteID; // Create the settings key SettingsKeyProvider.SetValue(newKey); return(true); } return(false); }
protected void Page_Load(object sender, EventArgs e) { ScriptHelper.RegisterJQuery(Page); // URL for tree selection string script = "var categoryURL = '" + ResolveUrl("keys.aspx") + "';\n"; script += "var doNotReloadContent = false;\n"; // Get selected site id mSiteId = ValidationHelper.GetInteger(siteSelector.Value, 0); TreeViewCategories.SiteID = mSiteId; TreeViewCategories.RootIsClickable = true; int categoryId = 0; if (Request.Params["selectedCategoryId"] != null) { // Selected category categoryId = ValidationHelper.GetInteger(Request.Params["selectedCategoryId"], 0); } else { // First request to Settings categoryId = SettingsCategoryInfoProvider.GetRootSettingsCategoryInfo().CategoryID; } bool reload = QueryHelper.GetBoolean("reload", true); // Select category SettingsCategoryInfo sci = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(categoryId); if (sci != null) { // Stop reloading of right frame, if explicitly set if (!reload) { script += "doNotReloadContent = true;"; } script += SelectAtferLoad(sci.CategoryIDPath, sci.CategoryName, sci.CategoryID, sci.CategoryParentID); } ScriptHelper.RegisterStartupScript(Page, typeof(string), "SelectCat", ScriptHelper.GetScript(script)); // Style site selector siteSelector.DropDownSingleSelect.CssClass = ""; siteSelector.DropDownSingleSelect.Attributes.Add("style", "width: 100%"); lblSite.Text = GetString("general.site") + ResHelper.Colon; // Set site selector siteSelector.DropDownSingleSelect.AutoPostBack = true; siteSelector.AllowAll = false; siteSelector.UniSelector.SpecialFields = new string[1, 2] { { GetString("general.global"), "0" } }; siteSelector.OnlyRunningSites = false; }
protected void Page_Load(object sender, EventArgs e) { // Get query strings mCategoryId = QueryHelper.GetInteger("categoryid", 0); mSiteId = QueryHelper.GetInteger("siteid", 0); // Assign category id, site id SettingsGroupViewer.CategoryID = mCategoryId; SettingsGroupViewer.SiteID = mSiteId; if (SettingsGroupViewer.SettingsCategoryInfo == null) { // Get root category info SettingsCategoryInfo sci = SettingsCategoryInfoProvider.GetRootSettingsCategoryInfo(); SettingsGroupViewer.CategoryID = sci.CategoryID; } // Get search text if exist string search = QueryHelper.GetString("search", String.Empty).Trim(); // If root selected show search controls if ((SettingsKeyProvider.DevelopmentMode) && (SettingsGroupViewer.CategoryName == "CMS.Settings")) { pnlSearch.Visible = true; lblNoSettings.ResourceString = "Development.Settings.SearchSettings"; if (!string.IsNullOrEmpty(search)) { // Set searched values if (!URLHelper.IsPostback()) { txtSearch.Text = search; chkDescription.Checked = QueryHelper.GetBoolean("description", true); } } RegisterSearchScript(); } // Set master title CurrentMaster.Title.TitleText = HTMLHelper.HTMLEncode(ResHelper.LocalizeString(SettingsGroupViewer.SettingsCategoryInfo.CategoryDisplayName)); CurrentMaster.Title.TitleImage = GetImageUrlForHeader(SettingsGroupViewer.SettingsCategoryInfo.CategoryName); CurrentMaster.Title.HelpTopicName = GetHelpTopicName(); // Check, if there are any groups DataSet ds = SettingsCategoryInfoProvider.GetSettingsCategories("CategoryIsGroup = 1 AND CategoryParentID = " + mCategoryId, null, -1, "CategoryID"); if ((!DataHelper.DataSourceIsEmpty(ds)) || (!string.IsNullOrEmpty(search))) { CurrentMaster.HeaderActions.Actions = GetHeaderActions(); CurrentMaster.HeaderActions.ActionPerformed += HeaderActions_ActionPerformed; } else { lblNoSettings.Visible = true; } ScriptHelper.RegisterSaveShortcut(this, "save", false); }
protected void btnDeleteElem_Click(object sender, EventArgs e) { GetHiddenValues(); if ((CategoryID > 0) && (ParentID > 0)) { SettingsCategoryInfoProvider.DeleteSettingsCategoryInfo(CategoryID); AfterAction("delete", ParentID); } }
/// <summary> /// Deletes settings group. Called when the "Delete group" button is pressed. /// Expects the CreateSettingsGroup method to be run first. /// </summary> private bool DeleteSettingsGroup() { // Get the settings group SettingsCategoryInfo deleteGroup = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("MyNewSettingsGroup"); // Delete the settings group SettingsCategoryInfoProvider.DeleteSettingsCategoryInfo(deleteGroup); return(deleteGroup != null); }
/// <summary> /// Deletes settings category. Called when the "Delete category" button is pressed. /// Expects the CreateSettingsCategory method to be run first. /// </summary> private bool DeleteSettingsCategory() { // Get the settings category SettingsCategoryInfo deleteCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("MyNewSettingsCategory"); // Delete the settings category SettingsCategoryInfoProvider.DeleteSettingsCategoryInfo(deleteCategory); return(deleteCategory != null); }
protected void btnMoveDown_Click(object sender, EventArgs e) { GetHiddenValues(); if (CategoryID > 0) { // Move category down SettingsCategoryInfoProvider.MoveCategoryDown(CategoryID); AfterAction("movedown", CategoryID, mTabIndex); } }
/// <summary> /// Handles the whole category actions. /// </summary> /// <param name="sender">Sender of event</param> /// <param name="e">Event arguments</param> protected void grpEdit_ActionPerformed(object sender, CommandEventArgs e) { int categoryId = ValidationHelper.GetInteger(e.CommandArgument, 0); switch (e.CommandName.ToLowerCSafe()) { case ("edit"): // Redirect to category edit page SettingsCategoryInfo sci = SettingsCategoryInfo.Provider.Get(categoryId); if (sci != null) { URLHelper.Redirect(URLHelper.AppendQuery(UIContextHelper.GetElementUrl(ModuleName.CMS, "Modules.Settings.EditCategory", false), "isgroup=1&categoryid=" + categoryId + "&moduleid=" + moduleId)); } break; case ("delete"): try { SettingsCategoryInfo settingGroup = SettingsCategoryInfo.Provider.Get(categoryId); if (settingGroup != null) { // Register refresh tree script StringBuilder sb = new StringBuilder(); sb.Append("if (window.parent != null) {"); sb.Append("if (window.parent.parent.frames['settingstree'] != null) {"); sb.Append("window.parent.parent.frames['settingstree'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Settings/Tree.aspx") + "?categoryid=" + settingGroup.CategoryParentID + "&moduleid=" + moduleId + "&reloadtreeselect=1';"); sb.Append("}"); sb.Append("if (window.parent.frames['settingstree'] != null) {"); sb.Append("window.parent.frames['settingstree'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Settings/Tree.aspx") + "?categoryid=" + settingGroup.CategoryParentID + "&moduleid=" + moduleId + "&reloadtreeselect=1';"); sb.Append("}"); sb.Append("}"); ScriptHelper.RegisterClientScriptBlock(this, typeof(string), "treeGroupRefresh", ScriptHelper.GetScript(sb.ToString())); SettingsCategoryInfo.Provider.Delete(settingGroup); } } catch { ShowError(GetString("settings.group.deleteerror")); } grpEdit.ReloadData(); break; case ("moveup"): SettingsCategoryInfoProvider.MoveCategoryUp(categoryId); grpEdit.ReloadData(); break; case ("movedown"): SettingsCategoryInfoProvider.MoveCategoryDown(categoryId); grpEdit.ReloadData(); break; } }
/// <summary> /// Get path to the given settings category. /// </summary> /// <param name="settingsKeyCategoryInfo">The key that path is generated for</param> /// <returns>Path to the given settings category</returns> private IEnumerable <SettingsCategoryInfo> GetCategoryPath(SettingsCategoryInfo settingsKeyCategoryInfo) { var sci = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(settingsKeyCategoryInfo.CategoryParentID); while (sci != null) { yield return(sci); sci = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(sci.CategoryParentID); } }
/// <summary> /// Initialization of controls. /// </summary> private void InitControls() { // Init validations rfvKeyDisplayName.ErrorMessage = ResHelper.GetString("general.requiresdisplayname"); rfvKeyName.ErrorMessage = ResHelper.GetString("general.requirescodename"); // Display of LoadGeneration table row trLoadGeneration.Visible = SystemContext.DevelopmentMode; // Set the root category if (RootCategoryID > 0) { drpCategory.RootCategoryId = RootCategoryID; } // Enable only groups which belong to selected module drpCategory.EnabledCondition = "{% " + (!SystemContext.DevelopmentMode ? "(CategoryResourceID == " + ModuleID + ") && " : String.Empty) + "(CategoryIsGroup)%}"; // If category specified programmatically if (mSelectedGroupId >= 0) { // Set category selector value if (!RequestHelper.IsPostBack()) { drpCategory.SelectedCategory = mSelectedGroupId; } // Hide category selector trCategory.Visible = false; } else { // Set category selector value if (!URLHelper.IsPostback() && (SettingsKeyObj != null) && (SettingsKeyObj.KeyCategoryID > 0)) { drpCategory.SelectedCategory = SettingsKeyObj.KeyCategoryID; } } if (!URLHelper.IsPostback()) { LoadKeyTypes(); } // Disable editing for keys not assigned to current module if (SettingsKeyObj != null) { SettingsCategoryInfo parentCategory = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(SettingsKeyObj.KeyCategoryID); ResourceInfo resource = ResourceInfoProvider.GetResourceInfo(ModuleID); plnEdit.Enabled = btnOk.Enabled = (resource != null) && (((parentCategory != null) && (parentCategory.CategoryResourceID == resource.ResourceId) && resource.ResourceIsInDevelopment) || SystemContext.DevelopmentMode); } ucControlSettings.BasicForm.EnsureMessagesPlaceholder(MessagesPlaceHolder); }
protected void btnMoveDown_Click(object sender, EventArgs e) { GetHiddenValues(); if (ElementID > 0) { SettingsCategoryInfoProvider.MoveCategoryDown(ElementID); if (AfterAction != null) { AfterAction("movedown", ElementID + "|" + mTabIndex); } } }
protected void Page_Load(object sender, EventArgs e) { //Get parameters mKeyName = QueryHelper.GetString("keyname", ""); mSiteId = QueryHelper.GetInteger("siteid", -1); mParentGroup = QueryHelper.GetString("parentgroup", null); mTreeRoot = QueryHelper.GetText("treeroot", "customsettings"); skeEditKey.IsCustomSetting = mTreeRoot.EqualsCSafe("customsettings", true); skeEditKey.OnSaved += new EventHandler(skeEditKey_OnSaved); if (skeEditKey.IsCustomSetting) { SettingsCategoryInfo root = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName("CMS.CustomSettings"); if (root != null) { skeEditKey.RootCategoryID = root.CategoryID; } } // Set up editing mode if ((mSiteId >= 0) && !string.IsNullOrEmpty(mKeyName)) { mEditedKey = SettingsKeyProvider.GetSettingsKeyInfo(mKeyName, mSiteId); // Set id of key if (mEditedKey != null) { skeEditKey.SettingsKeyID = mEditedKey.KeyID; } } // Set up creating mode else { if (mParentGroup != null) { SettingsCategoryInfo parentCat = SettingsCategoryInfoProvider.GetSettingsCategoryInfoByName(mParentGroup); if (parentCat != null) { skeEditKey.SelectedGroupID = parentCat.CategoryID; } } } // Check if there is something right created to edit. if (ViewState["newId"] != null) { skeEditKey.SettingsKeyID = ValidationHelper.GetInteger(ViewState["newId"], 0); } skeEditKey.TreeRefreshUrl = "~/CMSModules/Settings/Development/CustomSettings/CustomSettings_Menu.aspx?treeroot=" + mTreeRoot + "&"; skeEditKey.HeaderRefreshUrl = "~/CMSModules/Settings/Development/CustomSettings/CustomSettingsCategory_Tabs.aspx?selectedtab=keys&treeroot=" + mTreeRoot + "&"; }
protected void Page_Load(object sender, EventArgs e) { // Colect parameters int categoryId = QueryHelper.GetInteger("categoryid", 0); int siteId = QueryHelper.GetInteger("siteid", 0); string treeRoot = QueryHelper.GetText("treeroot", "customsettings"); string rootName = treeRoot == "settings" ? "CMS.Settings" : "CMS.CustomSettings"; mSelectedTab = QueryHelper.GetString("selectedtab", "keys"); bool isEditing = QueryHelper.GetBoolean("isediting", false); if (categoryId > 0) { DataSet ds = SettingsCategoryInfoProvider.GetSettingsCategories("CategoryID = " + categoryId, null, 1, "CategoryName, CategoryIsGroup, CategoryParentID"); if (!DataHelper.DataSourceIsEmpty(ds)) { bool isGroup = ValidationHelper.GetBoolean(ds.Tables[0].Rows[0]["CategoryIsGroup"], false); // CategoryId for use in tabs int tabCatId = categoryId; // Use paprentID when viewing group if (isGroup) { tabCatId = ValidationHelper.GetInteger(ds.Tables[0].Rows[0]["CategoryParentID"], 0); } mTabsCategoryId = tabCatId.ToString(); // Resolve content page link: edit or list if (isEditing) { if (!isGroup) { mContentLink = "CustomSettingsCategory_Edit.aspx?treeroot=" + treeRoot + "&categoryid=" + categoryId + "&siteid=" + siteId; mSelectedTab = "general"; } else { mContentLink = "CustomSettingsCategory_Edit.aspx?isgroup=1&treeroot=" + treeRoot + "&categoryid=" + categoryId + "&siteid=" + siteId; mSelectedTab = "keys"; } } else { mContentLink = "CustomSettings_List.aspx?treeroot=" + treeRoot + "&categoryid=" + categoryId + "&siteid=" + siteId; } } } // Default link, when no category specified else { mContentLink = "CustomSettings_List.aspx?treeroot=" + treeRoot + "&siteid=" + siteId; } }
/// <summary> /// Raised after menu action (new, delete, up or down) has been taken. /// </summary> protected void menuElem_AfterAction(string actionName, object actionArgument) { string[] split = actionArgument.ToString().Split('|'); int categoryId = ValidationHelper.GetInteger(split[0], 0); SettingsCategoryInfo category = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(categoryId); if (category != null) { treeSettings.SelectPath = category.CategoryIDPath; treeSettings.SelectedItem = category.CategoryName; switch (actionName.ToLower()) { case "delete": treeSettings.ExpandPath = category.CategoryIDPath + "/"; // Reload header and content after save StringBuilder sb = new StringBuilder(); sb.Append("if (window.parent != null) {"); sb.Append("if (window.parent.frames['customsettingsmain'] != null) {"); sb.Append("window.parent.frames['customsettingsmain'].location = '" + ResolveUrl("CustomSettingsCategory_Default.aspx") + "?categoryid=" + categoryId + "';"); sb.Append("}"); sb.Append("}"); this.ltlScript.Text += ScriptHelper.GetScript(sb.ToString()); treeSettings.ExpandPath = category.CategoryIDPath + "/"; // Update menu actions parameters this.menuElem.Value = category.CategoryID + "|" + category.CategoryParentID; break; case "moveup": if (split.Length == 2) { this.ltlScript.Text += ScriptHelper.GetScript("window.tabIndex = " + split[1] + ";"); } break; case "movedown": if (split.Length == 2) { this.ltlScript.Text += ScriptHelper.GetScript("window.tabIndex = " + split[1] + ";"); } break; } this.ltlScript.Text += ScriptHelper.GetScript("SelectNode(" + ScriptHelper.GetString(category.CategoryName) + ");"); this.ltlScript.Text += ScriptHelper.GetScript("var postParentId = " + category.CategoryParentID + ";"); // Load data treeSettings.ReloadData(); } }
/// <summary> /// Generate info text for given setting key /// </summary> /// <param name="ski">Setting key object</param> private String GenerateInfoText(SettingsKeyInfo ski) { // Get setting's group SettingsCategoryInfo sci = SettingsCategoryInfoProvider.GetSettingsCategoryInfo(ski.KeyCategoryID); // Get resource name from group ResourceInfo ri = ResourceInfoProvider.GetResourceInfo(sci.CategoryResourceID); string resourceName = ResHelper.LocalizeString(ri.ResourceDisplayName); string path = string.Join(" -> ", GetCategoryPath(sci).Reverse().Select(s => ResHelper.LocalizeString(s.CategoryDisplayName))); return(String.Format(GetString("ui.moduledisabled.general"), resourceName, path, ResHelper.GetString(ski.KeyDisplayName))); }
private IEnumerable <SettingsCategoryInfo> GetGroups(SettingsCategoryInfo category, bool isSearch) { if (isSearch) { var groups = SettingsCategoryInfoProvider.GetSettingsCategories("CategoryIsGroup = 1", "CategoryName"); return(groups); } else { var groups = SettingsCategoryInfoProvider.GetChildSettingsCategories(category.CategoryID); return(groups.Cast <SettingsCategoryInfo>().Where(c => c.CategoryIsGroup).OrderBy(c => c.CategoryOrder)); } }