Add wcf1_user_session.creationTime
authorTim Düsterhus <duesterhus@woltlab.com>
Tue, 16 Mar 2021 13:35:38 +0000 (14:35 +0100)
committerTim Düsterhus <duesterhus@woltlab.com>
Tue, 16 Mar 2021 13:36:14 +0000 (14:36 +0100)
wcfsetup/install/files/acp/database/update_com.woltlab.wcf_5.4_session_2_user_session.php
wcfsetup/install/files/acp/update_com.woltlab.wcf_5.4_session_3_migrate_session.php
wcfsetup/install/files/lib/system/session/SessionHandler.class.php
wcfsetup/setup/db/install.sql

index e2b5caa897161460e4a91f1a99be1a50344d82dc..c7cb38ecd6ffbb6d967e8cfca1be5d2a08cd09de 100644 (file)
@@ -32,6 +32,7 @@ return [
             VarcharDatabaseTableColumn::create('ipAddress')
                 ->length(39)
                 ->defaultValue(''),
+            NotNullInt10DatabaseTableColumn::create('creationTime'),
             NotNullInt10DatabaseTableColumn::create('lastActivityTime')
                 ->defaultValue(0),
             MediumblobDatabaseTableColumn::create('sessionVariables'),
index a828489a90249b2d32eddb97446ca174ca06f0bf..f9ac5f394d4403eebd7f9dbed5d041ad3e7b2e47 100644 (file)
@@ -26,8 +26,8 @@ if ($statement->fetchSingleColumn() == SessionHandler::getInstance()->userID) {
 }
 
 $sql = "INSERT INTO wcf" . WCF_N . "_user_session
-                    (sessionID, userID, userAgent, ipAddress, lastActivityTime, sessionVariables)
-        VALUES      (?, ?, ?, ?, ?, ?)";
+                    (sessionID, userID, userAgent, ipAddress, creationTime, lastActivityTime, sessionVariables)
+        VALUES      (?, ?, ?, ?, ?, ?, ?)";
 $statement = WCF::getDB()->prepareStatement($sql);
 
 $klass = new \ReflectionClass(SessionHandler::getInstance());
@@ -45,7 +45,8 @@ $statement->execute([
     SessionHandler::getInstance()->userID,
     SessionHandler::getInstance()->userAgent,
     SessionHandler::getInstance()->ipAddress,
-    SessionHandler::getInstance()->lastActivityTime,
+    TIME_NOW,
+    TIME_NOW,
     \serialize([
         'acp' => $variables,
         'frontend' => [],
index db3fb09f4e27c885202b3a2b8e2deb7eaacbceb0..35362f68f145c45f839d797f0464a0457023ce51 100644 (file)
@@ -679,14 +679,15 @@ final class SessionHandler extends SingletonFactory
 
         // Create new session.
         $sql = "INSERT INTO wcf" . WCF_N . "_user_session
-                            (sessionID, ipAddress, userAgent, lastActivityTime, sessionVariables)
-                VALUES      (?, ?, ?, ?, ?)";
+                            (sessionID, ipAddress, userAgent, creationTime, lastActivityTime, sessionVariables)
+                VALUES      (?, ?, ?, ?, ?, ?)";
         $statement = WCF::getDB()->prepareStatement($sql);
         $statement->execute([
             $this->sessionID,
             UserUtil::getIpAddress(),
             UserUtil::getUserAgent(),
             TIME_NOW,
+            TIME_NOW,
             \serialize($variables),
         ]);
 
index d6f16af643f3ca64c49edfca8202078cf0ad0b8d..03b58b8252d206f12490f64dea35f8303bf2248a 100644 (file)
@@ -1886,6 +1886,7 @@ CREATE TABLE wcf1_user_session (
        userID INT(10),
        ipAddress VARCHAR(39) NOT NULL DEFAULT '',
        userAgent VARCHAR(255) NOT NULL DEFAULT '',
+       creationTime INT(10) NOT NULL,
        lastActivityTime INT(10) NOT NULL DEFAULT 0,
        sessionVariables MEDIUMBLOB,
        KEY (userID),