Пример #1
0
        /// <summary>
        /// 删除自定义结点
        /// </summary>
        public void UserNode_Del()
        {
            if (!EX_Admin.Power("node_del", "删除自定义结点"))
            {
                EX_Admin.NoPower();
                return;
            }
            string ids      = RequestTool.RequestString("ids");
            string PageCode = RequestTool.RequestString("PageCode");

            if (ids != "")
            {
                List <Lebi_Node> nodes = B_Lebi_Node.GetList("id in (lbsql{" + ids + "})", "");
                foreach (Lebi_Node node in nodes)
                {
                    B_Lebi_Node.Delete("id=" + node.id + " or parentid=" + node.id + "");
                    B_Lebi_Page.Delete("Node_id=" + node.id + "");
                }

                string action      = Tag("删除自定义结点");
                string description = "";
                Log.Add(action, "Node", ids, CurrentAdmin, description);
            }
            if (PageCode == "P_Help")
            {
                Lebi_Theme_Page themepage = B_Lebi_Theme_Page.GetModel("Code='P_Help'");
                if (themepage.Type_id_PublishType == 122)
                {
                    PageStatic.Greate_Help(themepage);
                }
            }
            Response.Write("{\"msg\":\"OK\"}");
        }
Пример #2
0
        /// <summary>
        /// 生成帮助中心
        /// </summary>
        /// <param name="page"></param>
        /// <returns></returns>
        public static bool Greate_Help(Lebi_Theme_Page page)
        {
            string               url;
            Site                 site    = new Site();
            Lebi_Node            pnode   = NodePage.GetNodeByCode("Help");
            List <Lebi_Language> langs   = Language.AllLanguages();
            string               urlpath = "http://" + HttpContext.Current.Request.Url.Authority + site.WebPath;

            foreach (Lebi_Language lang in langs)
            {
                string           path  = lang.Path + "/" + page.StaticPath + "/" + page.StaticPageName;
                string           file  = "";
                List <Lebi_Node> nodes = B_Lebi_Node.GetList("parentid=" + pnode.id + " and Language_Code like '%" + lang.Code + "%'", "");
                foreach (Lebi_Node node in nodes)
                {
                    url  = page.PageName + "?" + page.PageParameter;
                    url  = url.Replace("{0}", node.id.ToString());
                    url  = urlpath + "/" + url;
                    file = path.Replace("{0}", node.id.ToString());
                    file = RegexTool.ReplaceRegValue(file, @"{.*?}", "");
                    url  = RegexTool.ReplaceRegValue(url, @"{.*?}", "");
                    url  = ThemeUrl.CheckURL(url);
                    HtmlEngine.Instance.CreatHtml(url, file);
                }
            }
            return(true);
        }
Пример #3
0
        /// <summary>
        /// 编辑页面,SEO
        /// </summary>
        public void ThemeSEO_Edit()
        {
            int             id    = RequestTool.RequestInt("id", 0);
            Lebi_Theme_Page model = B_Lebi_Theme_Page.GetModel(id);

            if (model == null)
            {
                Response.Write("{\"msg\":\"" + Tag("参数错误") + "\"}");
                return;
            }

            model.SEO_Description = Language.RequestString("SEO_Description");
            model.SEO_Keywords    = Language.RequestString("SEO_Keywords");
            model.SEO_Title       = Language.RequestString("SEO_Title");

            if (!EX_Admin.Power("seo_edit", "SEO设置"))
            {
                AjaxNoPower();
                return;
            }
            B_Lebi_Theme_Page.Update(model);
            string action = Tag("SEO设置");

            Log.Add(action, "ThemePage", model.id.ToString(), CurrentAdmin);

            Response.Write("{\"msg\":\"OK\",\"id\":\"" + id + "\"}");
        }
Пример #4
0
        public override string ThemePageMeta(string code, string tag)
        {
            string          str        = "";
            Lebi_Theme_Page theme_page = B_Lebi_Theme_Page.GetModel("Code='" + code + "'");

            if (theme_page == null)
            {
                return("");
            }
            switch (tag.ToLower())
            {
            case "description":
                if (Lang(theme_page.SEO_Description) != "")
                {
                    str = Lang(theme_page.SEO_Description);
                }
                break;

            case "keywords":
                if (Lang(theme_page.SEO_Keywords) != "")
                {
                    str = Lang(theme_page.SEO_Keywords);
                }
                break;

            default:
                if (Lang(theme_page.SEO_Title) != "")
                {
                    str = Lang(theme_page.SEO_Title);
                }
                break;
            }
            return(ThemePageMeta(code, tag, str));
        }
Пример #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int id = RequestTool.RequestInt("id", 0);

            model = B_Lebi_Theme_Page.GetModel(id);
            if (model == null)
            {
                model = new Lebi_Theme_Page();
                model.Type_id_PublishType = 120;
            }
            if (model.Code == "P_ArticleDetails")
            {
                showlanguage = false;
                Select       = Article() + TimeStr();
            }
            else if (model.Code == "P_Product")
            {
                //商品页面
                showlanguage = true;
                Select       = ProductType() + TimeStr();
            }
            else if (model.Code == "P_NewsDetails")
            {
                //商城动态
                Select = TimeStr();
            }
        }
Пример #6
0
 public override string ThemePageMeta(string code, string tag)
 {
     string str = "";
     Lebi_Theme_Page theme_page = B_Lebi_Theme_Page.GetModel("Code='" + code + "'");
     if (theme_page == null)
         return "";
     switch (tag.ToLower())
     {
         case "description":
             if (Lang(theme_page.SEO_Description) == "")
                 str = Lang(SYS.Description);
             else
                 str = Lang(theme_page.SEO_Description);
             break;
         case "keywords":
             if (Lang(theme_page.SEO_Keywords) == "")
                 str = Lang(SYS.Keywords);
             else
                 str = Lang(theme_page.SEO_Keywords);
             break;
         default:
             if (Lang(theme_page.SEO_Title) == "")
                 str = Tag("限时抢购");
             else
                 str = Lang(theme_page.SEO_Title) ;
             break;
     }
     return ThemePageMeta(code, tag, str);
 }
Пример #7
0
 /// <summary>
 /// 载入主题
 /// </summary>
 /// <param name="code"></param>
 public void LoadTheme(string tcode, string pcode)
 {
     CurrentTheme_              = B_Lebi_Theme.GetList("Code='" + tcode + "'", "").FirstOrDefault();
     CurrentLanguage_           = B_Lebi_Language.GetList("Code='" + CurrentTheme.Language + "'", "").FirstOrDefault();
     Session["CurrentTheme"]    = CurrentTheme_;//session主要是为那些没有LoadTheme方法的页面服务的,如ajax
     Session["CurrentLanguage"] = CurrentLanguage_;
     CurrentPage = B_Lebi_Theme_Page.GetModel("Code='" + pcode + "'");
 }
Пример #8
0
        /// <summary>
        /// 商品页面
        /// </summary>
        /// <param name="lang"></param>
        /// <param name="model"></param>
        /// <param name="theme"></param>
        /// <param name="urlpath"></param>
        private void P_Product(List <Lebi_Language> langs, Lebi_Theme_Page page, string urlpath)
        {
            string   url;
            string   ids   = RequestTool.RequestString("Pro_Type_id");
            DateTime time1 = RequestTool.RequestTime("time1");
            DateTime time2 = RequestTool.RequestTime("time2");

            string file      = "";
            int    pageindex = RequestTool.RequestInt("pageindex", 0);
            int    pagesize  = RequestTool.RequestInt("pagesize", 0);

            string where = "Time_Add>='" + time1 + "' and Time_Add<='" + time2 + "'";
            if (ids != "")
            {
                where += " and Pro_Type_id in (lbsql{" + ids + "})";
            }
            List <Lebi_Product> models = B_Lebi_Product.GetList(where, "", pagesize, pageindex);
            int count     = B_Lebi_Product.Counts(where);
            int pagecount = Pager.GetPageCount(pagesize, count);
            int per       = 100;

            if (pagecount > 0)
            {
                per = Convert.ToInt32(pageindex * 100 / pagecount);
            }
            List <Lebi_Site> sites = GetSites();
            Lebi_Site        site;

            foreach (Lebi_Product model in models)
            {
                foreach (Lebi_Language lang in langs)
                {
                    site = GetSite(sites, lang.Site_id);
                    file = site.Path + "/" + lang.Path + "/" + page.StaticPath + "/" + page.StaticPageName;
                    file = file.Replace("{0}", model.id.ToString());
                    file = RegexTool.ReplaceRegValue(file, @"{.*?}", "");
                    file = ThemeUrl.CheckPath(file);

                    url = page.PageName + "?" + page.PageParameter;
                    url = url.Replace("{0}", model.id.ToString());
                    url = urlpath + "/" + site.Path + "/" + lang.Path + "/" + url;
                    url = RegexTool.ReplaceRegValue(url, @"{.*?}", "");
                    url = ThemeUrl.CheckURL(url);
                    try
                    {
                        HtmlEngine.Instance.CreatHtml(url, file);
                    }
                    catch (System.Net.WebException)
                    {
                        //Log.Add(url + "---------" + file);
                        continue;
                    }
                }
            }
            Response.Write("{\"msg\":\"OK\",\"per\":\"" + per + "\"}");
        }
Пример #9
0
        virtual public string ThemePageMeta(string code, string tag, string defaultstr, string page)
        {
            string res = "";

            if (defaultstr != "")
            {
                res = defaultstr;
                if (page != "P_Index")
                {
                    if (tag == "title")
                    {
                        res += " - " + Lang(SYS.Name);
                    }
                }
            }
            else
            {
                Lebi_Theme_Page model = B_Lebi_Theme_Page.GetModel("Code='" + code + "'");
                if (model == null)
                {
                    res = "";
                }
                else
                {
                    switch (tag.ToLower())
                    {
                    case "description":
                        if (Lang(model.SEO_Description) != "")
                        {
                            res = Lang(model.SEO_Description);
                        }
                        break;

                    case "keywords":
                        if (Lang(model.SEO_Keywords) != "")
                        {
                            res = Lang(model.SEO_Keywords);
                        }
                        break;

                    default:
                        if (page != "P_Index")
                        {
                            if (Lang(model.SEO_Title) != "")
                            {
                                res = Lang(model.SEO_Title) + " - ";
                            }
                            res += Lang(SYS.Name);
                        }
                        break;
                    }
                }
            }
            return(res + LBTITLE);
        }
Пример #10
0
        /// <summary>
        /// 文章查看页面
        /// </summary>
        /// <param name="lang"></param>
        /// <param name="model"></param>
        /// <param name="theme"></param>
        /// <param name="urlpath"></param>
        private void P_ArticleDetails(List <Lebi_Language> langs, Lebi_Theme_Page model, string urlpath)
        {
            string   url;
            string   file    = "";
            DateTime time1   = RequestTool.RequestTime("time1");
            DateTime time2   = RequestTool.RequestTime("time2");
            string   nodeids = RequestTool.RequestString("node");

            if (nodeids == null)
            {
                return;
            }
            int pageindex = RequestTool.RequestInt("pageindex", 0);
            int pagesize  = RequestTool.RequestInt("pagesize", 0);

            string where = "Time_Add>='" + time1 + "' and Time_Add<='" + time2 + "'";
            if (nodeids != "")
            {
                where += " and Node_id in (" + nodeids + ") ";
            }
            List <Lebi_Page> pages = B_Lebi_Page.GetList(where, "", pagesize, pageindex);
            int count     = B_Lebi_Page.Counts(where);
            int pagecount = Pager.GetPageCount(pagesize, count);
            int per       = 100;

            if (pagecount > 0)
            {
                per = Convert.ToInt32(pageindex * 100 / pagecount);
            }
            List <Lebi_Site> sites = GetSites();
            Lebi_Site        site;

            foreach (Lebi_Page page in pages)
            {
                foreach (Lebi_Language lang in langs)
                {
                    if (page.Language.ToLower().Contains(lang.Code.ToLower()))
                    {
                        site = GetSite(sites, lang.Site_id);
                        file = site.Path + "/" + lang.Path + "/" + model.StaticPath + "/" + model.StaticPageName;
                        file = file.Replace("{0}", page.id.ToString());
                        file = RegexTool.ReplaceRegValue(file, @"{.*?}", "");
                        file = ThemeUrl.CheckPath(file);

                        url = model.PageName + "?" + model.PageParameter;
                        url = url.Replace("{0}", page.id.ToString());
                        url = urlpath + "/" + site.Path + "/" + lang.Path + "/" + url;
                        url = ThemeUrl.CheckURL(url);
                        HtmlEngine.Instance.CreatHtml(url, file);
                    }
                }
            }
            Response.Write("{\"msg\":\"OK\",\"per\":\"" + per + "\"}");
        }
Пример #11
0
        /// <summary>
        /// 编辑页面
        /// </summary>
        public void ThemePage_Edit()
        {
            int             id    = RequestTool.RequestInt("id", 0);
            Lebi_Theme_Page model = B_Lebi_Theme_Page.GetModel(id);

            if (model == null)
            {
                model = new Lebi_Theme_Page();
            }
            B_Lebi_Theme_Page.BindForm(model);
            //model.Name = Language.RequestString("Name");
            model.StaticPath = "/" + model.StaticPath;
            model.StaticPath = ThemeUrl.CheckURL(model.StaticPath).TrimEnd('/');
            if (model.id == 0)
            {
                if (!EX_Admin.Power("themepage_add", "添加页面"))
                {
                    AjaxNoPower();
                    return;
                }
                B_Lebi_Theme_Page.Add(model);
                id = B_Lebi_Theme_Page.GetMaxId();
                string action = Tag("添加页面");
                Log.Add(action, "ThemePage", model.id.ToString(), CurrentAdmin);
            }
            else
            {
                if (!EX_Admin.Power("themepage_edit", "编辑页面"))
                {
                    AjaxNoPower();
                    return;
                }
                B_Lebi_Theme_Page.Update(model);
                string action = Tag("编辑页面");
                Log.Add(action, "ThemePage", model.id.ToString(), CurrentAdmin);
            }
            //更新模板中的生成路径
            List <Lebi_Theme_Skin> pages = B_Lebi_Theme_Skin.GetList("Code='" + model.Code + "'", "");

            foreach (Lebi_Theme_Skin page in pages)
            {
                page.PageName       = model.PageName;
                page.PageParameter  = model.PageParameter;
                page.StaticPageName = model.StaticPageName;
                B_Lebi_Theme_Skin.Update(page);
            }
            //处理静态
            ThemeUrl.CreateURLRewrite();
            ShopCache.SetThemePage();
            Response.Write("{\"msg\":\"OK\",\"id\":\"" + id + "\"}");
        }
Пример #12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!EX_Admin.Power("seo_edit", "SEO设置"))
            {
                WindowNoPower();
            }
            int id = RequestTool.RequestInt("id", 0);

            model = B_Lebi_Theme_Page.GetModel(id);
            if (model == null)
            {
                model = new Lebi_Theme_Page();
                model.Type_id_PublishType = 120;
            }
        }
Пример #13
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int tid = RequestTool.RequestInt("tid", 0);
            int id  = RequestTool.RequestInt("id", 0);

            if (RequestTool.GetConfigKey("OnlineFileEdit").Trim() != "1")
            {
                PageReturnMsg = PageNoEditMsg();
            }
            if (id == 0)
            {
                if (!EX_Admin.Power("theme_skin_add", "添加模板页面"))
                {
                    PageReturnMsg = PageNoPowerMsg();
                }
            }
            else
            {
                if (!EX_Admin.Power("theme_skin_edit", "编辑模板页面"))
                {
                    PageReturnMsg = PageNoPowerMsg();
                }
            }

            model = B_Lebi_Theme_Skin.GetModel(id);
            if (model != null)
            {
                tid = model.Theme_id;
            }
            else
            {
                model = new Lebi_Theme_Skin();
            }
            theme = B_Lebi_Theme.GetModel(tid);
            if (theme == null)
            {
                theme = new Lebi_Theme();
            }

            SkinContent = GetSkinStr(theme, model);
            tpage       = B_Lebi_Theme_Page.GetModel("Code='" + model.Code + "'");
            if (tpage == null)
            {
                tpage        = new Lebi_Theme_Page();
                model.IsPage = 1;
            }
        }
Пример #14
0
        public override string ThemePageMeta(string code, string tag)
        {
            string          str       = "";
            Lebi_Theme_Page pagemodel = B_Lebi_Theme_Page.GetModel("Code='" + code + "'");

            if (pagemodel == null)
            {
                return("");
            }
            switch (tag.ToLower())
            {
            case "description":
                if (Lang(pagemodel.SEO_Description) == "")
                {
                    str = Lang(SYS.Description);
                }
                else
                {
                    str = Lang(pagemodel.SEO_Description);
                }
                break;

            case "keywords":
                if (Lang(pagemodel.SEO_Keywords) == "")
                {
                    str = Lang(SYS.Keywords);
                }
                else
                {
                    str = Lang(pagemodel.SEO_Keywords);
                }
                break;

            default:
                if (Lang(pagemodel.SEO_Title) == "")
                {
                    str = Tag("我的订单") + " - " + Tag("会员中心");
                }
                else
                {
                    str = Lang(pagemodel.SEO_Title);
                }
                break;
            }
            return(ThemePageMeta(code, tag, str));
        }
Пример #15
0
        virtual public string ThemePageMeta(string code, string tag, string defaultstr)
        {
            if (defaultstr != "")
            {
                return(defaultstr);
            }
            Lebi_Theme_Page model = B_Lebi_Theme_Page.GetModel("Code='" + code + "'");

            if (model == null)
            {
                return("");
            }
            switch (tag.ToLower())
            {
            case "description":
                if (Lang(model.SEO_Description) == "")
                {
                    return(SYS.Description);
                }
                else
                {
                    return(Lang(model.SEO_Description));
                }

            case "keywords":
                if (Lang(model.SEO_Keywords) == "")
                {
                    return(SYS.Keywords);
                }
                else
                {
                    return(Lang(model.SEO_Keywords));
                }

            default:
                if (Lang(model.SEO_Title) == "")
                {
                    return(SYS.Title);
                }
                else
                {
                    return(Lang(model.SEO_Title));
                }
            }
        }
Пример #16
0
        /// <summary>
        /// 帮助中心页面
        /// </summary>
        /// <param name="lang"></param>
        /// <param name="model"></param>
        /// <param name="theme"></param>
        /// <param name="urlpath"></param>
        private void P_Help(List <Lebi_Language> langs, Lebi_Theme_Page model, string urlpath)
        {
            string    url;
            Lebi_Node pnode     = NodePage.GetNodeByCode("Help");
            string    file      = "";
            int       pageindex = RequestTool.RequestInt("pageindex", 0);
            int       pagesize  = RequestTool.RequestInt("pagesize", 0);

            string where = "parentid=" + pnode.id + "";
            List <Lebi_Node> nodes = B_Lebi_Node.GetList(where, "", pagesize, pageindex);
            int count     = B_Lebi_Node.Counts(where);
            int pagecount = Pager.GetPageCount(pagesize, count);
            int per       = 100;

            if (pagecount > 0)
            {
                per = Convert.ToInt32(pageindex * 100 / pagecount);
            }
            List <Lebi_Site> sites = GetSites();
            Lebi_Site        site;

            foreach (Lebi_Node node in nodes)
            {
                foreach (Lebi_Language lang in langs)
                {
                    if (node.Language.ToLower().Contains(lang.Code.ToLower()))
                    {
                        site = GetSite(sites, lang.Site_id);
                        file = site.Path + "/" + lang.Path + "/" + model.StaticPath + "/" + model.StaticPageName;
                        file = file.Replace("{0}", node.id.ToString());
                        file = RegexTool.ReplaceRegValue(file, @"{.*?}", "");
                        file = ThemeUrl.CheckPath(file);

                        url = model.PageName + "?" + model.PageParameter;
                        url = url.Replace("{0}", node.id.ToString());
                        url = urlpath + "/" + site.Path + "/" + lang.Path + "/" + url;
                        url = RegexTool.ReplaceRegValue(url, @"{.*?}", "");
                        url = ThemeUrl.CheckURL(url);
                        HtmlEngine.Instance.CreatHtml(url, file);
                    }
                }
            }
            Response.Write("{\"msg\":\"OK\",\"per\":\"" + per + "\"}");
        }
Пример #17
0
        /// <summary>
        /// 品牌页面
        /// </summary>
        /// <param name="lang"></param>
        /// <param name="model"></param>
        /// <param name="theme"></param>
        /// <param name="urlpath"></param>
        private void P_Brand(Lebi_Language lang, Lebi_Theme_Page page, Lebi_Theme theme, string urlpath)
        {
            string            url;
            string            path   = lang.Path + "/" + page.StaticPath + "/" + page.StaticPageName;
            string            file   = "";
            List <Lebi_Brand> models = B_Lebi_Brand.GetList("", "");

            foreach (Lebi_Brand model in models)
            {
                url  = page.PageName + "?" + page.PageParameter;
                url  = url.Replace("{0}", model.id.ToString());
                url  = urlpath + "/" + url;
                file = path.Replace("{0}", model.id.ToString());
                file = RegexTool.ReplaceRegValue(file, @"{.*?}", "");
                url  = RegexTool.ReplaceRegValue(url, @"{.*?}", "");
                url  = ThemeUrl.CheckURL(url);
                HtmlEngine.Instance.CreatHtml(url, file);
            }
        }
Пример #18
0
        /// <summary>
        /// 商品分类页面
        /// </summary>
        public static bool Greate_OnePage(Lebi_Theme_Page page)
        {
            Site site = new Site();
            //Lebi_Theme_Page page = B_Lebi_Theme_Page.GetModel("Code='P_AllProductCategories'");
            string urlpath = "http://" + HttpContext.Current.Request.Url.Authority + site.WebPath;
            string url     = "";
            string file    = "";

            foreach (Lebi_Language lang in Language.AllLanguages())
            {
                string path = lang.Path + "/" + page.StaticPath + "/" + page.StaticPageName;
                url  = page.PageName + "?" + page.PageParameter;
                url  = urlpath + "/" + url;
                file = RegexTool.ReplaceRegValue(file, @"{.*?}", "");
                url  = RegexTool.ReplaceRegValue(url, @"{.*?}", "");
                url  = ThemeUrl.CheckURL(url);
                HtmlEngine.Instance.CreatHtml(url, file);
            }
            return(true);
        }
Пример #19
0
        /// <summary>
        /// 单个页面
        /// </summary>
        /// <param name="lang"></param>
        private void OnePage(List <Lebi_Language> langs, Lebi_Theme_Page model, string urlpath)
        {
            string           url   = "";
            string           file  = "";
            List <Lebi_Site> sites = GetSites();
            Lebi_Site        site;

            foreach (Lebi_Language lang in langs)
            {
                site = GetSite(sites, lang.Site_id);

                file = site.Path + "/" + lang.Path + "/" + model.StaticPath + "/" + model.StaticPageName;
                file = RegexTool.ReplaceRegValue(file, @"{.*?}", "");
                file = ThemeUrl.CheckPath(file);
                url  = urlpath + "/" + site.Path + "/" + lang.Path + "/" + model.PageName;
                url  = RegexTool.ReplaceRegValue(url, @"{.*?}", "");
                url  = ThemeUrl.CheckURL(url);
                HtmlEngine.Instance.CreatHtml(url, file);
            }
            Response.Write("{\"msg\":\"OK\",\"per\":\"100\"}");
        }
Пример #20
0
        /// <summary>
        /// 文章列表页面
        /// </summary>
        /// <param name="lang"></param>
        /// <param name="model"></param>
        /// <param name="theme"></param>
        /// <param name="urlpath"></param>
        private void P_Article(Lebi_Language lang, Lebi_Theme_Page model, Lebi_Theme theme, string urlpath)
        {
            string url;
            string nodeids = RequestTool.RequestString("node");

            if (nodeids == null)
            {
                return;
            }
            string           path   = lang.Path + "/" + model.StaticPath + "/" + model.StaticPageName;
            string           pathto = "";
            List <Lebi_Node> nodes  = B_Lebi_Node.GetList("id in (lbsql{" + nodeids + "}) and Language_Code like '%" + lang.Code + "%'", "");

            foreach (Lebi_Node node in nodes)
            {
                url    = model.PageName + "?" + model.PageParameter;
                url    = url.Replace("{0}", node.id.ToString());
                url    = urlpath + "/" + url;
                pathto = path.Replace("{0}", node.id.ToString());
                url    = ThemeUrl.CheckURL(url);
                HtmlEngine.Instance.CreatHtml(url, pathto);
            }
        }
Пример #21
0
        /// <summary>
        /// 关于我们页面/新闻/文章
        /// </summary>
        public static bool Greate_InfoPage(Lebi_Page model, Lebi_Theme_Page page)
        {
            Site site = new Site();

            string[] langcodes = model.Language.Split(',');
            string   urlpath   = "http://" + HttpContext.Current.Request.Url.Authority + site.WebPath;
            string   url       = "";
            string   file      = "";

            foreach (string langcode in langcodes)
            {
                Lebi_Language lang = B_Lebi_Language.GetModel("Code='" + langcode + "'");
                string        path = lang.Path + "/" + page.StaticPath + "/" + page.StaticPageName;
                url  = page.PageName + "?" + page.PageParameter;
                url  = url.Replace("{0}", model.id.ToString());
                url  = urlpath + "/" + url;
                file = path.Replace("{0}", model.id.ToString());
                file = RegexTool.ReplaceRegValue(file, @"{.*?}", "");
                url  = RegexTool.ReplaceRegValue(url, @"{.*?}", "");
                url  = ThemeUrl.CheckURL(url);
                HtmlEngine.Instance.CreatHtml(url, file);
            }
            return(true);
        }
Пример #22
0
 /// <summary>
 /// 安全方式绑定表单数据
 /// </summary>
 public static Lebi_Theme_Page SafeBindForm(Lebi_Theme_Page model)
 {
     return(D_Lebi_Theme_Page.Instance.SafeBindForm(model));
 }
Пример #23
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public static int Add(Lebi_Theme_Page model)
 {
     return(D_Lebi_Theme_Page.Instance.Add(model));
 }
Пример #24
0
        /// <summary>
        /// 生成地址重写规则
        /// </summary>
        public static void CreateURLRewrite()
        {
            StringBuilder sb  = new StringBuilder();
            StringBuilder sb1 = new StringBuilder();

            sb.AppendLine("[ISAPI_Rewrite]");
            sb1.AppendLine("RewriteEngine On");
            sb1.AppendLine("RewriteCompatibility2 On");
            sb1.AppendLine("RepeatLimit 200");
            sb1.AppendLine("RewriteBase");

            List <Lebi_Language>   langs  = B_Lebi_Language.GetList("", "Sort desc,id asc");
            List <Lebi_Theme_Page> models = B_Lebi_Theme_Page.GetList("Type_id_PublishType=123", "");
            string str1     = "";
            string str2     = "";
            string language = "";

            foreach (Lebi_Theme_Page model in models)
            {
                if (model.PageParameter == "")
                {
                    str1 = model.PageName;
                    str2 = model.StaticPath + "/" + model.StaticPageName;
                    str2 = ThemeUrl.CheckURL(str2);
                    str1 = str1.Trim('/');
                    str2 = str2.Trim('/');
                    str1 = str1.Replace(".", @"\.");
                    str2 = str2.Replace(".", @"\.");
                    foreach (Lebi_Language lang in langs)
                    {
                        Lebi_Site site = B_Lebi_Site.GetModel(lang.Site_id);
                        if (site == null)
                        {
                            site = new Lebi_Site();
                        }
                        language = site.Path + lang.Path.TrimEnd('/');
                        language = language.Replace("//", "/");
                        if (language == "")
                        {
                            continue;
                        }
                        sb.AppendLine(@"RewriteRule /(.*)" + language + "/" + str2 + "(.*) /$1" + language + "/" + str1 + " [N,I]");
                        sb1.AppendLine(@"RewriteRule " + language + "/" + str2 + "(.*)$ " + language + "/" + str1 + " [NC,N]");
                    }
                    sb.AppendLine(@"RewriteRule /(.*)" + str2 + "(.*) /$1" + str1 + " [N,I]");
                    sb1.AppendLine(@"RewriteRule /" + str2 + "(.*)$ /" + str1 + " [NC,N]");
                    //RewriteRule /CN/(.*)$ /CN/Basket\.aspx\?Basket\.html$1 [NC,N]
                    //RewriteRule /(.*)$ /Basket\.aspx\?Basket\.html$1 [NC,N]
                }
                else
                {
                    str1 = model.PageName + @"\?" + model.PageParameter;
                    str2 = model.StaticPath + "/" + model.StaticPageName;
                    str2 = ThemeUrl.CheckURL(str2);
                    str1 = str1.Trim('/');
                    str2 = str2.Trim('/');
                    str1 = str1.Replace(".", @"\.");
                    str2 = str2.Replace(".", @"\.");
                    str1 = RegexTool.ReplaceRegValue(str1, @"{\d+}", ",");
                    str2 = RegexTool.ReplaceRegValue(str2, @"{\d+}", "(.*)");
                    string[] arr     = str1.Split(',');
                    int      j       = 1;
                    string   str_ini = "";
                    string   str_hta = "";
                    foreach (string ar in arr)
                    {
                        if (ar != "")
                        {
                            str_hta += ar + "$" + j;
                        }
                        j++;
                        if (ar != "")
                        {
                            str_ini += ar + "$" + j;
                        }
                    }
                    foreach (Lebi_Language lang in langs)
                    {
                        Lebi_Site site = B_Lebi_Site.GetModel(lang.Site_id);
                        if (site == null)
                        {
                            site = new Lebi_Site();
                        }
                        language = site.Path + lang.Path.TrimEnd('/');
                        language = language.Replace("//", "/");
                        if (language == "")
                        {
                            continue;
                        }
                        sb.AppendLine(@"RewriteRule /(.*)" + language + "/" + str2 + "(.*) /$1" + language + "/" + str_ini + " [N,I]");
                        sb1.AppendLine(@"RewriteRule " + language + "/" + str2 + "(.*)$ " + language + "/" + str_hta + " [NC,N]");
                    }
                    sb.AppendLine(@"RewriteRule /(.*)" + str2 + "(.*) /$1" + str_ini + " [N,I]");
                    sb1.AppendLine(@"RewriteRule /" + str2 + "(.*)$ /" + str_hta + " [NC,N]");
                }
            }
            //生成商品分类重写规则
            List <Lebi_Pro_Type> tps   = B_Lebi_Pro_Type.GetList("", "");
            Lebi_Theme_Page      tpage = B_Lebi_Theme_Page.GetModel("Code='P_ProductCategory'");

            str1 = tpage.PageName + @"\?" + tpage.PageParameter;
            str1 = str1.Trim('/');
            str1 = str1.Replace(".", @"\.");
            str1 = RegexTool.ReplaceRegValue(str1, @"{\d+}", ",");
            string[] arr1     = str1.Split(',');
            string   str_ini1 = "";
            string   str_hta1 = "";

            //foreach (string ar in arr1)
            //{
            //    if (ar != "")
            //        str_hta1 += ar + "$" + j1;
            //    j1++;
            //    if (ar != "")
            //        str_ini1 += ar + "$" + j1;

            //}

            foreach (Lebi_Pro_Type tp in tps)
            {
                str_hta1 = arr1[0] + tp.id;
                str_ini1 = arr1[0] + tp.id;
                foreach (Lebi_Language lang in langs)
                {
                    if (Language.Content(tp.IsUrlrewrite, lang.Code) != "1")
                    {
                        continue;
                    }
                    str2 = Language.Content(tp.Url, lang.Code);
                    if (str2 == "")
                    {
                        continue;
                    }



                    str2 = ThemeUrl.CheckURL(str2);
                    str2 = str2.Trim('/');
                    str2 = str2.Replace(".", @"\.");
                    str2 = RegexTool.ReplaceRegValue(str2, @"{\d+}", "(.*)");


                    Lebi_Site site = B_Lebi_Site.GetModel(lang.Site_id);
                    if (site == null)
                    {
                        site = new Lebi_Site();
                    }
                    language = site.Path + lang.Path.TrimEnd('/');
                    language = language.Replace("//", "/");
                    language = language.TrimEnd('/');
                    sb.AppendLine(@"RewriteRule /(.*)" + language + "/" + str2 + "(.*) /$1" + language + "/" + str_ini1 + " [N,I]");
                    sb1.AppendLine(@"RewriteRule /(.*)" + language + "/" + str2 + "(.*)$ /$1" + language + "/" + str_hta1 + " [NC,N]");
                }
            }
            HtmlEngine save = new HtmlEngine();

            save.CreateFile("httpd.ini", sb.ToString(), "ascii");
            save.CreateFile(".htaccess", sb1.ToString(), "ascii");
            CreateURLRewrite_shop();
        }
Пример #25
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="code">页面标记的代码</param>
        /// <param name="ParaStr">参数字符串</param>
        /// <param name="url">跳转地址</param>
        /// <param name="theme">主题</param>
        /// <returns></returns>
        public static string GetURL(string code, string ParaStr, string url, Lebi_Site site, Lebi_Language lang)
        {
            code = code.Trim();
            if (url != "" && url != null)
            {
                if (url.ToLower().IndexOf("http") == 0)
                {
                    return(url);
                }
                if (url.Contains(":"))
                {
                    string[] arr = url.Split(':');
                    return(GetURL(arr[0], arr[1], "", site, lang));
                }
                return(url);
            }
            List <Lebi_Theme_Page> nodes = ShopCache.GetThemePage();
            Lebi_Theme_Page        node  = (from m in nodes
                                            where m.Code == code
                                            select m).ToList().FirstOrDefault();


            // Lebi_Theme_Page node = B_Lebi_Theme_Page.GetModel("Code='" + code + "'");
            if (node == null)
            {
                return("");
            }

            //Lebi_Theme_Skin skin = B_Lebi_Theme_Skin.GetList("Theme_id=" + theme.id + " and Code='" + code + "'", "").FirstOrDefault();
            //if (skin == null)
            //    return "";
            string res      = "";
            string PageName = "";

            switch (node.Type_id_PublishType)
            {
            case 120:
                res = "";
                break;

            case 121:    //动态地址
                //if (skin.PageName == "")
                PageName = node.PageName;
                //else
                //    PageName = skin.PageName;
                if (node.PageParameter == "")
                {
                    res = "/" + PageName;
                }
                else
                {
                    res = "/" + PageName + "?" + node.PageParameter;
                    res = ConvertURL(ParaStr, res, 121, PageName, node.PageParameter);
                }

                break;

            case 122:    //静态地址
                if (node.StaticPageName != "")
                {
                    res = "/" + node.StaticPath + "/" + node.StaticPageName;
                    res = ConvertURL(ParaStr, res, 122, "", "");
                }
                else
                {
                    //没有设置静态参数时按照动态地址发布
                    PageName = node.PageName;
                    if (node.PageParameter == "")
                    {
                        res = "/" + PageName;
                    }
                    else
                    {
                        res = "/" + PageName + "?" + node.PageParameter;
                        res = ConvertURL(ParaStr, res, 121, PageName, node.PageParameter);
                    }
                }
                break;

            case 123:    //伪静态地址
                if (node.StaticPageName != "")
                {
                    res = "/" + node.StaticPath + "/" + node.StaticPageName;
                    res = ConvertURL(ParaStr, res, 123, "", "");
                }
                else
                {
                    //没有设置伪静态参数时按照动态地址发布
                    PageName = node.PageName;
                    if (node.PageParameter == "")
                    {
                        res = "/" + PageName;
                    }
                    else
                    {
                        res = "/" + PageName + "?" + node.PageParameter;
                        res = ConvertURL(ParaStr, res, 121, PageName, node.PageParameter);
                    }
                }
                break;
            }
            //if (ShopCache.GetMainSite().id != site.id && site.Path != "")
            //    res = Site.Instance.WebPath + "/" + site.Path + "/" + lang.Path + "/" + res;
            //else
            res = Site.Instance.WebPath + "/" + lang.Path + "/" + res;
            //else
            //{
            //    lang.Path = lang.Path.Replace(site.Path, "");
            //    res = Site.Instance.WebPath + "/" + lang.Path + "/" + res;
            //}
            Regex r = new Regex(@"//*/", RegexOptions.Singleline);//目的:防止类似“///”“////”“//////”的情况

            res = r.Replace(res, "/");
            //string urlpara = RequestTool.GetConfigKey("URLPara");
            //if (urlpara != "")
            //{
            //    NameValueCollection nv = LB.Tools.CookieTool.GetCookie(urlpara);
            //    if (nv.Count > 0)
            //    {
            //        string str = "";
            //        foreach (string key in nv.Keys)
            //        {
            //            str += "&" + key + "=" + nv.Get(key);
            //        }
            //        if (res.Contains("?"))
            //            res = res + str;
            //        else
            //            res = res + "?" + str.TrimStart('&');
            //    }
            //}
            return(res);
        }
Пример #26
0
        public void CreatePage()
        {
            int             id         = RequestTool.RequestInt("id", 0);
            string          languageid = RequestTool.RequestString("Language");
            Lebi_Theme_Page model      = B_Lebi_Theme_Page.GetModel(id);
            string          Path       = "";

            if (model == null)
            {
                Response.Write("{\"msg\":\"" + Tag("参数错误") + "\"}");
                return;
            }
            Path = model.StaticPath;
            string urlpath = "http://" + HttpContext.Current.Request.Url.Authority + WebPath;
            //string port=
            List <Lebi_Language> langs;

            if (languageid == "")
            {
                langs = Language.AllLanguages();
            }
            else
            {
                langs = B_Lebi_Language.GetList("id in (lbsql{" + languageid + "})", "");
            }
            foreach (Lebi_Language lang in langs)
            {
                Lebi_Theme theme = B_Lebi_Theme.GetModel(lang.Theme_id);
                if (theme == null)
                {
                    Response.Write("{\"msg\":\"" + Tag("语言与模板关联错误") + "\"}");
                    return;
                }
            }
            switch (model.Code)
            {
            case "P_About":
                P_About(langs, model, urlpath);
                break;

            case "P_ArticleDetails":
                P_ArticleDetails(langs, model, urlpath);
                break;

            case "P_Help":
                P_Help(langs, model, urlpath);
                break;

            case "P_NewsDetails":
                P_NewsDetails(langs, model, urlpath);
                break;

            case "P_Product":
                P_Product(langs, model, urlpath);
                break;

            default:
                OnePage(langs, model, urlpath);
                break;
            }
        }
Пример #27
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public static void Update(Lebi_Theme_Page model)
 {
     D_Lebi_Theme_Page.Instance.Update(model);
 }
Пример #28
0
        /// <summary>
        /// 载入主题
        /// </summary>
        /// <param name="themecode"></param>
        /// <param name="siteid"></param>
        /// <param name="languagecode"></param>
        /// <param name="pcode"></param>
        /// <param name="checklogin">是否检查用户登录</param>
        public void LoadTheme(string themecode, int siteid, string languagecode, string pcode, bool checklogin)
        {
            CurrentSite_ = B_Lebi_Site.GetModel(siteid);
            if (ShopCache.GetMainSite().id == CurrentSite_.id || CurrentSite_.Domain == "")
            {
                IsMainSite = true;
            }
            CurrentLanguage_ = B_Lebi_Language.GetModel("Code='" + languagecode + "' and Site_id=" + siteid + "");
            if (CurrentLanguage_ == null)
            {
                CurrentLanguage_ = new Lebi_Language();
            }

            if (IsMainSite)
            {
                CurrentLanguage_.Path = (CurrentSite_.Path + CurrentLanguage_.Path).Replace("//", "/").TrimEnd('/');
            }
            if (checklogin)
            {
                if (CurrentUser.id == 0 || CurrentUser.IsAnonymous == 1)
                {
                    HttpContext.Current.Response.Redirect(URL("P_Login", "" + HttpUtility.UrlEncode(RequestTool.GetRequestUrlNonDomain()) + "," + GetUrlToken(RequestTool.GetRequestUrlNonDomain()) + ""));
                }
            }
            CurrentTheme_ = B_Lebi_Theme.GetModel("Code='" + themecode + "'");
            CurrentPage   = B_Lebi_Theme_Page.GetModel("Code='" + pcode + "'");
            if (CurrentTheme_ == null)
            {
                CurrentTheme_ = new Lebi_Theme();
            }
            Lebi_Theme_Skin skin = B_Lebi_Theme_Skin.GetModel("Theme_id=" + CurrentTheme_.id + " and Code='" + pcode + "'");

            if (skin != null)
            {
                if (skin.PageSize > 0)
                {
                    PageSize = skin.PageSize;
                }
            }
            if (CurrentSite_ != null)
            {
                SYS.Copyright   = CurrentSite_.Copyright;
                SYS.Domain      = CurrentSite_.Domain;
                SYS.Email       = CurrentSite_.Email;
                SYS.Fax         = CurrentSite_.Fax;
                SYS.Keywords    = CurrentSite_.Keywords;
                SYS.Logoimg     = CurrentSite_.Logoimg;
                SYS.Description = CurrentSite_.Description;
                SYS.Phone       = CurrentSite_.Phone;
                SYS.QQ          = CurrentSite_.QQ;
                SYS.ServiceP    = CurrentSite_.ServiceP;
                SYS.Name        = CurrentSite_.Name;
                SYS.Title       = CurrentSite_.Title;
                SYS.FootHtml    = CurrentSite_.FootHtml;
                SYS.TopAreaid   = CurrentLanguage_.TopAreaid.ToString();
            }
            LBTITLE  = "";
            LBTITLE += " - Powered by LebiShop";
            //底部版权信息
            //if (CurrentPage != null)
            //{
            //    StringBuilder sb = new StringBuilder();
            //    sb.Append("Powered by <a style=\"font-size:12px;color:#00497f\" href=\"http://www.lebi.cn\" target=\"_blank\" title=\"LebiShop多语言网上商店系统\">LebiShop</a> ");
            //    sb.Append("V" + SYS.Version + "." + SYS.Version_Son);
            //    try
            //    {
            //        Label label = (Label)this.Page.FindControl("LeBiLicense");
            //        label.Text = sb.ToString();
            //    }
            //    catch (System.NullReferenceException)
            //    {
            //        Response.Write("<div style=\"height:100px;padding-top:10px;text-align:left;font-size:12;\">内部错误,请到【配置】=》【站点语言】栏目中重新生成网站<br>");
            //        Response.Write(sb.ToString() + "</div>");
            //        Response.End();
            //    }
            //}
            Session["CurrentTheme"]    = CurrentTheme_;//session主要是为那些没有LoadTheme方法的页面服务的,如ajax
            Session["CurrentLanguage"] = CurrentLanguage_;
            Session["CurrentSite"]     = CurrentSite_;
            //写入cookie
            NameValueCollection nvs = new NameValueCollection();

            nvs.Add("theme", CurrentTheme_.Code);
            nvs.Add("language", CurrentLanguage_.Code);
            nvs.Add("site", CurrentSite_.id.ToString());
            CookieTool.WriteCookie("ThemeStatus", nvs, 10);
            //多站点商品显示
            if (Shop.Bussiness.Site.Instance.SiteCount > 1)
            {
                //if (Shop.LebiAPI.Service.Instanse.Check("domain3admin"))
                //{
                if (DataBase.DBType == "sqlserver")
                {
                    ProductWhere         = "(Charindex('," + CurrentSite_.id + ",',','+Site_ids+',')>0 or Site_ids='') and Product_id = 0 and Type_id_ProductStatus = 101";
                    ProductCategoryWhere = "(Charindex('," + CurrentSite_.id + ",',','+Site_ids+',')>0 or Site_ids='')";
                }
                if (DataBase.DBType == "access")
                {
                    ProductWhere         = "(Instr(','+Site_ids+',','," + CurrentSite_.id + ",')>0 or Site_ids='') and Product_id = 0 and Type_id_ProductStatus = 101";
                    ProductCategoryWhere = "(Instr(','+Site_ids+',','," + CurrentSite_.id + ",')>0 or Site_ids='')";
                }
                //}
                //else
                //{
                //    ProductWhere = "Product_id = 0 and Type_id_ProductStatus = 101";
                //}
            }
            else
            {
                ProductWhere         = "Product_id = 0 and Type_id_ProductStatus = 101";
                ProductCategoryWhere = "1=1";
            }
            //ProductWhere += " and (UserLevel_ids_show='' or UserLevel_ids_show is null or ','+UserLevel_ids_show+',' like '%," + CurrentUserLevel.id + ",%'  )";
            ProductWhere += " and (IsDel!=1 or IsDel is null)";
        }