aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorFriendika <info@friendika.com>2011-10-13 15:32:43 -0700
committerFriendika <info@friendika.com>2011-10-13 15:32:43 -0700
commit4eae1e5d8a37f206177c8eeb379c0f32aa84d5ab (patch)
treeb5fb1b72d12c9356cb3332549a5f762924898f77 /include
parentd60505ffb088048b7ebcb7e44a15cd454cbd6f1e (diff)
downloadvolse-hubzilla-4eae1e5d8a37f206177c8eeb379c0f32aa84d5ab.tar.gz
volse-hubzilla-4eae1e5d8a37f206177c8eeb379c0f32aa84d5ab.tar.bz2
volse-hubzilla-4eae1e5d8a37f206177c8eeb379c0f32aa84d5ab.zip
don't propagate deletions for other people's stuff
Diffstat (limited to 'include')
-rw-r--r--include/notifier.php11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/notifier.php b/include/notifier.php
index 9dc524585..bbddee109 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -192,6 +192,8 @@ function notifier_run($argv, $argc){
// be notified during this run.
// Other DFRN conversation members will be alerted during polled updates.
+
+
// Diaspora members currently are not notified of expirations, and other networks have
// either limited or no ability to process deletions. We should at least fix Diaspora
// by stringing togther an array of retractions and sending them onward.
@@ -210,6 +212,7 @@ function notifier_run($argv, $argc){
*/
if((! $top_level) && ($parent['wall'] == 0) && (! $expire) && (stristr($target_item['uri'],$localhost))) {
+ logger('notifier: followup', LOGGER_DEBUG);
// local followup to remote post
$followup = true;
$public_message = false; // not public
@@ -218,6 +221,13 @@ function notifier_run($argv, $argc){
else {
$followup = false;
+ // don't send deletions onward for other people's stuff
+
+ if($target_item['deleted'] && (! intval($target_item['wall']))) {
+ logger('notifier: ignoring delete notification for non-wall item');
+ return;
+ }
+
if((strlen($parent['allow_cid']))
|| (strlen($parent['allow_gid']))
|| (strlen($parent['deny_cid']))
@@ -357,6 +367,7 @@ function notifier_run($argv, $argc){
if(($public_message) && $item['private'])
continue;
+
$contact = get_item_contact($item,$contacts);
if(! $contact)