public static DataTable LogList(int pagesize, int currentpage, string condition) { DataTable paymentLogList = Discuz.Data.PaymentLogs.GetPaymentLogList(pagesize, currentpage, condition); if (paymentLogList != null) { DataColumn dataColumn = new DataColumn(); dataColumn.ColumnName = "forumname"; dataColumn.DataType = typeof(String); dataColumn.DefaultValue = ""; dataColumn.AllowDBNull = false; paymentLogList.Columns.Add(dataColumn); DataTable forumListForDataTable = Forums.GetForumListForDataTable(); foreach (DataRow dataRow in paymentLogList.Rows) { if (dataRow["fid"].ToString().Trim() != "") { DataRow[] array = forumListForDataTable.Select("fid=" + dataRow["fid"].ToString()); int num = 0; if (num < array.Length) { DataRow dataRow2 = array[num]; dataRow["forumname"] = dataRow2["name"].ToString(); } } } } return(paymentLogList); }
/// <summary> /// 设置论坛字版数和显示顺序 /// </summary> public static void SetForumsSubForumCountAndDispalyorder() { DataTable dt = Forums.GetForumListForDataTable(); foreach (DataRow dr in dt.Rows) { Discuz.Data.Forums.UpdateSubForumCount(int.Parse(dt.Select("parentid=" + dr["fid"].ToString()).Length.ToString()), int.Parse(dr["fid"].ToString())); } if (dt.Rows.Count == 1) { return; } int displayorder = 1; string fidlist; foreach (DataRow dr in dt.Select("parentid=0")) { if (dr["parentid"].ToString() == "0") { ChildNode = "0"; fidlist = ("," + FindChildNode(dr["fid"].ToString())).Replace(",0,", ""); foreach (string fidstr in fidlist.Split(',')) { Data.Forums.UpdateDisplayorderInForumByFid(displayorder, TypeConverter.StrToInt(fidstr)); displayorder++; } } } }
/// <summary> /// 得到当前指定条件和页数的积分交易日志记录(表) /// </summary> /// <param name="pagesize">当前分页的尺寸大小</param> /// <param name="currentpage">当前页码</param> /// <param name="condition">查询条件</param> /// <returns></returns> public static DataTable LogList(int pagesize, int currentpage, string condition) { DataTable dt = Discuz.Data.PaymentLogs.GetPaymentLogList(pagesize, currentpage, condition); if (dt != null) { DataColumn dc = new DataColumn(); dc.ColumnName = "forumname"; dc.DataType = System.Type.GetType("System.String"); dc.DefaultValue = ""; dc.AllowDBNull = false; dt.Columns.Add(dc); DataTable ForumList = Forums.GetForumListForDataTable(); foreach (DataRow dr in dt.Rows) { if (dr["fid"].ToString().Trim() != "") { foreach (DataRow forumdr in ForumList.Select("fid=" + dr["fid"].ToString())) { dr["forumname"] = forumdr["name"].ToString(); break; } } } } return(dt); }
/// <summary> /// 设置论坛字版数和显示顺序 /// </summary> public static void SetForumsSubForumCountAndDispalyorder() { DataTable dt = Forums.GetForumListForDataTable(); foreach (DataRow dr in dt.Rows) { Discuz.Data.Forums.UpdateSubForumCount(int.Parse(dt.Select("parentid=" + dr["fid"].ToString()).Length.ToString()), int.Parse(dr["fid"].ToString())); } if (dt.Rows.Count == 1) { return; } //因为不能拖动论坛分类,所以注释以下代码。sun 2009-1-7 /*int displayorder = 1; * string fidlist; * foreach (DataRow dr in dt.Select("parentid=0")) * { * if (dr["parentid"].ToString() == "0") * { * ChildNode = "0"; * fidlist = ("," + FindChildNode(dr["fid"].ToString())).Replace(",0,", ""); * * foreach (string fidstr in fidlist.Split(',')) * { * DatabaseProvider.GetInstance().UpdateDisplayorderInForumByFid(displayorder, int.Parse(fidstr)); * displayorder++; * } * * } * }*/ }
public static void DeleteForumTopicTypes(string typeidlist) { string[] array = typeidlist.Split(','); SortedList <int, string> sortedList = new SortedList <int, string>(); sortedList = Caches.GetTopicTypeArray(); DataTable forumListForDataTable = Forums.GetForumListForDataTable(); foreach (DataRow dataRow in forumListForDataTable.Rows) { if (!(dataRow["topictypes"].ToString() == "")) { string text = dataRow["topictypes"].ToString(); string[] array2 = array; for (int i = 0; i < array2.Length; i++) { string text2 = array2[i]; text = text.Replace(text2 + "," + sortedList[int.Parse(text2)].ToString() + ",0|", ""); text = text.Replace(text2 + "," + sortedList[int.Parse(text2)].ToString() + ",1|", ""); Discuz.Data.Topics.ClearTopicType(int.Parse(text2)); } ForumInfo forumInfo = Forums.GetForumInfo(int.Parse(dataRow["fid"].ToString())); forumInfo.Topictypes = text; AdminForums.UpdateForumInfo(forumInfo); } } }
/// <summary> /// 按指定的文件扩展名称设置版块列表中论坛路径(pathlist)字段 /// </summary> /// <param name="extname">扩展名称,如:aspx , html 等</param> public static void SetForumsPathList(bool isaspxrewrite, string extname) { DataTable dt = Forums.GetForumListForDataTable(); string forumPath = BaseConfigs.GetForumPath; foreach (DataRow dr in dt.Rows) { string pathList = ""; if (dr["parentidlist"].ToString().Trim() == "0") { pathList = "<a href=\"" + (dr["rewritename"].ToString().Trim() == string.Empty ? string.Empty : forumPath) + Urls.ShowForumAspxRewrite(Utils.StrToInt(dr["fid"], 0), 0, dr["rewritename"].ToString()) + "\">" + dr["name"].ToString().Trim() + "</a>"; } else { foreach (string parentid in dr["parentidlist"].ToString().Trim().Split(',')) { if (parentid.Trim() != "") { DataRow[] drs = dt.Select("[fid]=" + parentid); if (drs.Length > 0) { pathList += "<a href=\"" + (drs[0]["rewritename"].ToString().Trim() == string.Empty ? string.Empty : forumPath) + Urls.ShowForumAspxRewrite(Utils.StrToInt(drs[0]["fid"], 0), 0, drs[0]["rewritename"].ToString()) + "\">" + drs[0]["name"].ToString().Trim() + "</a>"; } } } string url = Urls.ShowForumAspxRewrite(Utils.StrToInt(dr["fid"], 0), 0, dr["rewritename"].ToString()); pathList += "<a href=\"" + (dr["rewritename"].ToString().Trim() == "" ? "" : forumPath) + Urls.ShowForumAspxRewrite(Utils.StrToInt(dr["fid"], 0), 0, dr["rewritename"].ToString()) + "\">" + dr["name"].ToString().Trim() + "</a>"; } foreach (ForumInfo forumInfo in Discuz.Data.Forums.GetForumList()) { if (forumInfo.Fid == int.Parse(dr["fid"].ToString())) { forumInfo.Pathlist = pathList; Data.Forums.UpdateForumInfo(forumInfo); } } } }
/// <summary> /// 删除所选的主题分类 /// </summary> /// <param name="typeidlist"></param> public static void DeleteForumTopicTypes(string typeidlist) { //取得ID的数组 string[] ids = typeidlist.Split(','); //取得主题分类的缓存 Discuz.Common.Generic.SortedList <int, string> topictypearray = new Discuz.Common.Generic.SortedList <int, string>(); topictypearray = Caches.GetTopicTypeArray(); //取得版块的fid,topictypes字段 DataTable dt = Forums.GetForumListForDataTable(); //处理每一个版块 foreach (DataRow dr in dt.Rows) { //如果版块的主题分类字段为空(topictypes==""),则处理下一个 if (dr["topictypes"].ToString() == "") { continue; } string topictypes = dr["topictypes"].ToString(); //处理每一个要删除的ID foreach (string id in ids) { //将删除的ID拼成相应的格式串后,将原来的剔除掉,形成一个新的主题分类的字段 topictypes = topictypes.Replace(id + "," + topictypearray[Int32.Parse(id)].ToString() + ",0|", ""); topictypes = topictypes.Replace(id + "," + topictypearray[Int32.Parse(id)].ToString() + ",1|", ""); //将帖子列表(dnt_topics)中typeid为当前要删除的Id更新为0 Data.Topics.ClearTopicType(int.Parse(id)); } //用剔除了要删除的主题ID的主题列表值更新数据库 ForumInfo forumInfo = Forums.GetForumInfo(int.Parse(dr["fid"].ToString())); forumInfo.Topictypes = topictypes; AdminForums.UpdateForumInfo(forumInfo); } }