]> git.mxchange.org Git - friendica.git/commitdiff
Moved the share interpretation
authorMichael <heluecht@pirati.ca>
Fri, 7 Oct 2022 07:41:03 +0000 (07:41 +0000)
committerMichael <heluecht@pirati.ca>
Fri, 7 Oct 2022 07:41:03 +0000 (07:41 +0000)
src/Content/Text/BBCode.php
src/Model/Item.php

index f7358330365f73c7b6bcf2d38ffa84864d8612a9..fe2e94c68425c782ccc9c9fcc25dedaa46662fa0 100644 (file)
@@ -1021,6 +1021,19 @@ class BBCode
        public static function fetchShareAttributes(string $text): array
        {
                DI::profiler()->startRecording('rendering');
+               if (preg_match('#(.*?)\[share](.*)\[/share]#', $text, $matches)) {
+                       return [
+                               'author'     => '',
+                               'profile'    => '',
+                               'avatar'     => '',
+                               'link'       => '',
+                               'posted'     => '',
+                               'guid'       => '',
+                               'message_id' => $matches[2],
+                               'comment'    => trim($matches[1]),
+                               'shared'     => '',
+                       ];
+               }
                // See Issue https://github.com/friendica/friendica/issues/10454
                // Hashtags in usernames are expanded to links. This here is a quick fix.
                $text = preg_replace('~([@!#])\[url=.*?](.*?)\[/url]~ism', '$1$2', $text);
index a88e61124ae4b7aa0c0f067ee623adb0295baab9..9253a282e3f2e4f6d11a44dde7f157bc8c7aa2da 100644 (file)
@@ -3666,19 +3666,10 @@ class Item
         */
        public static function improveSharedDataInBody(array $item): string
        {
-               if (preg_match('#\[share](.*)\[/share]#', $item['body'], $matches)) {
-                       $shared = [
-                               'message_id' => $matches[1],
-                               'link'       => '',
-                               'guid'       => '',
-                               'profile'    => '',
-                       ];
-               } else {
-                       $shared = BBCode::fetchShareAttributes($item['body']);
-                       if (empty($shared['link']) && empty($shared['message_id'])) {
-                               return $item['body'];
-                       }       
-               }
+               $shared = BBCode::fetchShareAttributes($item['body']);
+               if (empty($shared['link']) && empty($shared['message_id'])) {
+                       return $item['body'];
+               }       
 
                $id = self::fetchByLink($shared['link'] ?: $shared['message_id']);
                Logger::debug('Fetched shared post', ['uri-id' => $item['uri-id'], 'id' => $id, 'author' => $shared['profile'], 'url' => $shared['link'], 'guid' => $shared['guid'], 'uri' => $shared['message_id'], 'callstack' => System::callstack()]);