]> git.mxchange.org Git - friendica.git/blobdiff - src/Content/Item.php
Fix attached media in quoted posts
[friendica.git] / src / Content / Item.php
index d5c33a762c6f6955bc3591d6707f8db629729eb9..7a86135f9fe3f1755ac0b94a364d10964437015a 100644 (file)
@@ -22,7 +22,7 @@
 namespace Friendica\Content;
 
 use Friendica\Content\Text\BBCode;
-use Friendica\Content\Text\Markdown;
+use Friendica\Content\Text\HTML;
 use Friendica\Core\Hook;
 use Friendica\Core\L10n;
 use Friendica\Core\Logger;
@@ -657,7 +657,6 @@ class Item
        public function createSharedBlockByArray(array $item): string
        {
                if (!in_array($item['network'] ?? '', Protocol::FEDERATED)) {
-                       $item['guid'] = '';
                        $item['uri']  = '';
                }
 
@@ -667,10 +666,20 @@ class Item
                        $shared_content .= '[h3]' . $item['title'] . "[/h3]\n";
                }
 
+               $shared = BBCode::fetchShareAttributes($item['body']);
+
+               $item['body'] = Post\Media::addAttachmentsToBody($item['uri-id'], $item['body']);
+
                // If it is a reshared post then reformat it to avoid display problems with two share elements
                if (Diaspora::isReshare($item['body'], false)) {
-                       $item['body'] = Markdown::toBBCode(BBCode::toMarkdown($item['body']));
-                       $item['body'] = Diaspora::replacePeopleGuid($item['body'], $item['author-link']);
+                       if (!empty($shared['guid'])) {
+                               $encaspulated_share = self::createSharedPostByGuid($shared['guid']);
+                               if (!empty($encaspulated_share)) {
+                                       $item['body'] = preg_replace("/\[share.*?\](.*)\[\/share\]/ism", $encaspulated_share, $item['body']);
+                               }
+                       }
+       
+                       $item['body'] = HTML::toBBCode(BBCode::convertForUriId($item['uri-id'], $item['body'], BBCode::ACTIVITYPUB));
                }
 
                $shared_content .= $item['body'] . '[/share]';