X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCore%2FSession.php;h=059cd499c080513d038e0329f1f929b82c59e7e4;hb=4ff7c37f85cdedb3f033bec92228c8ef22def574;hp=b15b53c4eef4ecc04e709a6f7b9b9f3d39dd6f09;hpb=fb7f7435c080e15bdafbbcbb5a3dfd94ef8dd952;p=friendica.git diff --git a/src/Core/Session.php b/src/Core/Session.php index b15b53c4ee..059cd499c0 100644 --- a/src/Core/Session.php +++ b/src/Core/Session.php @@ -1,6 +1,6 @@ get($name, $defaults); } + public static function pop($name, $defaults = null) + { + return DI::session()->pop($name, $defaults); + } + public static function set($name, $value) { DI::session()->set($name, $value); @@ -74,11 +79,19 @@ class Session { $session = DI::session(); - if (empty($session->get('remote')[$uid])) { - return 0; + if (!empty($session->get('remote')[$uid])) { + $remote = $session->get('remote')[$uid]; + } else { + $remote = 0; } - return $session->get('remote')[$uid]; + $local_user = !empty($session->get('authenticated')) ? $session->get('uid') : 0; + + if (empty($remote) && ($local_user != $uid) && !empty($my_address = $session->get('my_address'))) { + $remote = Contact::getIdForURL($my_address, $uid, false); + } + + return $remote; } /** @@ -108,16 +121,17 @@ class Session $session = DI::session(); $session->set('remote', []); + $remote = []; $remote_contacts = DBA::select('contact', ['id', 'uid'], ['nurl' => Strings::normaliseLink($session->get('my_url')), 'rel' => [Contact::FOLLOWER, Contact::FRIEND], 'self' => false]); while ($contact = DBA::fetch($remote_contacts)) { if (($contact['uid'] == 0) || Contact\User::isBlocked($contact['id'], $contact['uid'])) { continue; } - - $session->set('remote', [$contact['uid'] => $contact['id']]); + $remote[$contact['uid']] = $contact['id']; } DBA::close($remote_contacts); + $session->set('remote', $remote); } /**