diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/formatter.ex | 10 | ||||
-rw-r--r-- | lib/pleroma/web/twitter_api/representers/activity_representer.ex | 4 |
2 files changed, 11 insertions, 3 deletions
diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex index f85eb04b7..e9f4bf06b 100644 --- a/lib/pleroma/formatter.ex +++ b/lib/pleroma/formatter.ex @@ -95,8 +95,14 @@ defmodule Pleroma.Formatter do @emoji @finmoji_with_filenames - def emojify(text) do - Enum.reduce(@emoji, text, fn ({emoji, file}, text) -> + def emojify(text, additional \\ nil) do + all_emoji = if additional do + @emoji ++ Map.to_list(additional) + else + @emoji + end + + Enum.reduce(all_emoji, text, fn ({emoji, file}, text) -> String.replace(text, ":#{emoji}:", "<img height='32px' width='32px' alt='#{emoji}' title='#{emoji}' src='#{file}' />") end) end diff --git a/lib/pleroma/web/twitter_api/representers/activity_representer.ex b/lib/pleroma/web/twitter_api/representers/activity_representer.ex index 29a9f3941..929e26bf0 100644 --- a/lib/pleroma/web/twitter_api/representers/activity_representer.ex +++ b/lib/pleroma/web/twitter_api/representers/activity_representer.ex @@ -135,11 +135,13 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter do tags = activity.data["object"]["tag"] || [] possibly_sensitive = Enum.member?(tags, "nsfw") + html = HtmlSanitizeEx.basic_html(content) |> Formatter.emojify(object["emoji"]) + %{ "id" => activity.id, "uri" => activity.data["object"]["id"], "user" => UserView.render("show.json", %{user: user, for: opts[:for]}), - "statusnet_html" => HtmlSanitizeEx.basic_html(content) |> Formatter.emojify, + "statusnet_html" => html, "text" => HtmlSanitizeEx.strip_tags(content), "is_local" => activity.local, "is_post_verb" => true, |