X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FContact%2FProfile.php;h=eadc67818d506751551aa1fcae08200afd1c7b62;hb=79235b6db1c9badd6c9602d54ad0d550e4bec2fd;hp=793d0fa4a9c84ea027f81c64d8dd591a310155d0;hpb=3c70d592f642267b0397a429e83bec7b76eb1dd8;p=friendica.git diff --git a/src/Module/Contact/Profile.php b/src/Module/Contact/Profile.php index 793d0fa4a9..eadc67818d 100644 --- a/src/Module/Contact/Profile.php +++ b/src/Module/Contact/Profile.php @@ -35,6 +35,7 @@ use Friendica\Core\L10n; use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\Contact; use Friendica\Model\Group; use Friendica\Module; @@ -73,7 +74,7 @@ class Profile extends BaseModule protected function post(array $request = []) { - if (!local_user()) { + if (!DI::userSession()->getLocalUserId()) { return; } @@ -81,7 +82,7 @@ class Profile extends BaseModule // Backward compatibility: The update still needs a user-specific contact ID // Change to user-contact table check by version 2022.03 - $cdata = Contact::getPublicAndUserContactID($contact_id, local_user()); + $cdata = Contact::getPublicAndUserContactID($contact_id, DI::userSession()->getLocalUserId()); if (empty($cdata['user']) || !DBA::exists('contact', ['id' => $cdata['user'], 'deleted' => false])) { return; } @@ -123,20 +124,20 @@ class Profile extends BaseModule $fields['info'] = $_POST['info']; } - if (!Contact::update($fields, ['id' => $cdata['user'], 'uid' => local_user()])) { - notice($this->t('Failed to update contact record.')); + if (!Contact::update($fields, ['id' => $cdata['user'], 'uid' => DI::userSession()->getLocalUserId()])) { + DI::sysmsg()->addNotice($this->t('Failed to update contact record.')); } } protected function content(array $request = []): string { - if (!local_user()) { + if (!DI::userSession()->getLocalUserId()) { return Module\Security\Login::form($_SERVER['REQUEST_URI']); } // Backward compatibility: Ensure to use the public contact when the user contact is provided // Remove by version 2022.03 - $data = Contact::getPublicAndUserContactID(intval($this->parameters['id']), local_user()); + $data = Contact::getPublicAndUserContactID(intval($this->parameters['id']), DI::userSession()->getLocalUserId()); if (empty($data)) { throw new HTTPException\NotFoundException($this->t('Contact not found.')); } @@ -151,7 +152,7 @@ class Profile extends BaseModule throw new HTTPException\NotFoundException($this->t('Contact not found.')); } - $localRelationship = $this->localRelationship->getForUserContact(local_user(), $contact['id']); + $localRelationship = $this->localRelationship->getForUserContact(DI::userSession()->getLocalUserId(), $contact['id']); if ($localRelationship->rel === Contact::SELF) { $this->baseUrl->redirect('profile/' . $contact['nick'] . '/profile'); @@ -172,33 +173,33 @@ class Profile extends BaseModule if ($cmd === 'block') { if ($localRelationship->blocked) { // @TODO Backward compatibility, replace with $localRelationship->unblock() - Contact\User::setBlocked($contact['id'], local_user(), false); + Contact\User::setBlocked($contact['id'], DI::userSession()->getLocalUserId(), false); $message = $this->t('Contact has been unblocked'); } else { // @TODO Backward compatibility, replace with $localRelationship->block() - Contact\User::setBlocked($contact['id'], local_user(), true); + Contact\User::setBlocked($contact['id'], DI::userSession()->getLocalUserId(), true); $message = $this->t('Contact has been blocked'); } // @TODO: add $this->localRelationship->save($localRelationship); - info($message); + DI::sysmsg()->addInfo($message); } if ($cmd === 'ignore') { if ($localRelationship->ignored) { // @TODO Backward compatibility, replace with $localRelationship->unblock() - Contact\User::setIgnored($contact['id'], local_user(), false); + Contact\User::setIgnored($contact['id'], DI::userSession()->getLocalUserId(), false); $message = $this->t('Contact has been unignored'); } else { // @TODO Backward compatibility, replace with $localRelationship->block() - Contact\User::setIgnored($contact['id'], local_user(), true); + Contact\User::setIgnored($contact['id'], DI::userSession()->getLocalUserId(), true); $message = $this->t('Contact has been ignored'); } // @TODO: add $this->localRelationship->save($localRelationship); - info($message); + DI::sysmsg()->addInfo($message); } $this->baseUrl->redirect('contact/' . $contact['id']); @@ -222,8 +223,8 @@ class Profile extends BaseModule '$baseurl' => $this->baseUrl->get(true), ]); - $contact['blocked'] = Contact\User::isBlocked($contact['id'], local_user()); - $contact['readonly'] = Contact\User::isIgnored($contact['id'], local_user()); + $contact['blocked'] = Contact\User::isBlocked($contact['id'], DI::userSession()->getLocalUserId()); + $contact['readonly'] = Contact\User::isIgnored($contact['id'], DI::userSession()->getLocalUserId()); switch ($localRelationship->rel) { case Contact::FRIEND: $relation_text = $this->t('You are mutual friends with %s', $contact['name']); break; @@ -238,7 +239,7 @@ class Profile extends BaseModule } $url = Contact::magicLinkByContact($contact); - if (strpos($url, 'redir/') === 0) { + if (strpos($url, 'contact/redir/') === 0) { $sparkle = ' class="sparkle" '; } else { $sparkle = ''; @@ -284,7 +285,6 @@ class Profile extends BaseModule if ($contact['network'] == Protocol::FEED) { $remote_self_options = [ Contact::MIRROR_DEACTIVATED => $this->t('No mirroring'), - Contact::MIRROR_FORWARDED => $this->t('Mirror as forwarded posting'), Contact::MIRROR_OWN_POST => $this->t('Mirror as my own posting') ]; } elseif ($contact['network'] == Protocol::ACTIVITYPUB) { @@ -327,7 +327,7 @@ class Profile extends BaseModule '$submit' => $this->t('Submit'), '$lbl_info1' => $lbl_info1, '$lbl_info2' => $this->t('Their personal note'), - '$reason' => trim($contact['reason']), + '$reason' => trim($contact['reason'] ?? ''), '$infedit' => $this->t('Edit contact notes'), '$common_link' => 'contact/' . $contact['id'] . '/contacts/common', '$relation_text' => $relation_text, @@ -414,6 +414,24 @@ class Profile extends BaseModule $formSecurityToken = self::getFormSecurityToken('contact_action'); + if ($localRelationship->rel & Contact::SHARING) { + $contact_actions['unfollow'] = [ + 'label' => $this->t('Unfollow'), + 'url' => 'contact/unfollow?url=' . urlencode($contact['url']) . '&auto=1', + 'title' => '', + 'sel' => '', + 'id' => 'unfollow', + ]; + } else { + $contact_actions['follow'] = [ + 'label' => $this->t('Follow'), + 'url' => 'contact/follow?url=' . urlencode($contact['url']) . '&auto=1', + 'title' => '', + 'sel' => '', + 'id' => 'follow', + ]; + } + // Provide friend suggestion only for Friendica contacts if ($contact['network'] === Protocol::DFRN) { $contact_actions['suggest'] = [ @@ -484,7 +502,7 @@ class Profile extends BaseModule */ private static function updateContactFromProbe(int $contact_id) { - $contact = DBA::selectFirst('contact', ['url'], ['id' => $contact_id, 'uid' => [0, local_user()], 'deleted' => false]); + $contact = DBA::selectFirst('contact', ['url'], ['id' => $contact_id, 'uid' => [0, DI::userSession()->getLocalUserId()], 'deleted' => false]); if (!DBA::isResult($contact)) { return; }