diff options
author | Alex Gleason <alex@alexgleason.me> | 2022-01-30 10:57:29 -0600 |
---|---|---|
committer | tusooa <tusooa@kazv.moe> | 2023-09-13 19:19:05 -0400 |
commit | f9697e68c2b75a77575b9b7c89d08a5687bfd7b4 (patch) | |
tree | b86b6c5ec8e8446e4b4403fcc031ca3f283e61c6 /lib | |
parent | 79fca39faf6d084eabb6be44a2263431943b8dd4 (diff) | |
download | pleroma-f9697e68c2b75a77575b9b7c89d08a5687bfd7b4.tar.gz pleroma-f9697e68c2b75a77575b9b7c89d08a5687bfd7b4.zip |
InlineQuotePolicy: skip objects which already have an .inline-quote span
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/mrf/inline_quote_policy.ex | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/pleroma/web/activity_pub/mrf/inline_quote_policy.ex b/lib/pleroma/web/activity_pub/mrf/inline_quote_policy.ex index 7de4935f2..c78675caf 100644 --- a/lib/pleroma/web/activity_pub/mrf/inline_quote_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/inline_quote_policy.ex @@ -10,10 +10,21 @@ defmodule Pleroma.Web.ActivityPub.MRF.InlineQuotePolicy do "<span class=\"quote-inline\"><br/><br/>#{prefix}: <a href=\"#{url}\">#{url}</a></span>" end + defp has_inline_quote?(content, quote_url) do + cond do + # Does the quote URL exist in the content? + content =~ quote_url -> true + # Does the content already have a .quote-inline span? + content =~ "<span class=\"quote-inline\">" -> true + # No inline quote found + true -> false + end + end + defp filter_object(%{"quoteUrl" => quote_url} = object) do content = object["content"] || "" - if content =~ quote_url do + if has_inline_quote?(content, quote_url) do object else prefix = Pleroma.Config.get([:mrf_inline_quote, :prefix]) |