aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/items.php22
-rw-r--r--include/notifier.php16
2 files changed, 24 insertions, 14 deletions
diff --git a/include/items.php b/include/items.php
index 221a8a65c..ce354de9b 100644
--- a/include/items.php
+++ b/include/items.php
@@ -129,17 +129,17 @@ function get_feed_for(&$a, $dfrn_id, $owner_id, $last_update, $direction = 0) {
$atom .= replace_macros($feed_template, array(
- '$feed_id' => xmlify($a->get_baseurl() . '/profile/' . $owner_nick),
- '$feed_title' => xmlify($owner['name']),
- '$feed_updated' => xmlify(datetime_convert('UTC', 'UTC', $updated . '+00:00' , ATOM_TIME)) ,
- '$hub' => $hubxml,
- '$name' => xmlify($owner['name']),
- '$profile_page' => xmlify($owner['url']),
- '$photo' => xmlify($owner['photo']),
- '$thumb' => xmlify($owner['thumb']),
- '$picdate' => xmlify(datetime_convert('UTC','UTC',$owner['avatar-date'] . '+00:00' , ATOM_TIME)) ,
- '$uridate' => xmlify(datetime_convert('UTC','UTC',$owner['uri-date'] . '+00:00' , ATOM_TIME)) ,
- '$namdate' => xmlify(datetime_convert('UTC','UTC',$owner['name-date'] . '+00:00' , ATOM_TIME))
+ '$feed_id' => xmlify($a->get_baseurl() . '/profile/' . $owner_nick),
+ '$feed_title' => xmlify($owner['name']),
+ '$feed_updated' => xmlify(datetime_convert('UTC', 'UTC', $updated . '+00:00' , ATOM_TIME)) ,
+ '$hub' => $hubxml,
+ '$name' => xmlify($owner['name']),
+ '$profile_page' => xmlify($owner['url']),
+ '$photo' => xmlify($owner['photo']),
+ '$thumb' => xmlify($owner['thumb']),
+ '$picdate' => xmlify(datetime_convert('UTC','UTC',$owner['avatar-date'] . '+00:00' , ATOM_TIME)) ,
+ '$uridate' => xmlify(datetime_convert('UTC','UTC',$owner['uri-date'] . '+00:00' , ATOM_TIME)) ,
+ '$namdate' => xmlify(datetime_convert('UTC','UTC',$owner['name-date'] . '+00:00' , ATOM_TIME))
));
diff --git a/include/notifier.php b/include/notifier.php
index 0166d0b37..f7d2844c3 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -60,12 +60,12 @@
if(! count($r))
killme();
- $parent = $r[0]['parent'];
+ $parent_id = $r[0]['parent'];
$uid = $r[0]['uid'];
$updated = $r[0]['edited'];
$items = q("SELECT * FROM `item` WHERE `parent` = %d ORDER BY `id` ASC",
- intval($parent)
+ intval($parent_id)
);
if(! count($items))
@@ -84,6 +84,8 @@
killme();
$hub = get_config('system','huburl');
+ // If this is a public conversation, notify the feed hub
+ $notify_hub = true;
if($cmd != 'mail') {
@@ -94,11 +96,18 @@
if($parent['type'] === 'remote') {
// local followup to remote post
$followup = true;
+ $notify_hub = false; // not public
$conversant_str = dbesc($parent['contact-id']);
}
else {
$followup = false;
+ if((strlen($parent['allow_cid']))
+ || (strlen($parent['allow_gid']))
+ || (strlen($parent['deny_cid']))
+ || (strlen($parent['deny_gid'])))
+ $notify_hub = false; // private recipients, not public
+
$allow_people = expand_acl($parent['allow_cid']);
$allow_groups = expand_groups(expand_acl($parent['allow_gid']));
$deny_people = expand_acl($parent['deny_cid']);
@@ -158,6 +167,7 @@
));
if($cmd === 'mail') {
+ $notify_hub = false; // mail is not public
$atom .= replace_macros($mail_template, array(
'$name' => xmlify($owner['name']),
'$profile_page' => xmlify($owner['url']),
@@ -302,7 +312,7 @@
}
}
- if((strlen($hub)) && ($cmd !== 'mail') && ($followup == false)) {
+ if((strlen($hub)) && ($notify_hub)) {
$params = 'hub.mode=publish&hub.url=' . urlencode($a->get_baseurl() . '/dfrn_poll/' . $owner['nickname'] );
post_url($hub,$params);
}