From 4eae1e5d8a37f206177c8eeb379c0f32aa84d5ab Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 13 Oct 2011 15:32:43 -0700 Subject: don't propagate deletions for other people's stuff --- include/notifier.php | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'include/notifier.php') 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) -- cgit v1.2.3