'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']);
$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']),
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);
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
*
*/
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;
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"
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"
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 ""
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
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 ""
"\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 "