Пример #1
0
        private void PageLoad()
        {
            #region "Data Repeater"
            if (UserId > 0) // only logged in users can see data on this module.
            {

                if (_displayentrypage)
                {
                    DisplayDataEntryRepeater(_entryid);
                }
                else
                {
                    var pluginData = new PluginData(PortalId);
                    rpData.DataSource = pluginData.GetPluginList();
                    rpData.DataBind();

                    // display header (Do header after the data return so the productcount works)
                    base.DoDetail(rpDataH);

                    // display footer
                    base.DoDetail(rpDataF);

                }
            }

            #endregion
        }
Пример #2
0
        private String GetMenu()
        {
            var strCacheKey = "bomenuhtml*" + Utils.GetCurrentCulture() + "*" + PortalId.ToString("") + "*" + UserId.ToString("");

            var strOut = "";
            var obj = Utils.GetCache(strCacheKey);
            if (obj != null) strOut = (String)obj;

            if (StoreSettings.Current.DebugMode || strOut == "")
            {
                var pluginData = new PluginData(PortalId);

                var bomenuattributes = DnnUtils.GetLocalizedString("bomenuattributes", _resxpath, Utils.GetCurrentCulture());
                var bosubmenuattributes = DnnUtils.GetLocalizedString("bosubmenuattributes", _resxpath, Utils.GetCurrentCulture());

                //get group list (these are the sections/first level of the menu)
                var rootList = new Dictionary<String, String>();
                foreach (var p in pluginData.GetPluginList())
                {
                    var grpname = p.GetXmlProperty("genxml/textbox/group");
                    if (p.GetXmlPropertyBool("genxml/checkbox/hidden") == false)
                    {
                        var rootname = grpname;
                        if (rootname == "") rootname = p.GetXmlProperty("genxml/textbox/ctrl");
                        if (!rootList.ContainsKey(rootname))
                        {
                            var resxname = DnnUtils.GetLocalizedString(rootname.ToLower(), _resxpath, Utils.GetCurrentCulture());
                            if (resxname == "") resxname = rootname;
                            rootList.Add(rootname, resxname);
                        }
                    }
                }

                strOut = "<ul " + bomenuattributes + ">";

                foreach (var rootname in rootList)
                {
                    var rtnlist = pluginData.GetSubList(rootname.Key);
                    var sublist = new List<NBrightInfo>();
                    // check security
                    foreach (var p in rtnlist)
                    {
                        if (CheckSecurity(p)) sublist.Add(p);
                    }

                    var href = "#";
                    var ctrl = "";
                    var name = "unknown";
                    var icon = "";
                    var hrefclass = "";
                    var securityrootcheck = true;
                    if (sublist.Count > 0)
                    {
                        // has sub menus
                        ctrl = rootname.Key;
                        name = rootname.Value;
                        hrefclass = "class='dropdown-toggle'";
                        icon = DnnUtils.GetLocalizedString(ctrl.ToLower() + "_icon", _resxpath, Utils.GetCurrentCulture());
                        strOut += "<li class='dropdown'>";
                    }
                    else
                    {
                        // clickable root menu
                        var rootp = pluginData.GetPluginByCtrl(rootname.Key);
                        if (rootp != null)
                        {
                            ctrl = rootp.GetXmlProperty("genxml/textbox/ctrl");
                            name = rootp.GetXmlProperty("genxml/textbox/name");
                            icon = rootp.GetXmlProperty("genxml/textbox/icon");

                            securityrootcheck = CheckSecurity(rootp);
                            if (securityrootcheck)
                            {
                                strOut += "<li>";
                                var param = new string[1];
                                param[0] = "ctrl=" + ctrl;
                                href = Globals.NavigateURL(TabId, "", param);
                            }
                        }
                        else
                        {
                            securityrootcheck = false;
                        }
                    }
                    if (securityrootcheck) strOut += GetRootLinkNode(name, ctrl, icon, href, hrefclass);

                    if (sublist.Count > 0)
                    {
                        strOut += "<ul " + bosubmenuattributes + ">";
                        foreach (var p in sublist)
                        {
                            if (p.GetXmlPropertyBool("genxml/checkbox/hidden") == false)
                            {

                                ctrl = p.GetXmlProperty("genxml/textbox/ctrl");
                                name = p.GetXmlProperty("genxml/textbox/name");
                                icon = p.GetXmlProperty("genxml/textbox/icon");
                                var param = new string[1];
                                param[0] = "ctrl=" + ctrl;
                                href = Globals.NavigateURL(TabId, "", param);
                                strOut += "<li>" + GetSubLinkNode(name, ctrl, icon, href) + "</li>";
                            }
                        }
                        strOut += "</ul>";
                    }
                    if (securityrootcheck) strOut += "</li>";
                }

                // add exit button
                strOut += "<li>";
                var tabid = StoreSettings.Current.Get("exittab");
                var exithref = "/";
                if (Utils.IsNumeric(tabid)) exithref = Globals.NavigateURL(Convert.ToInt32(tabid));
                strOut += GetRootLinkNode("Exit", "exit", DnnUtils.GetLocalizedString("exit_icon", _resxpath, Utils.GetCurrentCulture()), exithref, "");
                strOut += "</li>";

                strOut += "</ul>";

                NBrightBuyUtils.SetModCache(0, strCacheKey, strOut);

                if (StoreSettings.Current.DebugModeFileOut) Utils.SaveFile(PortalSettings.HomeDirectoryMapPath + "\\debug_menu.html", strOut);
            }

            return strOut;
        }
Пример #3
0
        protected override void OnLoad(EventArgs e)
        {
            try
            {
                base.OnLoad(e);
                if (Page.IsPostBack == false)
                {
                    #region "Check for plugins"

                    var pluginData = new PluginData(PortalId, true);
                    pluginData.UpdateSystemPlugins();
                    _systemPlugins = pluginData.GetPluginList();

                    pluginData = new PluginData(PortalId);
                    var portalPlugins = pluginData.GetPluginList();
                    Boolean upd = false;
                    foreach (var p in _systemPlugins)
                    {
                        var ctrllist = from i in portalPlugins where i.GetXmlProperty("genxml/textbox/ctrl") == p.GetXmlProperty("genxml/textbox/ctrl") select i;
                        var nBrightInfos = ctrllist as IList<NBrightInfo> ?? ctrllist.ToList();
                        if (!nBrightInfos.Any())
                        {
                            pluginData.AddPlugin(p);
                            upd = true;
                        }
                    }
                    if (upd) pluginData.Save();

                    #endregion

                    PageLoad();
                }
            }
            catch (Exception exc) //Module failed to load
            {
                //display the error on the template (don;t want to log it here, prefer to deal with errors directly.)
                var l = new Literal();
                l.Text = exc.ToString();
                phData.Controls.Add(l);
            }
        }