mirror of
https://github.com/friendica/friendica
synced 2024-11-10 03:42:53 +00:00
Moved the share interpretation
This commit is contained in:
parent
1ef5730d3d
commit
ef934db614
2 changed files with 17 additions and 13 deletions
|
@ -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);
|
||||
|
|
|
@ -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()]);
|
||||
|
|
Loading…
Reference in a new issue