walkor 3 лет назад
Родитель
Сommit
1de3484695
1 измененных файлов с 7 добавлено и 6 удалено
  1. 7 6
      src/Protocols/Http/Request.php

+ 7 - 6
src/Protocols/Http/Request.php

@@ -288,24 +288,25 @@ class Request
     }
 
     /**
-     * Get session id.
+     * Get/Set session id.
      *
-     * @return bool|mixed
+     * @param $session_id
+     * @return string
      */
     public function sessionId($session_id = null)
     {
-        if ($session_id !== null) {
-            $this->sid = $session_id;
+        if ($session_id) {
+            unset($this->sid);
         }
         if (!isset($this->sid)) {
             $session_name = Http::sessionName();
-            $sid = $this->cookie($session_name);
+            $sid = $session_id ? '' : $this->cookie($session_name);
             if ($sid === '' || $sid === null) {
                 if ($this->connection === null) {
                     Worker::safeEcho('Request->session() fail, header already send');
                     return false;
                 }
-                $sid = static::createSessionId();
+                $sid = $session_id ?: static::createSessionId();
                 $cookie_params = \session_get_cookie_params();
                 $this->setSidCookie($session_name, $sid, $cookie_params);
             }