logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: df8fc7249103fc1fdb574463201f02f4c99f9bec
parent: e30752bc79d9e03a64c83a7990a7afdcb0176a07
Author: lain <lain@soykaf.club>
Date:   Wed, 28 Mar 2018 09:56:32 +0200

Don't go through all available emoji.

object carry their emoji information.

Diffstat:

Mlib/pleroma/formatter.ex12++++--------
Mlib/pleroma/web/twitter_api/representers/activity_representer.ex3++-
Mlib/pleroma/web/twitter_api/views/activity_view.ex3++-
3 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex @@ -110,14 +110,10 @@ defmodule Pleroma.Formatter do @emoji @finmoji_with_filenames ++ @emoji_from_file - def emojify(text, additional \\ nil) do - all_emoji = if additional do - Map.to_list(additional) ++ @emoji - else - @emoji - end - - Enum.reduce(all_emoji, text, fn ({emoji, file}, text) -> + def emojify(text, emoji \\ @emoji) + def emojify(text, nil), do: text + def emojify(text, emoji) do + Enum.reduce(emoji, text, fn ({emoji, file}, text) -> emoji = HtmlSanitizeEx.strip_tags(emoji) file = HtmlSanitizeEx.strip_tags(file) String.replace(text, ":#{emoji}:", "<img height='32px' width='32px' alt='#{emoji}' title='#{emoji}' src='#{MediaProxy.url(file)}' />") diff --git a/lib/pleroma/web/twitter_api/representers/activity_representer.ex b/lib/pleroma/web/twitter_api/representers/activity_representer.ex @@ -145,7 +145,8 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter do content end - html = HtmlSanitizeEx.basic_html(content) |> Formatter.emojify(object["emoji"]) + html = HtmlSanitizeEx.basic_html(content) + |> Formatter.emojify(object["emoji"]) %{ "id" => activity.id, diff --git a/lib/pleroma/web/twitter_api/views/activity_view.ex b/lib/pleroma/web/twitter_api/views/activity_view.ex @@ -37,7 +37,8 @@ defmodule Pleroma.Web.TwitterAPI.ActivityView do content end - html = HtmlSanitizeEx.basic_html(content) |> Formatter.emojify(object["emoji"]) + html = HtmlSanitizeEx.basic_html(content) + |> Formatter.emojify(object["emoji"]) %{ "id" => activity.id,