diff options
author | lain <lain@soykaf.club> | 2018-02-24 13:06:53 +0100 |
---|---|---|
committer | lain <lain@soykaf.club> | 2018-02-24 13:06:53 +0100 |
commit | fb02300234f547363242f0a768b6d35e7a1a87be (patch) | |
tree | 7411911388da2d30f5ef6873ffb69dedc9964e8b /lib | |
parent | 9a4d400ff4d2c5c860bcb6582db01879cafd7467 (diff) | |
download | pleroma-fb02300234f547363242f0a768b6d35e7a1a87be.tar.gz |
Pleroma AP detection mechanism.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/ostatus/ostatus.ex | 7 | ||||
-rw-r--r-- | lib/pleroma/web/ostatus/user_representer.ex | 8 |
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/pleroma/web/ostatus/ostatus.ex b/lib/pleroma/web/ostatus/ostatus.ex index 3f5cfdc8a..66e119212 100644 --- a/lib/pleroma/web/ostatus/ostatus.ex +++ b/lib/pleroma/web/ostatus/ostatus.ex @@ -177,6 +177,13 @@ defmodule Pleroma.Web.OStatus do end def maybe_update(doc, user) do + if "true" == string_from_xpath("//author[1]/ap_enabled", doc) do + Transmogrifier.upgrade_user_from_ap_id(user.ap_id) + else + maybe_update_ostatus(doc, user) + end + end + def maybe_update_ostatus(doc, user) do old_data = %{ avatar: user.avatar, bio: user.bio, diff --git a/lib/pleroma/web/ostatus/user_representer.ex b/lib/pleroma/web/ostatus/user_representer.ex index 20ebb3e08..5af439c9d 100644 --- a/lib/pleroma/web/ostatus/user_representer.ex +++ b/lib/pleroma/web/ostatus/user_representer.ex @@ -12,6 +12,12 @@ defmodule Pleroma.Web.OStatus.UserRepresenter do [] end + ap_enabled = if user.local do + [{:ap_enabled, ['true']}] + else + [] + end + [ {:id, [ap_id]}, {:"activity:object", ['http://activitystrea.ms/schema/1.0/person']}, @@ -22,6 +28,6 @@ defmodule Pleroma.Web.OStatus.UserRepresenter do {:summary, [bio]}, {:name, [nickname]}, {:link, [rel: 'avatar', href: avatar_url], []} - ] ++ banner + ] ++ banner ++ ap_enabled end end |