From afb0312f51d03c07edaae0cc49cf9afd509b5b84 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Tue, 24 May 2016 10:37:45 -0400 Subject: [PATCH] closes #4672 --- src/controllers/users.js | 9 +++++++-- src/user.js | 4 ++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/controllers/users.js b/src/controllers/users.js index 476766e7ba..c3dc8b0550 100644 --- a/src/controllers/users.js +++ b/src/controllers/users.js @@ -171,12 +171,17 @@ function render(req, res, data, next) { data.adminInviteOnly = registrationType === 'admin-invite-only'; data['reputation:disabled'] = parseInt(meta.config['reputation:disabled'], 10) === 1; - user.getInvitesNumber(req.uid, function(err, num) { + async.parallel({ + numInvites: async.apply(user.getInvitesNumber, req.uid), + numUsers: async.apply(user.getUserCount) + }, function(err, meta) { if (err) { return next(err); } - data.invites = num; + res.append('X-Total-Count', meta.numUsers); + data.invites = meta.numInvites; + res.render('users', data); }); } diff --git a/src/user.js b/src/user.js index c7fb18e4fc..b222ae4a2b 100644 --- a/src/user.js +++ b/src/user.js @@ -33,6 +33,10 @@ var utils = require('../public/src/utils'); require('./user/invite')(User); require('./user/password')(User); + User.getUserCount = function(callback) { + db.sortedSetCount('username:uid', '-inf', '+inf', callback); + }; + User.updateLastOnlineTime = function(uid, callback) { callback = callback || function() {}; User.getUserFields(uid, ['status', 'lastonline'], function(err, userData) {