diff --git a/src/Core/Protocol.php b/src/Core/Protocol.php index 015612adea..096e12c27b 100644 --- a/src/Core/Protocol.php +++ b/src/Core/Protocol.php @@ -205,6 +205,7 @@ class Protocol $slap = OStatus::salmon($item, $user); if (empty($contact['notify'])) { + return true; throw new \InvalidArgumentException('Missing expected "notify" key in OStatus/DFRN contact'); } diff --git a/src/Model/Contact.php b/src/Model/Contact.php index ce392217dd..e0c3c1682a 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -106,7 +106,7 @@ class Contact */ const MIRROR_DEACTIVATED = 0; - const MIRROR_FORWARDED = 1; + const MIRROR_FORWARDED = 1; // Deprecated, now does the same like MIRROR_OWN_POST const MIRROR_OWN_POST = 2; const MIRROR_NATIVE_RESHARE = 3; diff --git a/src/Model/Item.php b/src/Model/Item.php index 6858baec0e..48c578e85f 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -823,19 +823,38 @@ class Item $item['protocol'] = Conversation::PARCEL_DIRECT; $item['direction'] = Conversation::PUSH; - if (!empty($item['author-link']) && !empty($item['author-id'])) { - $owner = User::getOwnerDataById($item['uid']); + $owner = User::getOwnerDataById($item['uid']); + + if (empty($item['contact-id'])) { + $item['contact-id'] = $owner['id']; + } + + if (empty($item['author-link']) && empty($item['author-id'])) { $item['author-link'] = $owner['url']; $item['author-name'] = $owner['name']; $item['author-avatar'] = $owner['thumb']; } - if (!empty($item['owner-link']) && !empty($item['owner-id'])) { + if (empty($item['owner-link']) && empty($item['owner-id'])) { $item['owner-link'] = $item['author-link']; $item['owner-name'] = $item['author-name']; $item['owner-avatar'] = $item['author-avatar']; } + // Setting the object type if not defined before + if (empty($item['object-type'])) { + $item['object-type'] = Activity\ObjectType::NOTE; // Default value + $objectdata = BBCode::getAttachedData($item['body']); + + if ($objectdata['type'] == 'link') { + $item['object-type'] = Activity\ObjectType::BOOKMARK; + } elseif ($objectdata['type'] == 'video') { + $item['object-type'] = Activity\ObjectType::VIDEO; + } elseif ($objectdata['type'] == 'photo') { + $item['object-type'] = Activity\ObjectType::IMAGE; + } + } + return $item; } diff --git a/src/Module/Contact/Profile.php b/src/Module/Contact/Profile.php index ecb25dd607..b3d0c03733 100644 --- a/src/Module/Contact/Profile.php +++ b/src/Module/Contact/Profile.php @@ -285,7 +285,6 @@ class Profile extends BaseModule if ($contact['network'] == Protocol::FEED) { $remote_self_options = [ Contact::MIRROR_DEACTIVATED => $this->t('No mirroring'), - Contact::MIRROR_FORWARDED => $this->t('Mirror as forwarded posting'), Contact::MIRROR_OWN_POST => $this->t('Mirror as my own posting') ]; } elseif ($contact['network'] == Protocol::ACTIVITYPUB) {