diff --git a/public/language/en-GB/admin/dashboard.json b/public/language/en-GB/admin/dashboard.json index 37ae537786..f2aaff8415 100644 --- a/public/language/en-GB/admin/dashboard.json +++ b/public/language/en-GB/admin/dashboard.json @@ -2,6 +2,7 @@ "forum-traffic": "Forum Traffic", "page-views": "Page Views", "unique-visitors": "Unique Visitors", + "logins": "Logins", "new-users": "New Users", "posts": "Posts", "topics": "Topics", diff --git a/src/controllers/admin/dashboard.js b/src/controllers/admin/dashboard.js index f291a55f27..57ac7aca97 100644 --- a/src/controllers/admin/dashboard.js +++ b/src/controllers/admin/dashboard.js @@ -117,14 +117,16 @@ async function getStats() { const results = await Promise.all([ getStatsForSet('ip:recent', 'uniqueIPCount'), + getStatsForSet('sessions:recent', 'loginCount'), getStatsForSet('users:joindate', 'userCount'), getStatsForSet('posts:pid', 'postCount'), getStatsForSet('topics:tid', 'topicCount'), ]); results[0].name = '[[admin/dashboard:unique-visitors]]'; - results[1].name = '[[admin/dashboard:new-users]]'; - results[2].name = '[[admin/dashboard:posts]]'; - results[3].name = '[[admin/dashboard:topics]]'; + results[1].name = '[[admin/dashboard:logins]]'; + results[2].name = '[[admin/dashboard:new-users]]'; + results[3].name = '[[admin/dashboard:posts]]'; + results[4].name = '[[admin/dashboard:topics]]'; cache.set('admin:stats', results, 600000); return results; } diff --git a/src/controllers/authentication.js b/src/controllers/authentication.js index c2a13fa792..dece1978e9 100644 --- a/src/controllers/authentication.js +++ b/src/controllers/authentication.js @@ -357,6 +357,7 @@ authenticationController.onSuccessfulLogin = async function (req, uid) { user.updateLastOnlineTime(uid), user.updateOnlineUsers(uid), analytics.increment('logins'), + db.incrObjectFieldBy('global', 'loginCount', 1), ]); if (uid > 0) { await db.setObjectField(`uid:${uid}:sessionUUID:sessionId`, uuid, req.sessionID); diff --git a/src/user/auth.js b/src/user/auth.js index 5ec8ab2030..d8cf7d531a 100644 --- a/src/user/auth.js +++ b/src/user/auth.js @@ -111,7 +111,7 @@ module.exports = function (User) { return; } await cleanExpiredSessions(uid); - await db.sortedSetAdd(`uid:${uid}:sessions`, Date.now(), sessionId); + await db.sortedSetsAdd([`uid:${uid}:sessions`, 'sessions:recent'], Date.now(), sessionId); await revokeSessionsAboveThreshold(uid, meta.config.maxUserSessions); };