Improve display of quoted posts
This commit is contained in:
parent
fba4a70dc2
commit
e95c678141
3 changed files with 14 additions and 4 deletions
|
@ -677,7 +677,6 @@ class Item
|
||||||
if ($item['network'] == Protocol::FEED) {
|
if ($item['network'] == Protocol::FEED) {
|
||||||
return PageInfo::getFooterFromUrl($item['plink']);
|
return PageInfo::getFooterFromUrl($item['plink']);
|
||||||
} elseif (!in_array($item['network'] ?? '', Protocol::FEDERATED)) {
|
} elseif (!in_array($item['network'] ?? '', Protocol::FEDERATED)) {
|
||||||
$item['guid'] = '';
|
|
||||||
$item['uri'] = '';
|
$item['uri'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -695,7 +694,7 @@ class Item
|
||||||
|
|
||||||
// If it is a reshared post then reformat it to avoid display problems with two share elements
|
// If it is a reshared post then reformat it to avoid display problems with two share elements
|
||||||
if (!empty($shared)) {
|
if (!empty($shared)) {
|
||||||
if (!empty($shared['guid']) && ($encapsulated_share = $this->createSharedPostByGuid($shared['guid'], true))) {
|
if (($item['network'] != Protocol::BLUESKY) && !empty($shared['guid']) && ($encapsulated_share = $this->createSharedPostByGuid($shared['guid'], true))) {
|
||||||
if (!empty(BBCode::fetchShareAttributes($item['body']))) {
|
if (!empty(BBCode::fetchShareAttributes($item['body']))) {
|
||||||
$item['body'] = preg_replace("/\[share.*?\](.*)\[\/share\]/ism", $encapsulated_share, $item['body']);
|
$item['body'] = preg_replace("/\[share.*?\](.*)\[\/share\]/ism", $encapsulated_share, $item['body']);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -64,7 +64,8 @@ class BBCode
|
||||||
const ACTIVITYPUB = 9;
|
const ACTIVITYPUB = 9;
|
||||||
const BLUESKY = 10;
|
const BLUESKY = 10;
|
||||||
|
|
||||||
const TOP_ANCHOR = '<br class="top-anchor">';
|
const SHARED_ANCHOR = '<hr class="shared-anchor">';
|
||||||
|
const TOP_ANCHOR = '<br class="top-anchor">';
|
||||||
const BOTTOM_ANCHOR = '<br class="button-anchor">';
|
const BOTTOM_ANCHOR = '<br class="button-anchor">';
|
||||||
|
|
||||||
const PREVIEW_NONE = 0;
|
const PREVIEW_NONE = 0;
|
||||||
|
@ -930,7 +931,7 @@ class BBCode
|
||||||
$network = $contact['network'] ?? Protocol::PHANTOM;
|
$network = $contact['network'] ?? Protocol::PHANTOM;
|
||||||
|
|
||||||
$tpl = Renderer::getMarkupTemplate('shared_content.tpl');
|
$tpl = Renderer::getMarkupTemplate('shared_content.tpl');
|
||||||
$text .= Renderer::replaceMacros($tpl, [
|
$text .= BBCode::SHARED_ANCHOR . Renderer::replaceMacros($tpl, [
|
||||||
'$profile' => $attributes['profile'],
|
'$profile' => $attributes['profile'],
|
||||||
'$avatar' => $attributes['avatar'],
|
'$avatar' => $attributes['avatar'],
|
||||||
'$author' => $attributes['author'],
|
'$author' => $attributes['author'],
|
||||||
|
|
|
@ -3217,6 +3217,12 @@ class Item
|
||||||
$body = BBCode::removeSharedData($body);
|
$body = BBCode::removeSharedData($body);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$pos = strpos($s, BBCode::SHARED_ANCHOR);
|
||||||
|
if ($pos) {
|
||||||
|
$shared_html = substr($s, $pos + strlen(BBCode::SHARED_ANCHOR));
|
||||||
|
$s = substr($s, 0, $pos);
|
||||||
|
}
|
||||||
|
|
||||||
$s = self::addGallery($s, $attachments, $item['uri-id']);
|
$s = self::addGallery($s, $attachments, $item['uri-id']);
|
||||||
$s = self::addVisualAttachments($attachments, $item, $s, false);
|
$s = self::addVisualAttachments($attachments, $item, $s, false);
|
||||||
$s = self::addLinkAttachment($item['uri-id'], $attachments, $body, $s, false, $shared_links);
|
$s = self::addLinkAttachment($item['uri-id'], $attachments, $body, $s, false, $shared_links);
|
||||||
|
@ -3237,6 +3243,10 @@ class Item
|
||||||
$s = preg_replace('|(<img[^>]+src="[^"]+/photo/[0-9a-f]+)-[0-9]|', "$1-" . $ps, $s);
|
$s = preg_replace('|(<img[^>]+src="[^"]+/photo/[0-9a-f]+)-[0-9]|', "$1-" . $ps, $s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($shared_html)) {
|
||||||
|
$s .= $shared_html;
|
||||||
|
}
|
||||||
|
|
||||||
$s = HTML::applyContentFilter($s, $filter_reasons);
|
$s = HTML::applyContentFilter($s, $filter_reasons);
|
||||||
|
|
||||||
$hook_data = ['item' => $item, 'html' => $s];
|
$hook_data = ['item' => $item, 'html' => $s];
|
||||||
|
|
Loading…
Reference in a new issue