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 }
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; }
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); } }