mirror of
https://github.com/friendica/friendica
synced 2024-11-19 11:03:40 +00:00
Merge pull request #10214 from annando/ap-attachments
Avoid duplicated attachments / unwanted attachments
This commit is contained in:
commit
38d2b68558
3 changed files with 29 additions and 34 deletions
|
@ -1893,7 +1893,7 @@ class BBCode
|
|||
|
||||
$text = HTML::purify($text, $allowedIframeDomains);
|
||||
|
||||
return $text;
|
||||
return trim($text);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -2871,7 +2871,8 @@ class Item
|
|||
$found = true;
|
||||
}
|
||||
}
|
||||
if (!$found) {
|
||||
// @todo Judge between the links to use the one with most information
|
||||
if (!$found && (empty($attachment) || empty($attachment['name']) || empty($attachment['description']))) {
|
||||
$attachment = $link;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1260,37 +1260,6 @@ class Transmitter
|
|||
{
|
||||
$attachments = [];
|
||||
|
||||
// Currently deactivated, since it creates side effects on Mastodon and Pleroma.
|
||||
// It will be reactivated, once this cleared.
|
||||
/*
|
||||
$attach_data = BBCode::getAttachmentData($item['body']);
|
||||
if (!empty($attach_data['url'])) {
|
||||
$attachment = ['type' => 'Page',
|
||||
'mediaType' => 'text/html',
|
||||
'url' => $attach_data['url']];
|
||||
|
||||
if (!empty($attach_data['title'])) {
|
||||
$attachment['name'] = $attach_data['title'];
|
||||
}
|
||||
|
||||
if (!empty($attach_data['description'])) {
|
||||
$attachment['summary'] = $attach_data['description'];
|
||||
}
|
||||
|
||||
if (!empty($attach_data['image'])) {
|
||||
$imgdata = Images::getInfoFromURLCached($attach_data['image']);
|
||||
if ($imgdata) {
|
||||
$attachment['icon'] = ['type' => 'Image',
|
||||
'mediaType' => $imgdata['mime'],
|
||||
'width' => $imgdata[0],
|
||||
'height' => $imgdata[1],
|
||||
'url' => $attach_data['image']];
|
||||
}
|
||||
}
|
||||
|
||||
$attachments[] = $attachment;
|
||||
}
|
||||
*/
|
||||
$uriids = [$item['uri-id']];
|
||||
$shared = BBCode::fetchShareAttributes($item['body']);
|
||||
if (!empty($shared['guid'])) {
|
||||
|
@ -1300,8 +1269,14 @@ class Transmitter
|
|||
}
|
||||
}
|
||||
|
||||
$urls = [];
|
||||
foreach ($uriids as $uriid) {
|
||||
foreach (Post\Media::getByURIId($uriid, [Post\Media::DOCUMENT, Post\Media::TORRENT, Post\Media::UNKNOWN]) as $attachment) {
|
||||
foreach (Post\Media::getByURIId($uriid, [Post\Media::DOCUMENT, Post\Media::TORRENT]) as $attachment) {
|
||||
if (in_array($attachment['url'], $urls)) {
|
||||
continue;
|
||||
}
|
||||
$urls[] = $attachment['url'];
|
||||
|
||||
$attachments[] = ['type' => 'Document',
|
||||
'mediaType' => $attachment['mimetype'],
|
||||
'url' => $attachment['url'],
|
||||
|
@ -1315,11 +1290,30 @@ class Transmitter
|
|||
|
||||
foreach ($uriids as $uriid) {
|
||||
foreach (Post\Media::getByURIId($uriid, [Post\Media::AUDIO, Post\Media::IMAGE, Post\Media::VIDEO]) as $attachment) {
|
||||
if (in_array($attachment['url'], $urls)) {
|
||||
continue;
|
||||
}
|
||||
$urls[] = $attachment['url'];
|
||||
|
||||
$attachments[] = ['type' => 'Document',
|
||||
'mediaType' => $attachment['mimetype'],
|
||||
'url' => $attachment['url'],
|
||||
'name' => $attachment['description']];
|
||||
}
|
||||
// Currently deactivated, since it creates side effects on Mastodon and Pleroma.
|
||||
// It will be activated, once this cleared.
|
||||
/*
|
||||
foreach (Post\Media::getByURIId($uriid, [Post\Media::HTML]) as $attachment) {
|
||||
if (in_array($attachment['url'], $urls)) {
|
||||
continue;
|
||||
}
|
||||
$urls[] = $attachment['url'];
|
||||
|
||||
$attachments[] = ['type' => 'Page',
|
||||
'mediaType' => $attachment['mimetype'],
|
||||
'url' => $attachment['url'],
|
||||
'name' => $attachment['description']];
|
||||
}*/
|
||||
}
|
||||
|
||||
return $attachments;
|
||||
|
|
Loading…
Reference in a new issue