Issue 11952: Avoid to send AP related comments to Diaspora

This commit is contained in:
Michael 2022-10-03 10:40:16 +00:00
parent 38cf0666bd
commit 7395ae22f7
2 changed files with 15 additions and 0 deletions

View File

@ -4133,6 +4133,17 @@ class Diaspora
return false;
}
$parent_post = Post::selectFirstPost(['gravity', 'signed_text', 'author-link'], ['uri-id' => $item['thr-parent-id']]);
if (empty(FContact::getByURL($parent_post['author-link'], false))) {
Logger::info('Parent author is no Diaspora contact. A signature will not be created.', ['uri-id' => $item['uri-id'], 'guid' => $item['guid']]);
return false;
}
if (($parent_post['gravity'] == GRAVITY_COMMENT) && empty($parent_post['signed_text'])) {
Logger::info('Parent comment has got no Diaspora signature. A signature will not be created.', ['uri-id' => $item['uri-id'], 'guid' => $item['guid']]);
return false;
}
$message = self::constructComment($item, $owner);
if ($message === false) {
return false;

View File

@ -191,6 +191,10 @@ class Notifier
// when the original comment author does support the Diaspora protocol.
if ($thr_parent['author-link'] && $target_item['parent-uri'] != $target_item['thr-parent']) {
$diaspora_delivery = Diaspora::isSupportedByContactUrl($thr_parent['author-link']);
if ($diaspora_delivery && empty($target_item['signed_text'])) {
Logger::debug('Post has got no Diaspora signature, so there will be no Diaspora delivery', ['guid' => $target_item['guid'], 'uri-id' => $target_item['uri-id']]);
$diaspora_delivery = false;
}
Logger::info('Threaded comment', ['diaspora_delivery' => (int)$diaspora_delivery]);
}