Example #1
0
		public bool SaveSpaceComment(SpaceCommentInfo spacecomments)
		{
			//try
			//{
			IDataParameter[] prams = 
				{
					DbHelper.MakeInParam("@commentid", (DbType)SqlDbType.Int, 4,spacecomments.CommentID),
					DbHelper.MakeInParam("@postid", (DbType)SqlDbType.Int, 4,spacecomments.PostID),
					DbHelper.MakeInParam("@author", (DbType)SqlDbType.NVarChar, 50,spacecomments.Author),
					DbHelper.MakeInParam("@email", (DbType)SqlDbType.NVarChar, 100,spacecomments.Email),
					DbHelper.MakeInParam("@url", (DbType)SqlDbType.NVarChar, 255,spacecomments.Url),
					DbHelper.MakeInParam("@ip", (DbType)SqlDbType.VarChar, 100,spacecomments.Ip),
					DbHelper.MakeInParam("@postdatetime", (DbType)SqlDbType.SmallDateTime, 4,spacecomments.PostDateTime),
					DbHelper.MakeInParam("@content", (DbType)SqlDbType.NText, 0,spacecomments.Content),
					DbHelper.MakeInParam("@parentid", (DbType)SqlDbType.Int, 4,spacecomments.ParentID),
					DbHelper.MakeInParam("@posttitle", (DbType)SqlDbType.NVarChar, 60,spacecomments.PostTitle),
					DbHelper.MakeInParam("@uid", (DbType)SqlDbType.Int, 4,spacecomments.Uid)
				};
			string sqlstring = String.Format("UPDATE [" + BaseConfigs.GetTablePrefix + "spacecomments]  Set [postid] = @postid, [author] = @author, [email] = @email, [url] = @url, [ip] = @ip, [postdatetime] = @postdatetime, [content] = @content, [parentid] = @parentid, [uid] = @uid, [posttitle]=@posttile  WHERE [commentid] = @commentid");

			DbHelper.ExecuteNonQuery(CommandType.Text, sqlstring, prams);

			return true;
			//}
			//catch (Exception ex)
			//{
			//    errormsg = Globals.TransferSqlErrorInfo(ex.Message);
			//    return false;
			//}
		}
Example #2
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;
		}
Example #3
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;
			}
		}
Example #4
0
        public bool AddSpaceComment(SpaceCommentInfo spacecomments)
        {
            DbParameter[] parms = 
				{
					DbHelper.MakeInParam("@postid", (DbType)SqlDbType.Int, 4,spacecomments.PostID),
					DbHelper.MakeInParam("@author", (DbType)SqlDbType.NVarChar, 50,spacecomments.Author),
					DbHelper.MakeInParam("@email", (DbType)SqlDbType.NVarChar, 100,spacecomments.Email),
					DbHelper.MakeInParam("@url", (DbType)SqlDbType.NVarChar, 255,spacecomments.Url),
					DbHelper.MakeInParam("@ip", (DbType)SqlDbType.VarChar, 100,spacecomments.Ip),
					DbHelper.MakeInParam("@postdatetime", (DbType)SqlDbType.SmallDateTime, 4,spacecomments.PostDateTime),
					DbHelper.MakeInParam("@content", (DbType)SqlDbType.NText, 0,spacecomments.Content),
					DbHelper.MakeInParam("@parentid", (DbType)SqlDbType.Int, 4,spacecomments.ParentID),
					DbHelper.MakeInParam("@posttitle", (DbType)SqlDbType.NVarChar, 60,spacecomments.PostTitle),
					DbHelper.MakeInParam("@uid", (DbType)SqlDbType.Int, 4,spacecomments.Uid)
				};
            string commandText = string.Format("INSERT INTO [{0}spacecomments] ( [postid], [author], [email], [url], [ip], [postdatetime], [content], [parentid], [uid],[posttitle] ) VALUES ( @postid, @author, @email, @url, @ip, @postdatetime, @content, @parentid, @uid, @posttitle)", BaseConfigs.GetTablePrefix);

            DbHelper.ExecuteNonQuery(CommandType.Text, commandText, parms);

            return true;
        }
		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);
                    }
                }
            }
        }