Improve display of quoted posts
This commit is contained in:
@@ -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];
|
||||||
|
|||||||
Reference in New Issue
Block a user