diff --git a/include/conversation.php b/include/conversation.php index 77b96574a0..37752c083e 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -850,7 +850,7 @@ function item_photo_menu($item) { $author = ['uid' => 0, 'id' => $item['author-id'], 'network' => $item['author-network'], 'url' => $item['author-link']]; - $profile_link = Contact::magicLinkByContact($author); + $profile_link = Contact::magicLinkByContact($author, $item['author-link']); $sparkle = (strpos($profile_link, 'redir/') === 0); $cid = 0; @@ -865,9 +865,9 @@ function item_photo_menu($item) { } if ($sparkle) { - $status_link = $profile_link . '?url=status'; - $photos_link = $profile_link . '?url=photos'; - $profile_link = $profile_link . '?url=profile'; + $status_link = $profile_link . '?tab=status'; + $photos_link = str_replace('/profile/', '/photos/', $profile_link); + $profile_link = $profile_link . '?=profile'; } if ($cid && !$item['self']) { diff --git a/src/Model/Contact.php b/src/Model/Contact.php index 6e83b76e6f..c472da2c07 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -1006,7 +1006,7 @@ class Contact extends BaseObject $sparkle = false; if (($contact['network'] === Protocol::DFRN) && !$contact['self']) { $sparkle = true; - $profile_link = System::baseUrl() . '/redir/' . $contact['id']; + $profile_link = System::baseUrl() . '/redir/' . $contact['id'] . '?url=' . $contact['url']; } else { $profile_link = $contact['url']; } @@ -1016,9 +1016,9 @@ class Contact extends BaseObject } if ($sparkle) { - $status_link = $profile_link . '?url=status'; - $photos_link = $profile_link . '?url=photos'; - $profile_link = $profile_link . '?url=profile'; + $status_link = $profile_link . '?tab=status'; + $photos_link = str_replace('/profile/', '/photos/', $profile_link); + $profile_link = $profile_link . '?tab=profile'; } if (in_array($contact['network'], [Protocol::DFRN, Protocol::DIASPORA]) && !$contact['self']) {