Exemple #1
0
    /// <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);
    }
Exemple #2
0
    /// <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);
    }
Exemple #3
0
    /// <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);
    }
Exemple #6
0
    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();
    }
Exemple #8
0
    /// <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;
                }
            }
        }
    }
Exemple #13
0
    /// <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);
        }
Exemple #15
0
    /// <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;
    }
Exemple #17
0
    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);
    }
Exemple #18
0
 protected void btnDeleteElem_Click(object sender, EventArgs e)
 {
     GetHiddenValues();
     if ((CategoryID > 0) && (ParentID > 0))
     {
         SettingsCategoryInfoProvider.DeleteSettingsCategoryInfo(CategoryID);
         AfterAction("delete", ParentID);
     }
 }
Exemple #19
0
    /// <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);
    }
Exemple #20
0
    /// <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);
    }
Exemple #21
0
 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;
        }
    }
Exemple #23
0
    /// <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);
        }
    }
Exemple #24
0
    /// <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);
    }
Exemple #25
0
 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();
        }
    }
Exemple #29
0
    /// <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));
     }
 }