private void OkPage() { int id = int.Parse(Utils.GetRequest("id", "all", 2, @"^[0-9]\d*$", "ID错误")); int voteid = int.Parse(Utils.GetRequest("voteid", "all", 2, @"^[0-9]\d*$", "投票选择错误")); if (!new BCW.BLL.Votes().Exists(id)) { Utils.Error("不存在的记录", ""); } int meid = new BCW.User.Users().GetUsId(); if (meid == 0) { Utils.Login(); } int IsVerify = new BCW.BLL.User().GetIsVerify(meid); if (IsVerify == 0) { Utils.Error("您属于手工注册会员,还未通过短信验证<br /><a href=\"/reg.aspx\">免费验证会员</a>", ""); } BCW.Model.Votes model = new BCW.BLL.Votes().GetVotes(id); //等级限制 if (model.VoteLeven > 0) { int Leven = new BCW.BLL.User().GetLeven(meid); if (model.VoteLeven > Leven) { Utils.Error("本投票需" + model.VoteLeven + "级才能投票", ""); } } if (model.VoteExTime < DateTime.Now) { Utils.Error("投票已截止了", ""); } //生成多选投票识别 string inum = voteid + "_" + meid; //投票逻辑 if (!string.IsNullOrEmpty(model.Vote)) { bool vote = false; string AddVoteString = string.Empty; string[] addvote = model.AddVote.Split("#".ToCharArray()); for (int i = 0; i < addvote.Length; i++) { int ivote = int.Parse(addvote[i]); if (voteid == i) { ivote = ivote + 1; AddVoteString += "#" + ivote.ToString(); } else { AddVoteString += "#" + addvote[i]; } } AddVoteString = Utils.Mid(AddVoteString, 1, AddVoteString.Length); if (!string.IsNullOrEmpty(model.VoteID)) { string[] svoteid = model.VoteID.Split("#".ToCharArray()); for (int i = 0; i < svoteid.Length; i++) { if (model.VoteTiple == 0)//如果为单选 { if (Convert.ToInt32(svoteid[i]) == meid) { vote = true; break; } } else { if (svoteid[i] == inum) { vote = true; break; } } } } if (vote == true) { Utils.Error("请不要重复投票", ""); } //写入数据库 BCW.Model.Votes addmodel = new BCW.Model.Votes(); string VoteIDString = string.Empty; if (model.VoteTiple == 0) { if (!string.IsNullOrEmpty(model.VoteID)) { VoteIDString = model.VoteID + "#" + meid; } else { VoteIDString = meid.ToString(); } } else { if (!string.IsNullOrEmpty(model.VoteID)) { VoteIDString = model.VoteID + "#" + inum; } else { VoteIDString = inum; } } addmodel.ID = id; addmodel.AddVote = AddVoteString; addmodel.VoteID = VoteIDString; new BCW.BLL.Votes().UpdateVote(addmodel); Utils.Success("投票成功", "恭喜,投票成功,正在返回..", Utils.getPage("votes.aspx"), "2"); } }
protected void Page_Load(object sender, EventArgs e) { Master.Title = "帖子心情"; 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 meid = new BCW.User.Users().GetUsId(); if (meid == 0) { Utils.Login(); } builder.Append(Out.Tab("<div class=\"title\">", "")); builder.Append("看了本帖的心情"); builder.Append(Out.Tab("</div>", "")); DataSet ds = new BCW.BLL.Text().GetList("ReStats,ReList", "ID=" + bid + ""); string ReStats = ds.Tables[0].Rows[0]["ReStats"].ToString(); string ReList = "|" + ds.Tables[0].Rows[0]["ReList"].ToString() + "|"; int v = int.Parse(Utils.GetRequest("v", "get", 1, @"^[0-9]\d*$", "0"));//4 // int v = int.Parse(Utils.GetRequest("v", "get", 1, @"^[0-9]\d*$", "0"));// 2 if (string.IsNullOrEmpty(ReStats)) { ReStats = "0|0|0|0|0"; } string sStats = string.Empty; // #region 修改 bool temp = false; //判断修改标志 默认不可以修改 string jungle = meid.ToString(); string[] list = ds.Tables[0].Rows[0]["ReList"].ToString().Split('|'); for (int i = 0; i < list.Length; i++) { // builder.Append("list:"+jungle + "-"); if (jungle.Trim() == list[i].Trim()) //如果包含meid { temp = false; //设置为不可以修改 } else//如果不包含meid { temp = true; //设置为可以修改 } } bool test = !("|" + ReList + "|").Contains("|" + meid + "|"); #endregion //结束 if (v != 0 && temp && test) //不包含这个ID { if (v >= 1 && v <= 5) //限定 V 的取值在 1-5之间才能修改数据 { string[] arrReStats = ReStats.Split("|".ToCharArray()); for (int i = 0; i < arrReStats.Length; i++) //5 { if ((v - 1) == i) { sStats += "|" + Convert.ToInt32(Convert.ToInt32(arrReStats[i]) + 1);//重写数据 } else { sStats += "|" + arrReStats[i];//原有数据 } } sStats = Utils.Mid(sStats, 1, sStats.Length); string result = string.Empty; if (string.IsNullOrEmpty(ds.Tables[0].Rows[0]["ReList"].ToString()))//判断是否为空 { result = ds.Tables[0].Rows[0]["ReList"].ToString() + meid; } else { result = ds.Tables[0].Rows[0]["ReList"].ToString() + "|" + meid; } //builder.Append(ds.Tables[0].Rows[0]["ReList"].ToString() + "<br/>"); //builder.Append(result + " 写入数据库的数据result"); // ReList = Utils.Mid(ReList + "|" + meid, 1, (ReList + "|" + meid).Length); new BCW.BLL.Text().UpdateReStats(bid, sStats, result); } } else { sStats = ReStats; } string ReText = "快乐|伤心|幽默|好帖"; string[] arrText = ReText.Split("|".ToCharArray()); string[] arrsStats = sStats.Split("|".ToCharArray()); for (int i = 0; i < arrsStats.Length - 1; i++) { builder.Append(Out.Tab("<div>", "<br />")); // builder.Append(i+"<br/>"); builder.Append("<a href=\"" + Utils.getUrl("mood.aspx?forumid=" + forumid + "&bid=" + bid + "&v=" + (i + 1) + "&backurl=" + Utils.getPage(0) + "") + "\"><img src=\"/files/face/em" + i + ".gif\" alt=\"load\"/>" + arrText[i] + "(" + arrsStats[i] + ")</a>"); builder.Append(Out.Tab("</div>", "")); } builder.Append(Out.Tab("<div class=\"title\">", Out.Hr())); builder.Append("<a href=\"" + Utils.getUrl("topic.aspx?forumid=" + forumid + "&bid=" + bid + "&backurl=" + Utils.getPage(0) + "") + "\">>返回主题帖</a>"); builder.Append(Out.Tab("</div>", "")); builder.Append(Out.Tab("<div>", "<br />")); builder.Append("注:同心情超5人次,帖子将会出现心情图标"); builder.Append(Out.Tab("</div>", "")); }
/// <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&id=" + Forummodel.GroupId + "&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 + "&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 + "&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 + "&bid=" + bid + "]" + Title + "[/URL]"); } else { new BCW.BLL.Action().Add(-2, 0, meid, mename, "在圈坛-" + Forummodel.Title + "发表了文件帖子[URL=/bbs/topic.aspx?forumid=" + forumid + "&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 + "&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 + "&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 + "&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 + "&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 + "&bid=" + bid + "")) + "\">返回主题</a><br /><a href=\"" + ReplaceWap(Utils.getUrl("reply.aspx?forumid=" + forumid + "&bid=" + bid + "")) + "\">回复列表</a>", ReplaceWap(Utils.getUrl("reply.aspx?forumid=" + forumid + "&bid=" + bid + "")), "2"); } } }