/// <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); }
/// <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); } }
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); } }
/// <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); } } } }