public SpamStatus CheckForSpam(SpamFilterPart part) { var settings = part.TypePartDefinition.Settings.GetModel <SpamFilterPartSettings>(); // evaluate the text to submit to the spam filters var text = _tokenizer.Replace(settings.Pattern, new Dictionary <string, object> { { "Content", part.ContentItem } }); var result = CheckForSpam(text, settings.Action); // trigger events and rules switch (result) { case SpamStatus.Spam: _spamEventHandler.SpamReported(part); _rulesManager.TriggerEvent("AntiSpam", "Spam", () => new Dictionary <string, object> { { "Content", part.ContentItem } }); break; case SpamStatus.Ham: _spamEventHandler.HamReported(part); _rulesManager.TriggerEvent("AntiSpam", "Ham", () => new Dictionary <string, object> { { "Content", part.ContentItem } }); break; default: throw new ArgumentOutOfRangeException(); } return(result); }
public SpamStatus CheckForSpam(SpamFilterPart part) { var settings = part.TypePartDefinition.Settings.GetModel<SpamFilterPartSettings>(); // evaluate the text to submit to the spam filters var text = _tokenizer.Replace(settings.Pattern, new Dictionary<string, object> { { "Content", part.ContentItem } }); var result = CheckForSpam(text, settings.Action); // trigger events and rules switch (result) { case SpamStatus.Spam: _spamEventHandler.SpamReported(part); _rulesManager.TriggerEvent("AntiSpam", "Spam", () => new Dictionary<string, object> { { "Content", part.ContentItem } }); break; case SpamStatus.Ham: _spamEventHandler.HamReported(part); _rulesManager.TriggerEvent("AntiSpam", "Ham", () => new Dictionary<string, object> { { "Content", part.ContentItem } }); break; default: throw new ArgumentOutOfRangeException(); } return result; }
private CommentCheckContext CreateCommentCheckContext(SpamFilterPart part, WorkContext workContext) { var settings = part.TypePartDefinition.Settings.GetModel <SpamFilterPartSettings>(); var data = new Dictionary <string, object> { { "Content", part.ContentItem } }; var context = new CommentCheckContext { Url = _tokenizer.Replace(settings.UrlPattern, data), Permalink = _tokenizer.Replace(settings.PermalinkPattern, data), CommentAuthor = _tokenizer.Replace(settings.CommentAuthorPattern, data), CommentAuthorEmail = _tokenizer.Replace(settings.CommentAuthorEmailPattern, data), CommentAuthorUrl = _tokenizer.Replace(settings.CommentAuthorUrlPattern, data), CommentContent = _tokenizer.Replace(settings.CommentContentPattern, data), CommentType = part.ContentItem.ContentType.ToLower() }; if (workContext.HttpContext != null) { context.UserIp = workContext.HttpContext.Request.ServerVariables["REMOTE_ADDR"]; context.UserAgent = workContext.HttpContext.Request.UserAgent; context.Referrer = Convert.ToString(workContext.HttpContext.Request.UrlReferrer); } return(context); }
public void ReportSpam(SpamFilterPart part) { var settings = part.TypePartDefinition.Settings.GetModel<SpamFilterPartSettings>(); // evaluate the text to submit to the spam filters var text = _tokenizer.Replace(settings.Pattern, new Dictionary<string, object> { { "Content", part.ContentItem } }); ReportSpam(text); }
public void ReportHam(SpamFilterPart part) { var settings = part.TypePartDefinition.Settings.GetModel <SpamFilterPartSettings>(); // evaluate the text to submit to the spam filters var text = _tokenizer.Replace(settings.Pattern, new Dictionary <string, object> { { "Content", part.ContentItem } }); ReportHam(text); }
public SpamStatus CheckForSpam(SpamFilterPart part) { var settings = part.TypePartDefinition.Settings.GetModel<SpamFilterPartSettings>(); var context = CreateCommentCheckContext(part, _workContextAccessor.GetContext()); if (string.IsNullOrWhiteSpace(context.CommentContent)) { return SpamStatus.Ham; } var result = CheckForSpam(context, settings.Action, part); return result; }
public SpamStatus CheckForSpam(SpamFilterPart part) { var settings = part.TypePartDefinition.Settings.GetModel <SpamFilterPartSettings>(); var context = CreateCommentCheckContext(part, _workContextAccessor.GetContext()); if (string.IsNullOrWhiteSpace(context.CommentContent)) { return(SpamStatus.Ham); } var result = CheckForSpam(context, settings.Action, part); return(result); }
public void ReportHam(SpamFilterPart part) { ReportHam(CreateCommentCheckContext(part, _workContextAccessor.GetContext())); }
public void ReportSpam(SpamFilterPart part) { ReportSpam(CreateCommentCheckContext(part, _workContextAccessor.GetContext())); }
private CommentCheckContext CreateCommentCheckContext(SpamFilterPart part, WorkContext workContext) { var settings = part.TypePartDefinition.Settings.GetModel<SpamFilterPartSettings>(); var data = new Dictionary<string, object> {{"Content", part.ContentItem}}; var context = new CommentCheckContext { Url = _tokenizer.Replace(settings.UrlPattern, data), Permalink = _tokenizer.Replace(settings.PermalinkPattern, data), CommentAuthor = _tokenizer.Replace(settings.CommentAuthorPattern, data), CommentAuthorEmail = _tokenizer.Replace(settings.CommentAuthorEmailPattern, data), CommentAuthorUrl = _tokenizer.Replace(settings.CommentAuthorUrlPattern, data), CommentContent = _tokenizer.Replace(settings.CommentContentPattern, data), }; if(workContext.HttpContext != null) { context.UserIp = workContext.HttpContext.Request.ServerVariables["REMOTE_ADDR"]; context.UserAgent = workContext.HttpContext.Request.UserAgent; context.Referrer = Convert.ToString(workContext.HttpContext.Request.UrlReferrer); } return context; }