/// <summary> /// 一级顶部菜单提交 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void SubmitButton_Click(object sender, EventArgs e) { if (AppCtx.IsDemoSite) { ScriptManager.RegisterStartupScript(this, GetType(), "aler", "alert('演示站点,不能新建菜单!');", true); return; } try { string mainIconName = ""; string id = ""; if (MenuID != null && MenuID != "") { //if (IconFileUpload.HasFile && HoverIconFileUpload.HasFile) //{ // mainIconName = GetIconFileName(); //} id = MenuID; We7.CMS.Common.MenuItem menuTemp = MenuHelper.GetMenuItem(id); if (menuTemp != null) { menuTemp.Name = MainTitleTextBox.Text.ToString(); menuTemp.Title = MainDesTextBox.Text.ToString(); menuTemp.Href = MianUrlTextBox.Text.ToString(); } MenuHelper.UpdateMenuItem(menuTemp); Messages.ShowMessage("您成功修改" + menuTemp.Title + "菜单,更新成功之后请退出重新登陆才能生效"); } else { //mainIconName = GetIconFileName(); string mianNameText = MainTitleTextBox.Text.Trim(); string mainTitle = MainDesTextBox.Text.Trim(); string mianUrl = MianUrlTextBox.Text.Trim(); int maingroup = Int32.Parse(DropDownListType.SelectedItem.Value.Split(',')[1]); //wait:暂时插入到最后 //int mainIndex = 0; //if (Int32.Parse(DropDownListType.SelectedItem.Value.Split(',')[2]) > 0) //{ // mainIndex = Int32.Parse(DropDownListType.SelectedItem.Value.Split(',')[2]) - 1; //} int mainIndex = DropDownListType.Items.Count + 1; string oldId = MenuHelper.CreateMainMenu_User(mianNameText, mainTitle, maingroup, mainIndex, mainIconName, mianUrl, id, EntityID, (int)TypeOfMenu.TopMenu, ""); Response.Redirect(Request.RawUrl + "?tabPanl=1"); } } catch (Exception ex) { Messages.ShowMessage(ex.Message); } }
/// <summary> /// 引用菜单提交 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnReferenceSave_Click(object sender, EventArgs e) { string id = ""; if (MenuID != null && MenuID != "") { id = MenuID; } string firstTitle = txtTitle_Reference.Text.Trim(); string firstNameText = txtDes_Reference.Text.Trim(); #region 此处逻辑在三级菜单时报异常,更改如下 //if (Int32.Parse(SecondIndexDropDownList.SelectedItem.Value.Split(',')[1]) > 0) //{ // firstIndex= Int32.Parse(SecondIndexDropDownList.SelectedItem.Value.Split(',')[1]) - 1; //} #endregion string selectValue = ddlIndex_Reference.SelectedValue; int index = int.Parse(selectValue.Substring(selectValue.LastIndexOf(",") + 1)); int firstIndex = index > 0 ? index : 0; string referenceID = ddlReferenceMenu.SelectedValue; string parentID = selectValue.Split(',')[0]; if (parentID == We7Helper.EmptyGUID) { Messages.ShowError("您编辑的是子菜单,不能选择主菜单的位置,请您选择子菜单。"); } else { if (MenuID != null && MenuID != "") { id = MenuID; We7.CMS.Common.MenuItem menuTemp = MenuHelper.GetMenuItem(id); if (menuTemp != null) { menuTemp.Name = firstNameText; menuTemp.Title = firstTitle; menuTemp.ReferenceID = referenceID; } MenuHelper.UpdateMenuItem(menuTemp); Messages.ShowMessage("您成功修改" + menuTemp.Name + "菜单,更新成功之后请退出重新登陆才能生效"); } else { string oldId = MenuHelper.CreateSubMenu_User(firstNameText, firstTitle, "", firstIndex, parentID, id, EntityID, (int)TypeOfMenu.ReferenceMenu, referenceID); Response.Redirect(Request.RawUrl + "?tabPanl=4"); } } }
void DeleteTypeList(string[] ids) { List <Advice> list = new List <Advice>(); string aTitle = ""; foreach (string id in ids) { list = AdviceHelper.GetAdvices(id); foreach (Advice a in list) { AdviceHelper.DeleteAdvice(a.ID); aTitle += String.Format("{0};", a.Title); } } //记录日志 string content = string.Format("删除了{0}个反馈模型:“{1}”", ids.Length.ToString(), aTitle); AddLog("反馈模型管理", content); string titles = ""; List <string> listString = new List <string>(); foreach (string id in ids) { AdviceType at = AdviceTypeHelper.GetAdviceType(id); AdviceTypeHelper.DeleteAdviceType(id); titles += String.Format("{0};", at.Title); string menuName = at.Title + "管理"; We7.CMS.Common.MenuItem menuItem = MenuHelper.GetMenuItemByTitle(menuName); if (menuItem != null) { listString.Add(menuItem.ID); } } if (listString != null) { MenuHelper.DeleteMenuItem(listString); } //记录日志 string atContent = string.Format("删除了{0}个反馈模型:“{1}”", ids.Length.ToString(), titles); AddLog("反馈模型管理", atContent); }
/// <summary> /// 页面初始化 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Page_Load(object sender, EventArgs e) { pluginname = Request["PluginName"]; if (pluginname.StartsWith("http://") && pluginname.EndsWith(".zip")) { pluginname = pluginname.Substring(pluginname.LastIndexOf('/'), pluginname.LastIndexOf(".zip") - pluginname.LastIndexOf('/')); } if (!File.Exists(Server.MapPath(string.Format("/Plugins/{0}/Plugin.xml", pluginname)))) { Messages.ShowMessage("无菜单项!"); formtable.Visible = false; Refresh(); return; } curInfo.LoadXml(Server.MapPath(string.Format("/Plugins/{0}/Plugin.xml", pluginname))); if (Request["action"] == "uninstall" || Request["action"] == "delete") { formtable.Visible = false; for (int i = 0; i < curInfo.Pages.Count; i++) { Messages.ShowMessage("正在删除菜单……"); MenuHelper.DeleteMenuItem(curInfo.Pages[i].ID); } Refresh(); return; } if (!IsPostBack) { ClearOldMenus(); if (curInfo.Pages.Count > 0) { string parentid = string.Empty; foreach (UrlItem ui in curInfo.Pages) { We7.CMS.Common.MenuItem mi = MenuHelper.GetMenuItem(ui.ID); if (mi == null) { mi = new Common.MenuItem(); mi.ID = We7Helper.CreateNewID(); mi.Name = ui.Name; mi.Title = ui.Title; mi.Href = ui.Url; if (string.IsNullOrEmpty(parentid)) { parentid = ui.Main ? mi.ID : string.Empty; } mi.ParentID = ui.Main ? We7Helper.EmptyGUID : parentid; mi.EntityID = string.IsNullOrEmpty(ui.EntityID) ? "System.Administration" : ui.EntityID; } pluginMenus.Add(mi); } } else { FromInstall(); } if (PluginMenus.Count <= 0) { Messages.ShowMessage("无菜单项!"); formtable.Visible = false; Refresh(); return; } BindChildIndex(); OutputInfo(); } }
/// <summary> /// 从install.xml文件的Insert语句中读取菜单相关信息 /// </summary> private bool FromInstall() { XmlDocument installdoc = new XmlDocument(); foreach (string install in curInfo.Deployment.Install) { string installpath = Server.MapPath(string.Format("/Plugins/{0}/Data/{1}", pluginname, install)); if (File.Exists(installpath)) { installdoc.Load(installpath); foreach (XmlNode node in installdoc.SelectNodes("//Sql")) { string insert = node.InnerText.Trim().ToLower(); if (insert.Contains("insert") && insert.Contains("menu")) { We7.CMS.Common.MenuItem cur = new We7.CMS.Common.MenuItem(); int firstb = insert.IndexOf('('); int firste = insert.IndexOf(')'); int secondb = insert.Remove(0, firste + 1).IndexOf('('); int seconde = insert.Remove(0, firste + 1).IndexOf(')'); string[] keys = insert.Substring(firstb + 1, firste - firstb - 1).Split(','); string[] values = insert.Remove(0, firste + 1).Substring(secondb + 1, seconde - secondb - 1).Split(','); for (int i = 0; i < keys.Length; i++) { if (keys[i].Contains("nametext")) { cur.Name = values[i].TrimStart('\'').TrimEnd('\''); } else if (keys[i].Contains("href")) { cur.Href = values[i].TrimStart('\'').TrimEnd('\''); } else if (keys[i].Contains("title")) { cur.Title = values[i].TrimStart('\'').TrimEnd('\''); } else if (keys[i].Contains("parentid") && values[i].TrimStart('\'').TrimEnd('\'') == We7Helper.EmptyGUID) { cur.ParentID = We7Helper.EmptyGUID; cur.ID = We7Helper.CreateNewID(); parentid = cur.ID; } else if (keys[i].Contains("entityid")) { cur.EntityID = values[i].TrimStart('\'').TrimEnd('\''); if (cur.EntityID == "system.administration") { cur.EntityID = "System.Administration"; } else if (cur.EntityID == "system.user") { cur.EntityID = "System.User"; } } } if (string.IsNullOrEmpty(cur.EntityID)) { cur.EntityID = "System.Administration"; } pluginMenus.Add(cur); } } return(true); } } return(false); }