]> git.mxchange.org Git - friendica.git/commitdiff
don't propagate deletions for other people's stuff
authorFriendika <info@friendika.com>
Thu, 13 Oct 2011 22:32:43 +0000 (15:32 -0700)
committerFriendika <info@friendika.com>
Thu, 13 Oct 2011 22:32:43 +0000 (15:32 -0700)
boot.php
include/notifier.php

index fb406867d804275f50162efc34a8d6cd4da940db..376def64d27fa5d82effae787c0678026b066640 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -8,7 +8,7 @@ require_once("include/pgettext.php");
 require_once('include/nav.php');
 
 define ( 'FRIENDIKA_PLATFORM',     'Free Friendika');
-define ( 'FRIENDIKA_VERSION',      '2.3.1132' );
+define ( 'FRIENDIKA_VERSION',      '2.3.1133' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.21'    );
 define ( 'DB_UPDATE_VERSION',      1095      );
 
index 9dc524585d1457b93a4357f7008b3ec634142905..bbddee10972120c1b72cd1a023c884832f245665 100644 (file)
@@ -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)