]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/Session.php
Allow nullable UID in PConfigCache
[friendica.git] / src / Core / Session.php
index 5ef77094ceab1b734999d18d741d50a8f2e3cdc4..e54c0e49b910f413b67e3190f1f17991a25f1499 100644 (file)
@@ -9,6 +9,7 @@ use Friendica\App;
 use Friendica\Core\Session\CacheSessionHandler;
 use Friendica\Core\Session\DatabaseSessionHandler;
 use Friendica\Database\DBA;
+use Friendica\Model\Contact;
 use Friendica\Model\User;
 use Friendica\Util\BaseURL;
 use Friendica\Util\DateTimeFormat;
@@ -61,13 +62,7 @@ class Session
         */
        public static function get($name, $defaults = null)
        {
-               if (isset($_SESSION)) {
-                       $return = defaults($_SESSION, $name, $defaults);
-               } else {
-                       $return = $defaults;
-               }
-
-               return $return;
+               return $_SESSION[$name] ?? $defaults;
        }
 
        /**
@@ -137,8 +132,8 @@ class Session
 
                $masterUid = $user_record['uid'];
 
-               if (!empty($_SESSION['submanage'])) {
-                       $user = DBA::selectFirst('user', ['uid'], ['uid' => $_SESSION['submanage']]);
+               if (self::get('submanage')) {
+                       $user = DBA::selectFirst('user', ['uid'], ['uid' => self::get('submanage')]);
                        if (DBA::isResult($user)) {
                                $masterUid = $user['uid'];
                        }
@@ -154,7 +149,7 @@ class Session
                        $a->getLogger()->info('auth_identities refresh: ' . print_r($a->identities, true));
                }
 
-               $contact = DBA::selectFirst('contact', [], ['uid' => $_SESSION['uid'], 'self' => true]);
+               $contact = DBA::selectFirst('contact', [], ['uid' => $user_record['uid'], 'self' => true]);
                if (DBA::isResult($contact)) {
                        $a->contact = $contact;
                        $a->cid = $contact['id'];
@@ -164,7 +159,7 @@ class Session
                header('X-Account-Management-Status: active; name="' . $user_record['username'] . '"; id="' . $user_record['nickname'] . '"');
 
                if ($login_initial || $login_refresh) {
-                       DBA::update('user', ['login_date' => DateTimeFormat::utcNow()], ['uid' => $_SESSION['uid']]);
+                       DBA::update('user', ['login_date' => DateTimeFormat::utcNow()], ['uid' => $user_record['uid']]);
 
                        // Set the login date for all identities of the user
                        DBA::update('user', ['login_date' => DateTimeFormat::utcNow()],