public void MarkAsSpam() { var e = new MarkAsSpamEventArgs(); FireBeforeMarkAsSpam(e); if (e.Cancel) { return; } var topic = Topic.GetTopic(TopicId); var forum = new Forum(topic.ParentId); var member = new Member(MemberId); var akismetApi = Forum.GetAkismetApi(); var akismetComment = Forum.ConstructAkismetComment(member, "comment", Body); akismetApi.SubmitSpam(akismetComment); Data.SqlHelper.ExecuteNonQuery("UPDATE forumComments SET isSpam = 1 WHERE id = " + Id); Id = 0; topic.Save(true); forum.Save(); FireAfterMarkAsSpam(e); }
public static Comment Create(int topicId, string body, int memberId) { Comment c = new Comment(); c.TopicId = topicId; c.Body = body; c.MemberId = memberId; c.Created = DateTime.Now; c.Position = (Topic.GetTopic(topicId).Replies) + 1; c.Exists = true; c.Save(); return(c); }
public void Delete() { DeleteEventArgs e = new DeleteEventArgs(); FireBeforeDelete(e); if (!e.Cancel) { Topic t = Topic.GetTopic(this.TopicId); Forum f = new Forum(t.ParentId); Data.SqlHelper.ExecuteNonQuery("DELETE FROM forumComments WHERE id = " + Id.ToString()); Id = 0; t.Save(true); f.Save(); FireAfterDelete(e); } }
public void Save(bool dontMarkAsSpam) { if (Id == 0) { if (Library.Utills.IsMember(MemberId) && !string.IsNullOrEmpty(Body)) { CreateEventArgs e = new CreateEventArgs(); FireBeforeCreate(e); if (e.Cancel) { return; } Data.SqlHelper.ExecuteNonQuery("INSERT INTO forumComments (topicId, memberId, body, position, isSpam) VALUES(@topicId, @memberId, @body, @position, @isSpam)", Data.SqlHelper.CreateParameter("@topicId", TopicId), Data.SqlHelper.CreateParameter("@memberId", MemberId), Data.SqlHelper.CreateParameter("@body", Body), Data.SqlHelper.CreateParameter("@position", Position), Data.SqlHelper.CreateParameter("@isSpam", dontMarkAsSpam ? false : Forum.IsSpam(MemberId, Body, "comment")) ); Created = DateTime.Now; Id = Data.SqlHelper.ExecuteScalar <int>("SELECT MAX(id) FROM forumComments WHERE memberId = @memberId", Data.SqlHelper.CreateParameter("@memberId", MemberId)); Topic t = Topic.GetTopic(TopicId); if (t.Exists) { t.Save(); } Forum f = new Forum(t.ParentId); if (f.Exists) { f.SetLatestComment(Id); f.SetLatestTopic(t.Id); f.SetLatestAuthor(MemberId); f.LatestPostDate = DateTime.Now; f.Save(); } FireAfterCreate(e); } } else { UpdateEventArgs e = new UpdateEventArgs(); FireBeforeUpdate(e); if (!e.Cancel) { Data.SqlHelper.ExecuteNonQuery("UPDATE forumComments SET topicId = @topicId, memberId = @memberId, body = @body, isSpam = @isSpam WHERE id = @id", Data.SqlHelper.CreateParameter("@topicId", TopicId), Data.SqlHelper.CreateParameter("@memberId", MemberId), Data.SqlHelper.CreateParameter("@body", Body), Data.SqlHelper.CreateParameter("@id", Id), Data.SqlHelper.CreateParameter("@isSpam", dontMarkAsSpam ? false : Forum.IsSpam(MemberId, Body, "comment")) ); FireAfterUpdate(e); } } }