public DataTable GetDTFromBar() { barMod = barBll.SelReturnModel(Sid); if (barMod == null) { return(null); } RegexHelper regHelper = new RegexHelper(); string msg = StrHelper.DecompressString(barMod.MsgContent); barMod.MsgContent = msg.Replace("</img", " </img"); MatchCollection matches = regHelper.GetValuesBySE(barMod.MsgContent, "<img", "/>"); DataTable dt = DTFormat(); for (int i = 0; i < matches.Count; i++) { Match m = matches[i]; if (m.Value.Contains("/Ueditor")) { continue; } DataRow dr = dt.NewRow(); dr["Index"] = i; dr["Src"] = regHelper.GetHtmlAttr(m.Value, "src"); dt.Rows.Add(dr); } return(dt); }
void MyBind() { barMod = barBll.SelReturnModel(Pid); if (barMod == null) { function.WriteErrMsg("该贴子不存在!"); } PostID = barMod.Pid == 0 ? Pid : barMod.Pid; M_UserInfo mu = tpuserBll.GetLogin();// buser.GetLogin(); cateMod = guestBll.GetCate(barMod.CateID); PostName_L.Text = barMod.Title; if ((cateMod.IsBarOwner(mu.UserID) || barMod.CUser == mu.UserID) && barMod.ReplyID == 0) { if (barMod.Pid == 0) { MsgTitle_T.Visible = true; MsgTitle_T.Text = barMod.Title; } MsgContent_T.Text = StrHelper.DecompressString(barMod.MsgContent); } else { function.WriteErrMsg("您没有权限修改此贴!"); } }
protected void PostMsg_Btn_Click(object sender, EventArgs e) { M_UserInfo mu = tpuserBll.GetLogin();//barBll.GetUser(); if (mu.Status != 0) { function.WriteErrMsg("您的账户已被锁定,无法进行发帖、回复等操作!"); } M_Guest_Bar lastMod = barBll.SelLastModByUid(mu, false); M_GuestBookCate catemod = bookBll.GetCate(Cid); BarOption baroption = GuestConfig.GuestOption.BarOption.Find(v => v.CateID == Cid); int usertime = baroption == null ? 120 : baroption.UserTime; int sendtime = baroption == null ? 5 : baroption.SendTime; if (!ZoomlaSecurityCenter.VCodeCheck(Request.Form["VCode_hid"], VCode.Text.Trim())) { function.WriteErrMsg("验证码不正确", "/" + CreateUrl(2, Pid, CPage)); } else if (catemod.IsBarOwner(mu.UserID)) { } else if (mu.UserID > 0 && (DateTime.Now - mu.RegTime).TotalMinutes < usertime)//匿名用户不受此限 { int minute = usertime - (int)(DateTime.Now - mu.RegTime).TotalMinutes; function.WriteErrMsg("新注册用户" + usertime + "分钟内不能发贴,你还需要" + minute + "分钟", "javascript:history.go(-1);"); } else if (lastMod != null && ((int)(DateTime.Now - lastMod.CDate).TotalMinutes) < sendtime) { int second = sendtime - (int)(DateTime.Now - lastMod.CDate).TotalMinutes; function.WriteErrMsg("你回复太快了," + second + "分钟后才能再次回复", "javascript:history.go(-1);"); } barMod = FillMsg(MsgContent_T.Text, Pid); barBll.Insert(barMod); Response.Redirect(CreateUrl(2, Pid, CPage)); }
public M_Guest_Bar FillBarMsg(string msg, int pid, int rid = 0) { string base64 = StrHelper.CompressString(msg); if (base64.Length > 40000) { function.WriteErrMsg("发贴失败,原因:内容过长,请减少内容文字"); } M_UserInfo mu = buser.GetLogin(); M_Guest_Bar parent = barBll.SelReturnModel(pid); M_Guest_Bar model = new M_Guest_Bar(); model.MsgType = 1; model.Status = (int)ZLEnum.ConStatus.Audited; model.CUser = mu.UserID; model.CUName = mu.HoneyName; model.R_CUName = mu.HoneyName; model.IDCode = mu.UserID <= 0 ? mu.WorkNum : mu.UserID.ToString(); model.MsgContent = base64; model.Pid = pid; model.ReplyID = rid; model.CateID = parent.CateID; model.IP = EnviorHelper.GetUserIP(); string ipadd = IPScaner.IPLocation(model.IP); ipadd = ipadd.IndexOf("本地") > 0 ? "未知地址" : ipadd; model.IP = model.IP + "|" + ipadd; model.ColledIDS = ""; //AddUserExp(mu, parent.CateID, parent.Title); return(model); }
protected void PostMsg_Btn_Click(object sender, EventArgs e) { M_UserInfo mu = tpuser_Bll.GetLogin();//barBll.GetUser(); if (mu.Status != 0) { function.WriteErrMsg("您的账户已被锁定,无法进行发帖、回复等操作!"); } M_Guest_Bar lastMod = barBll.SelLastModByUid(mu); M_GuestBookCate catemod = guestBll.GetCate(CateID); BarOption baroption = GuestConfig.GuestOption.BarOption.Find(v => v.CateID == CateID); int usertime = baroption == null ? 120 : baroption.UserTime; int sendtime = baroption == null?5:baroption.SendTime; if (!ZoomlaSecurityCenter.VCodeCheck(Request.Form["VCode_hid"], VCode.Text.Trim())) { function.WriteErrMsg("验证码不正确", "/" + B_Guest_Bar.CreateUrl(1, CateID, CPage)); } else if (catemod.IsBarOwner(mu.UserID)) { } else if (mu.UserID > 0 && (DateTime.Now - mu.RegTime).TotalMinutes < usertime)//匿名用户不受此限 { int minute = usertime - (int)(DateTime.Now - mu.RegTime).TotalMinutes; function.WriteErrMsg("新注册用户" + usertime + "分钟内不能发贴,你还需要" + minute + "分钟", "javascript:history.go(-1);"); } else if (lastMod != null && (DateTime.Now - lastMod.CDate).TotalMinutes < sendtime) { int minute = sendtime - (int)(DateTime.Now - lastMod.CDate).TotalMinutes; function.WriteErrMsg("你发贴太快了," + minute + "分钟后才能再次发贴", "javascript:history.go(-1);"); } string msg = MsgContent_T.Text; GetSubTitle(ref msg); catemod = guestBll.SelReturnModel(CateID); barMod = FillMsg(MsgTitle_T.Text, msg, catemod); int id = barBll.Insert(barMod); if (catemod.Status == 1 && mu.UserID > 0) //是否需审核 { if (catemod.IsPlat == 1) //分享到能力中心 { string siteurl = "http://" + Request.Url.Authority + "/"; string url = B_Guest_Bar.CreateUrl(2, id); string cateurl = B_Guest_Bar.CreateUrl(1, catemod.CateID); msgBll.InsertMsg(string.Format(forwardTlp, barMod.Title, siteurl + url, siteurl + url, catemod.CateName, siteurl + cateurl)); } buser.ChangeVirtualMoney(mu.UserID, new M_UserExpHis() { score = catemod.SendScore, ScoreType = (int)M_UserExpHis.SType.Point, detail = string.Format("{0} {1}在版面:{2}发表主题:{3},赠送{4}分", DateTime.Now, mu.UserName, catemod.CateName, MsgTitle_T.Text.Trim(), catemod.SendScore) }); Response.Redirect("/" + B_Guest_Bar.CreateUrl(2, id)); } else { Response.Redirect("/" + B_Guest_Bar.CreateUrl(1, CateID)); } }
public M_Guest_Bar FillMsg(string title, string msg, M_GuestBookCate cmode) { string base64 = StrHelper.CompressString(msg); if (base64.Length > 40000) { function.WriteErrMsg("发贴失败,原因:内容过长,请减少内容文字"); } M_UserInfo mu = tpuser_Bll.GetLogin("匿名用户");//barBll.GetUser(); M_Guest_Bar model = new M_Guest_Bar(); model.MsgType = 1; model.Status = cmode.Status > 1 ? (int)ZLEnum.ConStatus.UnAudit : (int)ZLEnum.ConStatus.Audited;//判断贴吧是否开启审核,如果是就默认设置为未审核 model.CUser = mu.UserID; model.CUName = mu.HoneyName; model.R_CUName = mu.HoneyName; model.Title = title.Trim(); model.SubTitle = GetSubTitle(ref msg); model.MsgContent = base64; model.CateID = cmode.CateID; model.IP = EnviorHelper.GetUserIP(); model.IDCode = mu.UserID <= 0 ? mu.WorkNum : mu.UserID.ToString(); string ipadd = IPScaner.IPLocation(model.IP); ipadd = ipadd.IndexOf("本地") > 0 ? "未知地址" : ipadd; model.IP = model.IP + "|" + ipadd; model.Pid = 0; model.ReplyID = 0; model.ColledIDS = ""; return(model); }
protected void CUser_LB_Click(object sender, EventArgs e) { barMod = barBll.SelReturnModel(ID); if (!string.IsNullOrEmpty(barMod.CUName)) { Response.Redirect("../User/UserInfo.aspx?id=" + barMod.CUser); } }
protected void Save_Btn_Click(object sender, EventArgs e) { barMod = barBll.SelReturnModel(ID); barMod.Title = txtTitle.Text; barMod.Style = txtStyle_Hid.Value; barMod.MsgContent = MsgContent_T.Text; barMod.CDate = DateTime.Parse(CDate_T.Text); barBll.UpdateByID(barMod); DataBind(); }
protected void AddMedal_Btn_Click(object sender, EventArgs e) { barMod = barBll.SelReturnModel(ID); if (medalBll.CheckMedalDiff(ID, -1)) { function.WriteErrMsg("您给此贴颁发过勋章了!"); } medalBll.Insert(new M_Guest_Medals() { UserID = barMod.CUser, BarID = ID, Sender = -1, MedalID = 3 }); function.WriteSuccessMsg("颁发成功!"); }
public VM_PItem(HttpRequestBase Request, int cpage, int psize) { barMod = barBll.SelReturnModel(DataConvert.CLng(Request.QueryString["id"])); if (barMod == null) { function.WriteErrMsg("该贴子不存在!!"); } cateMod = cateBll.SelReturnModel(barMod.CateID); mu = tuBll.GetLogin(); if (barMod.Status != (int)ZLEnum.ConStatus.Audited && cateMod.Status != 1) { function.WriteErrMsg("该贴子需要审核通过才能浏览!"); } if (cateMod.IsBarOwner(mu.UserID))//吧主 { auth_barowner = true; auth_edit = true; } else { if (!authBll.AuthCheck(cateMod, mu)) { function.WriteErrMsg("你没有访问权限或未登录,请<a href='/User/Login?Returnurl=/PItem?id=" + barMod.ID + "&cpage=" + cpage + "'>登录</a>后查看"); } if ((!authBll.AuthCheck(cateMod, mu, "send"))) { auth_send = false; } } if (barMod.CUser == mu.UserID) { auth_edit = true; } setting = barBll.SelByID(cpage, psize, barMod, Request.QueryString["Filter"]); barBll.AddHitCount(barMod.ID); barMod.HitCount++; string msgids = ""; for (int i = 0; i < setting.dt.Rows.Count; i++) { msgids += setting.dt.Rows[i]["ID"].ToString() + ","; } likeDT = likeBll.SelByMsgIDS(msgids.Trim(','), "bar"); mediaDT = medalBll.SelByBarIDS(msgids.Trim(',')); if (barMod.Status < 0 && barMod.Status == (int)ZLEnum.ConStatus.Recycle) { function.WriteErrMsg("该帖子已删除!!", "/PClass?id=" + barMod.CateID); } auth_like = !barMod.ColledIDS.Contains("," + mu.UserID + ","); }
protected void BtnAddMedalPosation_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(Request.Form["idchk"])) { string[] idsarr = Request.Form["idchk"].Split(','); foreach (string barid in idsarr) { int id = DataConverter.CLng(barid); if (!medalbll.CheckMedalDiff(id, -1))//检测是否重复颁发 { M_Guest_Bar barmod = barBll.SelReturnModel(id); medalbll.Insert(new M_Guest_Medals() { UserID = barmod.CUser, BarID = id, Sender = -1, MedalID = 3 }); } } function.WriteSuccessMsg("颁发成功!"); } }
protected void DelMsg_Btn_Click(object sender, EventArgs e) { if (Pid > 0) { M_UserInfo mu = barBll.GetUser(); barMod = barBll.SelReturnModel(Pid); int cateId = barMod.CateID; string result = barBll.UpdateStatus(barBll.SelReturnModel(Pid).CateID, Pid.ToString(), -1) ? "ok" : "failed"; if (result == "ok") { function.Script(this, "<script>alert('删除成功!')</script>"); Response.Redirect("/PClass?uid=" + mu.UserID); } else { function.Script(this, "<script>alert('删除失败!')</script>"); Response.Redirect("/PItem?id=" + Pid); } } }
//贴子编辑|新建 public IActionResult EditContent() { M_UserInfo mu = tuBll.GetLogin();// buser.GetLogin(); M_Guest_Bar barMod = new M_Guest_Bar(); M_GuestBookCate cateMod = null; if (Mid >= 0) { barMod = barBll.SelReturnModel(Mid); if (barMod == null) { return(WriteErr("该贴子不存在!")); } cateMod = cateBll.SelReturnModel(barMod.CateID); if ((cateMod.IsBarOwner(mu.UserID) || barMod.CUser == mu.UserID) && barMod.ReplyID == 0) { barMod.MsgContent = StrHelper.DecompressString(barMod.MsgContent); } else { return(WriteErr("您没有权限修改此贴!")); } } else { cateMod = cateBll.SelReturnModel(CateID); string errtitle = "<h3 class='panel-title'><span class='fa fa-exclamation-circle'></span> 系统提示</h3>"; if (!authBll.AuthCheck(cateMod, mu, "send"))//验证发贴权限 { string url = "/User/Login?ReturnUrl=" + HttpUtility.UrlEncode(Request.RawUrl()); return(WriteErr(errtitle, "你没有登录,请[<a href='" + url + "'>登录</a>]后再发贴!", url)); } else if (!authBll.AuthCheck(cateMod, mu, "send")) { return(WriteErr(errtitle, "您没有权限在此发帖,请[<a href='/Bar/Index'>返回</a>]论坛主页!", "/Index")); } } ViewBag.cateMod = cateMod; return(View(barMod)); }
public void DataBind(string key = "") { DataTable dt = barBll.SelByPid(1, int.MaxValue, ID).dt; barMod = barBll.SelReturnModel(ID); ID_L.Text = barMod.ID.ToString(); IP_L.Text = barMod.IP == "" ? "无IP地址" : barMod.IP; CDate_L.Text = barMod.CDate.ToString(); CDate_T.Text = barMod.CDate.ToString(); CUser_LB.Text = barMod.CUName == "" ? "[匿名]" : "<a href=\"javascript:;\" onclick=\"ShowUserInfo(" + barMod.CUser + ")\">" + barMod.CUName + "</a>";// Title_L.Text = barMod.Title; Title_L.Attributes["style"] += barMod.Style; txtTitle.Text = barMod.Title; txtTitle.Attributes["style"] += barMod.Style; MedalBind(); string content = StrHelper.DecompressString(barMod.MsgContent); MsgContent_L.Text = content; MsgContent_T.Text = content; Egv1.DataSource = dt; Egv1.DataBind(); }
public int AddMedal_U(int id, int sender) { if (CheckMedalDiff(id, sender)) { return(-2); } //不能重复颁发 B_Guest_Bar barbll = new B_Guest_Bar(); M_Guest_Bar barmod = barbll.SelReturnModel(id); M_GuestBookCate catemod = new B_GuestBookCate().SelReturnModel(barmod.CateID); int medalid = 2;//吧主勋章 //不是吧主扣除积分 if (!catemod.IsBarOwner(sender)) { if (barmod.CUser == sender) { return(-3); } //非吧主不能给自己颁发勋章 medalid = 1; //网友勋章 B_User buser = new B_User(); M_UserInfo mu = buser.SelReturnModel(sender); if (mu.UserExp <= 0) { return(-1); } //用户积分不足 buser.ChangeVirtualMoney(sender, new M_UserExpHis() { score = -1, ScoreType = (int)M_UserExpHis.SType.Point, detail = string.Format("{0} {1}在版面:{2}发表勋章给:[{3}]的贴子,扣除{4}分", DateTime.Now, mu.UserName, catemod.CateName, barmod.Title, catemod.SendScore) }); } Insert(new M_Guest_Medals() { UserID = barmod.CUser, BarID = id, MedalID = medalid, Sender = sender }); return(medalid); }
private M_Guest_Bar FillMsg(string title, string msg, int pid, int rid = 0, M_GuestBookCate catemod = null) { if (pid > 0) { M_Guest_Bar pmod = barBll.SelReturnModel(pid); catemod = cateBll.SelReturnModel(pmod.CateID); } string base64 = StrHelper.CompressString(msg); if (base64.Length > 40000) { throw new Exception("取消修改,原因:内容过长,请减少内容"); } M_UserInfo mu = tuBll.GetLogin("匿名用户"); //barBll.GetUser(); M_Guest_Bar model = new M_Guest_Bar(); model.MsgType = 1; model.Status = catemod.Status > 1 ? (int)ZLEnum.ConStatus.UnAudit : (int)ZLEnum.ConStatus.Audited;//判断贴吧是否开启审核,如果是就默认设置为未审核 model.CUser = mu.UserID; model.CUName = mu.HoneyName; model.R_CUName = mu.HoneyName; model.Title = title; model.SubTitle = GetSubTitle(ref msg); model.MsgContent = base64; model.CateID = catemod.CateID; model.IP = IPScaner.GetUserIP(HttpContext); string ipadd = IPScaner.IPLocation(model.IP); ipadd = ipadd.IndexOf("本地") > 0 ? "未知地址" : ipadd; model.IP = model.IP + "|" + ipadd; model.Pid = pid; model.ReplyID = rid; model.ColledIDS = ""; model.IDCode = mu.UserID == 0 ? mu.WorkNum : mu.UserID.ToString(); model.CDate = DateTime.Now; return(model); }
public void Post_Add() { //Mid,CateID M_UserInfo mu = tuBll.GetLogin(); //buser.GetLogin(); if (mu.Status != 0) { function.WriteErrMsg("您的账户已被锁定,无法进行发帖、回复等操作!"); return; } int pid = DataConvert.CLng(Request.QueryString["pid"]); string title = Request.Form["MsgTitle_T"]; string msg = Request.Form["MsgContent_T"]; string base64Msg = StrHelper.CompressString(msg); string rurl = Request["rurl"];//操作完成后返回哪个链接 bool auth_barowner = false; if (pid > 0)//回复主贴 { M_Guest_Bar pmod = barBll.SelReturnModel(pid); CateID = pmod.CateID; } if (Mid > 0)//编辑贴子 { barMod = barBll.SelReturnModel(Mid); CateID = barMod.CateID; } M_GuestBookCate cateMod = cateBll.SelReturnModel(CateID); if (cateMod == null) { function.WriteErrMsg("栏目不存在"); return; } rurl = string.IsNullOrEmpty(rurl) ? "/PClass?id=" + cateMod.CateID : rurl; auth_barowner = cateMod.IsBarOwner(mu.UserID); if (Mid > 0)//编辑 { if (barMod.CUser != mu.UserID && !auth_barowner) { function.WriteErrMsg("你无权修改该内容"); return; } barMod.Title = title; barMod.SubTitle = GetSubTitle(ref msg); barMod.MsgContent = base64Msg; barBll.UpdateByID(barMod); } else { if (pid < 1 && string.IsNullOrEmpty(title)) { function.WriteErrMsg("贴子标题不能为空!"); return; } if (!ZoomlaSecurityCenter.VCodeCheck(Request["VCode_hid"], Request["VCode"])) { function.WriteErrMsg("验证码不正确"); return; } if (!auth_barowner)//非管理员需要检测权限和接受限制 { //是否可在该版块发贴子 if (!authBll.AuthCheck(cateMod, mu, "send")) { function.WriteErrMsg("你无权在[" + cateMod.CateName + "]版块发布贴子"); return; } //是否有时间限制 M_Guest_Bar lastMod = barBll.SelLastModByUid(mu); BarOption baroption = GuestConfig.GuestOption.BarOption.Find(v => v.CateID == CateID); int usertime = baroption == null ? 120 : baroption.UserTime; int sendtime = baroption == null ? 5 : baroption.SendTime; if (mu.UserID > 0 && (DateTime.Now - mu.RegTime).TotalMinutes < usertime)//匿名用户不受此限 { int minute = usertime - (int)(DateTime.Now - mu.RegTime).TotalMinutes; function.WriteErrMsg("新注册用户" + usertime + "分钟内不能发贴,你还需要" + minute + "分钟", "javascript:history.go(-1);"); return; } else if (lastMod != null && (DateTime.Now - lastMod.CDate).TotalMinutes < sendtime) { int minute = sendtime - (int)(DateTime.Now - lastMod.CDate).TotalMinutes; function.WriteErrMsg("你发贴太快了," + minute + "分钟后才能再次发贴", "javascript:history.go(-1);"); return; } } barMod = FillMsg(title, msg, pid, 0, cateMod); barBll.Insert(barMod); if (cateMod.Status == 1 && mu.UserID > 0 && cateMod.SendScore > 0)//是否需审核 { buser.AddMoney(mu.UserID, cateMod.SendScore, M_UserExpHis.SType.Point, string.Format("{0} {1}在版面:{2}发表主题:{3},赠送{4}分", DateTime.Now, mu.UserName, cateMod.CateName, barMod.Title, cateMod.SendScore)); } } Response.Redirect(rurl); return; }
public void MyBind() { int pageCount = 0; DataTable dt = new DataTable(); barMod = barBll.SelReturnModel(Pid); if (barMod == null) { function.WriteErrMsg("该贴子不存在!!"); } M_GuestBookCate cateMod = bookBll.GetCate(barMod.CateID); M_UserInfo mu = tpuserBll.GetLogin();//barBll.GetUser(); if (barMod.Status != (int)ZLEnum.ConStatus.Audited && cateMod.Status != 1) { function.WriteErrMsg("该贴子需要审核通过才能浏览!"); } if (cateMod.IsBarOwner(mu.UserID))//吧主 { barowner_div.Visible = true; IsBarOwner = true; } else { if (!authBll.AuthCheck(cateMod, mu)) { function.WriteErrMsg("你没有访问权限或未登录,请<a href='/User/Login.aspx?Returnurl=/" + B_Guest_Bar.CreateUrl(2, Pid, CPage) + "'>登录</a>后查看"); //if (cateMod.NeedLog == 1 && mu.UserID == 0) function.WriteErrMsg("该栏目必须<a href='/User/Login.aspx?returnUrl=/Post" + Pid + "/Default_1.aspx'>登录</a>后才能访问"); } if ((!authBll.AuthCheck(cateMod, mu, "send"))) { send_div.Visible = false; noauth_div.Visible = true; } } dt = barBll.SelByID(Pid); barBll.AddHitCount(Pid); hitcount_span.InnerText = (barMod.HitCount + 1).ToString(); dt.Columns.Add("Layer", typeof(int)); for (int i = 0; i < dt.Rows.Count; i++) { dt.Rows[i]["Layer"] = (i + 1); } if (Filter.Contains("OnlyLayer")) { dt.DefaultView.RowFilter = "CUser = "******"该帖子已删除!!", "/" + B_Guest_Bar.CreateUrl(1, Cid)); } function.Script(this, "SetImg('" + cateMod.BarImage + "');"); ReturnBar_a.Text = "<i class='fa fa-arrow-circle-left'></i>返回" + cateMod.CateName; ReturnBar_a.NavigateUrl = "/" + CreateUrl(1, Cid); int mcount = 0, rcount = 0; barBll.GetCount(Cid, out mcount, out rcount); if (!barMod.LikeIDS.Contains("," + mu.UserID + ",")) { LikeBtn_Li.Text = string.Format("<input type='button' value='收藏' id='liketie' onclick='LikeTie(this,{0})'class='btn btn-xs btn-primary' />", Pid); } else { LikeBtn_Li.Text = "<input type='button' value='取消收藏' id='liketie' onclick='LikeTie(this," + Pid + ")'class='btn btn-xs btn-primary liked' />"; } //判断是否显示编辑按钮 if (UserID == barMod.CUser) { EditBtn_DIV.Visible = true; } }
public IActionResult Post_Add() { //Mid,CateID M_UserInfo mu = tuBll.GetLogin(); //buser.GetLogin(); if (mu.Status != 0) { return(WriteErr("您的账户已被锁定,无法进行发帖、回复等操作!")); } int pid = DataConvert.CLng(RequestEx["pid"]); string title = Request.Form["MsgTitle_T"]; string msg = Request.Form["MsgContent_T"]; //如果内容来源于手机编辑器,则合并图片与转化表情 if (DataConvert.CStr(Request.Form["editor"]).Equals("mbeditor")) { msg = msg.Replace("\r\n", "<br />"); string imgs = Request.Form["txt_bar"], emotions = Request.Form["ImgFace_Hid"]; if (!string.IsNullOrEmpty(emotions)) { string imgTlp = "<img src='/Plugins/Ueditor/dialogs/emotion/{0}' class='imgface_img' />"; DataTable dt = JsonHelper.JsonToDT(emotions); foreach (DataRow dr in dt.Rows) { msg = msg.Replace(dr["title"].ToString(), string.Format(imgTlp, dr["realurl"].ToString())); } } if (!string.IsNullOrEmpty(imgs) && !imgs.Equals("[]")) { string imgHtml = ""; string imgTlp = "<img src='{0}'>"; //[{"url":"/UploadFiles/User/user/admin1/20180627EvVVMk.jpg","desc":""}] DataTable dt = JsonHelper.JsonToDT(imgs); foreach (DataRow dr in dt.Rows) { imgHtml += string.Format(imgTlp, DataConvert.CStr(dr["url"])); } msg += "<div>" + imgHtml + "</div>"; } } string base64Msg = StrHelper.CompressString(msg); string rurl = RequestEx["rurl"];//操作完成后返回哪个链接 bool auth_barowner = false; if (pid > 0)//回复主贴 { M_Guest_Bar pmod = barBll.SelReturnModel(pid); CateID = pmod.CateID; } if (Mid > 0)//编辑贴子 { barMod = barBll.SelReturnModel(Mid); CateID = barMod.CateID; } M_GuestBookCate cateMod = cateBll.SelReturnModel(CateID); if (cateMod == null) { return(WriteErr("栏目不存在")); } rurl = string.IsNullOrEmpty(rurl) ? "/PClass?id=" + cateMod.CateID : rurl; auth_barowner = cateMod.IsBarOwner(mu.UserID); if (Mid > 0)//编辑 { if (barMod.CUser != mu.UserID && !auth_barowner) { return(WriteErr("你无权修改该内容")); } barMod.Title = title; barMod.SubTitle = GetSubTitle(ref msg); barMod.MsgContent = base64Msg; barBll.UpdateByID(barMod); } else { if (pid < 1 && string.IsNullOrEmpty(title)) { return(WriteErr("贴子标题不能为空!")); } if (!ZoomlaSecurityCenter.VCodeCheck(RequestEx["VCode_hid"], RequestEx["VCode"])) { return(WriteErr("验证码不正确")); } if (!auth_barowner)//非管理员需要检测权限和接受限制 { //是否可在该版块发贴子 if (!authBll.AuthCheck(cateMod, mu, "send")) { return(WriteErr("你无权在[" + cateMod.CateName + "]版块发布贴子")); } //是否有时间限制 M_Guest_Bar lastMod = barBll.SelLastModByUid(mu); BarOption baroption = GuestConfig.GuestOption.BarOption.Find(v => v.CateID == CateID); int usertime = baroption == null ? 120 : baroption.UserTime; int sendtime = baroption == null ? 5 : baroption.SendTime; if (mu.UserID > 0 && (DateTime.Now - mu.RegTime).TotalMinutes < usertime)//匿名用户不受此限 { int minute = usertime - (int)(DateTime.Now - mu.RegTime).TotalMinutes; return(WriteErr("新注册用户" + usertime + "分钟内不能发贴,你还需要" + minute + "分钟", "javascript:history.go(-1);")); } else if (lastMod != null && (DateTime.Now - lastMod.CDate).TotalMinutes < sendtime) { int minute = sendtime - (int)(DateTime.Now - lastMod.CDate).TotalMinutes; return(WriteErr("你发贴太快了," + minute + "分钟后才能再次发贴", "javascript:history.go(-1);")); } } barMod = FillMsg(title, msg, pid, 0, cateMod); barMod.ID = barBll.Insert(barMod); if (pid < 1) { rurl = "/PItem?ID=" + barMod.ID; } if (cateMod.Status == 1 && mu.UserID > 0 && cateMod.SendScore > 0)//是否需审核 { buser.AddMoney(mu.UserID, cateMod.SendScore, M_UserExpHis.SType.Point, string.Format("{0} {1}在版面:{2}发表主题:{3},赠送{4}分", DateTime.Now, mu.UserName, cateMod.CateName, barMod.Title, cateMod.SendScore)); } } return(Redirect(rurl)); }