X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FItem.php;h=e31009753b8933c3fb98e6fd66a02dbe7748b6ac;hb=0da2391c4911ceb423a83bccfdbf3fff2a076a5c;hp=de95d4e16c37dc671759927d5efe1524f4c32800;hpb=8a50101eea4b6794d0f113b7aa6ad51d60cea13d;p=friendica.git diff --git a/src/Model/Item.php b/src/Model/Item.php index de95d4e16c..e31009753b 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -94,9 +94,9 @@ class Item 'wall', 'private', 'starred', 'origin', 'parent-origin', 'title', 'body', 'language', 'content-warning', 'location', 'coord', 'app', 'rendered-hash', 'rendered-html', 'object', 'quote-uri', 'quote-uri-id', 'allow_cid', 'allow_gid', 'deny_cid', 'deny_gid', 'mention', 'global', - 'author-id', 'author-link', 'author-name', 'author-avatar', 'author-network', 'author-updated', 'author-gsid', 'author-addr', 'author-uri-id', - 'owner-id', 'owner-link', 'owner-name', 'owner-avatar', 'owner-network', 'owner-contact-type', 'owner-updated', - 'causer-id', 'causer-link', 'causer-name', 'causer-avatar', 'causer-contact-type', 'causer-network', + 'author-id', 'author-link', 'author-alias', 'author-name', 'author-avatar', 'author-network', 'author-updated', 'author-gsid', 'author-addr', 'author-uri-id', + 'owner-id', 'owner-link', 'owner-alias', 'owner-name', 'owner-avatar', 'owner-network', 'owner-contact-type', 'owner-updated', + 'causer-id', 'causer-link', 'causer-alias', 'causer-name', 'causer-avatar', 'causer-contact-type', 'causer-network', 'contact-id', 'contact-uid', 'contact-link', 'contact-name', 'contact-avatar', 'writable', 'self', 'cid', 'alias', 'event-created', 'event-edited', 'event-start', 'event-finish', @@ -490,6 +490,23 @@ class Item return $owner['id']; } + $contact_id = 0; + $user_contact_id = 0; + foreach (['group-link', 'causer-link', 'owner-link', 'author-link'] as $field) { + if (empty($item[$field])) { + continue; + } + if (!$user_contact_id && Contact::isSharingByURL($item[$field], $item['uid'], true)) { + $user_contact_id = Contact::getIdForURL($item[$field], $item['uid']); + } elseif (!$contact_id) { + $contact_id = Contact::getIdForURL($item[$field]); + } + } + + if ($user_contact_id) { + return $user_contact_id; + } + if (!empty($item['causer-id']) && Contact::isSharing($item['causer-id'], $item['uid'], true)) { $cdata = Contact::getPublicAndUserContactID($item['causer-id'], $item['uid']); if (!empty($cdata['user'])) { @@ -497,18 +514,8 @@ class Item } } - foreach (['owner-link', 'author-link', 'causer-link'] as $field) { - if (empty($item[$field])) { - continue; - } - if (Contact::isSharingByURL($item[$field], $item['uid'], true)) { - $contact_id = Contact::getIdForURL($item[$field], $item['uid']); - } else { - $contact_id = Contact::getIdForURL($item[$field]); - } - if (!empty($contact_id)) { - return $contact_id; - } + if ($contact_id) { + return $contact_id; } Logger::warning('contact-id could not be fetched, using self contact instead.', ['uid' => $item['uid'], 'item' => $item]); @@ -3733,7 +3740,7 @@ class Item /** * Does the given uri-id belongs to a post that is sent as starting post to a group? - * This does not apply to posts that are sent only in parallel to a group. + * This does apply to posts that are sent via ! and not in parallel to a group via @ * * @param int $uri_id *