From: Michael Date: Fri, 7 Oct 2022 07:41:03 +0000 (+0000) Subject: Moved the share interpretation X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=ef934db61462f5882cf180307c9acbe11d0145d4;p=friendica.git Moved the share interpretation --- diff --git a/src/Content/Text/BBCode.php b/src/Content/Text/BBCode.php index f735833036..fe2e94c684 100644 --- a/src/Content/Text/BBCode.php +++ b/src/Content/Text/BBCode.php @@ -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); diff --git a/src/Model/Item.php b/src/Model/Item.php index a88e61124a..9253a282e3 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -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()]);