]> git.mxchange.org Git - friendica.git/commitdiff
Avoid duplicated delivery to Diaspora
authorMichael <heluecht@pirati.ca>
Tue, 30 Oct 2018 17:34:18 +0000 (17:34 +0000)
committerMichael <heluecht@pirati.ca>
Tue, 30 Oct 2018 17:34:18 +0000 (17:34 +0000)
src/Worker/Notifier.php

index 480938ec534577a787856099c1c0271ea04c4352..d4ec33b2caca578f4d8acc0a21bdc2e6d2ecf24c 100644 (file)
@@ -412,13 +412,17 @@ class Notifier
                        if (!empty($networks)) {
                                $condition['network'] = $networks;
                        }
-                       $contacts = DBA::select('contact', ['id', 'url', 'network'], $condition);
+                       $contacts = DBA::select('contact', ['id', 'url', 'network', 'batch'], $condition);
                        $r = DBA::toArray($contacts);
                }
 
                // delivery loop
                if (DBA::isResult($r)) {
                        foreach ($r as $contact) {
+                               if (($contact['network'] == Protocol::DIASPORA) && $diaspora_delivery && $public_message && !empty($contact['batch'])
+                                       && !in_array($cmd, [Delivery::MAIL, Delivery::SUGGESTION]) && !$followup) {
+                                       continue;
+                               }
                                logger("Deliver ".$item_id." to ".$contact['url']." via network ".$contact['network'], LOGGER_DEBUG);
 
                                Worker::add(['priority' => $a->queue['priority'], 'created' => $a->queue['created'], 'dont_fork' => true],