diff options
author | Alexander Strizhakov <alex.strizhakov@gmail.com> | 2020-03-20 13:04:37 +0300 |
---|---|---|
committer | Alexander Strizhakov <alex.strizhakov@gmail.com> | 2020-03-20 16:36:20 +0300 |
commit | fe15f0ba15d02809fa4c21fb646e65d06060f3bb (patch) | |
tree | f72b9278a7db7e5b9f3439974e06e26ad1095e24 /lib/pleroma/user.ex | |
parent | d63dca8d99196c91dc3e20e2d27f61ea753b84af (diff) | |
download | pleroma-fe15f0ba15d02809fa4c21fb646e65d06060f3bb.tar.gz |
restrict_unauthenticated setting
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r-- | lib/pleroma/user.ex | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 911dde6e2..8693c0b80 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -237,7 +237,18 @@ defmodule Pleroma.User do def visible_for?(%User{invisible: true}, _), do: false - def visible_for?(%User{id: user_id}, %User{id: for_id}) when user_id == for_id, do: true + def visible_for?(%User{id: user_id}, %User{id: user_id}), do: true + + def visible_for?(%User{local: local} = user, nil) do + cfg_key = + if local, + do: :local, + else: :remote + + if Config.get([:restrict_unauthenticated, :profiles, cfg_key]), + do: false, + else: account_status(user) == :active + end def visible_for?(%User{} = user, for_user) do account_status(user) == :active || superuser?(for_user) |