Skip to content

Commit

Permalink
Merge pull request #12174 from annando/duplicate-media
Browse files Browse the repository at this point in the history
Avoid duplicate media elements
  • Loading branch information
MrPetovan committed Nov 14, 2022
2 parents 21d1659 + 9506bf6 commit e6db31a
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 4 deletions.
7 changes: 5 additions & 2 deletions src/Model/Item.php
Original file line number Diff line number Diff line change
Expand Up @@ -2995,14 +2995,14 @@ public static function prepareBody(array &$item, bool $attach = false, bool $is_
if (!empty($shared_item['uri-id'])) {
$shared_uri_id = $shared_item['uri-id'];
$shared_links[] = strtolower($shared_item['plink']);
$shared_attachments = Post\Media::splitAttachments($shared_uri_id, $shared_item['guid'], [], $shared_item['has-media']);
$shared_attachments = Post\Media::splitAttachments($shared_uri_id, [], $shared_item['has-media']);
$shared_links = array_merge($shared_links, array_column($shared_attachments['visual'], 'url'));
$shared_links = array_merge($shared_links, array_column($shared_attachments['link'], 'url'));
$shared_links = array_merge($shared_links, array_column($shared_attachments['additional'], 'url'));
$item['body'] = self::replaceVisualAttachments($shared_attachments, $item['body']);
}

$attachments = Post\Media::splitAttachments($item['uri-id'], $item['guid'] ?? '', $shared_links, $item['has-media'] ?? false);
$attachments = Post\Media::splitAttachments($item['uri-id'], $shared_links, $item['has-media'] ?? false);
$item['body'] = self::replaceVisualAttachments($attachments, $item['body'] ?? '');

$item['body'] = preg_replace("/\s*\[attachment .*?\].*?\[\/attachment\]\s*/ism", "\n", $item['body']);
Expand Down Expand Up @@ -3184,6 +3184,9 @@ private static function addVisualAttachments(array $attachments, array $item, st

if (!empty($attachment['preview'])) {
$preview_url = Post\Media::getPreviewUrlForId($attachment['id'], Proxy::SIZE_LARGE);
if (self::containsLink($item['body'], $preview_url)) {
continue;
}
} else {
$preview_url = '';
}
Expand Down
3 changes: 1 addition & 2 deletions src/Model/Post/Media.php
Original file line number Diff line number Diff line change
Expand Up @@ -642,12 +642,11 @@ public static function existsByURIId(int $uri_id, array $types = []): bool
* Split the attachment media in the three segments "visual", "link" and "additional"
*
* @param int $uri_id URI id
* @param string $guid GUID
* @param array $links list of links that shouldn't be added
* @param bool $has_media
* @return array attachments
*/
public static function splitAttachments(int $uri_id, string $guid = '', array $links = [], bool $has_media = true): array
public static function splitAttachments(int $uri_id, array $links = [], bool $has_media = true): array
{
$attachments = ['visual' => [], 'link' => [], 'additional' => []];

Expand Down

0 comments on commit e6db31a

Please sign in to comment.