]> git.mxchange.org Git - friendica.git/blobdiff - src/Protocol/ActivityPub/Transmitter.php
Improved defaults check
[friendica.git] / src / Protocol / ActivityPub / Transmitter.php
index e741789dad217e22913df0bf6dbee8ad093b2f18..0b7159ec909275b5043f1af3cd0892079fa91a2a 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2022, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -23,7 +23,7 @@ namespace Friendica\Protocol\ActivityPub;
 
 use Friendica\Content\Feature;
 use Friendica\Content\Text\BBCode;
-use Friendica\Core\Cache\Duration;
+use Friendica\Core\Cache\Enum\Duration;
 use Friendica\Core\Logger;
 use Friendica\Core\Protocol;
 use Friendica\Core\System;
@@ -229,7 +229,7 @@ class Transmitter
                                $permissionSets = DI::permissionSet()->selectByContactId($requester_id, $owner['uid']);
                                if (!empty($permissionSets)) {
                                        $condition = ['psid' => array_merge($permissionSets->column('id'),
-                                                       [DI::permissionSet()->selectEmptyForUser($owner['uid'])])];
+                                                       [DI::permissionSet()->selectPublicForUser($owner['uid'])])];
                                }
                        }
                }
@@ -437,6 +437,13 @@ class Transmitter
                        return [];
                }
 
+               $permissions = [
+                       'to' => [],
+                       'cc' => [],
+                       'bto' => [],
+                       'bcc' => [],
+               ];
+
                $activity = json_decode($conversation['source'], true);
 
                $actor = JsonLD::fetchElement($activity, 'actor', 'id');
@@ -1286,7 +1293,7 @@ class Transmitter
 
                $urls = [];
                foreach ($uriids as $uriid) {
-                       foreach (Post\Media::getByURIId($uriid, [Post\Media::DOCUMENT, Post\Media::TORRENT]) as $attachment) {
+                       foreach (Post\Media::getByURIId($uriid, [Post\Media::AUDIO, Post\Media::IMAGE, Post\Media::VIDEO, Post\Media::DOCUMENT, Post\Media::TORRENT]) as $attachment) {
                                if (in_array($attachment['url'], $urls)) {
                                        continue;
                                }
@@ -1313,52 +1320,6 @@ class Transmitter
                        }
                }
 
-               if ($type != 'Note') {
-                       return $attachments;
-               }
-
-               foreach ($uriids as $uriid) {
-                       foreach (Post\Media::getByURIId($uriid, [Post\Media::AUDIO, Post\Media::IMAGE, Post\Media::VIDEO]) as $attachment) {
-                               if (in_array($attachment['url'], $urls)) {
-                                       continue;
-                               }
-                               $urls[] = $attachment['url'];
-
-                               $attach = ['type' => 'Document',
-                                       'mediaType' => $attachment['mimetype'],
-                                       'url' => $attachment['url'],
-                                       'name' => $attachment['description']];
-
-                               if (!empty($attachment['height'])) {
-                                       $attach['height'] = $attachment['height'];
-                               }
-
-                               if (!empty($attachment['width'])) {
-                                       $attach['width'] = $attachment['width'];
-                               }
-
-                               if (!empty($attachment['preview'])) {
-                                       $attach['image'] = $attachment['preview'];
-                               }
-
-                               $attachments[] = $attach;
-                       }
-                       // Currently deactivated, since it creates side effects on Mastodon and Pleroma.
-                       // It will be activated, once this cleared.
-                       /*
-                       foreach (Post\Media::getByURIId($uriid, [Post\Media::HTML]) as $attachment) {
-                               if (in_array($attachment['url'], $urls)) {
-                                       continue;
-                               }
-                               $urls[] = $attachment['url'];
-
-                               $attachments[] = ['type' => 'Page',
-                                       'mediaType' => $attachment['mimetype'],
-                                       'url' => $attachment['url'],
-                                       'name' => $attachment['description']];
-                       }*/
-               }
-
                return $attachments;
        }
 
@@ -1782,7 +1743,7 @@ class Transmitter
        {
                $owner = User::getOwnerDataById($uid);
 
-               $suggestion = DI::fsuggest()->getById($suggestion_id);
+               $suggestion = DI::fsuggest()->selectOneById($suggestion_id);
 
                $data = ['@context' => ActivityPub::CONTEXT,
                        'id' => DI::baseUrl() . '/activity/' . System::createGUID(),
@@ -1796,7 +1757,7 @@ class Transmitter
 
                $signed = LDSignature::sign($data, $owner);
 
-               Logger::log('Deliver profile deletion for user ' . $uid . ' to ' . $inbox . ' via ActivityPub', Logger::DEBUG);
+               Logger::info('Deliver profile deletion for user ' . $uid . ' to ' . $inbox . ' via ActivityPub');
                return HTTPSignature::transmit($signed, $inbox, $uid);
        }
 
@@ -1825,7 +1786,7 @@ class Transmitter
 
                $signed = LDSignature::sign($data, $owner);
 
-               Logger::log('Deliver profile relocation for user ' . $uid . ' to ' . $inbox . ' via ActivityPub', Logger::DEBUG);
+               Logger::info('Deliver profile relocation for user ' . $uid . ' to ' . $inbox . ' via ActivityPub');
                return HTTPSignature::transmit($signed, $inbox, $uid);
        }
 
@@ -1864,7 +1825,7 @@ class Transmitter
 
                $signed = LDSignature::sign($data, $owner);
 
-               Logger::log('Deliver profile deletion for user ' . $uid . ' to ' . $inbox . ' via ActivityPub', Logger::DEBUG);
+               Logger::info('Deliver profile deletion for user ' . $uid . ' to ' . $inbox . ' via ActivityPub');
                return HTTPSignature::transmit($signed, $inbox, $uid);
        }
 
@@ -1896,7 +1857,7 @@ class Transmitter
 
                $signed = LDSignature::sign($data, $owner);
 
-               Logger::log('Deliver profile update for user ' . $uid . ' to ' . $inbox . ' via ActivityPub', Logger::DEBUG);
+               Logger::info('Deliver profile update for user ' . $uid . ' to ' . $inbox . ' via ActivityPub');
                return HTTPSignature::transmit($signed, $inbox, $uid);
        }
 
@@ -1933,7 +1894,7 @@ class Transmitter
                        'instrument' => self::getService(),
                        'to' => [$profile['url']]];
 
-               Logger::log('Sending activity ' . $activity . ' to ' . $target . ' for user ' . $uid, Logger::DEBUG);
+               Logger::info('Sending activity ' . $activity . ' to ' . $target . ' for user ' . $uid);
 
                $signed = LDSignature::sign($data, $owner);
                return HTTPSignature::transmit($signed, $profile['inbox'], $uid);
@@ -1972,7 +1933,7 @@ class Transmitter
                $condition = ['verb' => Activity::FOLLOW, 'uid' => 0, 'parent-uri' => $object,
                        'author-id' => Contact::getPublicIdByUserId($uid)];
                if (Post::exists($condition)) {
-                       Logger::log('Follow for ' . $object . ' for user ' . $uid . ' does already exist.', Logger::DEBUG);
+                       Logger::info('Follow for ' . $object . ' for user ' . $uid . ' does already exist.');
                        return false;
                }
 
@@ -1986,7 +1947,7 @@ class Transmitter
                        'instrument' => self::getService(),
                        'to' => [$profile['url']]];
 
-               Logger::log('Sending follow ' . $object . ' to ' . $target . ' for user ' . $uid, Logger::DEBUG);
+               Logger::info('Sending follow ' . $object . ' to ' . $target . ' for user ' . $uid);
 
                $signed = LDSignature::sign($data, $owner);
                return HTTPSignature::transmit($signed, $profile['inbox'], $uid);
@@ -2103,7 +2064,7 @@ class Transmitter
                        'instrument' => self::getService(),
                        'to' => [$profile['url']]];
 
-               Logger::log('Sending undo to ' . $target . ' for user ' . $uid . ' with id ' . $id, Logger::DEBUG);
+               Logger::info('Sending undo to ' . $target . ' for user ' . $uid . ' with id ' . $id);
 
                $signed = LDSignature::sign($data, $owner);
                return HTTPSignature::transmit($signed, $profile['inbox'], $uid);