Avoid quoting the own post

This commit is contained in:
Michael 2023-09-24 10:18:50 +00:00
parent 3e314d2fc6
commit 1dbc9bd472
6 changed files with 20 additions and 10 deletions

View file

@ -1184,6 +1184,11 @@ class Item
}
}
if (!empty($item['quote-uri-id']) && ($item['quote-uri-id'] == $item['uri-id'])) {
Logger::info('Quote-Uri-Id is identical to Uri-Id', ['uri-id' => $item['uri-id'], 'guid' => $item['guid']]);
unset($item['quote-uri-id']);
}
if (!empty($item['quote-uri-id'])) {
$item['raw-body'] = BBCode::removeSharedData($item['raw-body']);
$item['body'] = BBCode::removeSharedData($item['body']);
@ -3125,7 +3130,7 @@ class Item
$item['body'] = BBCode::removeSharedData($item['body']);
} elseif (empty($shared_item['uri-id']) && empty($item['quote-uri-id']) && ($item['network'] != Protocol::DIASPORA)) {
$media = Post\Media::getByURIId($item['uri-id'], [Post\Media::ACTIVITY]);
if (!empty($media)) {
if (!empty($media) && ($media[0]['media-uri-id'] != $item['uri-id'])) {
$shared_item = Post::selectFirst($fields, ['uri-id' => $media[0]['media-uri-id'], 'uid' => [$item['uid'], 0]]);
if (empty($shared_item['uri-id'])) {
$shared_item = Post::selectFirst($fields, ['plink' => $media[0]['url'], 'uid' => [$item['uid'], 0]]);

View file

@ -265,6 +265,11 @@ class Media
return $media;
}
if ($item['uri-id'] == $media['uri-id']) {
Logger::info('Media-Uri-Id is identical to Uri-Id', ['uri-id' => $media['uri-id']]);
return $media;
}
if (
!empty($item['plink']) && Strings::compareLink($item['plink'], $media['url']) &&
parse_url($item['plink'], PHP_URL_HOST) != parse_url($item['uri'], PHP_URL_HOST)

View file

@ -602,7 +602,7 @@ class UserNotification
*/
private static function checkQuoted(array $item, array $contacts): bool
{
if (empty($item['quote-uri-id'])) {
if (empty($item['quote-uri-id']) || ($item['quote-uri-id'] == $item['uri-id'])) {
return false;
}
$condition = ['uri-id' => $item['quote-uri-id'], 'uid' => $item['uid'], 'author-id' => $contacts, 'deleted' => false, 'gravity' => [item::GRAVITY_PARENT, Item::GRAVITY_COMMENT]];