projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Stash
[akkoma]
/
lib
/
pleroma
/
web
/
common_api
/
utils.ex
diff --git
a/lib/pleroma/web/common_api/utils.ex
b/lib/pleroma/web/common_api/utils.ex
index d36875705727f56a1a9e7662515aafc6d1b658b7..e50d63d7753652c4646abc93d920bbf73e21a131 100644
(file)
--- a/
lib/pleroma/web/common_api/utils.ex
+++ b/
lib/pleroma/web/common_api/utils.ex
@@
-6,21
+6,19
@@
defmodule Pleroma.Web.CommonAPI.Utils do
alias Calendar.Strftime
alias Comeonin.Pbkdf2
alias Pleroma.{Activity, Formatter, Object, Repo}
alias Calendar.Strftime
alias Comeonin.Pbkdf2
alias Pleroma.{Activity, Formatter, Object, Repo}
- alias Pleroma.
User
- alias Pleroma.Web
+ alias Pleroma.
{User, Web}
+ alias Pleroma.Web
.{Endpoint, MediaProxy}
alias Pleroma.Web.ActivityPub.Utils
alias Pleroma.Web.ActivityPub.Utils
- alias Pleroma.Web.Endpoint
- alias Pleroma.Web.MediaProxy
# This is a hack for twidere.
def get_by_id_or_ap_id(id) do
# This is a hack for twidere.
def get_by_id_or_ap_id(id) do
- activity = Repo.get(Activity, id) || Activity.get_create_
activity_
by_object_ap_id(id)
+ activity = Repo.get(Activity, id) || Activity.get_create_by_object_ap_id(id)
activity &&
if activity.data["type"] == "Create" do
activity
else
activity &&
if activity.data["type"] == "Create" do
activity
else
- Activity.get_create_
activity_
by_object_ap_id(activity.data["object"])
+ Activity.get_create_by_object_ap_id(activity.data["object"])
end
end
end
end
@@
-95,7
+93,7
@@
defmodule Pleroma.Web.CommonAPI.Utils do
def make_context(%Activity{data: %{"context" => context}}), do: context
def make_context(_), do: Utils.generate_context_id()
def make_context(%Activity{data: %{"context" => context}}), do: context
def make_context(_), do: Utils.generate_context_id()
- def maybe_add_attachments(text, _attachments,
_no_links = true
), do: text
+ def maybe_add_attachments(text, _attachments,
true = _no_links
), do: text
def maybe_add_attachments(text, attachments, _no_links) do
add_attachments(text, attachments)
def maybe_add_attachments(text, attachments, _no_links) do
add_attachments(text, attachments)
@@
-116,16
+114,18
@@
defmodule Pleroma.Web.CommonAPI.Utils do
Enum.join([text | attachment_text], "<br>")
end
Enum.join([text | attachment_text], "<br>")
end
+ def format_input(text, mentions, tags, format, options \\ [])
+
@doc """
Formatting text to plain text.
"""
@doc """
Formatting text to plain text.
"""
- def format_input(text, mentions, tags, "text/plain") do
+ def format_input(text, mentions, tags, "text/plain"
, options
) do
text
|> Formatter.html_escape("text/plain")
|> String.replace(~r/\r?\n/, "<br>")
|> (&{[], &1}).()
|> Formatter.add_links()
text
|> Formatter.html_escape("text/plain")
|> String.replace(~r/\r?\n/, "<br>")
|> (&{[], &1}).()
|> Formatter.add_links()
- |> Formatter.add_user_links(mentions)
+ |> Formatter.add_user_links(mentions
, options[:user_links] || []
)
|> Formatter.add_hashtag_links(tags)
|> Formatter.finalize()
end
|> Formatter.add_hashtag_links(tags)
|> Formatter.finalize()
end
@@
-133,24
+133,24
@@
defmodule Pleroma.Web.CommonAPI.Utils do
@doc """
Formatting text to html.
"""
@doc """
Formatting text to html.
"""
- def format_input(text, mentions, _tags, "text/html") do
+ def format_input(text, mentions, _tags, "text/html"
, options
) do
text
|> Formatter.html_escape("text/html")
|> (&{[], &1}).()
text
|> Formatter.html_escape("text/html")
|> (&{[], &1}).()
- |> Formatter.add_user_links(mentions)
+ |> Formatter.add_user_links(mentions
, options[:user_links] || []
)
|> Formatter.finalize()
end
@doc """
Formatting text to markdown.
"""
|> Formatter.finalize()
end
@doc """
Formatting text to markdown.
"""
- def format_input(text, mentions, tags, "text/markdown") do
+ def format_input(text, mentions, tags, "text/markdown"
, options
) do
text
|> Formatter.mentions_escape(mentions)
|> Earmark.as_html!()
|> Formatter.html_escape("text/html")
|> (&{[], &1}).()
text
|> Formatter.mentions_escape(mentions)
|> Earmark.as_html!()
|> Formatter.html_escape("text/html")
|> (&{[], &1}).()
- |> Formatter.add_user_links(mentions)
+ |> Formatter.add_user_links(mentions
, options[:user_links] || []
)
|> Formatter.add_hashtag_links(tags)
|> Formatter.finalize()
end
|> Formatter.add_hashtag_links(tags)
|> Formatter.finalize()
end