mirror of
https://git.bsd.gay/fef/nyastodon.git
synced 2024-12-28 07:43:42 +01:00
Strip HTML from keyword mute input. #234.
This commit is contained in:
parent
3405ea6dd9
commit
29b5b46c87
2 changed files with 24 additions and 16 deletions
|
@ -178,22 +178,7 @@ class FeedManager
|
|||
end
|
||||
|
||||
def keyword_filter?(status, receiver_id)
|
||||
text_matcher = Glitch::KeywordMute.text_matcher_for(receiver_id)
|
||||
tag_matcher = Glitch::KeywordMute.tag_matcher_for(receiver_id)
|
||||
|
||||
should_filter = text_matcher.matches?(status.text)
|
||||
should_filter ||= text_matcher.matches?(status.spoiler_text)
|
||||
should_filter ||= tag_matcher.matches?(status.tags)
|
||||
|
||||
if status.reblog?
|
||||
reblog = status.reblog
|
||||
|
||||
should_filter ||= text_matcher.matches?(reblog.text)
|
||||
should_filter ||= text_matcher.matches?(reblog.spoiler_text)
|
||||
should_filter ||= tag_matcher.matches?(status.tags)
|
||||
end
|
||||
|
||||
should_filter
|
||||
Glitch::FilterHelper.new(receiver_id).matches?(status)
|
||||
end
|
||||
|
||||
def filter_from_mentions?(status, receiver_id)
|
||||
|
|
23
app/models/glitch/filter_helper.rb
Normal file
23
app/models/glitch/filter_helper.rb
Normal file
|
@ -0,0 +1,23 @@
|
|||
class Glitch::FilterHelper
|
||||
include ActionView::Helpers::SanitizeHelper
|
||||
|
||||
attr_reader :text_matcher
|
||||
attr_reader :tag_matcher
|
||||
|
||||
def initialize(receiver_id)
|
||||
@text_matcher = Glitch::KeywordMute.text_matcher_for(receiver_id)
|
||||
@tag_matcher = Glitch::KeywordMute.tag_matcher_for(receiver_id)
|
||||
end
|
||||
|
||||
def matches?(status)
|
||||
matchers_match?(status) || (status.reblog? && matchers_match?(status.reblog))
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def matchers_match?(status)
|
||||
text_matcher.matches?(strip_tags(status.text)) ||
|
||||
text_matcher.matches?(strip_tags(status.spoiler_text)) ||
|
||||
tag_matcher.matches?(status.tags)
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue