/// <summary> /// 更新链接 /// </summary> public void Edit_GET() { object data; int linkId = int.Parse(base.Request.QueryString["linkId"]); string plinks = ""; SiteLinkDto link = ServiceCall.Instance.SiteService.GetLinkById(this.SiteId, linkId); string bindTitle = String.Empty; string[] binds = (link.Bind ?? "").Split(':'); if (binds.Length != 2 || binds[1] == String.Empty) { binds = null; } else { if (binds[0] == "category") { CategoryDto cate = ServiceCall.Instance.SiteService.GetCategory(this.SiteId, int.Parse(binds[1])); bindTitle = cate.ID > 0 ? String.Format("栏目:{0}", cate.Name) : null; } else if (binds[0] == "archive") { int archiveId; int.TryParse(binds[1], out archiveId); ArchiveDto archive = ServiceCall.Instance.ArchiveService .GetArchiveById(this.SiteId, archiveId); if (archive.Id <= 0) { binds = null; } else { bindTitle = String.Format("文档:{0}", archive.Title); } } } string linkTypeName, resouce; switch ((SiteLinkType)link.Type) { case SiteLinkType.FriendLink: linkTypeName = "友情链接"; resouce = ResourceMap.GetPageContent(ManagementPage.Link_SiteLinkEdit); break; default: case SiteLinkType.CustomLink: linkTypeName = "自定义链接"; resouce = ResourceMap.GetPageContent(ManagementPage.Link_SiteLinkEdit); break; case SiteLinkType.Navigation: linkTypeName = "网站导航"; resouce = ResourceMap.GetPageContent(ManagementPage.Link_SiteLinkEdit_Navigator); break; } //plinks StringBuilder sb = new StringBuilder(); IEnumerable <SiteLinkDto> parentLinks = ServiceCall.Instance.SiteService .GetLinksByType(this.SiteId, link.Type, true); foreach (SiteLinkDto _link in parentLinks) { if (_link.Pid == 0) { sb.Append("<option value=\"").Append(_link.ID.ToString()) .Append("\">").Append(_link.Text).Append("</option>"); } } plinks = sb.ToString(); int categoryId = -1; if (link.Bind != null && link.Bind.StartsWith("category:")) { categoryId = int.Parse(binds[1]); } string json = JsonSerializer.Serialize( new { ID = link.ID, Text = link.Text, Uri = link.Uri, OrderIndex = link.OrderIndex, Btn = "保存", BindId = binds == null ? "" : binds[1], BindType = binds == null ? "" : binds[0], BindTitle = bindTitle == String.Empty ? "未绑定" : bindTitle, Target = link.Target, Type = (int)link.Type, ImgUrl = link.ImgUrl, Visible = link.Visible.ToString(), pid = '0' }); base.RenderTemplate(resouce, new { entity = json, LinkType = (int)link.Type, linkTypeName = linkTypeName, categoryNodes = this.GetCategorySelector(this.SiteId, -1), plinks = plinks }); }
/// <summary> /// 创建链接 /// </summary> public void Create_GET() { object data; string plinks = ""; SiteLinkType type = (SiteLinkType)Enum.Parse(typeof(SiteLinkType), base.Request["type"], true); string linkTypeName, resouce; switch (type) { case SiteLinkType.FriendLink: linkTypeName = "友情链接"; resouce = ResourceMap.GetPageContent(ManagementPage.Link_SiteLinkEdit); break; default: case SiteLinkType.CustomLink: linkTypeName = "自定义链接"; resouce = ResourceMap.GetPageContent(ManagementPage.Link_SiteLinkEdit); break; case SiteLinkType.Navigation: linkTypeName = "网站导航"; resouce = ResourceMap.GetPageContent(ManagementPage.Link_SiteLinkEdit_Navigator); break; } //plinks StringBuilder sb = new StringBuilder(); int siteID = base.CurrentSite.SiteId; IEnumerable <SiteLinkDto> parentLinks = ServiceCall.Instance.SiteService .GetLinksByType(this.SiteId, type, true); foreach (SiteLinkDto _link in parentLinks) { if (_link.Pid == 0) { sb.Append("<option value=\"").Append(_link.ID.ToString()) .Append("\">").Append(_link.Text).Append("</option>"); } } plinks = sb.ToString(); string json = JsonSerializer.Serialize( new { ID = 0, Text = String.Empty, Uri = String.Empty, OrderIndex = "0", Btn = "添加", BindId = String.Empty, BindType = String.Empty, BindTitle = "未绑定", Target = String.Empty, Type = Request["type"], ImgUrl = String.Empty, pid = '0', Visible = "True" }); base.RenderTemplate(resouce, new { entity = json, LinkType = Request["type"], linkTypeName = linkTypeName, categoryNodes = this.GetCategorySelector(siteID, -1), plinks = plinks }); }
/// <summary> /// 所有栏目 /// </summary> public void All_GET() { /* * string categoryRowsHtml; //栏目行HTML * * StringBuilder sb = new StringBuilder(); * ModuleBLL mb = new ModuleBLL(); * Module m; * * var allCate = CmsLogic.Category.GetCategories(); * * * if (allCate != null && allCate.Count != 0) * { * //根节点 * Category root = CmsLogic.Category.Root; * * CmsLogic.Category.HandleCategoryTree(root.Name, (c, level) => * { * m = mb.GetModule(c.ModuleID); * sb.Append("<tr><td class=\"hidden\">").Append(c.Lft).Append("</td>") * .Append("<td><span class=\"pnode\"></span>"); * * for (var i = 0; i < level; i++) * { * sb.Append(" "); * } * * sb.Append(c.Name).Append("</td>") * .Append("<td class=\"center\">").Append(c.Tag).Append("</td>") * .Append("<td class=\"center\">").Append(m == null ? "-" : m.Name).Append("</td><td class=\"center\">") * .Append(c.Keywords) * .Append("</td><td class=\"center\"><button class=\"draw\" onclick=\"location.href='?module=archive&action=create&moduleID=").Append(c.ModuleID.ToString()) * .Append("&categoryID=").Append(c.ID).Append("'\" /></td><td class=\"center\"><button class=\"edit\" /></td><td class=\"center\"><button class=\"delete\" /></td></tr>"); * * }); */ /* * foreach (Category parentCategory in CmsLogic.Category.GetCategories(a => a.PID == 0)) * { * m = mb.GetModule(parentCategory.ModuleID); * * sb.Append("<tr class=\"row\"><td class=\"hidden\">").Append(parentCategory.ID).Append("</td>") * .Append("<td style=\"padding-left:10px\"><span class=\"pnode\"></span>").Append(parentCategory.Name).Append("</td>") * .Append("<td class=\"center\">").Append(parentnode.tag).Append("</td>") * .Append("<td class=\"center\">").Append(m == null ? "-" : m.Name).Append("</td><td class=\"center\">") * .Append(parentCategory.Keywords) * .Append("</td><td class=\"center\"><button class=\"draw\" onclick=\"location.href='?module=archive&action=create&moduleID=").Append(parentCategory.ModuleID.ToString()) * .Append("&categoryID=").Append(parentCategory.ID).Append("'\" /></td><td class=\"center\"><button class=\"edit\" /></td><td class=\"center\"><button class=\"delete\" /></td></tr>"); * * childCategories = new List<global::Spc.Category>(CmsLogic.Category.GetCategories(a => a.PID == parentCategory.ID)); * if (childCategories.Count != 0) * { * // sb.Append("<tr><td colspan=\"8\"><table class=\"childCategories\" cellspacing=\"0\">"); * * foreach (global::Spc.Category childCategory in childCategories) * { * m = mb.GetModule(childCategory.ModuleID); * sb.Append("<tr><td class=\"hidden\">").Append(childCategory.ID).Append("</td><td style=\"padding-left:10px\"><span class=\"cnode\"></span>") * .Append(childCategory.Name).Append("</td>") * .Append("<td class=\"center\">").Append(childnode.tag).Append("</td><td class=\"center\">") * .Append(m == null ? "-" : m.Name) * .Append("</td><td class=\"center\">") * .Append(childCategory.Keywords) * .Append("</td><td class=\"center\"><button class=\"draw\" onclick=\"location.href='?module=archive&action=create&moduleID=") * .Append(childCategory.ModuleID).Append("&categoryID=").Append(childCategory.ID).Append("'\" /></td>") * .Append("<td class=\"center\"><button class=\"edit\" /></td>") * .Append("<td class=\"center\"><button class=\"delete\" /></td></tr>"); * } * * //sb.Append("</table></td></tr>"); * } * * } */ //模块JSON //categoryTypeJSON = CmsLogic.Module.GetModuleJson(); base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Category_List), new { //categoryRowsHtml = categoryRowsHtml, //categoryTypeJSON = categoryTypeJSON, //count=allCate.Count.ToString() }); }
/// <summary> /// 左侧栏目树 /// </summary> public void Tree_GET() { TreeNode node = ServiceCall.Instance.SiteService.GetCategoryTreeNode(this.SiteId, 1); BuiltCacheResultHandler <String> bh = () => { string _treeHtml = ""; StringBuilder sb = new StringBuilder(); //var allCate = CmsLogic.Category.GetCategories(); sb.Append("<dl><dt class=\"tree-title\"><img src=\"/framework/assets/sys_themes/default/icon_trans.png\" width=\"24\" height=\"24\" class=\"tree-title\"/>") .Append(this.CurrentSite.Name ?? "默认站点").Append("</dt>"); //从根目录起循环 ServiceCall.Instance.SiteService.ItrCategoryTree(sb, this.SiteId, 1); //ItrTree(CmsLogic.Category.Root, sb,siteID); sb.Append("</dl>"); _treeHtml = sb.ToString(); _treeHtml = Regex.Replace(_treeHtml, "(<img[^>]+>)+<span([^>]+)>([^<]+)</span></dd></dl>", m => { string returnStr = m.Value.Replace("tree-item", "tree-item-last"); MatchCollection mcs = Regex.Matches(m.Value, "<img class=\"tree-line\"[^>]+>"); if (mcs.Count > 0) { //returnStr = returnStr.Replace(mcs[mcs.Count - 1].Value, mcs[mcs.Count - 1].Value.Replace("tree-line", "tree-line-last")); } return(returnStr); }); return(_treeHtml); }; try { string json = JsonSerializer.Serialize(node); /* * string treeHtml = CacheFactory.Sington.GetResult<String>( * String.Format("{0}_{1}_admin_tree", CacheSign.Category.ToString(), this.SiteId.ToString()), * bh); */ base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Category_LeftBar_Tree), new { tree = json, treeFor = base.Request["for"] }); } catch (Exception exc) { this.Response.Write("<script>parent.M.alert('站点栏目异常!这可能是由于数据不正确导致。<br />具体错误信息:"); this.Response.Write(exc.Message); this.Response.Write("')</script>"); } }
/// <summary> /// 创建栏目 /// </summary> public void Update_GET() { string categoryOptions, //栏目下拉列表 categoryTypeOptions, //栏目类型下拉列表 categoryTpl, archiveTpl, archiveTplOpts, categoryTplOpts; StringBuilder sb = new StringBuilder(); //获取栏目 int leftID = int.Parse(base.Request["lft"]); CategoryDto category = ServiceCall.Instance.SiteService.GetCategoryByLft(this.SiteId, leftID); //检验站点 if (!(category.ID > 0)) { return; } //获取父栏目pleft int pleft = 1; CategoryDto pc = ServiceCall.Instance.SiteService.GetParentCategory(this.SiteId, category.Lft); if (pc.ID > 0) { pleft = pc.Lft; } /* * //加载模块 * foreach (var m in CmsLogic.Module.GetSiteAvailableModules(this.SiteId)) * { * if (!m.IsDelete) * { * sb.Append("<option value=\"").Append(m.ID.ToString()).Append("\">").Append(m.Name).Append("</option>"); * } * } * categoryTypeOptions = sb.ToString(); * sb.Remove(0, sb.Length); * */ //加载栏目(排除当前栏目) ServiceCall.Instance.SiteService.HandleCategoryTree(this.SiteId, 1, (c, level) => { if (c.Lft != leftID) { sb.Append("<option value=\"").Append(c.Lft.ToString()).Append("\">"); for (var i = 0; i < level; i++) { sb.Append(CmsCharMap.Dot); } sb.Append(c.Name).Append("</option>"); } }); categoryOptions = sb.ToString(); //获取模板视图下拉项 sb.Remove(0, sb.Length); //模板目录 DirectoryInfo dir = new DirectoryInfo( String.Format("{0}templates/{1}", AppDomain.CurrentDomain.BaseDirectory, Settings.TPL_MultMode ? "" : base.CurrentSite.Tpl + "/" )); EachClass.EachTemplatePage(dir, sb, TemplatePageType.Archive); archiveTplOpts = sb.ToString(); sb.Remove(0, sb.Length); EachClass.EachTemplatePage(dir, sb, TemplatePageType.Category); categoryTplOpts = sb.ToString(); //获取栏目及文档模板绑定 categoryTpl = String.IsNullOrEmpty(category.CategoryTemplate) ? "" : category.CategoryTemplate; archiveTpl = String.IsNullOrEmpty(category.CategoryArchiveTemplate) ? "" : category.CategoryArchiveTemplate; object data = new { entity = JsonSerializer.Serialize(category), url = base.Request.RawUrl, categories = categoryOptions, //categoryTypes = categoryTypeOptions, parentLft = pleft, categoryTplPath = categoryTpl, archiveTplPath = archiveTpl, category_tpls = categoryTplOpts, archive_tpls = archiveTplOpts }; base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Category_EditCategory), data); }
/// <summary> /// 创建栏目 /// </summary> public void Create_GET() { string categoryOptions, //栏目下拉列表 categoryTypeOptions, //栏目类型下拉列表 archiveTplOpts, categoryTplOpts; StringBuilder sb = new StringBuilder(); int siteID = base.CurrentSite.SiteId; //当前站点 var site = base.CurrentSite; //加载模块 /* * foreach (var m in CmsLogic.Module.GetSiteAvailableModules(siteID)) * { * if (!m.IsDelete) * { * sb.Append("<option value=\"").Append(m.ID.ToString()).Append("\">").Append(m.Name).Append("</option>"); * } * } * categoryTypeOptions = sb.ToString(); * sb.Remove(0, sb.Length); */ //加载栏目 ServiceCall.Instance.SiteService.HandleCategoryTree(this.SiteId, 1, (category, level) => { sb.Append("<option value=\"").Append(category.Lft.ToString()).Append("\">"); for (var i = 0; i < level; i++) { sb.Append(CmsCharMap.Dot); } sb.Append(category.Name).Append("</option>"); }); categoryOptions = sb.ToString(); //获取模板视图下拉项 sb.Remove(0, sb.Length); //模板目录 DirectoryInfo dir = new DirectoryInfo( String.Format("{0}templates/{1}", AppDomain.CurrentDomain.BaseDirectory, Settings.TPL_MultMode ? "" : base.CurrentSite.Tpl + "/" )); EachClass.EachTemplatePage(dir, sb, TemplatePageType.Archive); archiveTplOpts = sb.ToString(); sb.Remove(0, sb.Length); EachClass.EachTemplatePage(dir, sb, TemplatePageType.Category); categoryTplOpts = sb.ToString(); object entity = new { ParentLft = Request["lft"] }; object data = new { url = base.Request.RawUrl, categories = categoryOptions, tpls = sb.ToString(), category_tpls = categoryTplOpts, archive_tpls = archiveTplOpts, entity = JsonSerializer.Serialize(entity) }; base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Category_CreateCategory), data); }