Simplified signature creation

This commit is contained in:
Michael 2021-08-05 08:42:46 +00:00
parent a26a2a0228
commit 835152d418
2 changed files with 14 additions and 9 deletions

View File

@ -1061,13 +1061,7 @@ class Item
// Create Diaspora signature
if ($item['origin'] && empty($item['diaspora_signed_text']) && ($item['gravity'] != GRAVITY_PARENT)) {
if ($uid == 0) {
$sender_contact = Contact::getById($item['contact-id'], ['uid']);
$sender_uid = $sender_contact['uid'];
} else {
$sender_uid = $uid;
}
$signed = Diaspora::createCommentSignature($sender_uid, $item);
$signed = Diaspora::createCommentSignature($item);
if (!empty($signed)) {
$item['diaspora_signed_text'] = json_encode($signed);
}

View File

@ -4044,14 +4044,25 @@ class Diaspora
/**
* Creates the signature for Comments that are created on our system
*
* @param integer $uid The user of that comment
* @param array $item Item array
*
* @return array Signed content
* @throws \Exception
*/
public static function createCommentSignature($uid, array $item)
public static function createCommentSignature(array $item)
{
$contact = Contact::getById($item['author-id'], ['url']);
if (empty($contact['url'])) {
Logger::warning('Author Contact not found', ['author-id' => $item['author-id']]);
return false;
}
$uid = User::getIdForURL($contact['url']);
if (empty($uid)) {
Logger::info('No owner post, so not storing signature', ['url' => $contact['url']]);
return false;
}
$owner = User::getOwnerDataById($uid);
if (empty($owner)) {
Logger::info('No owner post, so not storing signature');