Exemple #1
0
        public List <MenuNode> ManipulateNodes(List <MenuNode> nodes, DotNetNuke.Entities.Portals.PortalSettings portalSettings)
        {
            _objCtrl = new NBrightDataController();
            var nodeTabList = "*";

            foreach (var n in nodes)
            {
                nodeTabList += n.Text + n.TabId + "*" + n.Breadcrumb + "*";
            }
            var cachekey = "NBrightPL*" + portalSettings.PortalId + "*" + Utils.GetCurrentCulture() + "*" + nodeTabList; // use nodeTablist incase the DDRMenu has a selector.
            var rtnnodes = (List <MenuNode>)Utils.GetCache(cachekey);

            if (rtnnodes != null)
            {
                return(rtnnodes);
            }

            nodes = BuildNodes(nodes, portalSettings);

            var dataRecord = _objCtrl.GetByGuidKey(portalSettings.PortalId, -1, "SETTINGS", "NBrightPL");

            if (dataRecord != null)
            {
                var menuproviders = dataRecord.GetXmlProperty("genxml/textbox/menuproviders");
                var provlist      = menuproviders.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);
                foreach (var p in provlist)
                {
                    var prov = CreateProvider(p);
                    if (prov != null)
                    {
                        nodes = prov.ManipulateNodes(nodes, portalSettings);
                    }
                }
            }

            Utils.SetCache(cachekey, nodes);

            return(nodes);
        }
Exemple #2
0
        private List <MenuNode> BuildNodes(List <MenuNode> nodes, DotNetNuke.Entities.Portals.PortalSettings portalSettings)
        {
            foreach (var n in nodes)
            {
                var dataRecord = _objCtrl.GetByGuidKey(portalSettings.PortalId, -1, "PL", n.TabId.ToString(""));
                if (dataRecord != null)
                {
                    var dataRecordLang = _objCtrl.GetDataLang(dataRecord.ItemID, Utils.GetCurrentCulture());
                    if (dataRecordLang != null)
                    {
                        n.Text        = dataRecordLang.GetXmlProperty("genxml/textbox/pagename");
                        n.Keywords    = dataRecordLang.GetXmlProperty("genxml/textbox/tagwords");
                        n.Title       = dataRecordLang.GetXmlProperty("genxml/textbox/pagetitle");
                        n.Description = dataRecordLang.GetXmlProperty("genxml/textbox/pagedescription");

                        if (n.Children.Count > 0)
                        {
                            BuildNodes(n.Children, portalSettings);
                        }
                    }
                }
            }
            return(nodes);
        }