$item['tags'] = $tags['tags'];
$item['hashtags'] = $tags['hashtags'];
$item['mentions'] = $tags['mentions'];
+ $sensitive = (bool)$item['sensitive'];
if (!$is_preview) {
$item['body'] = preg_replace("#\s*\[attachment .*?].*?\[/attachment]\s*#ism", "\n", $item['body']);
$shared_links = array_merge($shared_links, $sharedSplitAttachments['visual']->column('url'));
$shared_links = array_merge($shared_links, $sharedSplitAttachments['link']->column('url'));
$shared_links = array_merge($shared_links, $sharedSplitAttachments['additional']->column('url'));
- $item['body'] = self::replaceVisualAttachments($sharedSplitAttachments['visual'], $item['body']);
+ $item['body'] = self::replaceVisualAttachments($sharedSplitAttachments['visual'], $item['body'], $sensitive);
}
$itemSplitAttachments = DI::postMediaRepository()->splitAttachments($item['uri-id'], $shared_links, $item['has-media'] ?? false);
- $item['body'] = self::replaceVisualAttachments($itemSplitAttachments['visual'], $item['body'] ?? '');
+ $item['body'] = self::replaceVisualAttachments($itemSplitAttachments['visual'], $item['body'] ?? '', $sensitive);
self::putInCache($item);
$item['body'] = $body;
}
if (!empty($sharedSplitAttachments)) {
- $s = self::addGallery($s, $sharedSplitAttachments['visual'], (bool)$item['sensitive']);
- $s = self::addVisualAttachments($sharedSplitAttachments['visual'], $shared_item, $s, true);
- $s = self::addLinkAttachment($shared_uri_id ?: $item['uri-id'], $sharedSplitAttachments, $body, $s, true, $quote_shared_links);
+ $s = self::addGallery($s, $sharedSplitAttachments['visual'], $sensitive);
+ $s = self::addVisualAttachments($sharedSplitAttachments['visual'], $shared_item, $s, true, $sensitive);
+ $s = self::addLinkAttachment($shared_uri_id ?: $item['uri-id'], $sharedSplitAttachments, $body, $s, true, $quote_shared_links, $sensitive);
$s = self::addNonVisualAttachments($sharedSplitAttachments['additional'], $item, $s, true);
$body = BBCode::removeSharedData($body);
}
$s = substr($s, 0, $pos);
}
- $s = self::addGallery($s, $itemSplitAttachments['visual'], (bool)$item['sensitive']);
- $s = self::addVisualAttachments($itemSplitAttachments['visual'], $item, $s, false);
- $s = self::addLinkAttachment($item['uri-id'], $itemSplitAttachments, $body, $s, false, $shared_links);
+ $s = self::addGallery($s, $itemSplitAttachments['visual'], $sensitive);
+ $s = self::addVisualAttachments($itemSplitAttachments['visual'], $item, $s, false, $sensitive);
+ $s = self::addLinkAttachment($item['uri-id'], $itemSplitAttachments, $body, $s, false, $shared_links, $sensitive);
$s = self::addNonVisualAttachments($itemSplitAttachments['additional'], $item, $s, false);
$s = self::addQuestions($item, $s);
*
* @param PostMedias $PostMedias
* @param string $body
+ * @param bool $sensitive
* @return string modified body
*/
- private static function replaceVisualAttachments(PostMedias $PostMedias, string $body): string
+ private static function replaceVisualAttachments(PostMedias $PostMedias, string $body, bool $sensitive): string
{
DI::profiler()->startRecording('rendering');
if (DI::baseUrl()->isLocalUri($PostMedia->preview)) {
continue;
}
- $proxy = DI::baseUrl() . $PostMedia->getPreviewPath(Proxy::SIZE_LARGE);
+ $proxy = DI::baseUrl() . $PostMedia->getPreviewPath(Proxy::SIZE_LARGE, $sensitive);
$search = ['[img=' . $PostMedia->preview . ']', ']' . $PostMedia->preview . '[/img]'];
$replace = ['[img=' . $proxy . ']', ']' . $proxy . '[/img]'];
if (DI::baseUrl()->isLocalUri($PostMedia->url)) {
continue;
}
- $proxy = DI::baseUrl() . $PostMedia->getPreviewPath(Proxy::SIZE_LARGE);
+ $proxy = DI::baseUrl() . $PostMedia->getPreviewPath(Proxy::SIZE_LARGE, $sensitive);
$search = ['[img=' . $PostMedia->url . ']', ']' . $PostMedia->url . '[/img]'];
$replace = ['[img=' . $proxy . ']', ']' . $proxy . '[/img]'];
* @param array $item
* @param string $content
* @param bool $shared
+ * @param bool $sensitive
* @return string modified content
* @throws ServiceUnavailableException
*/
- private static function addVisualAttachments(PostMedias $PostMedias, array $item, string $content, bool $shared): string
+ private static function addVisualAttachments(PostMedias $PostMedias, array $item, string $content, bool $shared, bool $sensitive): string
{
DI::profiler()->startRecording('rendering');
$leading = '';
if ($PostMedia->mimetype->type == 'image' || $PostMedia->preview) {
$preview_size = Proxy::SIZE_MEDIUM;
- $preview_url = DI::baseUrl() . $PostMedia->getPreviewPath($preview_size);
+ $preview_url = DI::baseUrl() . $PostMedia->getPreviewPath($preview_size, $sensitive);
} else {
$preview_size = 0;
$preview_url = '';
* @param string $content
* @param bool $shared
* @param array $ignore_links A list of URLs to ignore
+ * @param bool $sensitive
* @return string modified content
* @throws InternalServerErrorException
* @throws ServiceUnavailableException
*/
- private static function addLinkAttachment(int $uriid, array $attachments, string $body, string $content, bool $shared, array $ignore_links): string
+ private static function addLinkAttachment(int $uriid, array $attachments, string $body, string $content, bool $shared, array $ignore_links, bool $sensitive): string
{
DI::profiler()->startRecording('rendering');
// Don't show a preview when there is a visual attachment (audio or video)
if ($preview && $attachment->preview) {
if ($attachment->previewWidth >= 500) {
- $data['image'] = DI::baseUrl() . $attachment->getPreviewPath(Proxy::SIZE_MEDIUM);
+ $data['image'] = DI::baseUrl() . $attachment->getPreviewPath(Proxy::SIZE_MEDIUM, $sensitive);
} else {
- $data['preview'] = DI::baseUrl() . $attachment->getPreviewPath(Proxy::SIZE_MEDIUM);
+ $data['preview'] = DI::baseUrl() . $attachment->getPreviewPath(Proxy::SIZE_MEDIUM, $sensitive);
}
}