Пример #1
0
        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);
        }
Пример #2
0
        /// <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++;
                    }
                }
            }
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        /// <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++;
             *      }
             *
             *  }
             * }*/
        }
Пример #5
0
        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);
                }
            }
        }
Пример #6
0
        /// <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);
                    }
                }
            }
        }
Пример #7
0
        /// <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);
            }
        }