Skip to content
Snippets Groups Projects
Commit 434cf823 authored by Eugen Rochko's avatar Eugen Rochko
Browse files

Optional domain block attribute that prevents media attachments from being downloaded

parent cca82bf0
No related branches found
No related tags found
No related merge requests found
......@@ -180,6 +180,8 @@ class ProcessFeedService < BaseService
end
def media_from_xml(parent, xml)
return if DomainBlock.find_by(domain: parent.account.domain)&.reject_media?
xml.xpath('./xmlns:link[@rel="enclosure"]', xmlns: TagManager::XMLNS).each do |link|
next unless link['href']
......
......@@ -4,7 +4,7 @@ class ProcessHashtagsService < BaseService
def call(status, tags = [])
tags = status.text.scan(Tag::HASHTAG_RE).map(&:first) if status.local?
tags.map { |str| str.mb_chars.downcase }.uniq{ |t| t.to_s }.each do |tag|
tags.map { |str| str.mb_chars.downcase }.uniq(&:to_s).each do |tag|
status.tags << Tag.where(name: tag).first_or_initialize(name: tag)
end
......
class AddRejectMediaToDomainBlocks < ActiveRecord::Migration[5.0]
def change
add_column :domain_blocks, :reject_media, :boolean
end
end
......@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20170123162658) do
ActiveRecord::Schema.define(version: 20170123203248) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
......@@ -55,10 +55,11 @@ ActiveRecord::Schema.define(version: 20170123162658) do
end
create_table "domain_blocks", force: :cascade do |t|
t.string "domain", default: "", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "severity", default: 0
t.string "domain", default: "", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "severity", default: 0
t.boolean "reject_media"
t.index ["domain"], name: "index_domain_blocks_on_domain", unique: true, using: :btree
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment