mirror of
https://github.com/friendica/friendica
synced 2025-04-25 01:50:11 +00:00
The "share" handling is improved
This commit is contained in:
parent
4930737cc4
commit
f54a886a5e
14 changed files with 74 additions and 111 deletions
|
@ -113,7 +113,7 @@ class Item
|
|||
'private', 'title', 'body', 'raw-body', 'location', 'coord', 'app',
|
||||
'inform', 'deleted', 'extid', 'post-type', 'post-reason', 'gravity',
|
||||
'allow_cid', 'allow_gid', 'deny_cid', 'deny_gid',
|
||||
'author-id', 'author-link', 'author-name', 'author-avatar', 'owner-id', 'owner-link', 'contact-uid',
|
||||
'author-id', 'author-addr', 'author-link', 'author-name', 'author-avatar', 'owner-id', 'owner-link', 'contact-uid',
|
||||
'signed_text', 'network', 'wall', 'contact-id', 'plink', 'origin',
|
||||
'thr-parent-id', 'parent-uri-id', 'quote-uri', 'quote-uri-id', 'postopts', 'pubmail',
|
||||
'event-created', 'event-edited', 'event-start', 'event-finish',
|
||||
|
@ -2950,7 +2950,7 @@ class Item
|
|||
$item['mentions'] = $tags['mentions'];
|
||||
|
||||
$body = $item['body'] ?? '';
|
||||
$shared = BBCode::fetchShareAttributes($body);
|
||||
$shared = self::getShareArray($item);
|
||||
if (!empty($shared['guid'])) {
|
||||
$shared_item = Post::selectFirst(['uri-id', 'guid', 'plink', 'has-media'], ['guid' => $shared['guid'], 'uid' => [$item['uid'], 0]]);
|
||||
}
|
||||
|
@ -3043,7 +3043,7 @@ class Item
|
|||
$s = self::addVisualAttachments($shared_attachments, $item, $s, true);
|
||||
$s = self::addLinkAttachment($shared_uri_id ?: $item['uri-id'], $shared_attachments, $body, $s, true, []);
|
||||
$s = self::addNonVisualAttachments($shared_attachments, $item, $s, true);
|
||||
$body = preg_replace("/\s*\[share .*?\].*?\[\/share\]\s*/ism", '', $body);
|
||||
$body = BBCode::removeSharedData($body);
|
||||
}
|
||||
|
||||
$s = self::addVisualAttachments($attachments, $item, $s, false);
|
||||
|
@ -3601,7 +3601,29 @@ class Item
|
|||
*/
|
||||
public static function getShareArray(array $item): array
|
||||
{
|
||||
return BBCode::fetchShareAttributes($item['body']);
|
||||
$attributes = BBCode::fetchShareAttributes($item['body'] ?? '');
|
||||
if (!empty($attributes)) {
|
||||
return $attributes;
|
||||
}
|
||||
|
||||
if (!empty($item['quote-uri-id'])) {
|
||||
$shared = Post::selectFirst(['author-name', 'author-link', 'author-avatar', 'plink', 'created', 'guid', 'uri', 'body'], ['uri-id' => $item['quote-uri-id']]);
|
||||
if (!empty($shared)) {
|
||||
return [
|
||||
'author' => $shared['author-name'],
|
||||
'profile' => $shared['author-link'],
|
||||
'avatar' => $shared['author-avatar'],
|
||||
'link' => $shared['plink'],
|
||||
'posted' => $shared['created'],
|
||||
'guid' => $shared['guid'],
|
||||
'message_id' => $shared['uri'],
|
||||
'comment' => $item['body'],
|
||||
'shared' => $shared['body'],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue