aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/formatter.ex6
-rw-r--r--lib/pleroma/web/common_api/common_api.ex9
-rw-r--r--lib/pleroma/web/common_api/utils.ex34
-rw-r--r--lib/pleroma/web/twitter_api/twitter_api_controller.ex2
4 files changed, 7 insertions, 44 deletions
diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex
index 93cd12fa6..cf2944c38 100644
--- a/lib/pleroma/formatter.ex
+++ b/lib/pleroma/formatter.ex
@@ -188,11 +188,7 @@ defmodule Pleroma.Formatter do
]
# TODO: make it use something other than @link_regex
- def html_escape(text, "text/html") do
- HtmlSanitizeEx.basic_html(text)
- end
-
- def html_escape(text, "text/plain") do
+ def html_escape(text) do
Regex.split(@link_regex, text, include_captures: true)
|> Enum.map_every(2, fn chunk ->
{:safe, part} = Phoenix.HTML.html_escape(chunk)
diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex
index 2ab50c968..125c57d05 100644
--- a/lib/pleroma/web/common_api/common_api.ex
+++ b/lib/pleroma/web/common_api/common_api.ex
@@ -85,14 +85,7 @@ defmodule Pleroma.Web.CommonAPI do
{to, cc} <- to_for_user_and_mentions(user, mentions, inReplyTo, visibility),
tags <- Formatter.parse_tags(status, data),
content_html <-
- make_content_html(
- status,
- mentions,
- attachments,
- tags,
- data["content_type"] || "text/plain",
- data["no_attachment_links"]
- ),
+ make_content_html(status, mentions, attachments, tags, data["no_attachment_links"]),
context <- make_context(inReplyTo),
cw <- data["spoiler_text"],
object <-
diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex
index 667027c02..358ca22ac 100644
--- a/lib/pleroma/web/common_api/utils.ex
+++ b/lib/pleroma/web/common_api/utils.ex
@@ -63,16 +63,9 @@ defmodule Pleroma.Web.CommonAPI.Utils do
end
end
- def make_content_html(
- status,
- mentions,
- attachments,
- tags,
- content_type,
- no_attachment_links \\ false
- ) do
+ def make_content_html(status, mentions, attachments, tags, no_attachment_links \\ false) do
status
- |> format_input(mentions, tags, content_type)
+ |> format_input(mentions, tags)
|> maybe_add_attachments(attachments, no_attachment_links)
end
@@ -99,9 +92,9 @@ defmodule Pleroma.Web.CommonAPI.Utils do
Enum.join([text | attachment_text], "<br>")
end
- def format_input(text, mentions, tags, "text/plain") do
+ def format_input(text, mentions, tags) do
text
- |> Formatter.html_escape("text/plain")
+ |> Formatter.html_escape()
|> String.replace(~r/\r?\n/, "<br>")
|> (&{[], &1}).()
|> Formatter.add_links()
@@ -110,25 +103,6 @@ defmodule Pleroma.Web.CommonAPI.Utils do
|> Formatter.finalize()
end
- def format_input(text, mentions, tags, "text/html") do
- text
- |> Formatter.html_escape("text/html")
- |> String.replace(~r/\r?\n/, "<br>")
- |> (&{[], &1}).()
- |> Formatter.add_user_links(mentions)
- |> Formatter.finalize()
- end
-
- def format_input(text, mentions, tags, "text/markdown") do
- text
- |> Earmark.as_html!()
- |> Formatter.html_escape("text/html")
- |> String.replace(~r/\r?\n/, "")
- |> (&{[], &1}).()
- |> Formatter.add_user_links(mentions)
- |> Formatter.finalize()
- end
-
def add_tag_links(text, tags) do
tags =
tags
diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex
index 244d31dda..b3a56b27e 100644
--- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex
+++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex
@@ -423,7 +423,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
{String.trim(name, ":"), url}
end)
- bio_html = CommonUtils.format_input(bio, mentions, tags, "text/plain")
+ bio_html = CommonUtils.format_input(bio, mentions, tags)
Map.put(params, "bio", bio_html |> Formatter.emojify(emoji))
else
params