diff options
author | David Underwood <davefp@gmail.com> | 2018-04-01 17:55:42 -0400 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2018-04-01 23:55:42 +0200 |
commit | 123a343d116d3e83cbd04460cc7bd0b6f3d208c4 (patch) | |
tree | 7d834be5438d835fe90744e0ba011f585cf252b1 /app/services/update_remote_profile_service.rb | |
parent | f464f98fd3b8ef33b3afa5acf09e829c046134de (diff) |
[WIP] Enable custom emoji on account pages and in the sidebar (#6124)
Federate custom emojis with accounts
Diffstat (limited to 'app/services/update_remote_profile_service.rb')
-rw-r--r-- | app/services/update_remote_profile_service.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/app/services/update_remote_profile_service.rb b/app/services/update_remote_profile_service.rb index 49a907682..aca1185de 100644 --- a/app/services/update_remote_profile_service.rb +++ b/app/services/update_remote_profile_service.rb @@ -40,6 +40,27 @@ class UpdateRemoteProfileService < BaseService account.header_remote_url = '' account.header.destroy end + + save_emojis(account) if remote_profile.emojis.present? + end + end + + def save_emojis(parent) + do_not_download = DomainBlock.find_by(domain: parent.account.domain)&.reject_media? + + return if do_not_download + + remote_account.emojis.each do |link| + next unless link['href'] && link['name'] + + shortcode = link['name'].delete(':') + emoji = CustomEmoji.find_by(shortcode: shortcode, domain: parent.account.domain) + + next unless emoji.nil? + + emoji = CustomEmoji.new(shortcode: shortcode, domain: parent.account.domain) + emoji.image_remote_url = link['href'] + emoji.save end end end |