]> git.mxchange.org Git - friendica.git/commitdiff
Issue 13828: Use the alias as profile link if present (#13829)
authorMichael Vogel <icarus@dabo.de>
Sun, 14 Jan 2024 09:08:00 +0000 (10:08 +0100)
committerGitHub <noreply@github.com>
Sun, 14 Jan 2024 09:08:00 +0000 (10:08 +0100)
* Issue 13828: Use the alias as profile link if present

* Updated messages.po

src/Content/Item.php
src/Content/Widget/Hovercard.php
src/Content/Widget/VCard.php
src/Model/Contact.php
view/lang/C/messages.po

index 9c5c3e74808281fbf7ffb41933b4728276e5efec..c7438d2593b57ec0f939f643bcc1c4e067590430 100644 (file)
@@ -383,7 +383,7 @@ class Item
                        'url'     => $item['author-link'],
                        'alias'   => $item['author-alias'],
                ];
-               $profile_link = Contact::magicLinkByContact($author, $item['author-link']);
+               $profile_link = Contact::magicLinkByContact($author, Contact::getProfileLink($author));
                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']);
index 91107b0fc324e385e18e18ea205692c9412a5292..d229f764e851afdd753fb4b8ef98d10227b2ef1f 100644 (file)
@@ -45,19 +45,21 @@ class Hovercard
                        $actions = [];
                }
 
+               $contact_url = Contact::getProfileLink($contact);
+
                // Move the contact data to the profile array so we can deliver it to
                $tpl = Renderer::getMarkupTemplate('hovercard.tpl');
                return Renderer::replaceMacros($tpl, [
                        '$profile' => [
                                'name'         => $contact['name'],
                                'nick'         => $contact['nick'],
-                               'addr'         => $contact['addr'] ?: $contact['url'],
+                               'addr'         => $contact['addr'] ?: $contact_url,
                                'thumb'        => Contact::getThumb($contact),
                                'url'          => Contact::magicLinkByContact($contact),
                                'nurl'         => $contact['nurl'],
                                'location'     => $contact['location'],
                                'about'        => $contact['about'],
-                               'network_link' => Strings::formatNetworkName($contact['network'], $contact['url']),
+                               'network_link' => Strings::formatNetworkName($contact['network'], $contact_url),
                                'tags'         => $contact['keywords'],
                                'bd'           => $contact['bd'] <= DBA::NULL_DATE ? '' : $contact['bd'],
                                'account_type' => Contact::getAccountType($contact['contact-type']),
index 9963629f17d44f0e07f6dca6b4aaba5d4d023039..13c90f5712880ab75d5f8571385115aaff70878d 100644 (file)
@@ -50,11 +50,7 @@ class VCard
                        Logger::warning('Incomplete contact', ['contact' => $contact ?? []]);
                }
 
-               if (!Network::isValidHttpUrl($contact['url']) && Network::isValidHttpUrl($contact['alias'])) {
-                       $contact_url = $contact['alias'];
-               } else {
-                       $contact_url = $contact['url'];
-               }
+               $contact_url = Contact::getProfileLink($contact);
 
                if ($contact['network'] != '') {
                        $network_link   = Strings::formatNetworkName($contact['network'], $contact_url);
index 4e4a41e7e3fd91726bb911dfa216b9707e88ffde..6442784f73758cc8741af6eb0324c07a24f669b6 100644 (file)
@@ -3490,6 +3490,21 @@ class Contact
                return array_column($contacts, 'id');
        }
 
+       /**
+        * Return the link to the profile
+        *
+        * @param array $contact
+        * @return string
+        */
+       public static function getProfileLink(array $contact): string
+       {
+               if (!empty($contact['alias']) && Network::isValidHttpUrl($contact['alias']) && (($contact['network'] ?? '') != Protocol::DFRN)) {
+                       return $contact['alias'];
+               } else {
+                       return $contact['url'];
+               }
+       }
+
        /**
         * Returns a magic link to authenticate remote visitors
         *
@@ -3548,7 +3563,7 @@ class Contact
         */
        public static function magicLinkByContact(array $contact, string $url = ''): string
        {
-               $destination = $url ?: (!Network::isValidHttpUrl($contact['url']) && !empty($contact['alias']) && Network::isValidHttpUrl($contact['alias']) ? $contact['alias'] : $contact['url']);
+               $destination = $url ?: self::getProfileLink($contact);
 
                if (!DI::userSession()->isAuthenticated()) {
                        return $destination;
index 652a82709b45460c858c28a9a4246635faeba816..76cd7655c4e8ddd56b8e145ca4ec751d685583bf 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: 2024.03-dev\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-01-03 19:19+0000\n"
+"POT-Creation-Date: 2024-01-14 07:50+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1377,7 +1377,7 @@ msgstr ""
 msgid "Public post"
 msgstr ""
 
-#: src/Content/Conversation.php:426 src/Content/Widget/VCard.php:131
+#: src/Content/Conversation.php:426 src/Content/Widget/VCard.php:127
 #: src/Model/Profile.php:483 src/Module/Admin/Logs/View.php:92
 #: src/Module/Post/Edit.php:181
 msgid "Message"
@@ -2220,7 +2220,7 @@ msgstr ""
 msgid "The end"
 msgstr ""
 
-#: src/Content/Text/HTML.php:859 src/Content/Widget/VCard.php:127
+#: src/Content/Text/HTML.php:859 src/Content/Widget/VCard.php:123
 #: src/Model/Profile.php:477 src/Module/Contact/Profile.php:471
 msgid "Follow"
 msgstr ""
@@ -2420,27 +2420,27 @@ msgstr[1] ""
 msgid "More Trending Tags"
 msgstr ""
 
-#: src/Content/Widget/VCard.php:106 src/Model/Contact.php:1204
+#: src/Content/Widget/VCard.php:102 src/Model/Contact.php:1204
 #: src/Model/Profile.php:461
 msgid "Post to group"
 msgstr ""
 
-#: src/Content/Widget/VCard.php:110 src/Model/Contact.php:1209
+#: src/Content/Widget/VCard.php:106 src/Model/Contact.php:1209
 #: src/Model/Profile.php:466 src/Module/Moderation/Item/Source.php:85
 msgid "Mention"
 msgstr ""
 
-#: src/Content/Widget/VCard.php:120 src/Model/Profile.php:380
+#: src/Content/Widget/VCard.php:116 src/Model/Profile.php:380
 #: src/Module/Contact/Profile.php:408 src/Module/Profile/Profile.php:199
 msgid "XMPP:"
 msgstr ""
 
-#: src/Content/Widget/VCard.php:121 src/Model/Profile.php:381
+#: src/Content/Widget/VCard.php:117 src/Model/Profile.php:381
 #: src/Module/Contact/Profile.php:410 src/Module/Profile/Profile.php:203
 msgid "Matrix:"
 msgstr ""
 
-#: src/Content/Widget/VCard.php:122 src/Model/Event.php:82
+#: src/Content/Widget/VCard.php:118 src/Model/Event.php:82
 #: src/Model/Event.php:109 src/Model/Event.php:471 src/Model/Event.php:963
 #: src/Model/Profile.php:375 src/Module/Contact/Profile.php:406
 #: src/Module/Directory.php:147 src/Module/Notifications/Introductions.php:187
@@ -2448,18 +2448,18 @@ msgstr ""
 msgid "Location:"
 msgstr ""
 
-#: src/Content/Widget/VCard.php:125 src/Model/Profile.php:490
+#: src/Content/Widget/VCard.php:121 src/Model/Profile.php:490
 #: src/Module/Notifications/Introductions.php:201
 msgid "Network:"
 msgstr ""
 
-#: src/Content/Widget/VCard.php:129 src/Model/Contact.php:1237
+#: src/Content/Widget/VCard.php:125 src/Model/Contact.php:1237
 #: src/Model/Contact.php:1249 src/Model/Profile.php:479
 #: src/Module/Contact/Profile.php:463
 msgid "Unfollow"
 msgstr ""
 
-#: src/Content/Widget/VCard.php:135 src/Model/Contact.php:1206
+#: src/Content/Widget/VCard.php:131 src/Model/Contact.php:1206
 #: src/Model/Profile.php:463
 msgid "View group"
 msgstr ""
@@ -3813,9 +3813,9 @@ msgid ""
 "\t\tYou may also wish to add some basic information to your default profile\n"
 "\t\t(on the \"Profiles\" page) so that other people can easily find you.\n"
 "\n"
-"\t\tWe recommend adding a profile photo, adding some profile \"keywords\" \n"
+"\t\tWe recommend adding a profile photo, adding some profile \"keywords\"\n"
 "\t\t(very useful in making new friends) - and perhaps what country you live "
-"in; \n"
+"in;\n"
 "\t\tif you do not wish to be more specific than that.\n"
 "\n"
 "\t\tWe fully respect your right to privacy, and none of these items are "