/// <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\"}"); }
/// <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); }
/// <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 + "\"}"); }
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)); }
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(); } }
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); }
/// <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 + "'"); }
/// <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 + "\"}"); }
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); }
/// <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 + "\"}"); }
/// <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 + "\"}"); }
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; } }
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; } }
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)); }
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)); } } }
/// <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 + "\"}"); }
/// <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); } }
/// <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); }
/// <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\"}"); }
/// <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); } }
/// <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); }
/// <summary> /// 安全方式绑定表单数据 /// </summary> public static Lebi_Theme_Page SafeBindForm(Lebi_Theme_Page model) { return(D_Lebi_Theme_Page.Instance.SafeBindForm(model)); }
/// <summary> /// 增加一条数据 /// </summary> public static int Add(Lebi_Theme_Page model) { return(D_Lebi_Theme_Page.Instance.Add(model)); }
/// <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(); }
/// <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); }
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; } }
/// <summary> /// 更新一条数据 /// </summary> public static void Update(Lebi_Theme_Page model) { D_Lebi_Theme_Page.Instance.Update(model); }
/// <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)"; }