]> git.mxchange.org Git - friendica.git/commitdiff
Fix mail delivery via AP when the contact is hidden
authorMichael <heluecht@pirati.ca>
Fri, 22 Nov 2019 08:01:23 +0000 (08:01 +0000)
committerMichael <heluecht@pirati.ca>
Fri, 22 Nov 2019 08:01:23 +0000 (08:01 +0000)
src/Protocol/ActivityPub/Transmitter.php
src/Worker/Notifier.php

index 5d3094339cbf99f7afb863773de944ef9703d187..7fc0f5d990957df5181ac929d606e45145b8c0cd 100644 (file)
@@ -498,13 +498,7 @@ class Transmitter
                        }
                }
 
-               $receivers = ['to' => array_values($data['to']), 'cc' => array_values($data['cc']), 'bcc' => array_values($data['bcc'])];
-
-               if (!$blindcopy) {
-                       unset($receivers['bcc']);
-               }
-
-               return $receivers;
+               return ['to' => array_values($data['to']), 'cc' => array_values($data['cc']), 'bcc' => array_values($data['bcc'])];
        }
 
        /**
@@ -699,8 +693,15 @@ class Transmitter
                $mail = self::ItemArrayFromMail($mail_id);
                $object = self::createNote($mail);
 
-               $object['to'] = $object['cc'];
-               unset($object['cc']);
+               if (!empty($object['cc'])) {
+                       $object['to'] = array_merge($object['to'], $object['cc']);
+                       unset($object['cc']);
+               }
+
+               if (!empty($object['bcc'])) {
+                       $object['to'] = array_merge($object['to'], $object['bcc']);
+                       unset($object['bcc']);
+               }
 
                $object['tag'] = [['type' => 'Mention', 'href' => $object['to'][0], 'name' => 'test']];
 
index 8b6be76b50dad5fe3a25da132a798bd4455b0e68..3e4efb5f3c4877568d913b84a3095eb0c0c0da35 100644 (file)
@@ -51,6 +51,8 @@ class Notifier
 
                $delivery_contacts_stmt = null;
                $target_item = [];
+               $parent = [];
+               $thr_parent = [];
                $items = [];
                $delivery_queue_count = 0;
 
@@ -594,6 +596,10 @@ class Notifier
         */
        private static function skipDFRN($contact, $item, $parent, $thr_parent, $cmd)
        {
+               if (empty($parent['network'])) {
+                       return false;
+               }
+
                // Don't skip when the starting post is delivered via Diaspora
                if ($parent['network'] == Protocol::DIASPORA) {
                        return false;