/// <summary> /// 取得文章列表窗体 /// </summary> /// <param name="mode">模式:A-文章,P-单页</param> /// <returns>返回文章列表代码</returns> public string List(string mode) { StringBuilder sr = new StringBuilder(); int cid = SiteFun.ToInt(SiteFun.Query("cid")); string key = SiteFun.Query("key"); //下面三行是分页设置 int page = SiteFun.ToInt(SiteFun.Query("page")); if (page < 1) { page = 1; } int pageSize = 20; PostData pData = new PostData(conn); DataList<PostItem> list = pData.SelectPost(cid, null, key, page, pageSize, 0, mode, true); if (list.Count > 0) { if (mode == "A" || mode == "P") { bool isArticle = mode == "A"; if (SiteFun.IsPost) { int id = SiteFun.ToInt(SiteFun.Post("id")); bool del = SiteFun.ToInt(SiteFun.Post("del")) == 0 ? false : true; if (del) { PostItem tmpPost = pData.GetPost(id); //删除附件 if (!string.IsNullOrEmpty(tmpPost.Attachments)) { AttachmentData attData = new AttachmentData(conn); foreach (AttachmentItem delAtt in attData.SelectAttachment(tmpPost.Attachments)) { File.Delete(Path.Combine(SiteCfg.Router, delAtt.Path)); } attData.DeleteAttachment(tmpPost.Attachments); } pData.DeletePost(id); sr.Append(AdminUI.SuccessBox(SiteDat.GetLan("MsgArtDelSucc"))); } else { bool fine = SiteFun.ToInt(SiteFun.Post("fine")) == 0 ? false : true; bool show = SiteFun.ToInt(SiteFun.Post("show")) == 0 ? false : true; pData.UpdatePostFineAndShow(id, fine, show); sr.Append(AdminUI.SuccessBox(SiteDat.GetLan("MsgUpdateDat"))); } ClearCache(); } if (isArticle) { //设置分类数据 DataList<ColumnItem> cateList = new ColumnData(conn).SelectColumn(-1, 0, false); ArrayList values = new ArrayList(); ArrayList captions = new ArrayList(); values.Add(0); captions.Add("--" + SiteDat.GetLan("Category") + "--"); for (int j = 0; j < cateList.Count; j++) { values.Add(cateList[j].ID); captions.Add(cateList[j].Name); } //搜索 sr.Append(AdminUI.AdminBoxStart(true)); sr.Append(HtmlUI.FormStart(false, null, false)); sr.Append(HtmlUI.TableStart("onCenter")); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Search") + HtmlUI.HiddenInput("act", "post") + HtmlUI.HiddenInput("mode", "list") + HtmlUI.HiddenInput("m", mode))); sr.Append(HtmlUI.CreateTd(HtmlUI.CreateSelect("cid", values, captions, cid) + HtmlUI.Input("key", 30, null, SiteFun.HtmlEncode(key)) + HtmlUI.SubmitButton(SiteDat.GetLan("Search")))); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TableFinal()); sr.Append(HtmlUI.FormFinal()); sr.Append(AdminUI.AdminBoxFinal()); } //正常列表 sr.Append(AdminUI.AdminBoxStart(true)); sr.Append(HtmlUI.TableStart()); sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Title"))); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Local"))); if (isArticle) { sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Category"))); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Top"))); } sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Show"))); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Delete"))); sr.Append(HtmlUI.CreateTh(SiteDat.GetLan("Operate"))); sr.Append(HtmlUI.TrFinal()); int i = 1; foreach (PostItem vItem in list) { i++; sr.Append(HtmlUI.FormStart()); sr.Append(HtmlUI.TrStart(i % 2 == 0 ? " cRow" : null)); sr.Append(HtmlUI.CreateTd(HtmlUI.Link(SiteFun.HtmlEncode(SiteFun.StrCut(vItem.Title, 50)), string.Format("?act=post&mode=post&m={1}&id={0}", vItem.ID, mode)))); sr.Append(HtmlUI.CreateTd(SiteFun.HtmlEncode(SiteFun.StrCut(vItem.Local, 30)))); if (isArticle) { sr.Append(HtmlUI.CreateTd(SiteFun.HtmlEncode(new ColumnData(conn).GetColumn(vItem.ColumnID).Name))); sr.Append(HtmlUI.CreateTd(HtmlUI.CheckBoxInput("fine", 1, vItem.Fine))); } sr.Append(HtmlUI.CreateTd(HtmlUI.CheckBoxInput("show", 1, vItem.Show))); sr.Append(HtmlUI.CreateTd(HtmlUI.CheckBoxInput("del", 1, false))); sr.Append(HtmlUI.CreateTd(HtmlUI.HiddenInput("id", vItem.ID) + HtmlUI.SubmitButton(SiteDat.GetLan("BtnSave")))); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.FormFinal()); } sr.Append(HtmlUI.TrStart()); sr.Append(HtmlUI.CreateTd(new SitePages().Make(list.Number, page, pageSize, "?act=post&mode=list&cid=" + cid + "&key=" + SiteFun.UrlEncode(key) + "&m=" + mode + "&page={0}"), (isArticle ? 7 : 5), null)); sr.Append(HtmlUI.TrFinal()); sr.Append(HtmlUI.TableFinal()); sr.Append(AdminUI.AdminBoxFinal()); } } else { sr.Append(Post(mode)); } return sr.ToString(); }