public static string AsHtml(this SpamStatus instance, string id) { const string Template = "<span{0}{1}>{2}</span>"; string idAttribute = string.IsNullOrWhiteSpace(id) ? string.Empty : " id=\"{0}\"".FormatWith(id); string html; switch (instance) { case SpamStatus.BadWord: case SpamStatus.Phishing: case SpamStatus.Malware: { html = Template.FormatWith(idAttribute, " class=\"warningText\"", "Spam"); break; } default: { html = Template.FormatWith(idAttribute, string.Empty, instance.AsDescriptiveText()); break; } } return(html); }
public SpamStatus CheckStatus(ShortUrl shortUrl) { Check.Argument.IsNotNull(shortUrl, "shortUrl"); int phishingCount; int malwareCount; googleSafeBrowsing.Verify(shortUrl.Url, out phishingCount, out malwareCount); SpamStatus status = SpamStatus.None; if ((phishingCount > 0) || (malwareCount > 0)) { if (phishingCount > 0) { status |= SpamStatus.Phishing; } if (malwareCount > 0) { status |= SpamStatus.Malware; } } else { status = SpamStatus.Clean; } return(status); }
public void UpdateShortUrlSpamStatus(string aliasName, SpamStatus status) { ShortUrl shortUrl = shortUrlRepository.GetByAliasName(aliasName); shortUrl.SpamStatus = status; unitOfWork.Commit(); }
private void OnCreate(Alias alias) { eventAggregator.GetEvent <ShortUrlCreatedEvent>().Publish(new EventArgs <Alias>(alias)); ShortUrl shortUrl = alias.ShortUrl; SpamStatus status = spamDetectors.Aggregate(shortUrl.SpamStatus, (current, detector) => current | detector.CheckStatus(shortUrl)); shortUrl.SpamStatus = status; if (shortUrl.SpamStatus.IsSpam()) { if (shortUrl.SpamStatus.IsClean()) { shortUrl.SpamStatus ^= SpamStatus.Clean; } eventAggregator.GetEvent <PossibleSpamDetectedEvent>().Publish(new EventArgs <Alias>(alias)); } }
public static bool IsPhishing(this SpamStatus instance) { return((instance & SpamStatus.Phishing) == SpamStatus.Phishing); }
public static bool IsBadWord(this SpamStatus instance) { return((instance & SpamStatus.BadWord) == SpamStatus.BadWord); }
public static bool IsClean(this SpamStatus instance) { return((instance & SpamStatus.Clean) == SpamStatus.Clean); }
public static bool IsSpam(this SpamStatus instance) { return(IsBadWord(instance) || IsPhishing(instance) || IsMalware(instance)); }
public static bool IsMalware(this SpamStatus instance) { return((instance & SpamStatus.Malware) == SpamStatus.Malware); }
public static string AsHtml(this SpamStatus instance) { return(AsHtml(instance, null)); }
private ActionResult UpdateShortUrlSpamStatus(string alias, SpamStatus status) { administrativeService.UpdateShortUrlSpamStatus(alias, status); return(this.AdaptivePostRedirectGet(null, administrativeService.GetShortUrl(alias), Url.Url(alias))); }