]> git.mxchange.org Git - friendica.git/blobdiff - src/Worker/Notifier.php
Merge pull request #8494 from annando/ap-fix-comments
[friendica.git] / src / Worker / Notifier.php
index 85098d1deba46c711335d0c8c308d507c5609753..35a228fce1b1622d2fc548857fa1c6663a5c082c 100644 (file)
@@ -1,7 +1,24 @@
 <?php
 /**
- * @file src/Worker/Notifier.php
+ * @copyright Copyright (C) 2020, Friendica
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
  */
+
 namespace Friendica\Worker;
 
 use Friendica\Core\Hook;
@@ -134,6 +151,8 @@ class Notifier
                // If this is a public conversation, notify the feed hub
                $public_message = true;
 
+               $unlisted = false;
+
                // Do a PuSH
                $push_notify = false;
 
@@ -166,6 +185,8 @@ class Notifier
                                Logger::info('Threaded comment', ['diaspora_delivery' => (int)$diaspora_delivery]);
                        }
 
+                       $unlisted = $target_item['private'] == Item::UNLISTED;
+
                        // This is IMPORTANT!!!!
 
                        // We will only send a "notify owner to relay" or followup message if the referenced post
@@ -228,8 +249,7 @@ class Notifier
 
                                Logger::info('Followup', ['target' => $target_id, 'guid' => $target_item['guid'], 'to' => $parent['contact-id']]);
 
-                               //if (!$target_item['private'] && $target_item['wall'] &&
-                               if (!$target_item['private'] &&
+                               if (($target_item['private'] != Item::PRIVATE) &&
                                        (strlen($target_item['allow_cid'].$target_item['allow_gid'].
                                                $target_item['deny_cid'].$target_item['deny_gid']) == 0))
                                        $push_notify = true;
@@ -393,7 +413,7 @@ class Notifier
                if ($public_message && !in_array($cmd, [Delivery::MAIL, Delivery::SUGGESTION]) && !$followup) {
                        $relay_list = [];
 
-                       if ($diaspora_delivery) {
+                       if ($diaspora_delivery && !$unlisted) {
                                $batch_delivery = true;
 
                                $relay_list_stmt = DBA::p(