X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FProfile.php;h=c1a350673e1bafe995bcec7719491f42fa6e0f80;hb=f2c1ecd19bb344137a91faab58d9a2524e0c8893;hp=96932cdb0475b20b1242491c667a5c8b7168ed16;hpb=b4ffb0bde082c488d6018e62f33c5493f5c6ef19;p=friendica.git diff --git a/src/Model/Profile.php b/src/Model/Profile.php index 96932cdb04..c1a350673e 100644 --- a/src/Model/Profile.php +++ b/src/Model/Profile.php @@ -1,6 +1,6 @@ $owner['name']], $uid); - } - $profile_fields = ['postal-code', 'dob', 'prv_keywords', 'homepage']; foreach ($profile_fields as $field) { if ($old_owner[$field] != $owner[$field]) { @@ -334,14 +332,14 @@ class Profile if (!$local_user_is_self) { if (!$visitor_is_authenticated) { // Remote follow is only available for local profiles - if (!empty($profile['nickname']) && strpos($profile_url, DI::baseUrl()->get()) === 0) { - $follow_link = 'remote_follow/' . $profile['nickname']; + if (!empty($profile['nickname']) && strpos($profile_url, (string)DI::baseUrl()) === 0) { + $follow_link = 'profile/' . $profile['nickname'] . '/remote_follow'; } } else { if ($visitor_is_following) { - $unfollow_link = $visitor_base_path . '/unfollow?url=' . urlencode($profile_url) . '&auto=1'; + $unfollow_link = $visitor_base_path . '/contact/unfollow?url=' . urlencode($profile_url) . '&auto=1'; } else { - $follow_link = $visitor_base_path .'/follow?url=' . urlencode($profile_url) . '&auto=1'; + $follow_link = $visitor_base_path . '/contact/follow?url=' . urlencode($profile_url) . '&auto=1'; } } @@ -349,7 +347,7 @@ class Profile if ($visitor_is_followed || $visitor_is_following) { $wallmessage_link = $visitor_base_path . '/message/new/' . $profile_contact['id']; } elseif ($visitor_is_authenticated && !empty($profile['unkmail'])) { - $wallmessage_link = 'wallmessage/' . $profile['nickname']; + $wallmessage_link = 'profile/' . $profile['nickname'] . '/unkmail'; } } } @@ -451,6 +449,10 @@ class Profile $p['url'] = Contact::magicLinkById($cid, $profile['url']); + if (!isset($profile['hidewall'])) { + Logger::warning('Missing hidewall key in profile array', ['profile' => $profile, 'callstack' => System::callstack(10)]); + } + $tpl = Renderer::getMarkupTemplate('profile/vcard.tpl'); $o .= Renderer::replaceMacros($tpl, [ '$profile' => $p, @@ -461,12 +463,13 @@ class Profile '$unfollow' => DI::l10n()->t('Unfollow'), '$unfollow_link' => $unfollow_link, '$subscribe_feed' => DI::l10n()->t('Atom feed'), - '$subscribe_feed_link' => $profile['poll'], + '$subscribe_feed_link' => $profile['hidewall'] ?? 0 ? '' : $profile['poll'], '$wallmessage' => DI::l10n()->t('Message'), '$wallmessage_link' => $wallmessage_link, '$account_type' => $account_type, '$location' => $location, '$homepage' => $homepage, + '$homepage_verified' => DI::l10n()->t('This website has been verified to belong to the same person.'), '$about' => $about, '$network' => DI::l10n()->t('Network:'), '$contacts' => $contact_count, @@ -635,13 +638,13 @@ class Profile $istoday = true; } - $title = strip_tags(html_entity_decode(BBCode::convertForUriId($rr['uri-id'], $rr['summary']), ENT_QUOTES, 'UTF-8')); + $title = BBCode::toPlaintext($rr['summary'], false); if (strlen($title) > 35) { $title = substr($title, 0, 32) . '... '; } - $description = substr(strip_tags(BBCode::convertForUriId($rr['uri-id'], $rr['desc'])), 0, 32) . '... '; + $description = BBCode::toPlaintext($rr['desc'], false) . '... '; if (!$description) { $description = DI::l10n()->t('[No description]'); } @@ -679,10 +682,11 @@ class Profile * Retrieves the my_url session variable * * @return string + * @deprecated since version 2022.12, please use UserSession->getMyUrl instead */ public static function getMyURL(): string { - return DI::session()->get('my_url') ?? ''; + return DI::userSession()->getMyUrl(); } /** @@ -750,13 +754,13 @@ class Profile $query = rtrim(str_replace($addr_request, '', DI::args()->getQueryString()), '?&'); // The other instance needs to know where to redirect. - $dest = urlencode(DI::baseUrl()->get() . '/' . $query); + $dest = urlencode(DI::baseUrl() . '/' . $query); // We need to extract the basebath from the profile url // to redirect the visitors '/magic' module. $basepath = Contact::getBasepath($contact['url']); - if ($basepath != DI::baseUrl()->get() && !strstr($dest, '/magic')) { + if ($basepath != DI::baseUrl() && !strstr($dest, '/magic')) { $magic_path = $basepath . '/magic' . '?owa=1&dest=' . $dest . '&' . $addr_request; // We have to check if the remote server does understand /magic without invoking something @@ -789,14 +793,16 @@ class Profile $visitor = Contact::getById($cid); // Authenticate the visitor. - $_SESSION['authenticated'] = 1; - $_SESSION['visitor_id'] = $visitor['id']; - $_SESSION['visitor_handle'] = $visitor['addr']; - $_SESSION['visitor_home'] = $visitor['url']; - $_SESSION['my_url'] = $visitor['url']; - $_SESSION['remote_comment'] = $visitor['subscribe']; + DI::userSession()->setMultiple([ + 'authenticated' => 1, + 'visitor_id' => $visitor['id'], + 'visitor_handle' => $visitor['addr'], + 'visitor_home' => $visitor['url'], + 'my_url' => $visitor['url'], + 'remote_comment' => $visitor['subscribe'], + ]); - DI::userSession()->setVisitorsContacts(); + DI::userSession()->setVisitorsContacts($visitor['url']); $a->setContactId($visitor['id']); @@ -864,7 +870,7 @@ class Profile $a->setContactId($arr['visitor']['id']); - DI::sysmsg()->addInfo(DI::l10n()->t('OpenWebAuth: %1$s welcomes %2$s', DI::baseUrl()->getHostname(), $visitor['name'])); + DI::sysmsg()->addInfo(DI::l10n()->t('OpenWebAuth: %1$s welcomes %2$s', DI::baseUrl()->getHost(), $visitor['name'])); Logger::info('OpenWebAuth: auth success from ' . $visitor['addr']); }