namespace Friendica\Content;
use Friendica\Content\Text\BBCode;
-use Friendica\Content\Text\Markdown;
+use Friendica\Content\Text\HTML;
use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
*/
public function createSharedBlockByArray(array $item): string
{
- if (!in_array($item['network'] ?? '', Protocol::FEDERATED)) {
+ if ($item['network'] == Protocol::FEED) {
+ return PageInfo::getFooterFromUrl($item['plink']);
+ } elseif (!in_array($item['network'] ?? '', Protocol::FEDERATED)) {
$item['guid'] = '';
$item['uri'] = '';
+ $item['body'] = Post\Media::addAttachmentsToBody($item['uri-id'], $item['body']);
}
$shared_content = BBCode::getShareOpeningTag($item['author-name'], $item['author-link'], $item['author-avatar'], $item['plink'], $item['created'], $item['guid'], $item['uri']);
$shared_content .= '[h3]' . $item['title'] . "[/h3]\n";
}
+ $shared = BBCode::fetchShareAttributes($item['body']);
+
// If it is a reshared post then reformat it to avoid display problems with two share elements
if (Diaspora::isReshare($item['body'], false)) {
- $item['body'] = Markdown::toBBCode(BBCode::toMarkdown($item['body']));
- $item['body'] = Diaspora::replacePeopleGuid($item['body'], $item['author-link']);
+ if (!empty($shared['guid']) && ($encaspulated_share = self::createSharedPostByGuid($shared['guid']))) {
+ $item['body'] = preg_replace("/\[share.*?\](.*)\[\/share\]/ism", $encaspulated_share, $item['body']);
+ }
+
+ $item['body'] = HTML::toBBCode(BBCode::convertForUriId($item['uri-id'], $item['body'], BBCode::ACTIVITYPUB));
}
$shared_content .= $item['body'] . '[/share]';