/// <summary>
  /// 装载WebSite信息
  /// </summary>
 private void LoadWebSiteConfig()
 {
     #region 装载主题信息
     XmlDocumentExtender doc = new XmlDocumentExtender();
      doc.Load(configPath);
      XmlNodeList topiclistNode = doc.SelectNodes("/Aggregationinfo/Data/Hottopiclist/Topic");
      XmlNodeList website_spacelistnode = doc.SelectNodes("/Aggregationinfo/Forum/Hottopiclist/Topic");
      XmlNodeInnerTextVisitor topicvisitor = new XmlNodeInnerTextVisitor();
      XmlNodeInnerTextVisitor pagetopicvisitor = new XmlNodeInnerTextVisitor();
      forumlist.Text = "";
      int i = 0;
      foreach (XmlNode topic in topiclistNode)
      {
          topicvisitor.SetNode(topic);
          bool isCheck = false;
          foreach (XmlNode index in website_spacelistnode)
          {
              pagetopicvisitor.SetNode(index);
              if (topicvisitor["tid"].ToString() == pagetopicvisitor["tid"].ToString())
              {
                  isCheck = true;
                  break;
              }
          }
          forumlist.Text += "<div class='mo' id='m" + i + "' flag='f" + i + "'><h1><input type='checkbox' name='tid' " + (isCheck ? "checked" : "") + " value='" + topicvisitor["tid"] + "'>" + topicvisitor["title"] + "</h1></div>\n";
          i++;
      }
     #endregion
  }
Example #2
0
 public void BindData()
 {
     string menuId = DNTRequest.GetString("menuid");
     string menuTitle = "";
     string menuSubMenuList = "";
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList mainMenus = doc.SelectNodes("/dataset/toptabmenu");
     foreach (XmlNode menuItem in mainMenus) //查找主菜单信息
     {
         if (menuItem["id"].InnerText == menuId)
         {
             menuTitle = menuItem["title"].InnerText;
             menuSubMenuList = menuItem["mainmenulist"].InnerText;
             break;
         }
     }
     DataGrid1.TableHeaderName = menuTitle + "  菜单项管理";
     XmlNodeList subMenus = doc.SelectNodes("/dataset/mainmenu");
     DataTable dt = new DataTable();
     if (menuSubMenuList == "")  //该菜单没有子菜单
     {
         DataGrid1.DataSource = dt;
         DataGrid1.DataBind();
         return;
     }
     dt.Columns.Add("id");
     dt.Columns.Add("menuid");
     dt.Columns.Add("submenuid");
     dt.Columns.Add("menutitle");
     dt.Columns.Add("delitem");
     foreach (XmlNode subMenuItem in subMenus)
     {
         if (("," + menuSubMenuList + ",").IndexOf("," + subMenuItem["id"].InnerText + ",") != -1)
         {
             DataRow dr = dt.NewRow();
             dr["id"] = subMenuItem["id"].InnerText;
             dr["menuid"] = menuId;
             dr["submenuid"] = subMenuItem["menuid"].InnerText;
             dr["menutitle"] = subMenuItem["menutitle"].InnerText;
             if (FindSubMenuItem(subMenuItem["menuid"].InnerText,doc))
             {
                 dr["delitem"] = "删除";
             }
             else
             {
                 dr["delitem"] = "<a href='managesubmenu.aspx?mode=del&menuid=" + menuId + "&submenuid=" + subMenuItem["id"].InnerText + "' onclick='return confirm(\"您确认要删除此菜单项吗?\");'>删除</a>";
             }
             dt.Rows.Add(dr);
         }
     }
     DataGrid1.DataSource = dt;
     DataGrid1.DataBind();
 }
Example #3
0
        /*private void SaveManagerBody()
        {
            string url = Context.Request.Url.ToString().ToLower().Substring(0, Context.Request.Url.ToString().ToLower().IndexOf("rapidset")) + "framepage/managerbody.aspx";
            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(new Uri(url));
            req.Method = "GET";
            WebResponse wr = req.GetResponse();
            StreamReader sr = new StreamReader(wr.GetResponseStream(), System.Text.Encoding.GetEncoding("gb2312"));
            string html = sr.ReadToEnd();
            FileStream fs = new FileStream(Utils.GetMapPath("../framepage/managerbody.htm"), FileMode.Create);
            byte[] bt = System.Text.Encoding.UTF8.GetBytes(html);
            fs.Write(bt, 0, bt.Length);
            fs.Close();
        }*/

        private void BindDataGrid()
        {
            DataGrid1.TableHeaderName = "菜单管理";
            XmlDocumentExtender doc = new XmlDocumentExtender();
            doc.Load(configPath);
            XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu");
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("id"));
            dt.Columns.Add(new DataColumn("title"));
            dt.Columns.Add(new DataColumn("defaulturl"));
            dt.Columns.Add(new DataColumn("system"));
            dt.Columns.Add(new DataColumn("delitem"));
            foreach (XmlNode menuitem in mainmenus)
            {
                DataRow dr = dt.NewRow();
                dr["id"] = menuitem["id"].InnerText;
                dr["title"] = menuitem["title"].InnerText;
                dr["defaulturl"] = menuitem["defaulturl"].InnerText;
                dr["system"] = menuitem["system"].InnerText != "0" ? "是" : "否";
                if (menuitem["mainmenulist"].InnerText != "")
                    dr["delitem"] = "删除";
                else
                    dr["delitem"] = "<a href='managemainmenu.aspx?mode=del&menuid=" + menuitem["id"].InnerText + "' onclick='return confirm(\"您确认要删除此菜单项吗?\")'>删除</a>";
                dt.Rows.Add(dr);
            }
            DataGrid1.DataSource = dt;
            DataGrid1.DataBind();
        }
 private void LoadWebSiteConfig()
 {
     #region 装载个人空间信息
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList data_spacelistNode = doc.SelectNodes("/Aggregationinfo/Aggregationdata/" + pagename + "aggregationdata/" + pagename + "_spacelist/Space");
     XmlNodeList index_spacelistnode = doc.SelectNodes("/Aggregationinfo/Aggregationpage/" + pagename + "/" + pagename + "_spacelist/Space");
     XmlNodeInnerTextVisitor dataspacevisitor = new XmlNodeInnerTextVisitor();
     XmlNodeInnerTextVisitor indexspacevisitor = new XmlNodeInnerTextVisitor();
     int i = 0;
     spacelist.Text = "";
     foreach (XmlNode data in data_spacelistNode)
     {
         dataspacevisitor.SetNode(data);
         bool isCheck = false;
         foreach (XmlNode index in index_spacelistnode)
         {
             indexspacevisitor.SetNode(index);
             if (dataspacevisitor["spaceid"].ToString() == indexspacevisitor["spaceid"].ToString())
             {
                 isCheck = true;
                 break;
             }
         }
         spacelist.Text += "<div class='mo' id='m" + i + "' flag='f" + i + "'><h1><input type='checkbox' name='sid' " + (isCheck ? "checked" : "") + " value='" + dataspacevisitor["spaceid"] + "'>" + dataspacevisitor["title"] + "</h1></div>\n";
         i++;
     }
     #endregion
 }
 private DataTable GetWebsiteConfig()
 {
     #region 装载主题
     DataTable dt = new DataTable();
     dt.Columns.Add("tid");
     dt.Columns.Add("title");
     dt.Columns.Add("poster");
     dt.Columns.Add("postdatetime");
     dt.Columns.Add("showtype");
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList topiclistNode = doc.SelectNodes("/Aggregationinfo/Aggregationpage/Website/Forum/Topiclist/Topic");
     XmlNodeInnerTextVisitor topicvisitor = new XmlNodeInnerTextVisitor();
     foreach (XmlNode topic in topiclistNode)
     {
         topicvisitor.SetNode(topic);
         DataRow dr = dt.NewRow();
         dr["tid"] = topicvisitor["topicid"];
         dr["title"] = topicvisitor["title"];
         dr["poster"] = topicvisitor["poster"];
         dr["postdatetime"] = topicvisitor["postdatetime"];
         dt.Rows.Add(dr);
     }
     return dt;
     #endregion
 }
Example #6
0
 /// <summary>
 /// 获取当前页面的参数
 /// </summary>
 /// <param name="doc"></param>
 /// <param name="menuparentid"></param>
 /// <returns></returns>
 public string[] GetParm(XmlDocumentExtender doc, string menuparentid)
 {
     string[] parm = new string[3];
     XmlNodeList mainmenus = doc.SelectNodes("/dataset/mainmenu");
     XmlNodeInnerTextVisitor menuvisitor = new XmlNodeInnerTextVisitor();
     foreach (XmlNode mainmenu in mainmenus)
     {
         menuvisitor.SetNode(mainmenu);
         if (menuvisitor["menuid"] == menuparentid)
         {
             parm[0] = menuvisitor["id"];
             break;
         }
     }
     XmlNodeList toptabmenus = doc.SelectNodes("/dataset/toptabmenu");
     foreach (XmlNode toptabmenu in toptabmenus)
     {
         menuvisitor.SetNode(toptabmenu);
         if (("," + menuvisitor["mainmenulist"] + ",").IndexOf("," + parm[0] + ",") != -1)
         {
             parm[1] = menuvisitor["id"];
             parm[2] = menuvisitor["mainmenulist"];
             break;
         }
     }
     return parm;
 }
 private void BindEditData(string tid)
 {
     #region 装载主题编辑
     panel1.Visible = true;
     XmlDocumentExtender doc = new XmlDocumentExtender();
     if (!File.Exists(configPath))
         return;
     doc.Load(configPath);
     string topicPath = "/Aggregationinfo/Aggregationpage/Website/Forum/Topiclist/Topic";
     if (fid != "")
         topicPath = "/Aggregationinfo/Forum/Topiclist/Topic";
     XmlNodeList topiclistNode = doc.SelectNodes(topicPath);
     XmlNodeInnerTextVisitor topicvisitor = new XmlNodeInnerTextVisitor();
     foreach (XmlNode topic in topiclistNode)
     {
         topicvisitor.SetNode(topic);
         if (topicvisitor["topicid"] == tid)
         {
             topicid.Value = topicvisitor["topicid"];
             title.Text = topicvisitor["title"];
             poster.Text = topicvisitor["poster"];
             postdatetime.Text = topicvisitor["postdatetime"];
             shortdescription.Text = topicvisitor["shortdescription"];
             fulldescription.Value = topicvisitor["fulldescription"];
         }
     }
     #endregion
 }
 private void BindDataGrid()
 {
     DataGrid1.TableHeaderName = pagename + " 子菜单项管理";
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     string submenuid = DNTRequest.GetString("submenuid");
     XmlNodeList submenusitem = doc.SelectNodes("/dataset/submain");
     DataTable dt = new DataTable();
     dt.Columns.Add(new DataColumn("id"));
     dt.Columns.Add(new DataColumn("menutitle"));
     dt.Columns.Add(new DataColumn("link"));
     int i = 0;
     foreach (XmlNode menuitem in submenusitem)
     {
         if(menuitem["menuparentid"].InnerText == submenuid)
         {
             DataRow dr = dt.NewRow();
             dr["id"] = i.ToString();
             dr["menutitle"] = menuitem["menutitle"].InnerText;
             dr["link"] = menuitem["link"].InnerText;
             dt.Rows.Add(dr);
         }
         i++;
     }
     DataGrid1.DataSource = dt;
     DataGrid1.DataBind();
 }
Example #9
0
        /// <summary>
        /// 增加主菜单
        /// </summary>
        /// <param name="title">主菜单标题</param>
        /// <param name="defaulturl">主菜单默认展开的页面</param>
        /// <returns>新主菜单项ID</returns>
        public static int NewMainMenu(string title, string defaulturl)
        {
            XmlDocumentExtender doc = new XmlDocumentExtender();
            doc.Load(configPath);
            XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu");
            int newMenuId = mainmenus.Count + 1;
            XmlElement newMainMenuItem = doc.CreateElement("toptabmenu");
            XmlElement node = doc.CreateElement("id");
            node.InnerText = newMenuId.ToString();
            newMainMenuItem.AppendChild(node);

            node = doc.CreateElement("title");
            node.InnerText = title;
            newMainMenuItem.AppendChild(node);

            node = doc.CreateElement("mainmenulist");
            node.InnerText = "";
            newMainMenuItem.AppendChild(node);

            node = doc.CreateElement("mainmenuidlist");
            node.InnerText = "";
            newMainMenuItem.AppendChild(node);

            node = doc.CreateElement("defaulturl");
            node.InnerText = defaulturl;
            newMainMenuItem.AppendChild(node);

            node = doc.CreateElement("system");
            node.InnerText = "0";
            newMainMenuItem.AppendChild(node);

            doc.SelectSingleNode("/dataset").AppendChild(newMainMenuItem);
            doc.Save(configPath);
            return newMenuId;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            att.Columns.Add("typeid");
            att.Columns.Add("typename");
            att.Columns.Add("extname");
            XmlDocumentExtender doc = new XmlDocumentExtender();
            doc.Load(AppDomain.CurrentDomain.BaseDirectory + "config/myattachment.config");
            XmlNodeList attachtype = doc.SelectNodes("/MyAttachmentsTypeConfigInfo/attachtypes/AttachmentType");
            foreach (XmlNode node in attachtype)
            {
                DataRow dr = att.NewRow();
                dr["typeid"] = node["TypeId"].InnerText;
                dr["typename"] = node["TypeName"].InnerText;
                dr["extname"] = node["ExtName"].InnerText != "" ? node["ExtName"].InnerText : "无绑定类型";
                att.Rows.Add(dr);
            }
            dt = DatabaseProvider.GetInstance().GetAttachTypes();
            string typeid = DNTRequest.GetString("typeid");

            if (!Page.IsPostBack)
            {
                BindData();

                string attlist = "";    //得到已绑定的附件列表
                if (att != null)
                {
                    foreach (DataRow dr in att.Rows)
                    {
                        attlist += dr["extname"].ToString() + ",";
                    }
                    attlist = attlist.TrimEnd(',');
                }
                attachextensions.AddTableData(dt);
                foreach (string atttype in attlist.Split(','))
                {
                    for (int i = 0; i < attachextensions.Items.Count; i++)
                    {
                        if (atttype == attachextensions.Items[i].Text)
                        {
                            attachextensions.Items[i].Enabled = false;
                            break;
                        }
                    }
                }
                string script = "var atttype = \r\n{";
                if (att != null)
                {
                    foreach (DataRow dr in att.Rows)
                    {
                        script += "\r\n\ttype" + dr["typeid"].ToString() + ":{typename:'" + dr["typename"].ToString() + "',extname:'" + dr["extname"].ToString() + "'},";
                    }
                    script = script.TrimEnd(',');
                }
                script += "\r\n};";
                base.RegisterStartupScript("", "<script type='text/javascript'>\r\n" + script + "\r\n</script>");
            }
        }
Example #11
0
 protected void Page_Load(object sender, EventArgs e)
 {
     //加入快捷操作菜单
     resultmessage = "<img src='../images/existmenu.gif' style='vertical-align:middle'/> 已经收藏";
     string configPath = Page.Server.MapPath("xml/navmenu.config");
     string title = "";
     string menuparentid = "";
     string url = DNTRequest.GetString("url").ToLower();
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     //读到快捷操作菜单
     XmlNodeList shortcuts = doc.SelectNodes("/dataset/shortcut");
     foreach (XmlNode singleshortcut in shortcuts)
     {
         //如果当前链接在快捷菜单内,则返回
         if (singleshortcut.SelectSingleNode("link").InnerText == url.ToLower().Trim()) return;
     }
     XmlNodeList submains = doc.SelectNodes("/dataset/submain");
     XmlNodeInnerTextVisitor submainsvisitor = new XmlNodeInnerTextVisitor();
     
     foreach (XmlNode submain in submains)
     {
         submainsvisitor.SetNode(submain);
         if (submainsvisitor["link"].ToLower() == url)
         {
             title = submainsvisitor["menutitle"];
             menuparentid = submainsvisitor["menuparentid"];
         }
     }
     string[] parm = GetParm(doc,menuparentid);
     XmlElement shortcut = doc.CreateElement("shortcut");
     //将当前页面存入快捷操作菜单内
     doc.AppendChildElementByNameValue(ref shortcut, "link", url);
     doc.AppendChildElementByNameValue(ref shortcut, "menutitle", title);
     doc.AppendChildElementByNameValue(ref shortcut, "frameid", "main");
     doc.AppendChildElementByNameValue(ref shortcut, "custommenu", "true");
     doc.AppendChildElementByNameValue(ref shortcut, "showmenuid", parm[0]);
     doc.AppendChildElementByNameValue(ref shortcut, "toptabmenuid", parm[1]);
     doc.AppendChildElementByNameValue(ref shortcut, "mainmenulist", parm[2]);
     doc.SelectSingleNode("/dataset").AppendChild(shortcut);
     doc.Save(configPath);
     //managemainmenu.CreateMenu(Utils.GetMapPath("xml/navmenu.config"), Utils.GetMapPath("framepage") + "/navmenu.js");
     MenuManage.CreateMenuJson();
 }
 private void BindDataGrid()
 {
     DataGrid1.TableHeaderName = "快捷菜单管理";
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList mainmenus = doc.SelectNodes("/dataset/mainmenu");
     XmlNodeList toptabmenus = doc.SelectNodes("/dataset/toptabmenu");
     string[] menuText = new string[mainmenus.Count];
     for (int i = 0; i < menuText.Length; i++)
     {
         foreach (XmlNode topmenuitem in toptabmenus)
         {
             if (("," + topmenuitem["mainmenulist"].InnerText + ",").IndexOf("," + mainmenus[i].SelectSingleNode("id").InnerText + ",") != -1)
             {
                 menuText[i] = topmenuitem["title"].InnerText + "->" + mainmenus[i].SelectSingleNode("menutitle").InnerText;
                 break;
             }
         }
     }
     DataTable dt = new DataTable();
     dt.Columns.Add(new DataColumn("id"));
     dt.Columns.Add(new DataColumn("local"));
     XmlNodeList shortcutmenus = doc.SelectNodes("/dataset/shortcut");
     XmlNodeInnerTextVisitor shortcutmenuvisitor = new XmlNodeInnerTextVisitor();
     foreach (XmlNode shortcutmenu in shortcutmenus)
     {
         shortcutmenuvisitor.SetNode(shortcutmenu);
         DataRow dr = dt.NewRow();
         dr["id"] = shortcutmenuvisitor["link"];
         dr["local"] = menuText[int.Parse(shortcutmenuvisitor["showmenuid"]) - 1] + "->" + shortcutmenuvisitor["menutitle"];
         dt.Rows.Add(dr);
     }
     if (dt.Rows.Count == 0)
     {
         DataRow dr = dt.NewRow();
         dr["id"] = "";
         dr["local"] = "(暂无收藏)";
         dt.Rows.Add(dr);
     }
     DataGrid1.DataSource = dt;
     DataGrid1.DataBind();
 }
        private void LoadInfo()
        {
            string fids = "";
            XmlDocumentExtender doc = new XmlDocumentExtender();
            doc.Load(configPath);
            fids = doc.SelectSingleNode("/Aggregationinfo/Aggregationpage/Website/Website_forumrecomend/fidlist").InnerText;
            XmlNodeList forumrecomendtopic = doc.SelectNodes("/Aggregationinfo/Aggregationpage/Website/Website_forumrecomendtopiclist/Website_forumrecomendtopic");
            List<ForumInfo> lists = Discuz.Forum.Forums.GetForumList();
            DataTable forumdata = new DataTable();
            forumdata.Columns.Add("fid");
            forumdata.Columns.Add("name");
            forumdata.Columns.Add("tid");
            forumdata.Columns.Add("title");
            forumdata.Columns.Add("img");

            foreach (string fid in fids.Split(','))
            {
                foreach (ForumInfo foruminfo in lists)
                {
                    if (foruminfo.Fid.ToString() == fid)    //在板块信息中找到当前选择的板块
                    {
                        DataRow dr = forumdata.NewRow();
                        dr["fid"] = fid;
                        dr["name"] = foruminfo.Name;
                        dr["tid"] = "";
                        dr["title"] = "";
                        dr["img"] = "";
                        forumdata.Rows.Add(dr);
                        break;
                    }
                }
            }

            foreach (XmlNode topic in forumrecomendtopic)
            {
                foreach (DataRow dr in forumdata.Rows)
                {
                    if (topic["fid"].InnerText == dr["fid"].ToString())
                    {
                        dr["tid"] = topic["tid"].InnerText;
                        dr["title"] = topic["title"].InnerText;
                        dr["img"] = topic["img"].InnerText;
                        break;
                    }
                }
            }

            DataGrid1.TableHeaderName = "推荐版块图片选择";
            DataGrid1.DataKeyField = "fid";
            DataGrid1.DataSource = forumdata;
            DataGrid1.DataBind();
        }
 protected void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
 {
     int row = e.Item.ItemIndex;
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList shortcutmenus = doc.SelectNodes("/dataset/shortcut");
     int i = 0;
     foreach (XmlNode xn in shortcutmenus)
     {
         if(i == row)
             xn.ParentNode.RemoveChild(xn);
         i++;
     }
     doc.Save(configPath);
     MenuManage.CreateMenuJson();
     base.RegisterStartupScript("delete", "<script type='text/javascript'>window.parent.LoadShortcutMenu();</script>");
     BindDataGrid();
 }
 private void BindEditData(string tid)
 {
     #region 装载主题编辑
     panel1.Visible = true;
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList topiclistNode = doc.SelectNodes("/Aggregationinfo/Forum/Hottopiclist/Topic");
     XmlNodeInnerTextVisitor topicvisitor = new XmlNodeInnerTextVisitor();
     foreach (XmlNode topic in topiclistNode)
     {
         topicvisitor.SetNode(topic);
         if (topicvisitor["tid"] == tid)
         {
             topicid.Value = topicvisitor["tid"];
             title.Text = topicvisitor["title"];
             poster.Text = topicvisitor["poster"];
             postdatetime.Text = topicvisitor["postdatetime"];
         }
     }
     #endregion
 }
Example #16
0
 /// <summary>
 /// 编辑一级主菜单
 /// </summary>
 /// <param name="menuid">一级主菜单的ID</param>
 /// <param name="title">一级主菜单标题</param>
 /// <param name="defaulturl">一级主菜单默认展开的页面</param>
 /// <returns>操作成功否</returns>
 public static bool EditMainMenu(int menuid, string title, string defaulturl)
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu");
     bool result = false;
     foreach (XmlNode menuitem in mainmenus)
     {
         if (menuitem["id"].InnerText == menuid.ToString())
         {
             menuitem["title"].InnerText = title;
             menuitem["defaulturl"].InnerText = defaulturl;
             result = true;
             break;
         }
     }
     if (result)
     {
         doc.Save(configPath);
     }
     return result;
 }
Example #17
0
 /// <summary>
 /// 删除菜单项
 /// </summary>
 /// <param name="id">菜单项的序号</param>
 public static void DeleteMenuItem(int id)
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList submains = doc.SelectNodes("/dataset/submain");
     string link = submains.Item(id)["link"].InnerText;
     submains.Item(id).ParentNode.RemoveChild(submains.Item(id));
     XmlNodeList shortcuts = doc.SelectNodes("/dataset/shortcut");
     foreach (XmlNode shortmenuitem in shortcuts)
     {
         if (shortmenuitem["link"].InnerText == link)
         {
             shortmenuitem.ParentNode.RemoveChild(shortmenuitem);
             break;
         }
     }
     doc.Save(configPath);
 }
Example #18
0
 /// <summary>
 /// 删除一级菜单,其下子菜单必须为空
 /// </summary>
 /// <param name="menuid">要删除的一级菜单ID</param>
 /// <returns>操作成功否</returns>
 public static bool DeleteMainMenu(int menuid)
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu");
     XmlNode delMenu = null;
     int newid = menuid;
     bool result = false;
     foreach (XmlNode menuitem in mainmenus)
     {
         if (menuitem["id"].InnerText == menuid.ToString())
         {
             if (menuitem["mainmenulist"].InnerText.Trim() != "")
                 return false;
             delMenu = menuitem;
             result = true;
             break;
         }
         else
         {
             if (delMenu != null)
             {
                 menuitem["id"].InnerText = newid.ToString();
                 newid++;
             }
         }
     }
     if (result)
     {
         delMenu.ParentNode.RemoveChild(delMenu);
         doc.Save(configPath);
     }
     return result;
 }
Example #19
0
 public static void ImportPluginMenu(string menuConfigFile)
 {
     if (!System.IO.File.Exists(menuConfigFile))
         return;
     //备份菜单
     BackupMenuFile();
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(menuConfigFile);
     XmlNodeList menuitems = doc.SelectNodes("/pluginmenu/menuitem");
     int pluginMainId = FindPluginMainMenu();
     foreach(XmlNode menuitem in menuitems)
     {
         int newsubmenuid = NewSubMenu(pluginMainId, menuitem.Attributes["title"].InnerText);
         XmlNodeList items = menuitem.ChildNodes;
         foreach(XmlNode item in items)
         {
             NewMenuItem(newsubmenuid, item["title"].InnerText, item["link"].InnerText);
         }
     }
     CreateMenuJson();
 }
Example #20
0
 /// <summary>
 /// 查找扩展菜单
 /// </summary>
 /// <returns>扩展菜单项ID</returns>
 public static int FindPluginMainMenu()
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu");
     foreach (XmlNode menuitem in mainmenus)
     {
         if (menuitem["system"].InnerText == "2")
         {
             return int.Parse(menuitem["id"].InnerText);
         }
     }
     return -1;
 }
Example #21
0
 private static int FindMenuMenuid(string mainMenuTitle, string subMenuTitle)
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu");
     bool find = false;
     string mainmenulist = "";
     foreach (XmlNode menuitem in mainmenus)
     {
         if (menuitem["title"].InnerText == mainMenuTitle)
         {
             mainmenulist = menuitem["mainmenulist"].InnerText;
             find = true;
         }
     }
     if (!find)
         return -1;
     XmlNodeList submains = doc.SelectNodes("/dataset/mainmenu");
     foreach (XmlNode menuItem in submains)
     {
         if (("," + mainmenulist + ",").IndexOf("," + menuItem["id"].InnerText + ",") != -1 && menuItem["menutitle"].InnerText == subMenuTitle)
         {
             return int.Parse(menuItem["menuid"].InnerText);
         }
     }
     return -1;
 }
Example #22
0
 /// <summary>
 /// 编辑子菜单
 /// </summary>
 /// <param name="submenuid">子菜单ID</param>
 /// <param name="menutitle">子菜单标题</param>
 /// <returns>操作成功否</returns>
 public static bool EditSubMenu(int submenuid, string menutitle)
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList submains = doc.SelectNodes("/dataset/mainmenu");
     bool result = false;
     foreach (XmlNode menuItem in submains)
     {
         if (menuItem["id"].InnerText == submenuid.ToString())
         {
             menuItem["menutitle"].InnerText = menutitle;
             result = true;
             break;
         }
     }
     if (result)
     {
         doc.Save(configPath);
     }
     return result;
 }
Example #23
0
 private bool FindSubMenuItem(string menuid,XmlDocumentExtender doc)
 {
     XmlNodeList submenuitem = doc.SelectNodes("/dataset/submain");
     foreach (XmlNode item in submenuitem)
     {
         if (item["menuparentid"].InnerText == menuid)
             return true;
     }
     return false;
 }
Example #24
0
        /// <summary>
        /// 增加子菜单
        /// </summary>
        /// <param name="mainmenuid">主菜单ID</param>
        /// <param name="menutitle">子菜单标题</param>
        /// <returns>新建子菜单ID</returns>
        public static int NewSubMenu(int mainmenuid, string menutitle)
        {
            int newid = 1;
            int newmenuid = 100;
            XmlDocumentExtender doc = new XmlDocumentExtender();
            doc.Load(configPath);
            XmlNodeList submains = doc.SelectNodes("/dataset/mainmenu");
            newid += int.Parse(submains.Item(submains.Count - 1)["id"].InnerText);
            newmenuid += int.Parse(submains.Item(submains.Count - 1)["menuid"].InnerText);
            XmlElement mainmenu = doc.CreateElement("mainmenu");
            XmlElement node = doc.CreateElement("id");
            node.InnerText = newid.ToString();
            mainmenu.AppendChild(node);

            node = doc.CreateElement("menuid");
            node.InnerText = newmenuid.ToString();
            mainmenu.AppendChild(node);

            node = doc.CreateElement("menutitle");
            node.InnerText = menutitle;
            mainmenu.AppendChild(node);

            doc.SelectSingleNode("/dataset").AppendChild(mainmenu);

            XmlNodeList mainMenus = doc.SelectNodes("/dataset/toptabmenu");
            foreach (XmlNode menuItem in mainMenus) //查找主菜单信息
            {
                if (menuItem["id"].InnerText == mainmenuid.ToString())
                {
                    menuItem["mainmenulist"].InnerText += "," + newid;
                    menuItem["mainmenuidlist"].InnerText += "," + newmenuid;
                    menuItem["mainmenulist"].InnerText = menuItem["mainmenulist"].InnerText.TrimStart(',');
                    menuItem["mainmenuidlist"].InnerText = menuItem["mainmenuidlist"].InnerText.TrimStart(',');
                    break;
                }
            }
            doc.Save(configPath);
            return newmenuid;
        }
Example #25
0
        /// <summary>
        /// 新建菜单项
        /// </summary>
        /// <param name="menuparentid">父菜单ID</param>
        /// <param name="title">菜单标题</param>
        /// <param name="link">菜单链接</param>
        /// <returns>操作成功否</returns>
        public static bool NewMenuItem(int menuparentid, string title, string link)
        {
            XmlDocumentExtender doc = new XmlDocumentExtender();
            doc.Load(configPath);
            XmlNodeList submains = doc.SelectNodes("/dataset/submain");
            foreach (XmlNode sub in submains)
            {
                if (sub["link"].InnerText == link)
                {
                    return false;
                }
            }
            XmlElement submain = doc.CreateElement("submain");
            XmlElement node = doc.CreateElement("menuparentid");
            node.InnerText = menuparentid.ToString();
            submain.AppendChild(node);

            node = doc.CreateElement("menutitle");
            node.InnerText = title;
            submain.AppendChild(node);

            node = doc.CreateElement("link");
            node.InnerText = link;
            submain.AppendChild(node);

            node = doc.CreateElement("frameid");
            node.InnerText = "main";
            submain.AppendChild(node);

            doc.SelectSingleNode("/dataset").AppendChild(submain);
            doc.Save(configPath);
            return true;
        }
Example #26
0
 /// <summary>
 /// 删除子菜单
 /// </summary>
 /// <param name="submenuid">子菜单ID</param>
 /// <param name="mainmenuid">主菜单ID</param>
 /// <returns>操作成功否</returns>
 public static bool DeleteSubMenu(int submenuid, int mainmenuid)
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList submains = doc.SelectNodes("/dataset/mainmenu");
     bool result = false;
     string menuid = "";
     foreach (XmlNode menuItem in submains)
     {
         if (menuItem["id"].InnerText == submenuid.ToString())
         {
             menuid = menuItem["menuid"].InnerText;
             XmlNodeList items = doc.SelectNodes("/dataset/submain");
             foreach (XmlNode item in items)
             {
                 if (item["menuparentid"].InnerText == menuid)
                     return false;
             }
             menuItem.ParentNode.RemoveChild(menuItem);
             result = true;
             break;
         }
     }
     XmlNodeList mainMenus = doc.SelectNodes("/dataset/toptabmenu");
     foreach (XmlNode menuItem in mainMenus) //查找主菜单信息
     {
         if (menuItem["id"].InnerText == mainmenuid.ToString())
         {
             menuItem["mainmenulist"].InnerText = ("," + menuItem["mainmenulist"].InnerText + ",").Replace("," + submenuid + ",", ",");
             menuItem["mainmenuidlist"].InnerText = ("," + menuItem["mainmenuidlist"].InnerText + ",").Replace("," + menuid + ",", ",");
             menuItem["mainmenulist"].InnerText = menuItem["mainmenulist"].InnerText.TrimStart(',').TrimEnd(',');
             menuItem["mainmenuidlist"].InnerText = menuItem["mainmenuidlist"].InnerText.TrimStart(',').TrimEnd(',');
             break;
         }
     }
     if (result)
     {
         doc.Save(configPath);
     }
     return result;
 }
Example #27
0
 /// <summary>
 /// 获取聚合首页自动推荐主题列表的排序规则
 /// </summary>
 /// <returns></returns>
 public TopicOrderType GetForumAggregationTopicListOrder()
 {
     if (topicOrderType == null)
     {
         XmlDocumentExtender doc = new XmlDocumentExtender();
         doc.Load(Utils.GetMapPath(BaseConfigs.GetForumPath + "config/aggregation.config"));
         topicOrderType = (TopicOrderType)TypeConverter.ObjectToInt(doc.GetSingleNodeValue(doc.SelectNodes("/Aggregationinfo/Aggregationpage/Website/Forum")[0], "Bbs/Showtype"));
     }
     return (TopicOrderType)topicOrderType;
 }
Example #28
0
 private static int FindMenuID(string mainMenuTitle)
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu");
     foreach (XmlNode menuitem in mainmenus)
     {
         if (menuitem["title"].InnerText == mainMenuTitle)
         {
             return int.Parse(menuitem["id"].InnerText); 
         }
     }
     return -1;
 }
Example #29
0
 /// <summary>
 /// 编辑菜单项
 /// </summary>
 /// <param name="id">菜单项的序号</param>
 /// <param name="title">菜单项的标题</param>
 /// <param name="link">菜单项的链接</param>
 /// <returns>操作成功否</returns>
 public static bool EditMenuItem(int id, string title, string link)
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList submains = doc.SelectNodes("/dataset/submain");
     int rowcount = 0;
     foreach (XmlNode sub in submains)
     {
         if (rowcount.ToString() != id.ToString() && sub["link"].InnerText == link)
         {
             return false;
         }
         rowcount++;
     }
     string tmpLink = submains.Item(id)["link"].InnerText;
     submains.Item(id)["menutitle"].InnerText = title;
     submains.Item(id)["link"].InnerText = link;
     XmlNodeList shortcuts = doc.SelectNodes("/dataset/shortcut");
     foreach (XmlNode shortmenuitem in shortcuts)
     {
         if (shortmenuitem["link"].InnerText == tmpLink)
         {
             shortmenuitem["link"].InnerText = link;
             shortmenuitem["menutitle"].InnerText = title;
             break;
         }
     }
     doc.Save(configPath);
     return true;
 }
Example #30
0
 private static int FindMenuID(string mainMenuTitle, string subMenuTitle, string menuItemTitle)
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu");
     bool find = false;
     string mainmenulist = "";
     foreach (XmlNode menuitem in mainmenus)
     {
         if (menuitem["title"].InnerText == mainMenuTitle)
         {
             mainmenulist = menuitem["mainmenulist"].InnerText;
             find = true;
         }
     }
     if (!find)
         return -1;
     XmlNodeList submains = doc.SelectNodes("/dataset/mainmenu");
     find = false;
     string menuid = "";
     foreach (XmlNode menuItem1 in submains)
     {
         if (("," + mainmenulist + ",").IndexOf("," + menuItem1["id"].InnerText + ",") != -1 && menuItem1["menutitle"].InnerText == subMenuTitle)
         {
             menuid = menuItem1["menuid"].InnerText;
             find = true;
         }
     }
     if (!find)
     {
         return -1;
     }
     XmlNodeList submains1 = doc.SelectNodes("/dataset/submain");
     int rowcount = 0;
     foreach (XmlNode sub in submains1)
     {
         if (sub["menuparentid"].InnerText == menuid && sub["menutitle"].InnerText == menuItemTitle)
         {
             return rowcount;
         }
         rowcount++;
     }
     return -1;
 }