diff --git a/src/Model/Item.php b/src/Model/Item.php index 5309a898b..0f008518b 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -3778,10 +3778,10 @@ class Item extends BaseObject $attribute_string = $matches[2]; $attributes = ['comment' => trim($matches[1]), 'shared' => trim($matches[3])]; - foreach(['author', 'profile', 'avatar', 'guid', 'posted', 'link'] as $field) { - if (preg_match("/$field=(['\"])(.+?)\\1/ism", $attribute_string, $matches)) { - $attributes[$field] = trim(html_entity_decode($matches[2] ?? '', ENT_QUOTES, 'UTF-8')); - } + foreach (['author', 'profile', 'avatar', 'guid', 'posted', 'link'] as $field) { + if (preg_match("/$field=(['\"])(.+?)\\1/ism", $attribute_string, $matches)) { + $attributes[$field] = trim(html_entity_decode($matches[2] ?? '', ENT_QUOTES, 'UTF-8')); + } } return $attributes; } @@ -3813,6 +3813,7 @@ class Item extends BaseObject // Otherwhise try to find (and possibly fetch) the item via the link. This should work for Diaspora and ActivityPub posts $id = self::fetchByLink($shared['link'], $uid); if (empty($id)) { + Logger::info('Original item not found', ['url' => $shared['link'], 'callstack' => System::callstack()]); return $item; } @@ -3820,6 +3821,9 @@ class Item extends BaseObject if (!DBA::isResult($shared_item)) { return $item; } + Logger::info('Got shared data from url', ['url' => $shared['link'], 'callstack' => System::callstack()]); + } else { + Logger::info('Got shared data from guid', ['guid' => $shared['guid'], 'callstack' => System::callstack()]); } if (!empty($shared_item['title'])) { diff --git a/src/Protocol/DFRN.php b/src/Protocol/DFRN.php index 0b6e02f09..f7a8f6939 100644 --- a/src/Protocol/DFRN.php +++ b/src/Protocol/DFRN.php @@ -2537,6 +2537,9 @@ class DFRN } } + // Ensure to have the correct share data + $item = Item::addShareDataFromOriginal($item); + if ($entrytype == DFRN::REPLY_RC) { $item["wall"] = 1; } elseif ($entrytype == DFRN::TOP_LEVEL) {