diff options
author | git-marijus <mario@mariovavti.com> | 2017-07-16 21:02:28 +0200 |
---|---|---|
committer | git-marijus <mario@mariovavti.com> | 2017-07-16 21:02:28 +0200 |
commit | 5408264559fe79a0d55824f7bac909162822faeb (patch) | |
tree | 13b3982d87504b971c5e8119511f6d009e4fb85a | |
parent | bd17dc52f263206923fca43bf5c15b0754e66c82 (diff) | |
parent | e891199a23eb8839f0a6baa4b5695b058793917f (diff) | |
download | volse-hubzilla-5408264559fe79a0d55824f7bac909162822faeb.tar.gz volse-hubzilla-5408264559fe79a0d55824f7bac909162822faeb.tar.bz2 volse-hubzilla-5408264559fe79a0d55824f7bac909162822faeb.zip |
Merge remote-tracking branch 'mike/master' into dev
-rw-r--r-- | Zotlabs/Module/Wfinger.php | 2 | ||||
-rw-r--r-- | Zotlabs/Module/Xrd.php | 2 | ||||
-rw-r--r-- | include/feedutils.php | 21 |
3 files changed, 22 insertions, 3 deletions
diff --git a/Zotlabs/Module/Wfinger.php b/Zotlabs/Module/Wfinger.php index 9623a676b..07a7b7735 100644 --- a/Zotlabs/Module/Wfinger.php +++ b/Zotlabs/Module/Wfinger.php @@ -117,7 +117,7 @@ class Wfinger extends \Zotlabs\Web\Controller { [ 'rel' => 'http://ostatus.org/schema/1.0/subscribe', - 'template' => z_root() . '/follow/url={uri}', + 'template' => z_root() . '/follow?f=&url={uri}', ], [ diff --git a/Zotlabs/Module/Xrd.php b/Zotlabs/Module/Xrd.php index 9630e9ab4..64e5042cb 100644 --- a/Zotlabs/Module/Xrd.php +++ b/Zotlabs/Module/Xrd.php @@ -57,7 +57,7 @@ class Xrd extends \Zotlabs\Web\Controller { '$poco_url' => z_root() . '/poco/' . $r[0]['channel_address'], '$photo' => z_root() . '/photo/profile/l/' . $r[0]['channel_id'], '$modexp' => 'data:application/magic-public-key,' . $salmon_key, - '$subscribe' => z_root() . '/follow?url={uri}', + '$subscribe' => z_root() . '/follow?f=&url={uri}', )); diff --git a/include/feedutils.php b/include/feedutils.php index b1fcce9d3..6ee53e2f6 100644 --- a/include/feedutils.php +++ b/include/feedutils.php @@ -408,8 +408,11 @@ function get_atom_elements($feed, $item, &$author) { $ostatus_protocol = (($ostatus_conversation) ? true : false); $mastodon = (($item->get_item_tags('http://mastodon.social/schema/1.0','scope')) ? true : false); - if($mastodon) + if($mastodon) { $ostatus_protocol = true; + if(($mastodon[0]['data']) && ($mastodon[0]['data'] !== 'public')) + $res['item_private'] = 1; + } $apps = $item->get_item_tags(NAMESPACE_STATUSNET, 'notice_info'); if($apps && $apps[0]['attribs']['']['source']) { @@ -1024,6 +1027,14 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) { if(! $datarray['mid']) continue; + // A Mastodon privacy tag has been found. We cannot send private comments + // through the OStatus protocol, so block commenting. + + if(array_key_exists('item_private',$datarray) && intval($datarray['item_private'])) { + $datarray['public_policy'] = 'specific'; + $datarray['comment_policy'] = 'none'; + } + if($contact['xchan_network'] === 'rss') { $datarray['public_policy'] = 'specific'; $datarray['comment_policy'] = 'none'; @@ -1220,6 +1231,14 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) { if(! $datarray['mid']) continue; + // A Mastodon privacy tag has been found. We cannot send private comments + // through the OStatus protocol, so block commenting. + + if(array_key_exists('item_private',$datarray) && intval($datarray['item_private'])) { + $datarray['public_policy'] = 'specific'; + $datarray['comment_policy'] = 'none'; + } + if($contact['xchan_network'] === 'rss') { $datarray['public_policy'] = 'specific'; $datarray['comment_policy'] = 'none'; |