mirror of
https://github.com/friendica/friendica
synced 2024-11-19 13:43: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);
|
$text = HTML::purify($text, $allowedIframeDomains);
|
||||||
|
|
||||||
return $text;
|
return trim($text);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -2871,7 +2871,8 @@ class Item
|
||||||
$found = true;
|
$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;
|
$attachment = $link;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1260,37 +1260,6 @@ class Transmitter
|
||||||
{
|
{
|
||||||
$attachments = [];
|
$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']];
|
$uriids = [$item['uri-id']];
|
||||||
$shared = BBCode::fetchShareAttributes($item['body']);
|
$shared = BBCode::fetchShareAttributes($item['body']);
|
||||||
if (!empty($shared['guid'])) {
|
if (!empty($shared['guid'])) {
|
||||||
|
@ -1300,8 +1269,14 @@ class Transmitter
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$urls = [];
|
||||||
foreach ($uriids as $uriid) {
|
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',
|
$attachments[] = ['type' => 'Document',
|
||||||
'mediaType' => $attachment['mimetype'],
|
'mediaType' => $attachment['mimetype'],
|
||||||
'url' => $attachment['url'],
|
'url' => $attachment['url'],
|
||||||
|
@ -1315,11 +1290,30 @@ class Transmitter
|
||||||
|
|
||||||
foreach ($uriids as $uriid) {
|
foreach ($uriids as $uriid) {
|
||||||
foreach (Post\Media::getByURIId($uriid, [Post\Media::AUDIO, Post\Media::IMAGE, Post\Media::VIDEO]) as $attachment) {
|
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',
|
$attachments[] = ['type' => 'Document',
|
||||||
'mediaType' => $attachment['mimetype'],
|
'mediaType' => $attachment['mimetype'],
|
||||||
'url' => $attachment['url'],
|
'url' => $attachment['url'],
|
||||||
'name' => $attachment['description']];
|
'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;
|
return $attachments;
|
||||||
|
|
Loading…
Reference in a new issue