public IEnumerable <dynamic> DynamicJoin(IEnumerable <M> listLeft, IEnumerable <M> listRight, params Tuple <string, string>[] keys)
        {
            var outerKeySelector = CreateFunc <M>(keys.Select(k => k.Item1).ToArray());
            var innerKeySelector = CreateFunc <M>(keys.Select(k => k.Item2).ToArray());

            ObjectArrayComparer comparer = new ObjectArrayComparer();

            // Build comparer based on the keys

            //loop through the properties and their values
            return(listLeft.Join(listRight, outerKeySelector, innerKeySelector, (c, d) => comparer));
            //new {
            //    //MyId = c.Id,
            //    //YourId = d.Id,
            //    //MyAmtUSD = c.MyAmountUSD,
            //    //MyAmtGBP = c.MyAmountGBP,
            //    //YourAmtUSD = d.YourAmountUSD,
            //    //YourAmtGBP = d.YourAmountGBP
            //}, new ObjectArrayComparer());

            //var query = fMyTranList.DynamicJoin(fYourTranList,
            //   Tuple.Create("MyAmountGBP", "YourAmountGBP"));

            //var query = fMyTranList.DynamicJoin(fYourTranList,
            //  Tuple.Create("MyAmountGBP", "YourAmountGBP"),
            //  Tuple.Create("AnotherMyTranProperty", "AnotherYourTranProperty"));
        }
Exemple #2
0
    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        // Hardcoded modules
        object[] row;

        this.guide.InitEmptyParameters();

        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Ecommerce, ModuleEntry.ECOMMERCE))
        {
            row = new object[5];
            row[0] = GetImageUrl("CMSModules/CMS_Ecommerce/module.png");
            row[1] = GetString("Administration-LeftMenu.Ecommerce");
            row[2] = ResolveUrl("~/CMSModules/Ecommerce/Pages/SiteManager/Configuration_Frameset.aspx?siteId=0");
            row[3] = GetString("cms.ecommerce.description");
            row[4] = ValidationHelper.GetCodeName(row[1]);
            this.guide.GuideParameters.Add(row);
        }

        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.ContactManagement, ModuleEntry.ONLINEMARKETING))
        {
            row = new object[5];
            row[0] = GetImageUrl("Objects/OM_ContactManagement/object.png");
            row[1] = GetString("om.contactmanagement");
            row[2] = ResolveUrl("~/CMSModules/ContactManagement/Pages/Tools/Frameset.aspx?isSiteManager=1");
            row[3] = GetString("om.contactmanagement.description");
            row[4] = ValidationHelper.GetCodeName(row[1]);
            this.guide.GuideParameters.Add(row);
        }

        // Sort the collection
        ObjectArrayComparer comparer = new ObjectArrayComparer();
        this.guide.GuideParameters.Sort(comparer);
    }
Exemple #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ScriptHelper.RegisterJQuery(this.Page);

        // Initialize TreeView
        this.treeElem.ImageSet             = TreeViewImageSet.Custom;
        this.treeElem.ExpandImageToolTip   = GetString("General.Expand");
        this.treeElem.CollapseImageToolTip = GetString("General.Collapse");
        if (CultureHelper.IsUICultureRTL())
        {
            this.treeElem.LineImagesFolder = GetImageUrl("RTL/Design/Controls/Tree", false, false);
        }
        else
        {
            this.treeElem.LineImagesFolder = GetImageUrl("Design/Controls/Tree", false, false);
        }
        this.treeElem.Nodes.Clear();

        // Create root
        TreeNode rootNode = new TreeNode();

        rootNode.Text        = "<span class=\"ContentTreeSelectedItem\" name=\"treeNode\" onclick=\"ShowDesktopContent('tools.aspx', this);\"><img src=\"" + GetImageUrl("General/DefaultRoot.png") + "\" style=\"border:none;height:10px;width:1px;\" /><span class=\"Name\">" + GetString("Administration-LeftMenu.Tools") + "</span></span>";
        rootNode.Expanded    = true;
        rootNode.NavigateUrl = "#";
        this.treeElem.Nodes.Add(rootNode);

        ArrayList items = new ArrayList();

        // Add permanent modules
        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Ecommerce, ModuleEntry.ECOMMERCE))
        {
            AddToCollection(
                GetString("Administration-LeftMenu.Ecommerce"),
                "~/CMSModules/Ecommerce/Pages/SiteManager/Configuration_Frameset.aspx?siteId=0",
                "CMSModules/CMS_Ecommerce/list.png", items);
        }

        // Add permanent modules
        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.ContactManagement, ModuleEntry.ONLINEMARKETING))
        {
            AddToCollection(
                GetString("om.contactmanagement"),
                "~/CMSModules/ContactManagement/Pages/Tools/Frameset.aspx?isSiteManager=1",
                "Objects/OM_ContactManagement/list.png", items);
        }

        // Sort the collection
        ObjectArrayComparer comparer = new ObjectArrayComparer();

        items.Sort(comparer);

        // Build the tree
        foreach (object node in items)
        {
            object[] nodeArray = (object[])node;
            AddNodeToTree(Convert.ToString(nodeArray[1]), Convert.ToString(nodeArray[0]), Convert.ToString(nodeArray[2]), rootNode);
        }
    }
Exemple #4
0
    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        // Hardcoded modules
        object[] row;

        this.guide.InitEmptyParameters();

        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Ecommerce, ModuleEntry.ECOMMERCE))
        {
            row    = new object[5];
            row[0] = GetImageUrl("CMSModules/CMS_Ecommerce/module.png");
            row[1] = GetString("Administration-LeftMenu.Ecommerce");
            row[2] = ResolveUrl("~/CMSModules/Ecommerce/Pages/SiteManager/Configuration_Frameset.aspx?siteId=0");
            row[3] = GetString("cms.ecommerce.description");
            row[4] = ValidationHelper.GetCodeName(row[1]);
            this.guide.GuideParameters.Add(row);
        }

        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.ContactManagement, ModuleEntry.ONLINEMARKETING))
        {
            row    = new object[5];
            row[0] = GetImageUrl("Objects/OM_ContactManagement/object.png");
            row[1] = GetString("om.contactmanagement");
            row[2] = ResolveUrl("~/CMSModules/ContactManagement/Pages/Tools/Frameset.aspx?isSiteManager=1");
            row[3] = GetString("om.contactmanagement.description");
            row[4] = ValidationHelper.GetCodeName(row[1]);
            this.guide.GuideParameters.Add(row);
        }

        // Sort the collection
        ObjectArrayComparer comparer = new ObjectArrayComparer();

        this.guide.GuideParameters.Sort(comparer);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        ScriptHelper.RegisterJQuery(this.Page);

        // Initialize TreeView
        this.treeElem.ImageSet = TreeViewImageSet.Custom;
        this.treeElem.ExpandImageToolTip = GetString("General.Expand");
        this.treeElem.CollapseImageToolTip = GetString("General.Collapse");
        if (CultureHelper.IsUICultureRTL())
        {
            this.treeElem.LineImagesFolder = GetImageUrl("RTL/Design/Controls/Tree", false, false);
        }
        else
        {
            this.treeElem.LineImagesFolder = GetImageUrl("Design/Controls/Tree", false, false);
        }
        this.treeElem.Nodes.Clear();

        // Create root
        TreeNode rootNode = new TreeNode();
        rootNode.Text = "<span class=\"ContentTreeSelectedItem\" name=\"treeNode\" onclick=\"ShowDesktopContent('tools.aspx', this);\"><img src=\"" + GetImageUrl("General/DefaultRoot.png") + "\" style=\"border:none;height:10px;width:1px;\" /><span class=\"Name\">" + GetString("Administration-LeftMenu.Tools") + "</span></span>";
        rootNode.Expanded = true;
        rootNode.NavigateUrl = "#";
        this.treeElem.Nodes.Add(rootNode);

        ArrayList items = new ArrayList();

        // Add permanent modules
        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Ecommerce, ModuleEntry.ECOMMERCE))
        {
            AddToCollection(
                GetString("Administration-LeftMenu.Ecommerce"),
                "~/CMSModules/Ecommerce/Pages/SiteManager/Configuration_Frameset.aspx?siteId=0",
                "CMSModules/CMS_Ecommerce/list.png", items);
        }

        // Add permanent modules
        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.ContactManagement, ModuleEntry.ONLINEMARKETING))
        {
            AddToCollection(
                GetString("om.contactmanagement"),
                "~/CMSModules/ContactManagement/Pages/Tools/Frameset.aspx?isSiteManager=1",
                "Objects/OM_ContactManagement/list.png", items);
        }

        // Sort the collection
        ObjectArrayComparer comparer = new ObjectArrayComparer();
        items.Sort(comparer);

        // Build the tree
        foreach (object node in items)
        {
            object[] nodeArray = (object[])node;
            AddNodeToTree(Convert.ToString(nodeArray[1]), Convert.ToString(nodeArray[0]), Convert.ToString(nodeArray[2]), rootNode);
        }
    }
    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        // Hardcoded modules
        object[] row;

        row = new object[5];
        row[0] = GetImageUrl("Objects/CMS_Avatar/object.png");
        row[1] = GetString("Administration-LeftMenu.Avatars");
        row[2] = ResolveUrl("~/CMSModules/Avatars/Avatar_List.aspx");
        row[3] = GetString("cms.avatar.description");
        row[4] = ValidationHelper.GetCodeName(row[1]);
        this.guide.GuideParameters.Add(row);

        row = new object[5];
        row[0] = GetImageUrl("Objects/CMS_Badge/object.png");
        row[1] = GetString("Administration-LeftMenu.Badges");
        row[2] = ResolveUrl("~/CMSModules/Badges/Badges_List.aspx");
        row[3] = GetString("badges.description");
        row[4] = ValidationHelper.GetCodeName(row[1]);
        this.guide.GuideParameters.Add(row);

        row = new object[5];
        row[0] = GetImageUrl("Objects/Badwords_Word/object.png");
        row[1] = GetString("Administration-LeftMenu.BadWords");
        row[2] = ResolveUrl("~/CMSModules/BadWords/BadWords_List.aspx");
        row[3] = GetString("cms.badwords.Description");
        row[4] = ValidationHelper.GetCodeName(row[1]);
        this.guide.GuideParameters.Add(row);

        row = new object[5];
        row[0] = GetImageUrl("CMSModules/CMS_EmailQueue/module.png");
        row[1] = GetString("Administration-LeftMenu.EmailQueue");
        row[2] = ResolveUrl("~/CMSModules/EmailQueue/EmailQueue_Frameset.aspx");
        row[3] = GetString("emailqueue.description");
        row[4] = ValidationHelper.GetCodeName(row[1]);
        this.guide.GuideParameters.Add(row);

        row = new object[5];
        row[0] = GetImageUrl("CMSModules/CMS_RecycleBin/module.png");
        row[1] = GetString("Administration-LeftMenu.RecycleBin");
        row[2] = ResolveUrl("~/CMSModules/RecycleBin/Pages/default.aspx");
        row[3] = GetString("Administration-LeftMenu.RecycleBinDescription");
        row[4] = ValidationHelper.GetCodeName(row[1]);
        this.guide.GuideParameters.Add(row);

        row = new object[5];
        row[0] = GetImageUrl("Objects/CMS_SearchIndex/object.png");
        row[1] = GetString("srch.index.title");
        row[2] = ResolveUrl("~/CMSModules/SmartSearch/SearchIndex_List.aspx");
        row[3] = GetString("Administration-LeftMenu.SmartSearchDescription");
        row[4] = ValidationHelper.GetCodeName(row[1]);
        this.guide.GuideParameters.Add(row);

        guide.GuideParameters.Add(new object[] {
            GetImageUrl("Objects/CMS_SMTPServer/object.png"),
            GetString("Administration-LeftMenu.SMTPServers"),
            ResolveUrl("~/CMSModules/SMTPServers/Pages/Administration/List.aspx"),
            GetString("Administration-LeftMenu.SMTPServersDescription"),
            ValidationHelper.GetCodeName(GetString("Administration-LeftMenu.SMTPServers"))
        });

        row = new object[5];
        row[0] = GetImageUrl("CMSModules/CMS_System/module.png");
        row[1] = GetString("Administration-LeftMenu.System");
        row[2] = ResolveUrl("~/CMSModules/System/System_Frameset.aspx");
        row[3] = GetString("Administration-LeftMenu.SystemDescription");
        row[4] = ValidationHelper.GetCodeName(row[1]);
        this.guide.GuideParameters.Add(row);

        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Webfarm))
        {
            row = new object[5];
            row[0] = GetImageUrl("Objects/CMS_WebFarmServer/object.png");
            row[1] = GetString("Administration-LeftMenu.WebFarm");
            row[2] = ResolveUrl("~/CMSModules/WebFarm/Pages/WebFarm_Frameset.aspx");
            row[3] = GetString("Administration-LeftMenu.WebFarmDescription");
            row[4] = ValidationHelper.GetCodeName(row[1]);
            this.guide.GuideParameters.Add(row);
        }

        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.IntegrationBus))
        {
            row = new object[5];
            row[0] = GetImageUrl("CMSModules/CMS_Integration/module.png");
            row[1] = GetString("integration.integration");
            row[2] = ResolveUrl("~/CMSModules/Integration/Pages/Administration/Frameset.aspx");
            row[3] = GetString("integration.description");
            row[4] = ValidationHelper.GetCodeName(row[1]);
            this.guide.GuideParameters.Add(row);
        }

        // Sort the collection
        ObjectArrayComparer comparer = new ObjectArrayComparer();
        this.guide.GuideParameters.Sort(comparer);
    }
Exemple #7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ScriptHelper.RegisterJQuery(this.Page);

        // Initialize TreeView
        this.treeElem.ImageSet = TreeViewImageSet.Custom;
        this.treeElem.ExpandImageToolTip = GetString("General.Expand");
        this.treeElem.CollapseImageToolTip = GetString("General.Collapse");
        if (CultureHelper.IsUICultureRTL())
        {
            this.treeElem.LineImagesFolder = GetImageUrl("RTL/Design/Controls/Tree", false, false);
        }
        else
        {
            this.treeElem.LineImagesFolder = GetImageUrl("Design/Controls/Tree", false, false);
        }
        this.treeElem.Nodes.Clear();

        // Create root
        TreeNode rootNode = new TreeNode();
        rootNode.Text = "<span class=\"ContentTreeSelectedItem\" name=\"treeNode\" onclick=\"ShowDesktopContent('administration.aspx', this);\"><img src=\"" + GetImageUrl("General/DefaultRoot.png") + "\" style=\"border:none;height:10px;width:1px;\" /><span class=\"Name\">" + GetString("Administration-LeftMenu.Administration") + "</span></span>";
        rootNode.Expanded = true;
        rootNode.NavigateUrl = "#";
        this.treeElem.Nodes.Add(rootNode);

        ArrayList items = new ArrayList();

        // Get the UIElements
        DataSet ds = UIElementInfoProvider.GetUIMenuElements("CMS.Administration");
        if (!DataHelper.DataSourceIsEmpty(ds))
        {
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                UIElementInfo element = new UIElementInfo(dr);
                bool add = CMSAdministrationPage.IsAdministrationUIElementAvailable(element);
                if (add)
                {
                    object[] itemProperties = new object[3];

                    // Ensure target URL
                    string targetUrl = URLHelper.ResolveUrl(element.ElementTargetURL);
                    targetUrl = URLHelper.RemoveParameterFromUrl(targetUrl, "siteid");

                    // Ensure icon URL
                    string iconUrl = element.ElementIconPath;
                    if (!String.IsNullOrEmpty(iconUrl))
                    {
                        if (!ValidationHelper.IsURL(iconUrl))
                        {
                            iconUrl = UIHelper.GetImagePath(this.Page, iconUrl, false, false);

                            // Try to get default icon if requested icon not found
                            if (!FileHelper.FileExists(iconUrl))
                            {
                                iconUrl = GetImageUrl("CMSModules/list.png");
                            }
                        }
                    }
                    else
                    {
                        iconUrl = GetImageUrl("CMSModules/list.png");
                    }

                    // Initialize and add element to collection
                    itemProperties[0] = targetUrl;
                    itemProperties[1] = ResHelper.LocalizeString(element.ElementCaption);
                    itemProperties[2] = URLHelper.ResolveUrl(iconUrl);

                    items.Add(itemProperties);
                }
            }
        }

        // Add permanent modules
        AddToCollection(
            GetString("Administration-LeftMenu.Avatars"),
            "~/CMSModules/Avatars/Avatar_list.aspx",
            "Objects/CMS_Avatar/list.png", items);

        AddToCollection(
            GetString("Administration-LeftMenu.Badges"),
            "~/CMSModules/Badges/Badges_List.aspx",
            "Objects/CMS_Badge/list.png", items);

        AddToCollection(
            GetString("Administration-LeftMenu.BadWords"),
            "~/CMSModules/BadWords/BadWords_List.aspx",
            "Objects/Badwords_Word/list.png", items);

        AddToCollection(
             GetString("Administration-LeftMenu.EmailQueue"),
             "~/CMSModules/EmailQueue/EmailQueue_Frameset.aspx",
             "CMSModules/CMS_EmailQueue/list.png", items);

        AddToCollection(
             GetString("Administration-LeftMenu.RecycleBin"),
             "~/CMSModules/RecycleBin/Pages/default.aspx",
             "CMSModules/CMS_RecycleBin/list.png", items);

        AddToCollection(
             GetString("srch.index.title"),
             "~/CMSModules/SmartSearch/SearchIndex_List.aspx",
             "Objects/CMS_SearchIndex/list.png", items);

        AddToCollection(
            GetString("Administration-LeftMenu.SMTPServers"),
            "~/CMSModules/SMTPServers/Pages/Administration/List.aspx",
            "Objects/CMS_SMTPServer/list.png", items);

        AddToCollection(
             GetString("Administration-LeftMenu.System"),
             "~/CMSModules/System/System_Frameset.aspx",
             "CMSModules/CMS_System/list.png", items);

        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.IntegrationBus))
        {
            AddToCollection(
                 GetString("integration.integration"),
                 "~/CMSModules/Integration/Pages/Administration/Frameset.aspx",
                 "CMSModules/CMS_Integration/list.png", items);
        }

        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Webfarm))
        {
            AddToCollection(
                 GetString("Administration-LeftMenu.WebFarm"),
                 "~/CMSModules/WebFarm/Pages/WebFarm_Frameset.aspx",
                 "Objects/CMS_WebFarmServer/list.png", items);
        }

        // Sort the collection
        ObjectArrayComparer comparer = new ObjectArrayComparer();
        items.Sort(comparer);

        // Build the tree
        foreach (object node in items)
        {
            object[] nodeArray = (object[])node;
            AddNodeToTree(Convert.ToString(nodeArray[1]), Convert.ToString(nodeArray[0]), Convert.ToString(nodeArray[2]), rootNode);
        }
    }
Exemple #8
0
    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        // Hardcoded modules
        object[] row;

        row    = new object[5];
        row[0] = GetImageUrl("Objects/CMS_Avatar/object.png");
        row[1] = GetString("Administration-LeftMenu.Avatars");
        row[2] = ResolveUrl("~/CMSModules/Avatars/Avatar_List.aspx");
        row[3] = GetString("cms.avatar.description");
        row[4] = ValidationHelper.GetCodeName(row[1]);
        this.guide.GuideParameters.Add(row);

        row    = new object[5];
        row[0] = GetImageUrl("Objects/CMS_Badge/object.png");
        row[1] = GetString("Administration-LeftMenu.Badges");
        row[2] = ResolveUrl("~/CMSModules/Badges/Badges_List.aspx");
        row[3] = GetString("badges.description");
        row[4] = ValidationHelper.GetCodeName(row[1]);
        this.guide.GuideParameters.Add(row);

        row    = new object[5];
        row[0] = GetImageUrl("Objects/Badwords_Word/object.png");
        row[1] = GetString("Administration-LeftMenu.BadWords");
        row[2] = ResolveUrl("~/CMSModules/BadWords/BadWords_List.aspx");
        row[3] = GetString("cms.badwords.Description");
        row[4] = ValidationHelper.GetCodeName(row[1]);
        this.guide.GuideParameters.Add(row);

        row    = new object[5];
        row[0] = GetImageUrl("CMSModules/CMS_EmailQueue/module.png");
        row[1] = GetString("Administration-LeftMenu.EmailQueue");
        row[2] = ResolveUrl("~/CMSModules/EmailQueue/EmailQueue_Frameset.aspx");
        row[3] = GetString("emailqueue.description");
        row[4] = ValidationHelper.GetCodeName(row[1]);
        this.guide.GuideParameters.Add(row);

        row    = new object[5];
        row[0] = GetImageUrl("CMSModules/CMS_RecycleBin/module.png");
        row[1] = GetString("Administration-LeftMenu.RecycleBin");
        row[2] = ResolveUrl("~/CMSModules/RecycleBin/Pages/default.aspx");
        row[3] = GetString("Administration-LeftMenu.RecycleBinDescription");
        row[4] = ValidationHelper.GetCodeName(row[1]);
        this.guide.GuideParameters.Add(row);

        row    = new object[5];
        row[0] = GetImageUrl("Objects/CMS_SearchIndex/object.png");
        row[1] = GetString("srch.index.title");
        row[2] = ResolveUrl("~/CMSModules/SmartSearch/SearchIndex_List.aspx");
        row[3] = GetString("Administration-LeftMenu.SmartSearchDescription");
        row[4] = ValidationHelper.GetCodeName(row[1]);
        this.guide.GuideParameters.Add(row);

        guide.GuideParameters.Add(new object[] {
            GetImageUrl("Objects/CMS_SMTPServer/object.png"),
            GetString("Administration-LeftMenu.SMTPServers"),
            ResolveUrl("~/CMSModules/SMTPServers/Pages/Administration/List.aspx"),
            GetString("Administration-LeftMenu.SMTPServersDescription"),
            ValidationHelper.GetCodeName(GetString("Administration-LeftMenu.SMTPServers"))
        });

        row    = new object[5];
        row[0] = GetImageUrl("CMSModules/CMS_System/module.png");
        row[1] = GetString("Administration-LeftMenu.System");
        row[2] = ResolveUrl("~/CMSModules/System/System_Frameset.aspx");
        row[3] = GetString("Administration-LeftMenu.SystemDescription");
        row[4] = ValidationHelper.GetCodeName(row[1]);
        this.guide.GuideParameters.Add(row);

        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Webfarm))
        {
            row    = new object[5];
            row[0] = GetImageUrl("Objects/CMS_WebFarmServer/object.png");
            row[1] = GetString("Administration-LeftMenu.WebFarm");
            row[2] = ResolveUrl("~/CMSModules/WebFarm/Pages/WebFarm_Frameset.aspx");
            row[3] = GetString("Administration-LeftMenu.WebFarmDescription");
            row[4] = ValidationHelper.GetCodeName(row[1]);
            this.guide.GuideParameters.Add(row);
        }

        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.IntegrationBus))
        {
            row    = new object[5];
            row[0] = GetImageUrl("CMSModules/CMS_Integration/module.png");
            row[1] = GetString("integration.integration");
            row[2] = ResolveUrl("~/CMSModules/Integration/Pages/Administration/Frameset.aspx");
            row[3] = GetString("integration.description");
            row[4] = ValidationHelper.GetCodeName(row[1]);
            this.guide.GuideParameters.Add(row);
        }

        // Sort the collection
        ObjectArrayComparer comparer = new ObjectArrayComparer();

        this.guide.GuideParameters.Sort(comparer);
    }
Exemple #9
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ScriptHelper.RegisterJQuery(this.Page);

        // Initialize TreeView
        this.treeElem.ImageSet             = TreeViewImageSet.Custom;
        this.treeElem.ExpandImageToolTip   = GetString("General.Expand");
        this.treeElem.CollapseImageToolTip = GetString("General.Collapse");
        if (CultureHelper.IsUICultureRTL())
        {
            this.treeElem.LineImagesFolder = GetImageUrl("RTL/Design/Controls/Tree", false, false);
        }
        else
        {
            this.treeElem.LineImagesFolder = GetImageUrl("Design/Controls/Tree", false, false);
        }
        this.treeElem.Nodes.Clear();

        // Create root
        TreeNode rootNode = new TreeNode();

        rootNode.Text        = "<span class=\"ContentTreeSelectedItem\" name=\"treeNode\" onclick=\"ShowDesktopContent('administration.aspx', this);\"><img src=\"" + GetImageUrl("General/DefaultRoot.png") + "\" style=\"border:none;height:10px;width:1px;\" /><span class=\"Name\">" + GetString("Administration-LeftMenu.Administration") + "</span></span>";
        rootNode.Expanded    = true;
        rootNode.NavigateUrl = "#";
        this.treeElem.Nodes.Add(rootNode);

        ArrayList items = new ArrayList();

        // Get the UIElements
        DataSet ds = UIElementInfoProvider.GetUIMenuElements("CMS.Administration");

        if (!DataHelper.DataSourceIsEmpty(ds))
        {
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                UIElementInfo element = new UIElementInfo(dr);
                bool          add     = CMSAdministrationPage.IsAdministrationUIElementAvailable(element);
                if (add)
                {
                    object[] itemProperties = new object[3];

                    // Ensure target URL
                    string targetUrl = URLHelper.ResolveUrl(element.ElementTargetURL);
                    targetUrl = URLHelper.RemoveParameterFromUrl(targetUrl, "siteid");

                    // Ensure icon URL
                    string iconUrl = element.ElementIconPath;
                    if (!String.IsNullOrEmpty(iconUrl))
                    {
                        if (!ValidationHelper.IsURL(iconUrl))
                        {
                            iconUrl = UIHelper.GetImagePath(this.Page, iconUrl, false, false);

                            // Try to get default icon if requested icon not found
                            if (!FileHelper.FileExists(iconUrl))
                            {
                                iconUrl = GetImageUrl("CMSModules/list.png");
                            }
                        }
                    }
                    else
                    {
                        iconUrl = GetImageUrl("CMSModules/list.png");
                    }

                    // Initialize and add element to collection
                    itemProperties[0] = targetUrl;
                    itemProperties[1] = ResHelper.LocalizeString(element.ElementCaption);
                    itemProperties[2] = URLHelper.ResolveUrl(iconUrl);

                    items.Add(itemProperties);
                }
            }
        }

        // Add permanent modules
        AddToCollection(
            GetString("Administration-LeftMenu.Avatars"),
            "~/CMSModules/Avatars/Avatar_list.aspx",
            "Objects/CMS_Avatar/list.png", items);

        AddToCollection(
            GetString("Administration-LeftMenu.Badges"),
            "~/CMSModules/Badges/Badges_List.aspx",
            "Objects/CMS_Badge/list.png", items);

        AddToCollection(
            GetString("Administration-LeftMenu.BadWords"),
            "~/CMSModules/BadWords/BadWords_List.aspx",
            "Objects/Badwords_Word/list.png", items);

        AddToCollection(
            GetString("Administration-LeftMenu.EmailQueue"),
            "~/CMSModules/EmailQueue/EmailQueue_Frameset.aspx",
            "CMSModules/CMS_EmailQueue/list.png", items);

        AddToCollection(
            GetString("Administration-LeftMenu.RecycleBin"),
            "~/CMSModules/RecycleBin/Pages/default.aspx",
            "CMSModules/CMS_RecycleBin/list.png", items);

        AddToCollection(
            GetString("srch.index.title"),
            "~/CMSModules/SmartSearch/SearchIndex_List.aspx",
            "Objects/CMS_SearchIndex/list.png", items);

        AddToCollection(
            GetString("Administration-LeftMenu.SMTPServers"),
            "~/CMSModules/SMTPServers/Pages/Administration/List.aspx",
            "Objects/CMS_SMTPServer/list.png", items);

        AddToCollection(
            GetString("Administration-LeftMenu.System"),
            "~/CMSModules/System/System_Frameset.aspx",
            "CMSModules/CMS_System/list.png", items);

        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.IntegrationBus))
        {
            AddToCollection(
                GetString("integration.integration"),
                "~/CMSModules/Integration/Pages/Administration/Frameset.aspx",
                "CMSModules/CMS_Integration/list.png", items);
        }

        if (LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Webfarm))
        {
            AddToCollection(
                GetString("Administration-LeftMenu.WebFarm"),
                "~/CMSModules/WebFarm/Pages/WebFarm_Frameset.aspx",
                "Objects/CMS_WebFarmServer/list.png", items);
        }

        // Sort the collection
        ObjectArrayComparer comparer = new ObjectArrayComparer();

        items.Sort(comparer);

        // Build the tree
        foreach (object node in items)
        {
            object[] nodeArray = (object[])node;
            AddNodeToTree(Convert.ToString(nodeArray[1]), Convert.ToString(nodeArray[0]), Convert.ToString(nodeArray[2]), rootNode);
        }
    }