]> git.mxchange.org Git - friendica.git/commitdiff
Fix magic links in contact photo menu
authorHypolite Petovan <hypolite@mrpetovan.com>
Wed, 17 May 2023 23:53:22 +0000 (19:53 -0400)
committerHypolite Petovan <hypolite@mrpetovan.com>
Wed, 17 May 2023 23:53:22 +0000 (19:53 -0400)
- They were using a URL format obsolete for years

src/Content/Item.php
src/Model/Contact.php

index cb805d5db573ab89224985b7ee5ff215b4021d99..172729f2689faca7ad91fe8fc89b26e2962277e8 100644 (file)
@@ -378,7 +378,11 @@ class Item
                        'url' => $item['author-link'],
                ];
                $profile_link = Contact::magicLinkByContact($author, $item['author-link']);
-               $sparkle = (strpos($profile_link, 'contact/redir/') === 0);
+               if (strpos($profile_link, 'contact/redir/') === 0) {
+                       $status_link  = $profile_link . '?' . http_build_query(['url' => $item['author-link'] . '/status']);
+                       $photos_link  = $profile_link . '?' . http_build_query(['url' => $item['author-link'] . '/photos']);
+                       $profile_link = $profile_link . '?' . http_build_query(['url' => $item['author-link'] . '/profile']);
+               }
 
                $cid = 0;
                $pcid = $item['author-id'];
@@ -392,12 +396,6 @@ class Item
                        $rel = $contact['rel'];
                }
 
-               if ($sparkle) {
-                       $status_link = $profile_link . '/status';
-                       $photos_link = $profile_link . '/photos';
-                       $profile_link = $profile_link . '/profile';
-               }
-
                if (!empty($pcid)) {
                        $contact_url   = 'contact/' . $pcid;
                        $posts_link    = $contact_url . '/posts';
index 99edf3fe2ba990d2774276d692383bfc2d034062..134bbc1e5d5c7f822336a20e07c08ac5a8de4886 100644 (file)
@@ -1152,10 +1152,11 @@ class Contact
                $status_link = '';
                $photos_link = '';
 
-               $sparkle = false;
                if (($contact['network'] === Protocol::DFRN) && !$contact['self'] && empty($contact['pending'])) {
-                       $sparkle      = true;
                        $profile_link = 'contact/redir/' . $contact['id'];
+                       $status_link  = $profile_link . '?' . http_build_query(['url' => $contact['url'] . '/status']);
+                       $photos_link  = $profile_link . '?' . http_build_query(['url' => $contact['url'] . '/photos']);
+                       $profile_link = $profile_link . '?' . http_build_query(['url' => $contact['url'] . '/profile']);
                } else {
                        $profile_link = $contact['url'];
                }
@@ -1164,12 +1165,6 @@ class Contact
                        $profile_link = '';
                }
 
-               if ($sparkle) {
-                       $status_link  = $profile_link . '/status';
-                       $photos_link  = $profile_link . '/photos';
-                       $profile_link = $profile_link . '/profile';
-               }
-
                if (self::canReceivePrivateMessages($contact) && empty($contact['pending'])) {
                        $pm_url = 'message/new/' . $contact['id'];
                }
@@ -3444,7 +3439,7 @@ class Contact
         */
        public static function magicLinkByContact(array $contact, string $url = ''): string
        {
-               $destination = $url ?: $contact['url']; // Equivalent to ($url != '') ? $url : $contact['url'];
+               $destination = $url ?: $contact['url'];
 
                if (!DI::userSession()->isAuthenticated()) {
                        return $destination;