aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorgit-marijus <mario@mariovavti.com>2017-07-16 21:02:28 +0200
committergit-marijus <mario@mariovavti.com>2017-07-16 21:02:28 +0200
commit5408264559fe79a0d55824f7bac909162822faeb (patch)
tree13b3982d87504b971c5e8119511f6d009e4fb85a /include
parentbd17dc52f263206923fca43bf5c15b0754e66c82 (diff)
parente891199a23eb8839f0a6baa4b5695b058793917f (diff)
downloadvolse-hubzilla-5408264559fe79a0d55824f7bac909162822faeb.tar.gz
volse-hubzilla-5408264559fe79a0d55824f7bac909162822faeb.tar.bz2
volse-hubzilla-5408264559fe79a0d55824f7bac909162822faeb.zip
Merge remote-tracking branch 'mike/master' into dev
Diffstat (limited to 'include')
-rw-r--r--include/feedutils.php21
1 files changed, 20 insertions, 1 deletions
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';