Ejemplo n.º 1
0
    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));
        }
    }
Ejemplo n.º 2
0
    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));
    }
Ejemplo n.º 3
0
    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("您没有权限修改此贴!");
        }
    }
Ejemplo n.º 4
0
    protected void Bar_Btn_Click(object sender, EventArgs e)
    {
        M_GuestBookCate cateMod = bookBll.GetCate(Cid);
        int             uid     = buser.GetLogin().UserID;
        string          ids     = Request.Form["idchk"];

        if (cateMod.IsBarOwner(uid) && !string.IsNullOrWhiteSpace(ids))
        {
            switch ((sender as Button).CommandArgument)
            {
            case "Del":
                barBll.UpdateStatus(Cid, ids, (int)ZLEnum.ConStatus.Recycle);
                if (ids.Contains(Pid.ToString()))
                {
                    Response.Redirect("/" + CreateUrl(1, Cid));
                }
                break;

            case "AddTop":
                barBll.UpdateTop(ids, true);
                break;

            case "RemoveTop":
                barBll.UpdateTop(ids, false);
                break;

            case "AddRecom":
                barBll.UpdateRecommend(ids, true);
                break;

            case "RemoveRecom":
                barBll.UpdateRecommend(ids, false);
                break;

            case "AddBottom":
                barBll.UpdateDown(ids, true);
                break;

            case "RemoveBottom":
                barBll.UpdateDown(ids, false);
                break;

            case "Hidden":
                barBll.UpdateStatus(Cid, ids, -2);
                break;

            case "CancelHidden":
                barBll.UpdateStatus(Cid, ids, (int)ZLEnum.ConStatus.Audited);
                break;
            }
        }
        MyBind();
    }
Ejemplo n.º 5
0
        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 + ",");
        }
Ejemplo n.º 6
0
        public int Post_Del(int cateid, string ids)
        {
            if (cateid < 1 || string.IsNullOrEmpty(ids) || mu.UserID < 1)
            {
                return(Failed);
            }
            M_GuestBookCate cateMod = cateBll.SelReturnModel(cateid);

            if (cateMod.IsBarOwner(mu.UserID))
            {
                barBll.UpdateStatus(cateid, ids, (int)ZLEnum.ConStatus.Recycle);
            }
            else
            {
                barBll.UpdateStatus(cateid, ids, (int)ZLEnum.ConStatus.Recycle, mu.UserID);
            }
            return(Success);
        }
Ejemplo n.º 7
0
        //贴子列表
        public VM_PClass(HttpContext ctx, int cpage)
        {
            HttpRequest Request = ctx.Request;

            tuBll  = new B_TempUser(ctx);
            CateID = DataConverter.CLng(Request.GetParam("ID"));
            mu     = tuBll.GetLogin(); //barBll.GetUser();
            //dt = barBll.SelByCateID(CateID.ToString(), 1, true);
            setting = barBll.SelPage(cpage, 15, CateID, 0, Request.GetParam("skey"), true);
            cateMod = cateBll.SelReturnModel(CateID);
            if (cateMod == null)
            {
                throw new Exception("指定栏目不存在");
            }
            #region 权限校验
            if (cateMod.IsBarOwner(mu.UserID))//按用户或搜索时无cateid
            {
                auth_barowner = true;
                auth_send     = true;
                //DPBind();
            }
            else//非吧主权限验证
            {
                switch (cateMod.PermiBit)
                {
                case "1":    //版面类别
                    //emptydiv.Style.Add("display", "none");
                    //send_div.Visible = false;
                    //RPT.Visible = false;
                    break;

                default:
                    if (!authBll.AuthCheck(cateMod, mu, "needlog"))    //访问权限
                    {
                        throw new Exception("你没有访问权限");
                    }
                    auth_send = authBll.AuthCheck(cateMod, mu, "send");  //发贴权限
                    break;
                }
            }
            #endregion
            childCateDT = cateBll.GetCateList(CateID);
        }
Ejemplo n.º 8
0
        //贴子编辑|新建
        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));
        }
Ejemplo n.º 9
0
        //贴子列表
        public VM_PClass(HttpRequestBase Request, int cpage)
        {
            CateID = DataConverter.CLng(Request.QueryString["ID"]);
            mu     = tuBll.GetLogin(); //barBll.GetUser();
            //dt = barBll.SelByCateID(CateID.ToString(), 1, true);
            setting = barBll.SelPage(cpage, 15, CateID, 0, Request.Form["skey"], true);
            cateMod = cateBll.SelReturnModel(CateID);
            if (cateMod == null)
            {
                function.WriteErrMsg("指定栏目不存在");
            }
            #region 权限校验
            if (cateMod.IsBarOwner(mu.UserID))//按用户或搜索时无cateid
            {
                auth_barowner = true;
                auth_send     = true;
                //DPBind();
            }
            else//非吧主权限验证
            {
                switch (cateMod.PermiBit)
                {
                case "1":    //版面类别
                    //emptydiv.Style.Add("display", "none");
                    //send_div.Visible = false;
                    //RPT.Visible = false;
                    break;

                default:
                    if (!authBll.AuthCheck(cateMod, mu, "needlog"))    //访问权限
                    {
                        function.WriteErrMsg("你没有访问权限");
                    }
                    auth_send = authBll.AuthCheck(cateMod, mu, "send");  //发贴权限
                    break;
                }
            }
            #endregion
            childCateDT = cateBll.GetCateList(CateID);
        }
Ejemplo n.º 10
0
    public void MyBind()
    {
        int        pageCount = 0;
        DataTable  dt        = new DataTable();
        M_UserInfo mu        = tpuser_Bll.GetLogin(); //barBll.GetUser();

        if (!string.IsNullOrEmpty(Request.QueryString["searchstr"]) || !string.IsNullOrEmpty(Request.QueryString["uid"]) || !string.IsNullOrEmpty(Request.QueryString["islike"]))
        {
            string skey    = Request.QueryString["searchstr"];
            int    uid     = DataConvert.CLng(Request.QueryString["uid"]);
            bool   sellike = DataConvert.CLng(Request.QueryString["islike"]) > 0 ? true : false;
            string skeyTlp = "\"<span style='color:#ff6a00;'>{0}</span>\"";

            if (!string.IsNullOrEmpty(skey))
            {
                BarName_L.Text = "相关" + string.Format(skeyTlp, skey) + "的贴子";
                Title_L.Text   = skey + "\"的贴子";
                dt             = barBll.SelByCateID(skey, 3);
            }
            else if (sellike)
            {
                BarName_L.Text = string.Format(skeyTlp, "我的收藏");
                Title_L.Text   = "我的收藏";
                dt             = barBll.SelByCateID(mu.UserID.ToString(), 4);
            }
            else
            {
                M_UserInfo smu = new M_UserInfo();
                if (uid < 1)//匿名用户不允许搜索
                {
                    smu.UserName = "******";
                }
                else
                {
                    smu = buser.GetUserByUserID(uid);
                    dt  = barBll.SelByCateID(uid.ToString(), 2);
                }
                BarName_L.Text = string.Format(skeyTlp, smu.HoneyName) + "的贴子";
                Title_L.Text   = smu.HoneyName + "的贴子";
            }
            Cid = cateMod.CateID;
            totalspan.InnerText = "共搜索到" + dt.Rows.Count + "个贴子";
            function.Script(this, "SetImg('/App_Themes/User/timg.jpg');");
            IsSearch             = true;
            MsgTitle_T.Enabled   = false;
            MsgContent_T.Enabled = false;
            SendDiv.Visible      = false;
        }
        else
        {
            Cid     = cateMod.CateID;
            dt      = barBll.SelByCateID(CateID.ToString(), 1, true);
            cateMod = guestBll.GetCate(CateID);

            #region 权限校验
            if (cateMod.IsBarOwner(mu.UserID))
            {
                barowner_div.Visible = true;
                IsBarOwner           = true;
                DPBind();
            }
            else//非吧主权限验证
            {
                switch (cateMod.PermiBit)
                {
                case "1":    //版面类别
                    emptydiv.Style.Add("display", "none");
                    send_div.Visible = false;
                    RPT.Visible      = false;
                    break;

                default:
                    if (!authBll.AuthCheck(cateMod, mu, "needlog"))    //访问权限
                    {
                        function.WriteErrMsg("你没有访问权限");
                    }
                    if (!authBll.AuthCheck(cateMod, mu, "send"))    //发贴权限
                    {
                        send_div.Visible   = false;
                        noauth_div.Visible = true;
                    }
                    break;
                }
            }
            #endregion
            BarInfo_L.Text = cateMod.Desc;
            function.Script(this, "SetImg('" + cateMod.BarImage + "');");
            if (cateMod.IsNull)
            {
                function.WriteErrMsg("该贴吧不存在!!");
            }
            Title_L.Text   = cateMod.CateName;
            BarName_L.Text = cateMod.CateName;
            DataTable chdt = B_GuestBook.GetCateList(CateID);
            if (chdt.Rows.Count > 0)
            {
                ChildRPT.DataSource = chdt;
                ChildRPT.DataBind();
            }
            else
            {
                childBar.Visible = false;
            }
        }
        RPT.DataSource = PageCommon.GetPageDT(pageSize, CPage, dt, out pageCount);
        RPT.DataBind();
        int tiecount = 0;
        int recout   = 0;
        barBll.GetCount(CateID, out tiecount, out recout);
        replycount.InnerText    = recout.ToString();
        dnum_span.InnerText     = dt.Rows.Count.ToString();
        dnum_span2.InnerText    = tiecount.ToString();
        pagenum_span1.InnerText = pageCount.ToString();
        MsgPage_L.Text          = PageCommon.CreatePageHtml(pageCount, CPage);
        if (dt.Rows.Count > 0)
        {
            contentdiv.Visible = true;
        }
        else
        {
            emptydiv.Visible = true;
        }
        Anony_Span.Visible = mu.UserID <= 0;
    }
Ejemplo n.º 11
0
    //删除,置顶,精华,沉底
    protected void Bar_Btn_Click(object sender, EventArgs e)
    {
        cateMod = guestBll.GetCate(CateID);
        int    uid = buser.GetLogin().UserID;
        string ids = Request.Form["idchk"];

        if (cateMod.IsBarOwner(uid) && !string.IsNullOrWhiteSpace(ids))
        {
            switch ((sender as LinkButton).CommandArgument)
            {
            case "Del":
                barBll.UpdateStatus(CateID, ids, (int)ZLEnum.ConStatus.Recycle);
                break;

            case "AddTop":
                barBll.UpdateTop(ids, true);
                break;

            case "RemoveTop":
                barBll.UpdateTop(ids, false);
                break;

            case "AddRecom":
                barBll.UpdateRecommend(ids, true);
                break;

            case "RemoveRecom":
                barBll.UpdateRecommend(ids, false);
                break;

            case "AddBottom":
                barBll.UpdateDown(ids, true);
                break;

            case "RemoveBottom":
                barBll.UpdateDown(ids, false);
                break;

            case "Checked":
                //审核加积分操作
                DataTable dt = barBll.SelByIDS(ids);
                dt.DefaultView.RowFilter = "Status=" + (int)ZLEnum.ConStatus.UnAudit;
                dt = dt.DefaultView.ToTable();
                foreach (DataRow item in dt.Rows)
                {
                    if (DataConverter.CLng(item["Status"]) != (int)ZLEnum.ConStatus.Audited && DataConverter.CLng(item["CUser"]) > 0)
                    {
                        if (cateMod.IsPlat == 1)
                        {
                            string siteurl = "http://" + Request.Url.Authority + "/";
                            string url     = B_Guest_Bar.CreateUrl(2, Convert.ToInt32(item["ID"]));
                            string cateurl = B_Guest_Bar.CreateUrl(1, cateMod.CateID);
                            //需要处理
                            msgBll.InsertMsg(string.Format(forwardTlp, item["MsgContent"], siteurl + url, siteurl + url, cateMod.CateName, siteurl + cateurl));
                        }
                        buser.ChangeVirtualMoney(DataConvert.CLng(item["CUser"]), new M_UserExpHis()
                        {
                            score  = DataConvert.CLng(item["SendScore"]),
                            detail = string.Format("{0} {1}在版面:{2}发表主题:{3},赠送{4}分", DateTime.Now, item["CUName"], item["Catename"], item["Title"], DataConverter.CLng(item["SendScore"])
                                                   , DataConverter.CLng(item["ReplyScore"])),
                            ScoreType = (int)M_UserExpHis.SType.Point
                        });
                    }
                }
                //Audit
                barBll.CheckByIDS(ids);
                break;

            case "UnCheck":
                barBll.UnCheckByIDS(ids);
                break;
            }
        }
        Refresh();
    }
Ejemplo n.º 12
0
        //管理员对贴子的操作,需要验证管理员权限
        public int Post_OP(int cateid, string ids)
        {
            if (cateid < 1)
            {
                return(Failed);
            }
            M_GuestBookCate cateMod = cateBll.SelReturnModel(cateid);

            if (!cateMod.IsBarOwner(mu.UserID))
            {
                return(Failed);
            }
            cateMod = cateBll.SelReturnModel(cateid);
            if (string.IsNullOrEmpty(ids))
            {
                return(Failed);
            }
            switch (RequestEx["action"])
            {
            case "Del":
                barBll.UpdateStatus(cateid, ids, (int)ZLEnum.ConStatus.Recycle);
                break;

            case "AddTop":
                barBll.UpdateOrderFlag(ids, 1);
                break;

            case "AddAllTop":
                barBll.UpdateOrderFlag(ids, 2);
                break;

            case "RemoveTop":
                barBll.UpdateOrderFlag(ids, 0);
                break;

            case "AddRecom":
                barBll.UpdateRecommend(ids, true);
                break;

            case "RemoveRecom":
                barBll.UpdateRecommend(ids, false);
                break;

            case "AddBottom":
                barBll.UpdateOrderFlag(ids, -1);
                break;

            case "Checked":    //审核
                barBll.CheckByIDS(ids);
                break;

            case "UnCheck":
                barBll.UnCheckByIDS(ids);
                break;

            case "Hidden":
                barBll.UpdateStatus(cateid, ids, (int)ZLEnum.ConStatus.Recycle);
                break;

            case "CancelHidden":
                barBll.UpdateStatus(cateid, ids, (int)ZLEnum.ConStatus.Audited);
                break;

            default:
                throw new Exception(RequestEx["action"] + "不匹配");
            }
            return(Success);
        }
Ejemplo n.º 13
0
        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));
        }
Ejemplo n.º 14
0
        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;
        }
Ejemplo n.º 15
0
    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;
        }
    }