aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2018-02-24 13:06:53 +0100
committerlain <lain@soykaf.club>2018-02-24 13:06:53 +0100
commitfb02300234f547363242f0a768b6d35e7a1a87be (patch)
tree7411911388da2d30f5ef6873ffb69dedc9964e8b /lib
parent9a4d400ff4d2c5c860bcb6582db01879cafd7467 (diff)
downloadpleroma-fb02300234f547363242f0a768b6d35e7a1a87be.tar.gz
Pleroma AP detection mechanism.
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/ostatus/ostatus.ex7
-rw-r--r--lib/pleroma/web/ostatus/user_representer.ex8
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