Exemplo n.º 1
0
        public List <Lebi_Menu> GetMenus(string parentCode)
        {
            AllMenus = new List <Lebi_Menu>();
            List <Lebi_Menu> All = B_Lebi_Menu.GetList("Isshow=1", "Sort desc");
            string           currentgroupmenu = "," + CurrentAdminGroup.Menu_ids + ",";

            if (CurrentAdmin.AdminType == "super")
            {
                AllMenus = All;
            }
            else
            {
                foreach (Lebi_Menu m in All)
                {
                    if (currentgroupmenu.Contains("," + m.id + ","))
                    {
                        AllMenus.Add(m);
                    }
                }
            }
            List <Lebi_Menu> menus = (from m in AllMenus
                                      where m.parentCode == parentCode
                                      select m).ToList();

            return(menus);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 删除一个菜单
        /// </summary>
        public void Menu_Del()
        {
            if (!EX_Admin.Power("admin_menu_edit", "编辑菜单"))
            {
                EX_Admin.NoPower();
                return;
            }
            int       id    = RequestTool.RequestInt("id", 0);
            Lebi_Menu model = B_Lebi_Menu.GetModel(id);

            if (model == null)
            {
                Response.Write("{\"msg" + Tag("参数错误") + "\"}");
                return;
            }
            else
            {
                //if (model.IsSYS == 0)
                B_Lebi_Menu.Delete(id);
            }
            string action = Tag("删除菜单");

            Log.Add(action, "Admin_Power", id.ToString(), CurrentAdmin, "");
            Response.Write("{\"msg\":\"OK\"}");
        }
Exemplo n.º 3
0
        public string GetParent(int sid)
        {
            List <Lebi_Menu> ps  = B_Lebi_Menu.GetList("parentid=0", "Sort desc");
            string           str = "";

            foreach (Lebi_Menu p in ps)
            {
                string sel = "";
                if (p.id == sid)
                {
                    sel = "selected";
                }
                str += "<option value=" + p.id + "  " + sel + ">" + p.Name + "</option>";

                List <Lebi_Menu> ss = B_Lebi_Menu.GetList("parentid=" + p.id + "", "Sort desc");
                foreach (Lebi_Menu s in ss)
                {
                    sel = "";
                    if (s.id == sid)
                    {
                        sel = "selected";
                    }
                    str += "<option value=" + s.id + "  " + sel + "> - " + s.Name + "</option>";
                }
            }
            return(str);
        }
Exemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!EX_Admin.Power("admin_menu_edit", "编辑菜单"))
            {
                WindowNoPower();
            }
            int id  = RequestTool.RequestInt("id", 0);
            int pid = RequestTool.RequestInt("pid", 0);

            model = B_Lebi_Menu.GetModel(id);
            if (model == null)
            {
                model          = new Lebi_Menu();
                model.parentid = pid;
                model.Isshow   = 1;
            }
            else
            {
                pid = model.parentid;
            }
            pmodel = B_Lebi_Menu.GetModel(pid);
            if (pmodel == null)
            {
                pmodel      = new Lebi_Menu();
                pmodel.Name = "-";
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 更新插件菜单
        /// </summary>
        /// <param name="c"></param>
        /// <param name="m"></param>
        /// <param name="parent"></param>
        /// <returns></returns>
        private Lebi_Menu updatemenu(string c, PluginConfig.menuconfig m, Lebi_Menu parent)
        {
            string code = c + "_" + m.name;

            Lebi_Menu menu = B_Lebi_Menu.GetModel("Code=lbsql{'" + code + "'}");

            if (parent == null && m.parentcode != "")
            {
                parent = B_Lebi_Menu.GetModel("Code=lbsql{'" + m.parentcode + "'}");
            }
            if (parent == null)
            {
                parent = new Lebi_Menu();
            }
            if (menu == null)
            {
                menu            = new Lebi_Menu();
                menu.Code       = code;
                menu.Isshow     = 1;
                menu.Name       = m.name;
                menu.parentCode = parent.Code;
                menu.parentid   = parent.id;
                if (m.url == null)
                {
                    menu.URL = "";
                }
                else
                {
                    menu.URL = m.url.TrimStart('/');
                }
                B_Lebi_Menu.Add(menu);
                menu.id = B_Lebi_Menu.GetMaxId();
            }
            return(menu);
        }
Exemplo n.º 6
0
        public List <Lebi_Menu> GetMenu(int pid)
        {
            string where = "";
            where        = "parentid=" + pid + " and Isshow=1";
            List <Lebi_Menu> ls = B_Lebi_Menu.GetList(where, "Sort desc");

            if (ls == null)
            {
                ls = new List <Lebi_Menu>();
            }
            return(ls);
        }
Exemplo n.º 7
0
        /// <summary>
        /// 更新插件菜单
        /// </summary>
        public void Plugin_updatemenu()
        {
            if (!EX_Admin.Power("pluginconfig_edit", "插件设置"))
            {
                AjaxNoPower();
                return;
            }
            string name = RequestTool.RequestString("id");
            List <PluginConfig> models = Event.GetPluginConfig();

            foreach (PluginConfig model in models)
            {
                if (model.Assembly == name)
                {
                    foreach (PluginConfig.menuconfig m in model.MenuConfigs)
                    {
                        Lebi_Menu menu0 = updatemenu(model.Assembly, m, null);
                        foreach (PluginConfig.menuconfig m1 in m.son)
                        {
                            Lebi_Menu menu1 = updatemenu(model.Assembly, m1, menu0);
                            foreach (PluginConfig.menuconfig m2 in m1.son)
                            {
                                updatemenu(model.Assembly, m2, menu1);
                            }
                        }
                    }
                    foreach (PluginConfig.menurewrite m in model.MenuRewrites)
                    {
                        Lebi_Menu menu = B_Lebi_Menu.GetModel("Code='" + m.code + "'");
                        if (menu != null)
                        {
                            if (menu.URL != m.url)
                            {
                                menu.URL = m.url;
                            }
                            B_Lebi_Menu.Update(menu);
                        }
                    }
                }
            }

            Response.Write("{\"msg\":\"OK\"}");
        }
Exemplo n.º 8
0
 public bool IsNew(string name)
 {
     foreach (PluginConfig model in models)
     {
         if (model.Assembly == name)
         {
             foreach (PluginConfig.menuconfig m in model.MenuConfigs)
             {
                 if (countmenu(model.Assembly + "_" + m.name) == 0)
                 {
                     return(true);
                 }
                 foreach (PluginConfig.menuconfig m1 in m.son)
                 {
                     if (countmenu(model.Assembly + "_" + m1.name) == 0)
                     {
                         return(true);
                     }
                     foreach (PluginConfig.menuconfig m2 in m1.son)
                     {
                         if (countmenu(model.Assembly + "_" + m2.name) == 0)
                         {
                             return(true);
                         }
                     }
                 }
             }
             foreach (PluginConfig.menurewrite m in model.MenuRewrites)
             {
                 Lebi_Menu menu = B_Lebi_Menu.GetModel("Code='" + m.code + "'");
                 if (menu != null)
                 {
                     if (menu.URL != m.url)
                     {
                         return(true);
                     }
                 }
             }
         }
     }
     return(false);
 }
Exemplo n.º 9
0
        /// <summary>
        /// 编辑后台菜单
        /// </summary>
        public void Menu_Edit()
        {
            if (!EX_Admin.Power("admin_menu_edit", "编辑菜单"))
            {
                EX_Admin.NoPower();
                return;
            }
            int    id         = RequestTool.RequestInt("id", 0);
            int    pid        = RequestTool.RequestInt("pid", 0);
            int    parentid   = RequestTool.RequestInt("parentid", 0);
            string parentCode = "";

            if (parentid > 0)
            {
                Lebi_Menu parent = B_Lebi_Menu.GetModel(parentid);
                parentCode = parent.Code;
            }
            Lebi_Menu model = B_Lebi_Menu.GetModel(id);

            if (model == null)
            {
                model = new Lebi_Menu();
                B_Lebi_Menu.BindForm(model);
                model.Isshow     = 1;
                model.parentCode = parentCode;
                B_Lebi_Menu.Add(model);
            }
            else
            {
                model.parentCode = parentCode;
                B_Lebi_Menu.BindForm(model);
                B_Lebi_Menu.Update(model);
            }
            ImageHelper.LebiImagesUsed(model.Image, "menu", id);
            string action = Tag("编辑菜单");

            Log.Add(action, "Admin_Power", id.ToString(), CurrentAdmin, model.Name);
            Response.Write("{\"msg\":\"OK\"}");
        }
Exemplo n.º 10
0
        /// <summary>
        /// 头部菜单跳转
        /// </summary>
        /// <param name="pid"></param>
        public void MenuJump()
        {
            int pid = RequestTool.RequestInt("pid", 0);

            if (pid == 0)
            {
                //前往快捷桌面菜单
                if (EX_Admin.Power("admin_data", "系统桌面") || RequestTool.GetConfigKey("DemoSite").Trim() == "1")
                {
                    Response.Redirect(AdminMenuURL("default.aspx?desk=1"));
                }
                if (CurrentAdminGroup.Menu_ids_index != "")
                {
                    List <Lebi_Menu> ims = B_Lebi_Menu.GetList("id in (" + CurrentAdminGroup.Menu_ids_index + ")", "Sort desc");
                    foreach (Lebi_Menu im in ims)
                    {
                        if (im.URL.Contains("?"))
                        {
                            im.URL = im.URL + "&desk=1";
                        }
                        else
                        {
                            im.URL = im.URL + "?desk=1";
                        }
                        Response.Redirect(AdminMenuURL(im.URL));
                        return;
                    }
                }
            }
            string           currentgroupmenu = "," + CurrentAdminGroup.Menu_ids + ",";
            List <Lebi_Menu> ms = B_Lebi_Menu.GetList("parentid=" + pid + "", "Sort desc");

            foreach (Lebi_Menu m in ms)
            {
                if (CurrentAdmin.AdminType == "super")
                {
                    List <Lebi_Menu> models = B_Lebi_Menu.GetList("parentid=" + m.id + "", "Sort desc");
                    foreach (Lebi_Menu model in models)
                    {
                        Response.Redirect(AdminMenuURL(model.URL));
                        return;
                    }
                }
                else
                {
                    if (currentgroupmenu.Contains("," + m.id + ","))
                    {
                        List <Lebi_Menu> models = B_Lebi_Menu.GetList("parentid=" + m.id + "", "Sort desc");
                        foreach (Lebi_Menu model in models)
                        {
                            if (currentgroupmenu.Contains("," + model.id + ","))
                            {
                                Response.Redirect(AdminMenuURL(model.URL));
                                return;
                            }
                        }
                    }
                }
            }
            Response.Write(Tag("菜单设置错误"));
        }
Exemplo n.º 11
0
        public int countmenu(string code)
        {
            int count = B_Lebi_Menu.Counts("Code='" + code + "'");

            return(count);
        }