Ejemplo n.º 1
0
 protected virtual void FireBeforeMarkAsHam(MarkAsHamEventArgs e)
 {
     _events.FireCancelableEvent(BeforeMarkAsHam, this, e);
 }
Ejemplo n.º 2
0
        public void MarkAsHam()
        {
            var markAsHamEventArgs = new MarkAsHamEventArgs();
            FireBeforeMarkAsHam(markAsHamEventArgs);

            if (markAsHamEventArgs.Cancel)
                return;

            var forum = new Forum(ParentId);

            var topic = GetTopic(Id);
            var member = new Member(topic.MemberId);
            var akismetApi = Forum.GetAkismetApi();
            var akismetComment = Forum.ConstructAkismetComment(member, "topic", string.Format("{0} - {1}", Title, Body));
            akismetApi.SubmitHam(akismetComment);

            Data.SqlHelper.ExecuteNonQuery("UPDATE forumTopics SET isSpam = 0 WHERE id = @id", Data.SqlHelper.CreateParameter("@id", Id.ToString(CultureInfo.InvariantCulture)));

            Id = 0;

            forum.Save();

            // Set reputation to at least 50 so their next posts won't be automatically marked as spam
            int reputation;
            int.TryParse(member.getProperty("reputationTotal").Value.ToString(), out reputation);
            if (reputation < 50)
                member.getProperty("reputationTotal").Value = 50;

            int.TryParse(member.getProperty("reputationCurrent").Value.ToString(), out reputation);
            if (reputation < 50)
                member.getProperty("reputationCurrent").Value = 50;

            member.Save();

            FireAfterMarkAsHam(markAsHamEventArgs);
        }
Ejemplo n.º 3
0
 protected virtual void FireAfterMarkAsHam(MarkAsHamEventArgs e)
 {
     if (AfterMarkAsHam != null)
         AfterMarkAsHam(this, e);
 }
Ejemplo n.º 4
0
        public void MarkAsHam()
        {
            var e = new MarkAsHamEventArgs();

            FireBeforeMarkAsHam(e);

            if (e.Cancel)
                return;

            var topic = Topic.GetTopic(TopicId);
            var forum = new Forum(topic.ParentId);

            var member = new Member(MemberId);

            Data.SqlHelper.ExecuteNonQuery("UPDATE forumComments SET isSpam = 0 WHERE id = " + Id);
            Id = 0;

            topic.Save(true);
            forum.Save();

            // Set reputation to at least 50 so their next posts won't be automatically marked as spam
            int reputation;
            int.TryParse(member.getProperty("reputationTotal").Value.ToString(), out reputation);
            if (reputation < 50)
                member.getProperty("reputationTotal").Value = 50;

            int.TryParse(member.getProperty("reputationCurrent").Value.ToString(), out reputation);
            if (reputation < 50)
                member.getProperty("reputationCurrent").Value = 50;

            member.getProperty("blocked").Value = false;
            member.Save();

            FireAfterMarkAsHam(e);
        }