From 9e34a2112920c89ed531291b52065e4421ed071d Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 20 Jul 2022 16:43:42 +0200 Subject: only update last login timestamp with minute percision Signed-off-by: Robin Appelman --- lib/private/User/User.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/private/User/User.php b/lib/private/User/User.php index c5306d1df27..7f7d6273e30 100644 --- a/lib/private/User/User.php +++ b/lib/private/User/User.php @@ -244,10 +244,15 @@ class User implements IUser { * updates the timestamp of the most recent login of this user */ public function updateLastLoginTimestamp() { - $firstTimeLogin = ($this->getLastLogin() === 0); - $this->lastLogin = time(); - $this->config->setUserValue( - $this->uid, 'login', 'lastLogin', (string)$this->lastLogin); + $previousLogin = $this->getLastLogin(); + $now = time(); + $firstTimeLogin = $previousLogin === 0; + + if ($now - $previousLogin > 60) { + $this->lastLogin = time(); + $this->config->setUserValue( + $this->uid, 'login', 'lastLogin', (string)$this->lastLogin); + } return $firstTimeLogin; } -- cgit v1.2.3