diff options
author | rinpatch <rinpatch@sdf.org> | 2020-02-09 12:15:52 +0000 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2020-02-09 12:15:52 +0000 |
commit | 42f76306e7fe69fc51be00285a4fef8569f54989 (patch) | |
tree | 416bc4048224a5fc9312c4c5834ea5207497a6b7 /lib/pleroma/user.ex | |
parent | 1629fa2412b877f69c5cf0df09782227827b272b (diff) | |
parent | 06fec99e1d8d4be6cb71551089f2d95e936d6990 (diff) | |
download | pleroma-1.1.9.tar.gz |
Merge branch 'release/1.1.9' into 'stable'v1.1.9
Release/1.1.9
See merge request pleroma/pleroma!2189
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r-- | lib/pleroma/user.ex | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index f5d3245dc..1f5a47e05 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -177,11 +177,25 @@ defmodule Pleroma.User do |> Repo.aggregate(:count, :id) end + defp truncate_if_exists(params, key, max_length) do + if Map.has_key?(params, key) and is_binary(params[key]) do + {value, _chopped} = String.split_at(params[key], max_length) + Map.put(params, key, value) + else + params + end + end + def remote_user_creation(params) do bio_limit = Pleroma.Config.get([:instance, :user_bio_length], 5000) name_limit = Pleroma.Config.get([:instance, :user_name_length], 100) - params = Map.put(params, :info, params[:info] || %{}) + params = + params + |> Map.put(:info, params[:info] || %{}) + |> truncate_if_exists(:name, name_limit) + |> truncate_if_exists(:bio, bio_limit) + info_cng = User.Info.remote_user_creation(%User.Info{}, params[:info]) changes = |