Ejemplo n.º 1
0
        /// <summary>
        /// 获取评论对象数组
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public static SpaceCommentInfo[] GetSpaceCommentInfo(DataTable dt)
        {
            if (dt == null || dt.Rows.Count == 0)
            {
                return(null);
            }

            SpaceCommentInfo[] spacecommentsinfoarray = new SpaceCommentInfo[dt.Rows.Count];
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                spacecommentsinfoarray[i]              = new SpaceCommentInfo();
                spacecommentsinfoarray[i].CommentID    = TypeConverter.ObjectToInt(dt.Rows[i]["commentid"]);
                spacecommentsinfoarray[i].PostID       = TypeConverter.ObjectToInt(dt.Rows[i]["postid"]);
                spacecommentsinfoarray[i].Author       = dt.Rows[i]["author"].ToString();
                spacecommentsinfoarray[i].Email        = dt.Rows[i]["email"].ToString();
                spacecommentsinfoarray[i].Url          = dt.Rows[i]["url"].ToString();
                spacecommentsinfoarray[i].Ip           = dt.Rows[i]["ip"].ToString();
                spacecommentsinfoarray[i].PostDateTime = Convert.ToDateTime(dt.Rows[i]["postdatetime"]);
                spacecommentsinfoarray[i].Content      = dt.Rows[i]["content"].ToString();
                spacecommentsinfoarray[i].ParentID     = TypeConverter.ObjectToInt(dt.Rows[i]["parentid"]);
                spacecommentsinfoarray[i].Uid          = TypeConverter.ObjectToInt(dt.Rows[i]["uid"]);
                spacecommentsinfoarray[i].PostTitle    = dt.Rows[i]["posttitle"].ToString();
            }

            dt.Dispose();
            return(spacecommentsinfoarray);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取单个评论对象
        /// </summary>
        /// <param name="__idatareader"></param>
        /// <returns></returns>
        public static SpaceCommentInfo GetSpaceCommentInfo(IDataReader idatareader)
        {
            if (idatareader == null)
            {
                return(null);
            }

            if (idatareader.Read())
            {
                SpaceCommentInfo spacecommentsinfo = new SpaceCommentInfo();
                spacecommentsinfo.CommentID    = TypeConverter.ObjectToInt(idatareader["commentid"]);
                spacecommentsinfo.PostID       = TypeConverter.ObjectToInt(idatareader["postid"]);
                spacecommentsinfo.Author       = idatareader["author"].ToString();
                spacecommentsinfo.Email        = idatareader["email"].ToString();
                spacecommentsinfo.Url          = idatareader["url"].ToString();
                spacecommentsinfo.Ip           = idatareader["ip"].ToString();
                spacecommentsinfo.PostDateTime = Convert.ToDateTime(idatareader["postdatetime"]);
                spacecommentsinfo.Content      = idatareader["content"].ToString();
                spacecommentsinfo.ParentID     = TypeConverter.ObjectToInt(idatareader["parentid"]);
                spacecommentsinfo.Uid          = TypeConverter.ObjectToInt(idatareader["uid"]);
                spacecommentsinfo.PostTitle    = idatareader["posttitle"].ToString();

                idatareader.Close();
                return(spacecommentsinfo);
            }
            else
            {
                idatareader.Close();
                return(null);
            }
        }
Ejemplo n.º 3
0
        private void Submit_CategoryInfo()
        {
            if (!OnlineUsers.CheckUserVerifyCode(olid, DNTRequest.GetString("vcode")))
            {
                completeinfo = "验证码错误,请重新输入";
                return;
            }
            if (commentcontent == "")
            {
                completeinfo = "请输入评论内容";
                return;
            }

            SpacePostInfo __spacepostinfo = BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().GetSpacePost(postid));

            if (__spacepostinfo.CommentStatus == 1)
            {
                completeinfo = "当前日志不允许评论";
                return;
            }
            if ((__spacepostinfo.CommentStatus == 2) && (userid < 1))
            {
                completeinfo = "当前日志仅允许注册用户评论";
                return;
            }

            SpaceCommentInfo __spacecommentinfo = new SpaceCommentInfo();

            __spacecommentinfo.PostID       = postid;
            __spacecommentinfo.Author       = Utils.HtmlEncode(commentauthor != ""?commentauthor:"匿名");
            __spacecommentinfo.Email        = Utils.HtmlEncode(commentemail);
            __spacecommentinfo.Url          = commenturl;
            __spacecommentinfo.Ip           = DNTRequest.GetIP();
            __spacecommentinfo.PostDateTime = DateTime.Now;
            __spacecommentinfo.Content      = Utils.HtmlEncode(ForumUtils.BanWordFilter(commentcontent));
            __spacecommentinfo.ParentID     = 0;
            __spacecommentinfo.Uid          = (commentauthor == username) ? userid: -1;
            __spacecommentinfo.PostTitle    = Utils.HtmlEncode(ForumUtils.BanWordFilter(__spacepostinfo.Title));

            Space.Data.DbProvider.GetInstance().AddSpaceComment(__spacecommentinfo);
            Space.Data.DbProvider.GetInstance().CountUserSpaceCommentCountByUserID(__spacepostinfo.Uid, 1);
            Space.Data.DbProvider.GetInstance().CountSpaceCommentCountByPostID(postid, 1);

            if (DNTRequest.GetString("notice") == "true")
            {
                SendSpaceCommentNotice(__spacecommentinfo);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 日志评论通知
        /// </summary>
        /// <param name="commentinfo">日志评论信息</param>
        public void SendSpaceCommentNotice(SpaceCommentInfo commentinfo)
        {
            //要回复的用户id
            int replyuserid = DNTRequest.GetInt("userid", 0);

            //当日志有效时
            if (commentinfo.PostID > 0)
            {
                SpacePostInfo __spacepostsinfo = BlogProvider.GetSpacepostsInfo(Space.Data.DbProvider.GetInstance().GetSpacePost(commentinfo.PostID));
                //当日志有效时
                if (__spacepostsinfo != null)
                {
                    NoticeInfo __noticeinfo = new NoticeInfo();
                    __noticeinfo.Type         = NoticeType.SpaceCommentNotice;
                    __noticeinfo.New          = 1;
                    __noticeinfo.Posterid     = commentinfo.Uid;
                    __noticeinfo.Poster       = commentinfo.Author;
                    __noticeinfo.Postdatetime = Utils.GetDateTime();

                    //当回复人与评论作者不是同一人时,则向评论作者发送通知
                    if (__noticeinfo.Posterid != replyuserid && replyuserid > 0)
                    {
                        __noticeinfo.Note = Utils.HtmlEncode(string.Format("<a href=\"userinfo.aspx?userid={0}\">{1}</a> 回复了您的日志信息 <a href =\"viewspacepost.aspx?postid={3}\">{4}</a>.", commentinfo.Uid, commentinfo.Author, config.Spacename, commentinfo.PostID, __spacepostsinfo.Title));
                        __noticeinfo.Uid  = replyuserid;
                        Notices.CreateNoticeInfo(__noticeinfo);
                    }

                    //当上面通知的用户与该空间日志作者不同,则还要向主题作者发通知
                    if (__noticeinfo.Posterid != __spacepostsinfo.Uid && __spacepostsinfo.Uid > 0)
                    {
                        __noticeinfo.Note = Utils.HtmlEncode(string.Format("<a href=\"userinfo.aspx?userid={0}\">{1}</a> 评论了您的{2}日志 <a href =\"viewspacepost.aspx?postid={3}\">{4}</a>.", commentinfo.Uid, commentinfo.Author, config.Spacename, commentinfo.PostID, __spacepostsinfo.Title));
                        __noticeinfo.Uid  = __spacepostsinfo.Uid;
                        Notices.CreateNoticeInfo(__noticeinfo);
                    }
                }
            }
        }