diff options
author | kaniini <nenolod@gmail.com> | 2018-09-22 03:08:19 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2018-09-22 03:08:19 +0000 |
commit | ec6a7799d8e6b912007b25df9398375f93728b4d (patch) | |
tree | 52a094ce864c6ea2766f0b2bb920c13dabd3a001 /lib/pleroma/web/twitter_api | |
parent | 4cb6331843d25c91bb374563b2dc8e41d41a4c9c (diff) | |
parent | bd03644ca8d3877fd1abb0c8f8d58603c5a4329e (diff) | |
download | pleroma-ec6a7799d8e6b912007b25df9398375f93728b4d.tar.gz |
Merge branch 'feature/rich-text-optout-backend' into 'develop'
backend support for opting out of rich text on a per-account basis
See merge request pleroma/pleroma!354
Diffstat (limited to 'lib/pleroma/web/twitter_api')
4 files changed, 17 insertions, 3 deletions
diff --git a/lib/pleroma/web/twitter_api/representers/activity_representer.ex b/lib/pleroma/web/twitter_api/representers/activity_representer.ex index 5c4eed671..b21bbb205 100644 --- a/lib/pleroma/web/twitter_api/representers/activity_representer.ex +++ b/lib/pleroma/web/twitter_api/representers/activity_representer.ex @@ -168,7 +168,7 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter do {summary, content} = ActivityView.render_content(object) html = - HTML.filter_tags(content) + HTML.filter_tags(content, User.html_filter_policy(opts[:for])) |> Formatter.emojify(object["emoji"]) video = diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex index b3a56b27e..cd2bb5b57 100644 --- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex +++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex @@ -444,6 +444,20 @@ defmodule Pleroma.Web.TwitterAPI.Controller do end user = + if no_rich_text = params["no_rich_text"] do + with no_rich_text <- no_rich_text == "true", + new_info <- Map.put(user.info, "no_rich_text", no_rich_text), + change <- User.info_changeset(user, %{info: new_info}), + {:ok, user} <- User.update_and_set_cache(change) do + user + else + _e -> user + end + else + user + end + + user = if default_scope = params["default_scope"] do with new_info <- Map.put(user.info, "default_scope", default_scope), change <- User.info_changeset(user, %{info: new_info}), diff --git a/lib/pleroma/web/twitter_api/views/activity_view.ex b/lib/pleroma/web/twitter_api/views/activity_view.ex index 666a35a24..b9fd062d6 100644 --- a/lib/pleroma/web/twitter_api/views/activity_view.ex +++ b/lib/pleroma/web/twitter_api/views/activity_view.ex @@ -233,7 +233,7 @@ defmodule Pleroma.Web.TwitterAPI.ActivityView do {summary, content} = render_content(object) html = - HTML.filter_tags(content) + HTML.filter_tags(content, User.html_filter_policy(opts[:for])) |> Formatter.emojify(object["emoji"]) %{ diff --git a/lib/pleroma/web/twitter_api/views/user_view.ex b/lib/pleroma/web/twitter_api/views/user_view.ex index f2641047f..cec9e11a0 100644 --- a/lib/pleroma/web/twitter_api/views/user_view.ex +++ b/lib/pleroma/web/twitter_api/views/user_view.ex @@ -40,7 +40,7 @@ defmodule Pleroma.Web.TwitterAPI.UserView do data = %{ "created_at" => user.inserted_at |> Utils.format_naive_asctime(), "description" => HTML.strip_tags((user.bio || "") |> String.replace("<br>", "\n")), - "description_html" => HTML.filter_tags(user.bio), + "description_html" => HTML.filter_tags(user.bio, User.html_filter_policy(assigns[:for])), "favourites_count" => 0, "followers_count" => user_info[:follower_count], "following" => following, |