aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2020-04-07 11:41:10 +0000
committerrinpatch <rinpatch@sdf.org>2020-04-07 11:41:10 +0000
commitdd4d10b275e76afc029aea642ae3d69b07e33d81 (patch)
tree88fad52cf745203f9317edeafcc7887a5a5b9005 /lib
parent1d4ab06505ec5143dbb1d78d718fa9efd1497751 (diff)
parent06471940e0cb917bb362cbcb9d872ab1336a04cf (diff)
downloadpleroma-dd4d10b275e76afc029aea642ae3d69b07e33d81.tar.gz
Merge branch 'fix-auto-link-for-profile-fields' into 'develop'
Use Pleroma.Formatter.linkify/2 instead See merge request pleroma/pleroma!2352
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/user.ex20
1 files changed, 8 insertions, 12 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index ff828aa17..71c8c3a4e 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -16,6 +16,7 @@ defmodule Pleroma.User do
alias Pleroma.Conversation.Participation
alias Pleroma.Delivery
alias Pleroma.FollowingRelationship
+ alias Pleroma.Formatter
alias Pleroma.HTML
alias Pleroma.Keys
alias Pleroma.Notification
@@ -452,7 +453,7 @@ defmodule Pleroma.User do
fields =
raw_fields
- |> Enum.map(fn f -> Map.update!(f, "value", &AutoLinker.link(&1)) end)
+ |> Enum.map(fn f -> Map.update!(f, "value", &parse_fields(&1)) end)
changeset
|> put_change(:raw_fields, raw_fields)
@@ -462,6 +463,12 @@ defmodule Pleroma.User do
end
end
+ defp parse_fields(value) do
+ value
+ |> Formatter.linkify(mentions_format: :full)
+ |> elem(0)
+ end
+
defp put_change_if_present(changeset, map_field, value_function) do
if value = get_change(changeset, map_field) do
with {:ok, new_value} <- value_function.(value) do
@@ -1979,17 +1986,6 @@ defmodule Pleroma.User do
def fields(%{fields: fields}), do: fields
- def sanitized_fields(%User{} = user) do
- user
- |> User.fields()
- |> Enum.map(fn %{"name" => name, "value" => value} ->
- %{
- "name" => name,
- "value" => Pleroma.HTML.filter_tags(value, Pleroma.HTML.Scrubber.LinksOnly)
- }
- end)
- end
-
def validate_fields(changeset, remote? \\ false) do
limit_name = if remote?, do: :max_remote_account_fields, else: :max_account_fields
limit = Pleroma.Config.get([:instance, limit_name], 0)