Beispiel #1
0
    /// <summary>
    /// 复制回帖
    /// </summary>
    private void fzrPage(int uid)
    {
        int forumid = int.Parse(Utils.GetRequest("forumid", "all", 2, @"^[0-9]\d*$", "论坛ID错误"));
        int bid     = int.Parse(Utils.GetRequest("bid", "all", 2, @"^[0-9]\d*$", "帖子ID错误"));

        if (!new BCW.BLL.Forum().Exists2(forumid))
        {
            Utils.Success("访问论坛", "该论坛不存在或已暂停使用", Utils.getUrl("forum.aspx"), "1");
        }
        if (!new BCW.BLL.Text().Exists2(bid, forumid))
        {
            Utils.Error("帖子不存在或已被删除", "");
        }
        int reid = int.Parse(Utils.GetRequest("reid", "get", 2, @"^[0-9]\d*$", "回帖ID错误"));

        if (!new BCW.BLL.Reply().Exists(bid, reid))
        {
            Utils.Error("不存在的记录", "");
        }

        string Content = new BCW.BLL.Reply().GetContent(bid, reid);

        new BCW.BLL.User().UpdateCopytemp(uid, Content);
        Utils.Success("复制回帖内容", "恭喜,复制回帖内容成功,正在返回..", Utils.getUrl("reply.aspx?act=view&amp;forumid=" + forumid + "&amp;bid=" + bid + "&amp;reid=" + reid + "&amp;backurl=" + Utils.getPage(0) + ""), "1");
    }
Beispiel #2
0
    private void ReplyPage(string act, int forumid, int uid)
    {
        Master.Title = "查看模式";
        builder.Append(Out.Tab("<div class=\"title\">", ""));
        builder.Append("<a href=\"" + Utils.getUrl("sktype.aspx?act=text&amp;forumid=" + forumid + "&amp;backurl=" + Utils.getPage(0) + "") + "\">本版发贴</a>|本版回帖");
        builder.Append(Out.Tab("</div>", "<br />"));

        int    pageIndex;
        int    recordCount;
        int    pageSize = Convert.ToInt32(ub.Get("SiteListNo"));
        string strWhere = string.Empty;
        string strOrder = string.Empty;

        string[] pageValUrl = { "act", "forumid", "backurl" };
        pageIndex = Utils.ParseInt(Request.QueryString["page"]);
        if (pageIndex == 0)
        {
            pageIndex = 1;
        }

        //查询条件
        strWhere = "UsID=" + uid + " and forumid=" + forumid + "";

        strWhere += " and IsDel=0";

        strOrder = "ID Desc";

        // 开始读取列表
        IList <BCW.Model.Reply> listReply = new BCW.BLL.Reply().GetReplysMe(pageIndex, pageSize, strWhere, strOrder, out recordCount);

        if (listReply.Count > 0)
        {
            int k = 1;
            foreach (BCW.Model.Reply n in listReply)
            {
                if (k % 2 == 0)
                {
                    builder.Append(Out.Tab("<div class=\"text\">", "<br />"));
                }
                else
                {
                    if (k == 1)
                    {
                        builder.Append(Out.Tab("<div>", ""));
                    }
                    else
                    {
                        builder.Append(Out.Tab("<div>", "<br />"));
                    }
                }

                builder.AppendFormat("<a href=\"" + Utils.getUrl("reply.aspx?act=view&amp;forumid=" + forumid + "&amp;bid=" + n.Bid + "&amp;reid=" + n.Floor + "&amp;backurl=" + Utils.PostPage(1) + "") + "\">{1}.{2}</a>{3}", n.ID, (pageIndex - 1) * pageSize + k, n.Content, DT.FormatDate(n.AddTime, 2));

                k++;
                builder.Append(Out.Tab("</div>", ""));
            }

            // 分页
            builder.Append(BasePage.ForumMultiPage(pageIndex, pageSize, recordCount, Utils.getPageUrl(), pageValUrl, "page", 0));
        }
        else
        {
            builder.Append(Out.Div("div", "没有相关记录.."));
        }
        builder.Append(Out.Tab("<div class=\"title\">", Out.Hr()));
        builder.Append("<a href=\"" + Utils.getUrl("/default.aspx") + "\">首页</a>-");
        builder.Append("<a href=\"" + Utils.getUrl("forum.aspx?forumid=" + forumid + "") + "\">" + new BCW.BLL.Forum().GetTitle(forumid) + "</a>");
        builder.Append(Out.Tab("</div>", ""));
    }
Beispiel #3
0
    /// <summary>
    /// 上传文件页面
    /// </summary>
    private void UploadPage(int forumid, int bid)
    {
        string ac   = Utils.ToSChinese(Utils.GetRequest("ac", "post", 1, "", ""));
        int    meid = new BCW.User.Users().GetUsId();

        if (meid == 0)
        {
            Utils.Login();
        }

        if (ac != "发表文本")
        {
            BCW.User.Users.ShowVerifyRole("f", meid);                                         //非验证会员提示
            new BCW.User.Limits().CheckUserLimit(BCW.User.Limits.enumRole.Role_Upfile, meid); //会员上传权限
        }
        //论坛限制性
        BCW.Model.Forum Forummodel = new BCW.BLL.Forum().GetForum(forumid);
        //圈子限制性
        BCW.Model.Group modelgr = null;
        if (Forummodel.GroupId > 0)
        {
            modelgr = new BCW.BLL.Group().GetGroupMe(Forummodel.GroupId);
            if (modelgr == null)
            {
                Utils.Error("不存在的" + ub.GetSub("GroupName", "/Controls/group.xml") + "", "");
            }
            else if (DT.FormatDate(modelgr.ExTime, 0) != "1990-01-01 00:00:00" && modelgr.ExTime < DateTime.Now)
            {
                Utils.Error("" + ub.GetSub("GroupName", "/Controls/group.xml") + "已过期", "");
            }
            if (modelgr.ForumStatus == 2)
            {
                Utils.Error("" + ub.GetSub("GroupName", "/Controls/group.xml") + "论坛已关闭", "");
            }
            if (modelgr.ForumStatus == 1)
            {
                if (meid == 0)
                {
                    Utils.Login();
                }

                string GroupId = new BCW.BLL.User().GetGroupId(meid);
                if (GroupId.IndexOf("#" + Forummodel.GroupId + "#") == -1 && IsCTID(meid) == false)
                {
                    Utils.Error("非成员不能访问" + ub.GetSub("GroupName", "/Controls/group.xml") + "论坛!<br /><a href=\"" + Utils.getUrl("/bbs/group.aspx?act=addin&amp;id=" + Forummodel.GroupId + "&amp;backurl=" + Utils.PostPage(1) + "") + "\">加入本" + ub.GetSub("GroupName", "/Controls/group.xml") + "</a>", "");
                }
            }
        }
        BCW.User.Users.ShowForumLimit(meid, Forummodel.Gradelt, Forummodel.Visitlt, Forummodel.VisitId, Forummodel.IsPc);
        if (ac == "续传" || bid == 0)//发帖
        {
            //是否刷屏
            string appName = "LIGHT_THREAD";
            int    Expir   = Convert.ToInt32(ub.GetSub("BbsThreadExpir", xmlPath2));
            BCW.User.Users.IsFresh(appName, Expir);

            BCW.User.Users.ShowVerifyRole("a", meid);                                                   //非验证会员提示
            new BCW.User.Limits().CheckUserLimit(BCW.User.Limits.enumRole.Role_Text, meid);             //会员本身权限
            new BCW.User.FLimits().CheckUserFLimit(BCW.User.FLimits.enumRole.Role_Text, meid, forumid); //版块内权限
            BCW.User.Users.ShowAddThread(meid, Forummodel.Postlt);
        }
        else//回帖
        {
            //是否刷屏
            string appName = "LIGHT_REPLY";
            int    Expir   = Convert.ToInt32(ub.GetSub("BbsReplyExpir", xmlPath2));
            BCW.User.Users.IsFresh(appName, Expir);

            BCW.User.Users.ShowVerifyRole("b", meid);                                                    //非验证会员提示
            new BCW.User.Limits().CheckUserLimit(BCW.User.Limits.enumRole.Role_Reply, meid);             //会员本身权限
            new BCW.User.FLimits().CheckUserFLimit(BCW.User.FLimits.enumRole.Role_Reply, meid, forumid); //版块内权限
            BCW.User.Users.ShowAddReply(meid, Forummodel.Replylt);
        }
        int kk    = 0;
        int reid  = 0;
        int ptype = 5;//标识为附件帖子

        if (ac == "续传")
        {
            //上传文件
            SaveFiles(meid, forumid, bid, reid, out kk);
            string strOut = string.Empty;
            if (kk < 0)
            {
                if (kk == -999)
                {
                    kk = 0;
                }

                strOut = "部分文件超出今天上传数量导致上传失败,";
                kk     = Math.Abs(kk);
            }
            //更新帖子文件数
            new BCW.BLL.Text().UpdateFileNum(bid, kk);
            new BCW.BLL.Text().UpdateTypes(bid, ptype);
            //记录日志
            string strLog = "[url=/bbs/uinfo.aspx?uid=" + meid + "]" + new BCW.BLL.User().GetUsName(meid) + "[/url]对主题[url=/bbs/topic.aspx?forumid=" + forumid + "&amp;bid=" + bid + "]《" + new BCW.BLL.Text().GetTitle(bid) + "》[/url]追加" + kk + "个文件!";
            new BCW.BLL.Forumlog().Add(7, forumid, bid, strLog);
            Utils.Success("追加文件", "追加" + kk + "个文件成功," + strOut + "正在返回..", ReplaceWap(Utils.getUrl("topic.aspx?forumid=" + forumid + "&amp;bid=" + bid + "")), "2");
        }
        else
        {
            string mename  = new BCW.BLL.User().GetUsName(meid);
            string Title   = string.Empty;
            string Content = string.Empty;
            if (bid == 0)
            {
                Title   = Utils.GetRequest("Title", "post", 2, @"^[\s\S]{" + ub.GetSub("BbsThreadMin", xmlPath2) + "," + ub.GetSub("BbsThreadMax", xmlPath2) + "}$", "标题限" + ub.GetSub("BbsThreadMin", xmlPath2) + "-" + ub.GetSub("BbsThreadMax", xmlPath2) + "字");
                Title   = Title.Replace(char.ConvertFromUtf32(10), "").Replace(char.ConvertFromUtf32(13), "");
                Content = Utils.GetRequest("Content", "post", 2, @"^[\s\S]{" + ub.GetSub("BbsContentMin", xmlPath2) + "," + ub.GetSub("BbsContentMax", xmlPath2) + "}$", "请输入" + ub.GetSub("BbsContentMin", xmlPath2) + "-" + ub.GetSub("BbsContentMax", xmlPath2) + "字的内容");
            }
            else
            {
                Content = Utils.GetRequest("Content", "post", 2, @"^[\s\S]{1," + ub.GetSub("BbsReplyMax", xmlPath2) + "}$", "请输入不超" + ub.GetSub("BbsReplyMax", xmlPath2) + "字的回帖内容");
            }

            if (bid == 0)
            {
                int ThreadNum = Utils.ParseInt(ub.GetSub("BbsThreadNum", xmlPath));
                if (ThreadNum > 0)
                {
                    int ToDayCount = new BCW.BLL.Forumstat().GetCount(meid, 1);//今天发布帖子数
                    if (ToDayCount >= ThreadNum)
                    {
                        Utils.Error("系统限每天每ID限发帖子" + ThreadNum + "帖", "");
                    }
                }

                int    Price    = 0;
                int    Prices   = 0;
                int    HideType = 0;
                int    IsSeen   = 0;
                string PayCi    = string.Empty;

                BCW.Model.Text addmodel = new BCW.Model.Text();
                addmodel.ForumId     = forumid;
                addmodel.Types       = ptype;
                addmodel.Title       = Title;
                addmodel.Content     = Content;
                addmodel.HideContent = "";
                addmodel.UsID        = meid;
                addmodel.UsName      = mename;
                addmodel.Price       = Price;
                addmodel.Prices      = Prices;
                addmodel.HideType    = HideType;
                addmodel.PayCi       = PayCi;
                addmodel.IsSeen      = IsSeen;
                addmodel.AddTime     = DateTime.Now;
                addmodel.ReTime      = DateTime.Now;
                bid = new BCW.BLL.Text().Add(addmodel);
                //上传文件
                SaveFiles(meid, forumid, bid, reid, out kk);
                string strOut = string.Empty;
                if (kk < 0)
                {
                    if (kk == -999)
                    {
                        kk = 0;
                    }

                    strOut = "部分文件超出今天上传数量导致上传失败,";
                    kk     = Math.Abs(kk);
                }
                //更新帖子文件数
                new BCW.BLL.Text().UpdateFileNum(bid, kk);
                //论坛统计
                BCW.User.Users.UpdateForumStat(1, meid, mename, forumid);

                int GroupId = new BCW.BLL.Forum().GetGroupId(forumid);

                //动态记录
                if (GroupId == 0)
                {
                    new BCW.BLL.Action().Add(-1, 0, meid, mename, "在" + Forummodel.Title + "发表了文件帖子[URL=/bbs/topic.aspx?forumid=" + forumid + "&amp;bid=" + bid + "]" + Title + "[/URL]");
                }
                else
                {
                    new BCW.BLL.Action().Add(-2, 0, meid, mename, "在圈坛-" + Forummodel.Title + "发表了文件帖子[URL=/bbs/topic.aspx?forumid=" + forumid + "&amp;bid=" + bid + "]" + Title + "[/URL]");
                }
                //积分操作/论坛统计/圈子论坛不进行任何奖励

                if (GroupId == 0)
                {
                    new BCW.User.Cent().UpdateCent2(BCW.User.Cent.enumRole.Cent_Text, meid, true);
                }
                else
                {
                    if (!Utils.GetDomain().Contains("th"))
                    {
                        new BCW.User.Cent().UpdateCent2(BCW.User.Cent.enumRole.Cent_Text, meid, false);
                    }
                }
                if (kk == 0)
                {
                    new BCW.BLL.Text().UpdateTypes(bid, 0);//去掉附件帖标识
                }
                #region  这里开始修改提醒ID 发内线
                string remind = ub.GetSub("remindid" + forumid, "/Controls/bbs.xml"); //获取XML的值
                if (remind != "")                                                     //如果有提醒ID
                {
                    string[] IDS = remind.Split('#');
                    for (int i = 0; i < IDS.Length; i++)
                    {
                        if (GroupId != 0)
                        {
                            new BCW.BLL.Guest().Add(0, int.Parse(IDS[i]), new BCW.BLL.User().GetUsName(int.Parse(IDS[i])), "请注意!用户[url=/bbs/uinfo.aspx?uid=" + meid + "]" + mename + "(" + meid + ")[/url]在圈坛-" + Forummodel.Title + "发表了[URL=/bbs/topic.aspx?forumid=" + forumid + "&amp;bid=" + bid + "]" + Title + "[/URL]的帖子");
                        }
                        else
                        {
                            new BCW.BLL.Guest().Add(0, int.Parse(IDS[i]), new BCW.BLL.User().GetUsName(int.Parse(IDS[i])), "请注意!用户[url=/bbs/uinfo.aspx?uid=" + meid + "]" + mename + "(" + meid + ")[/url]在" + Forummodel.Title + "发表了[URL=/bbs/topic.aspx?forumid=" + forumid + "&amp;bid=" + bid + "]" + Title + "[/URL]的帖子");
                        }
                    }
                }
                #endregion
                Utils.Success("上传文件", "上传" + kk + "个文件成功," + strOut + "正在返回..", ReplaceWap(Utils.getPage("forum.aspx?forumid=" + forumid + "")), "2");
            }
            else
            {
                int ReplyNum = Utils.ParseInt(ub.GetSub("BbsReplyNum", xmlPath));
                if (ReplyNum > 0)
                {
                    int ToDayCount = new BCW.BLL.Forumstat().GetCount(meid, 2);//今天发布回帖数
                    if (ToDayCount >= ReplyNum)
                    {
                        Utils.Error("系统限每天每ID限回帖" + ReplyNum + "次", "");
                    }
                }

                int Floor = new BCW.BLL.Reply().GetFloor(bid);

                //派币帖
                string CentText = string.Empty;
                string PbCent   = string.Empty;
                int    iTypes   = new BCW.BLL.Text().GetTypes(bid);
                if (iTypes == 3)
                {
                    BCW.Model.Text p = new BCW.BLL.Text().GetPriceModel(bid);
                    if (p.Prices - p.Pricel > 0)
                    {
                        string bzText = string.Empty;
                        if (p.BzType == 0)
                        {
                            bzText = ub.Get("SiteBz");
                        }
                        else
                        {
                            bzText = ub.Get("SiteBz2");
                        }

                        long zPrice = 0;
                        if (p.Price2 > 0)
                        {
                            zPrice = Convert.ToInt64(new Random().Next(p.Price, (p.Price2 + 1)));//随机得到奖币值
                        }
                        else
                        {
                            zPrice = Convert.ToInt64(p.Price);
                        }

                        long GetPrice = 0;
                        if (p.Prices - p.Pricel < zPrice)
                        {
                            GetPrice = p.Prices - p.Pricel;
                        }
                        else
                        {
                            GetPrice = zPrice;
                        }

                        if (p.PayCi == "0")
                        {
                            if (("#" + p.ReplyID + "#").IndexOf("#" + meid + "#") == -1)
                            {
                                if (p.BzType == 0)
                                {
                                    new BCW.BLL.User().UpdateiGold(meid, mename, GetPrice, "派币帖回帖获得");
                                }
                                else
                                {
                                    new BCW.BLL.User().UpdateiMoney(meid, mename, GetPrice, "派币帖回帖获得");
                                }

                                //更新已派
                                new BCW.BLL.Text().UpdatePricel(bid, GetPrice);
                                CentText = "" + GetPrice + "" + bzText + "";
                                PbCent   = "楼主派" + GetPrice + "" + bzText + "";
                            }
                        }
                        else
                        {
                            if (("#" + p.PayCi + "#").IndexOf("#" + Utils.Right(Floor.ToString(), 1) + "#") != -1)
                            {
                                if (p.BzType == 0)
                                {
                                    new BCW.BLL.User().UpdateiGold(meid, mename, GetPrice, "派币帖回帖获得");
                                }
                                else
                                {
                                    new BCW.BLL.User().UpdateiMoney(meid, mename, GetPrice, "派币帖回帖获得");
                                }

                                //更新已派
                                new BCW.BLL.Text().UpdatePricel(bid, GetPrice);
                                CentText = "" + GetPrice + "" + bzText + "";
                                PbCent   = "踩中楼层" + Utils.Right(Floor.ToString(), 1) + "尾,楼主派" + GetPrice + "" + bzText + "";
                            }
                        }
                    }
                }

                BCW.Model.Reply model = new BCW.Model.Reply();
                model.Floor    = Floor;
                model.ForumId  = forumid;
                model.Bid      = bid;
                model.UsID     = meid;
                model.UsName   = mename;
                model.Content  = Content;
                model.FileNum  = 0;
                model.ReplyId  = 0;
                model.AddTime  = DateTime.Now;
                model.CentText = CentText;
                reid           = new BCW.BLL.Reply().Add(model);

                //更新回复ID
                string sPayID = new BCW.BLL.Text().GetReplyID(bid);
                if (("#" + sPayID + "#").IndexOf("#" + meid + "#") == -1)
                {
                    string ReplyID = string.Empty;
                    if (string.IsNullOrEmpty(sPayID))
                    {
                        ReplyID = meid.ToString();
                    }
                    else
                    {
                        ReplyID = sPayID + "#" + meid;
                    }
                    new BCW.BLL.Text().UpdateReplyID(bid, ReplyID);
                }
                //更新回复数
                new BCW.BLL.Text().UpdateReplyNum(bid, 1);
                //上传文件
                SaveFiles(meid, forumid, bid, reid, out kk);
                string strOut = string.Empty;
                if (kk < 0)
                {
                    if (kk == -999)
                    {
                        kk = 0;
                    }

                    strOut = "部分文件超出今天上传数量导致上传失败!";
                    kk     = Math.Abs(kk);
                }
                //更新回复文件数
                new BCW.BLL.Reply().UpdateFileNum(reid, kk);
                //论坛统计
                BCW.User.Users.UpdateForumStat(2, meid, mename, forumid);

                int GroupId = new BCW.BLL.Forum().GetGroupId(forumid);

                //动态记录
                if (GroupId == 0)
                {
                    new BCW.BLL.Action().Add(-1, 0, meid, mename, "在" + Forummodel.Title + "回复帖子[URL=/bbs/topic.aspx?forumid=" + forumid + "&amp;bid=" + bid + "]" + new BCW.BLL.Text().GetTitle(bid) + "[/URL]");
                }
                else
                {
                    new BCW.BLL.Action().Add(-2, 0, meid, mename, "在圈坛-" + Forummodel.Title + "回复帖子[URL=/bbs/topic.aspx?forumid=" + forumid + "&amp;bid=" + bid + "]" + new BCW.BLL.Text().GetTitle(bid) + "[/URL]");
                }
                //积分操作/论坛统计/圈子论坛不进行任何奖励
                if (GroupId == 0)
                {
                    new BCW.User.Cent().UpdateCent2(BCW.User.Cent.enumRole.Cent_Reply, meid, true);
                }
                else
                {
                    if (!Utils.GetDomain().Contains("th"))
                    {
                        new BCW.User.Cent().UpdateCent2(BCW.User.Cent.enumRole.Cent_Reply, meid, false);
                    }
                }
                Utils.Success("文件回帖", "回复" + kk + "个文件成功!" + strOut + "" + PbCent + "<br /><a href=\"" + ReplaceWap(Utils.getUrl("topic.aspx?forumid=" + forumid + "&amp;bid=" + bid + "")) + "\">返回主题</a><br /><a href=\"" + ReplaceWap(Utils.getUrl("reply.aspx?forumid=" + forumid + "&amp;bid=" + bid + "")) + "\">回复列表</a>", ReplaceWap(Utils.getUrl("reply.aspx?forumid=" + forumid + "&amp;bid=" + bid + "")), "2");
            }
        }
    }
Beispiel #4
0
    /// <summary>
    /// 陈志基 20160816
    /// 修改保存属性改变触发事件
    /// </summary>
    private void EditSavePage()
    {
        int      id            = int.Parse(Utils.GetRequest("id", "post", 2, @"^[1-9]\d*$", "帖子ID错误"));
        string   Title         = Utils.GetRequest("Title", "post", 2, @"^[^\^]{1,50}$", "标题限1-50字");
        string   Content       = Utils.GetRequest("Content", "post", 2, @"^[^\^]{1,50000}$", "请输入不超50000的内容");
        int      LabelId       = int.Parse(Utils.GetRequest("LabelId", "post", 2, @"^[0-9]\d*$", "类型选择错误"));
        int      UsID          = int.Parse(Utils.GetRequest("UsID", "post", 2, @"^[1-9]\d*$", "用户ID错误"));
        string   UsName        = Utils.GetRequest("UsName", "post", 2, @"^[^\^]{1,50}$", "昵称不超50字");
        int      ReadNum       = int.Parse(Utils.GetRequest("ReadNum", "post", 2, @"^[0-9]\d*$", "阅读数填写错误"));
        int      IsGood        = int.Parse(Utils.GetRequest("IsGood", "post", 2, @"^[0-1]$", "精华选择错误"));
        string   GoodSmallIcon = Utils.GetRequest("GoodSmallIcon", "post", 1, "", "");
        int      IsRecom       = int.Parse(Utils.GetRequest("IsRecom", "post", 2, @"^[0-1]$", "推荐选择错误"));
        int      IsTop         = int.Parse(Utils.GetRequest("IsTop", "post", 2, @"^-1|0|1|2$", "置顶选择错误"));
        int      IsLock        = int.Parse(Utils.GetRequest("IsLock", "post", 2, @"^[0-1]$", "锁定选择错误"));
        int      IsOver        = int.Parse(Utils.GetRequest("IsOver", "post", 2, @"^[0-1]$", "结束选择错误"));
        int      IsDel         = int.Parse(Utils.GetRequest("IsDel", "post", 2, @"^[0-1]$", "删除选择错误"));
        DateTime ReTime        = Utils.ParseTime(Utils.GetRequest("ReTime", "post", 2, DT.RegexTime, "回帖时间填写出错"));
        int      ForumID       = int.Parse(Utils.GetRequest("ForumID", "post", 2, @"^[1-9]\d*$", "推荐选择错误"));

        if (!new BCW.BLL.Text().Exists(id))
        {
            Utils.Error("不存在的帖子记录", "");
        }
        if (!new BCW.BLL.User().Exists(UsID))
        {
            Utils.Error("不存在的用户ID", "");
        }


        BCW.Model.Text model2 = new BCW.BLL.Text().GetText(id);

        if (model2.IsDel != IsDel)//触发事件
        {
            if (IsDel == 1)
            {
                new BCW.BLL.Forumstat().Update2(1, UsID, model2.ForumId, model2.AddTime);//更新统计表发帖
            }
            else
            {
                new BCW.BLL.Forumstat().Update3(1, UsID, model2.ForumId, model2.AddTime);//更新统计表发帖
            }
        }

        BCW.Model.Text model = new BCW.Model.Text();
        model.ID            = id;
        model.Title         = Title;
        model.Content       = Content;
        model.LabelId       = LabelId;
        model.UsID          = UsID;
        model.UsName        = UsName;
        model.ReadNum       = ReadNum;
        model.IsGood        = IsGood;
        model.GoodSmallIcon = GoodSmallIcon;
        model.IsRecom       = IsRecom;
        model.IsTop         = IsTop;
        model.IsLock        = IsLock;
        model.IsOver        = IsOver;
        model.IsDel         = IsDel;
        model.ReTime        = ReTime;
        model.ForumId       = ForumID;
        new BCW.BLL.Text().Update2(model);
        if (!ForumID.Equals(model2.ForumId))//触发事件
        {
            //去掉精华和推荐再转移
            if (model2.IsGood == 1)
            {
                new BCW.BLL.Text().UpdateIsGood(id, 0);
            }
            if (model2.IsRecom == 1)
            {
                new BCW.BLL.Text().UpdateIsRecom(id, 0);
            }
            //重新进行原论坛回复统计
            DataSet ds = new BCW.BLL.Reply().GetList("ID,AddTime,UsID,IsDel,UsName", "forumid=" + model2.ForumId + " and bid=" + id + "");
            {
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        if (int.Parse(ds.Tables[0].Rows[i]["IsDel"].ToString()) == 0)//如果回帖没有删除
                        {
                            //减少对旧论坛回帖用户的回帖统计
                            new BCW.BLL.Forumstat().Update2(2, int.Parse(ds.Tables[0].Rows[i]["UsID"].ToString()), model2.ForumId, DateTime.Parse(ds.Tables[0].Rows[i]["AddTime"].ToString()));
                            //增加对新论坛回帖用户的回帖统计
                            new BCW.BLL.Forumstat().Update3(2, int.Parse(ds.Tables[0].Rows[i]["UsID"].ToString()), ForumID, DateTime.Parse(ds.Tables[0].Rows[i]["AddTime"].ToString()));
                            // BCW.User.Users.UpdateForumStat(2, int.Parse(ds.Tables[0].Rows[i]["UsID"].ToString()), ds.Tables[0].Rows[i]["UsName"].ToString(), ForumID);
                        }
                        //更新回帖中的论坛ID
                        new BCW.BLL.Reply().UpdateForumID(int.Parse(ds.Tables[0].Rows[i]["ID"].ToString()), ForumID);
                        // new BCW.BLL.Forumstat().Update2(2, model.UsID, forumid, DateTime.Parse(ds.Tables[0].Rows[i]["AddTime"].ToString()));
                        // BCW.User.Users.UpdateForumStat(2, model.UsID, model.UsName, newid);
                        // new BCW.BLL.Reply().UpdateForumID(int.Parse(ds.Tables[0].Rows[i]["ID"].ToString()), newid);
                    }
                }
            }
            //转移的原论坛帖子统计
            new BCW.BLL.Forumstat().Update2(1, model2.UsID, model2.ForumId, model2.AddTime);
            //转移的新论坛帖子统计
            // BCW.User.Users.UpdateForumStat(1, model2.UsID, model2.UsName, ForumID);
            new BCW.BLL.Forumstat().Update3(1, model.UsID, ForumID, model.AddTime);
        }
        Utils.Success("编辑帖子", "编辑帖子成功..", Utils.getUrl("thread.aspx?act=edit&amp;id=" + id + "&amp;backurl=" + Utils.getPage(0) + ""), "1");
    }
Beispiel #5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        int uid  = int.Parse(Utils.GetRequest("uid", "all", 1, @"^[0-9]\d*$", "0"));
        int meid = new BCW.User.Users().GetUsId();

        if (meid == 0)
        {
            Utils.Login();
        }

        if (uid == 0)
        {
            uid = meid;
        }
        int ptype     = int.Parse(Utils.GetRequest("ptype", "all", 1, @"^[1-3]\d*$", "1"));
        int showtype  = int.Parse(Utils.GetRequest("showtype", "all", 1, @"^[0-9]\d*$", "0"));
        int ordertype = int.Parse(Utils.GetRequest("ordertype", "all", 1, @"^[0-9]\d*$", "1"));

        if (ptype == 1)
        {
            builder.Append(Out.Tab("<div class=\"title\">", ""));
            builder.Append("<a href=\"" + Utils.getUrl("uinfo.aspx?uid=" + uid + "") + "\">Ta的空间</a>&gt;帖子");
            builder.Append(Out.Tab("</div>", "<br />"));
            Master.Title = "查看主题帖子";

            //string strText = "排序:,,,,";
            //string strName = "ordertype,ptype,uid,showtype,backurl";
            //string strType = "select,hidden,hidden,hidden,hidden";
            //string strValu = "" + ordertype + "'" + ptype + "'" + uid + "'" + showtype + "'" + Utils.getPage(0) + "";
            //string strEmpt = "1|按发帖时间|2|按最后跟贴|3|按帖子浏览量|4|按帖子跟贴量,,,,";
            //string strIdea = "";
            //string strOthe = "确定,moreThread.aspx,post,3,red";
            //builder.Append(Out.wapform(strText, strName, strType, strValu, strEmpt, strIdea, strOthe));

            int      pageIndex;
            int      recordCount;
            int      pageSize   = Convert.ToInt32(ub.Get("SiteListNo"));
            string   strWhere   = string.Empty;
            string   strOrder   = string.Empty;
            string[] pageValUrl = { "uid", "ptype", "showtype", "ordertype", "backurl" };
            pageIndex = Utils.ParseInt(Request.QueryString["page"]);
            if (pageIndex == 0)
            {
                pageIndex = 1;
            }

            //查询条件
            strWhere = "UsID=" + uid + "";
            if (showtype == 1)
            {
                strWhere += " and IsGood=1";
            }
            else if (showtype == 2)
            {
                strWhere += " and IsRecom=1";
            }

            strWhere += " and IsDel=0";

            //if (ordertype == 1)
            strOrder = "AddTime Desc";
            //else if (ordertype == 2)
            //    strOrder = "ReTime Desc";
            //else if (ordertype == 3)
            //    strOrder = "ReadNum Desc";
            //else if (ordertype == 4)
            //    strOrder = "ReplyNum Desc";

            // 开始读取列表
            IList <BCW.Model.Text> listText = new BCW.BLL.Text().GetTextsMe(pageIndex, pageSize, strWhere, strOrder, out recordCount);
            if (listText.Count > 0)
            {
                int k = 1;
                foreach (BCW.Model.Text n in listText)
                {
                    if (k % 2 == 0)
                    {
                        builder.Append(Out.Tab("<div class=\"text\">", "<br />"));
                    }
                    else
                    {
                        if (k == 1)
                        {
                            builder.Append(Out.Tab("<div>", ""));
                        }
                        else
                        {
                            builder.Append(Out.Tab("<div>", "<br />"));
                        }
                    }
                    builder.AppendFormat("<a href=\"" + Utils.getUrl("topic.aspx?forumid=" + n.ForumId + "&amp;bid={0}&amp;backurl=" + Utils.PostPage(1) + "") + "\">{1}.{2}</a>{3}", n.ID, (pageIndex - 1) * pageSize + k, n.Title, DT.FormatDate(n.AddTime, 2));

                    k++;
                    builder.Append(Out.Tab("</div>", ""));
                }

                // 分页
                builder.Append(BasePage.ForumMultiPage(pageIndex, pageSize, recordCount, Utils.getPageUrl(), pageValUrl, "page", 0));
            }
            else
            {
                builder.Append(Out.Div("div", "没有相关记录.."));
            }
            builder.Append(Out.Tab("<div class=\"text\">", "<br />"));
            if (showtype != 0)
            {
                builder.Append("<a href=\"" + Utils.getUrl("moreThread.aspx?ptype=" + ptype + "&amp;uid=" + uid + "&amp;backurl=" + Utils.getPage(0) + "") + "\">全部帖</a> ");
            }
            if (showtype != 1)
            {
                builder.Append("<a href=\"" + Utils.getUrl("moreThread.aspx?ptype=" + ptype + "&amp;uid=" + uid + "&amp;showtype=1&amp;backurl=" + Utils.getPage(0) + "") + "\">精华帖</a> ");
            }
            if (showtype != 2)
            {
                builder.Append("<a href=\"" + Utils.getUrl("moreThread.aspx?ptype=" + ptype + "&amp;uid=" + uid + "&amp;showtype=2&amp;backurl=" + Utils.getPage(0) + "") + "\">推荐帖</a>");
            }
            builder.Append(Out.Tab("</div>", ""));

            builder.Append(Out.Tab("<div class=\"title\">", Out.Hr()));
            builder.Append("<a href=\"" + Utils.getUrl("/default.aspx") + "\">首页</a>-");
            builder.Append("<a href=\"" + Utils.getPage("uinfo.aspx?uid=" + uid + "") + "\">上级</a>-");
            builder.Append("<a href=\"" + Utils.getUrl("moreThread.aspx?ptype=2&amp;uid=" + uid + "&amp;backurl=" + Utils.getPage(0) + "") + "\">回帖</a>");
            builder.Append(Out.Tab("</div>", ""));
        }
        else if (ptype == 2)
        {
            Master.Title = "查看回帖";
            int      pageIndex;
            int      recordCount;
            int      pageSize   = Convert.ToInt32(ub.Get("SiteListNo"));
            string   strWhere   = string.Empty;
            string   strOrder   = string.Empty;
            string[] pageValUrl = { "uid", "ptype", "forumid", "backurl" };
            pageIndex = Utils.ParseInt(Request.QueryString["page"]);
            if (pageIndex == 0)
            {
                pageIndex = 1;
            }

            builder.Append(Out.Tab("<div class=\"title\">", ""));
            builder.Append("<a href=\"" + Utils.getUrl("uinfo.aspx?uid=" + uid + "") + "\">Ta的空间</a>&gt;回帖");
            builder.Append(Out.Tab("</div>", "<br />"));

            //查询条件
            strWhere = "UsID=" + uid + "";
            if (meid != uid)
            {
                strWhere += " and ForumId<>88 and  ForumId<>100 and  ForumId<>14 and  ForumId<>99 and ForumId<>77";
            }


            strWhere += " and IsDel=0";

            strOrder = "ID Desc";

            // 开始读取列表
            IList <BCW.Model.Reply> listReply = new BCW.BLL.Reply().GetReplysMe(pageIndex, pageSize, strWhere, strOrder, out recordCount);
            if (listReply.Count > 0)
            {
                int k = 1;
                foreach (BCW.Model.Reply n in listReply)
                {
                    if (k % 2 == 0)
                    {
                        builder.Append(Out.Tab("<div class=\"text\">", "<br />"));
                    }
                    else
                    {
                        if (k == 1)
                        {
                            builder.Append(Out.Tab("<div>", ""));
                        }
                        else
                        {
                            builder.Append(Out.Tab("<div>", "<br />"));
                        }
                    }

                    builder.AppendFormat("<a href=\"" + Utils.getUrl("reply.aspx?act=view&amp;forumid=" + n.ForumId + "&amp;bid=" + n.Bid + "&amp;reid=" + n.Floor + "&amp;backurl=" + Utils.PostPage(1) + "") + "\">{1}.{2}</a>{3}", n.ID, (pageIndex - 1) * pageSize + k, Out.USB(TrueStrLength.cutTrueLength(n.Content, 20, "…")), DT.FormatDate(n.AddTime, 2));

                    k++;
                    builder.Append(Out.Tab("</div>", ""));
                }

                // 分页
                builder.Append(BasePage.ForumMultiPage(pageIndex, pageSize, recordCount, Utils.getPageUrl(), pageValUrl, "page", 0));
            }
            else
            {
                builder.Append(Out.Div("div", "没有相关记录.."));
            }
            builder.Append(Out.Tab("<div class=\"text\">", "<br />"));
            builder.Append("<a href=\"" + Utils.getUrl("moreThread.aspx?ptype=3&amp;uid=" + uid + "&amp;backurl=" + Utils.getPage(0) + "") + "\">按论坛查看回帖&gt;&gt;</a>");
            builder.Append(Out.Tab("</div>", ""));
            builder.Append(Out.Tab("<div class=\"title\">", Out.Hr()));
            builder.Append("<a href=\"" + Utils.getUrl("/default.aspx") + "\">首页</a>-");
            builder.Append("<a href=\"" + Utils.getPage("uinfo.aspx?uid=" + uid + "") + "\">上级</a>-");
            builder.Append("<a href=\"" + Utils.getUrl("moreThread.aspx?ptype=2&amp;uid=" + uid + "&amp;backurl=" + Utils.getPage(0) + "") + "\">回帖</a>");
            builder.Append(Out.Tab("</div>", ""));
        }
        else if (ptype == 3)
        {
            Master.Title = "查看回帖";
            int      pageIndex;
            int      recordCount;
            int      pageSize   = 4;
            string   strWhere   = "IsActive=0";
            string   strOrder   = string.Empty;
            string[] pageValUrl = { "uid", "ptype", "forumid", "backurl" };
            pageIndex = Utils.ParseInt(Request.QueryString["page"]);
            if (pageIndex == 0)
            {
                pageIndex = 1;
            }
            int forumid = int.Parse(Utils.GetRequest("forumid", "get", 1, @"^[0-9]\d*$", "0"));
            if (forumid == 0)
            {
                builder.Append(Out.Tab("<div class=\"title\">", ""));
                builder.Append("<a href=\"" + Utils.getUrl("uinfo.aspx?uid=" + uid + "") + "\">Ta的空间</a>&gt;回帖");
                builder.Append(Out.Tab("</div>", "<br />"));

                // 开始读取论坛
                IList <BCW.Model.Forum> listForum = new BCW.BLL.Forum().GetForums(pageIndex, pageSize, strWhere, out recordCount);
                if (listForum.Count > 0)
                {
                    int k = 1;
                    foreach (BCW.Model.Forum n in listForum)
                    {
                        if (k % 2 == 0)
                        {
                            builder.Append(Out.Tab("<div class=\"text\">", "<br />"));
                        }
                        else
                        {
                            if (k == 1)
                            {
                                builder.Append(Out.Tab("<div>", ""));
                            }
                            else
                            {
                                builder.Append(Out.Tab("<div>", "<br />"));
                            }
                        }
                        builder.AppendFormat("<a href=\"" + Utils.getUrl("moreThread.aspx?ptype=" + ptype + "&amp;uid=" + uid + "&amp;forumid={0}&amp;backurl=" + Utils.getPage(0) + "") + "\">[{1}]</a>", n.ID, n.Title);
                        builder.Append("<br />参与" + new BCW.BLL.Reply().GetCount(uid, n.ID) + "回帖");
                        k++;
                        builder.Append(Out.Tab("</div>", ""));
                    }

                    // 分页
                    builder.Append(BasePage.MultiPage(pageIndex, pageSize, recordCount, Utils.getPageUrl(), pageValUrl, "page", 0));
                }
                else
                {
                    builder.Append(Out.Div("text", "没有相关记录"));
                }
                builder.Append(Out.Tab("<div class=\"title\">", Out.Hr()));
                builder.Append("<a href=\"" + Utils.getUrl("/default.aspx") + "\">首页</a>-");
                builder.Append("<a href=\"" + Utils.getPage("uinfo.aspx?uid=" + uid + "") + "\">上级</a>-");
                builder.Append("<a href=\"" + Utils.getUrl("moreThread.aspx?ptype=1&amp;uid=" + uid + "&amp;backurl=" + Utils.getPage(0) + "") + "\">帖子</a>");
                builder.Append(Out.Tab("</div>", ""));
            }
            else
            {
                pageSize = Convert.ToInt32(ub.Get("SiteListNo"));
                string BbsName = new BCW.BLL.Forum().GetTitle(forumid);
                if (BbsName == "")
                {
                    Utils.Error("不存在的论坛", "");
                }
                builder.Append(Out.Tab("<div class=\"title\">", ""));
                builder.Append("<a href=\"" + Utils.getUrl("uinfo.aspx?uid=" + uid + "") + "\">Ta的空间</a>&gt;" + BbsName + "回帖");
                builder.Append(Out.Tab("</div>", "<br />"));

                //查询条件
                strWhere = "UsID=" + uid + " and forumid=" + forumid + "";
                if (meid != uid)
                {
                    strWhere += " and ForumId<>88 and  ForumId<>100 and  ForumId<>14 and  ForumId<>99 and ForumId<>77";
                }

                if (showtype == 1)
                {
                    strWhere += " and IsGood=1";
                }

                strWhere += " and IsDel=0";

                strOrder = "ID Desc";

                // 开始读取列表
                IList <BCW.Model.Reply> listReply = new BCW.BLL.Reply().GetReplysMe(pageIndex, pageSize, strWhere, strOrder, out recordCount);
                if (listReply.Count > 0)
                {
                    int k = 1;
                    foreach (BCW.Model.Reply n in listReply)
                    {
                        if (k % 2 == 0)
                        {
                            builder.Append(Out.Tab("<div class=\"text\">", "<br />"));
                        }
                        else
                        {
                            if (k == 1)
                            {
                                builder.Append(Out.Tab("<div>", ""));
                            }
                            else
                            {
                                builder.Append(Out.Tab("<div>", "<br />"));
                            }
                        }

                        builder.AppendFormat("<a href=\"" + Utils.getUrl("reply.aspx?act=view&amp;forumid=" + forumid + "&amp;bid=" + n.Bid + "&amp;reid=" + n.Floor + "&amp;backurl=" + Utils.PostPage(1) + "") + "\">{1}.{2}</a>{3}", n.ID, (pageIndex - 1) * pageSize + k, n.Content, DT.FormatDate(n.AddTime, 2));

                        k++;
                        builder.Append(Out.Tab("</div>", ""));
                    }

                    // 分页
                    builder.Append(BasePage.ForumMultiPage(pageIndex, pageSize, recordCount, Utils.getPageUrl(), pageValUrl, "page", 0));
                }
                else
                {
                    builder.Append(Out.Div("div", "没有相关记录.."));
                }
                builder.Append(Out.Tab("<div class=\"text\">", "<br />"));
                builder.Append("<a href=\"" + Utils.getUrl("moreThread.aspx?ptype=" + ptype + "&amp;uid=" + uid + "&amp;forumid=" + forumid + "&amp;backurl=" + Utils.getPage(0) + "") + "\">全部回帖</a> ");
                builder.Append("<a href=\"" + Utils.getUrl("moreThread.aspx?ptype=" + ptype + "&amp;uid=" + uid + "&amp;forumid=" + forumid + "&amp;showtype=1&amp;backurl=" + Utils.getPage(0) + "") + "\">精华回帖</a> ");
                builder.Append(Out.Tab("</div>", ""));
                builder.Append(Out.Tab("<div class=\"title\">", Out.Hr()));
                builder.Append("<a href=\"" + Utils.getUrl("/default.aspx") + "\">首页</a>-");
                builder.Append("<a href=\"" + Utils.getPage("uinfo.aspx?uid=" + uid + "") + "\">上级</a>-");
                builder.Append("<a href=\"" + Utils.getUrl("moreThread.aspx?ptype=2&amp;uid=" + uid + "&amp;backurl=" + Utils.getPage(0) + "") + "\">回帖</a>");
                builder.Append(Out.Tab("</div>", ""));
            }
        }
    }