]> git.mxchange.org Git - friendica-addons.git/blobdiff - bluesky/bluesky.php
Merge pull request 'Bluesky: Fix for quoted posts with media' (#1403) from heluecht...
[friendica-addons.git] / bluesky / bluesky.php
index c3e621f2b40cb930c3a4ad4a648bcaefd00d7541..3e3e2aaf51103c24317190d56a1a7a6d2ad07450 100644 (file)
@@ -659,8 +659,8 @@ function bluesky_create_post(array $item, stdClass $root = null, stdClass $paren
 
 function bluesky_get_urls(string $body): array
 {
-       // Remove all hashtags and mentions
-       $body = preg_replace("/([#@!])\[url\=(.*?)\](.*?)\[\/url\]/ism", '', $body);
+       // Remove all hashtag and mention links
+       $body = preg_replace("/([#@!])\[url\=(.*?)\](.*?)\[\/url\]/ism", '$1$3', $body);
 
        $urls = [];
 
@@ -1150,16 +1150,12 @@ function bluesky_add_media(stdClass $embed, array $item, int $fetch_uid, int $le
                                $shared = bluesky_get_header($embed->record->record, $uri, 0, $fetch_uid);
                                $shared = bluesky_get_content($shared, $embed->record->record->value, $uri, $item['uid'], $level);
                                if (!empty($shared)) {
-                                       if (!empty($embed->record->embeds)) {
+                                       if (!empty($embed->record->record->embeds)) {
                                                foreach ($embed->record->record->embeds as $single) {
                                                        $shared = bluesky_add_media($single, $shared, $fetch_uid, $level);
                                                }
                                        }
 
-                                       if (!empty($embed->media)) {
-                                               bluesky_add_media($embed->media, $item, $fetch_uid, $level);
-                                       }
-
                                        $id = Item::insert($shared);
                                        $shared = Post::selectFirst(['uri-id'], ['id' => $id]);
                                }
@@ -1167,6 +1163,10 @@ function bluesky_add_media(stdClass $embed, array $item, int $fetch_uid, int $le
                        if (!empty($shared)) {
                                $item['quote-uri-id'] = $shared['uri-id'];
                        }
+
+                       if (!empty($embed->media)) {
+                               bluesky_add_media($embed->media, $item, $fetch_uid, $level);
+                       }
                        break;
 
                default: