v1.18.x
barisusakli 11 years ago
parent fa8cdce748
commit 53021d31b0

@ -9,7 +9,7 @@ var async = require('async'),
usersController.getOnlineUsers = function(req, res, next) { usersController.getOnlineUsers = function(req, res, next) {
var websockets = require('../socket.io'); var websockets = require('../socket.io');
user.getUsersFromSet('users:online', 0, 49, function (err, data) { user.getUsersFromSet('users:online', 0, 49, function (err, users) {
if(err) { if(err) {
return next(err); return next(err);
} }
@ -26,34 +26,44 @@ usersController.getOnlineUsers = function(req, res, next) {
} }
if (!isAdministrator) { if (!isAdministrator) {
data = data.filter(function(item) { users = users.filter(function(item) {
return item.status !== 'offline'; return item.status !== 'offline';
}); });
} }
function iterator(userData, next) { function updateUserOnlineStatus(user, next) {
var online = websockets.isUserOnline(userData.uid); var online = websockets.isUserOnline(user.uid);
if(!online) { if (!online) {
db.sortedSetRemove('users:online', userData.uid); db.sortedSetRemove('users:online', user.uid);
return next(null); return next();
} }
onlineUsers.push(userData); onlineUsers.push(user);
next(null); next();
} }
var anonymousUserCount = websockets.getOnlineAnonCount(); var anonymousUserCount = websockets.getOnlineAnonCount();
async.each(data, iterator, function(err) { async.each(users, updateUserOnlineStatus, function(err) {
var userData = { if (err) {
search_display: 'none', return next(err);
loadmore_display: 'block', }
users: onlineUsers,
anonymousUserCount: anonymousUserCount, db.sortedSetCard('users:online', function(err, count) {
show_anon: anonymousUserCount?'':'hide' if (err) {
}; return next(err);
}
var userData = {
search_display: 'none',
loadmore_display: count > 50 ? 'block' : 'hide',
users: onlineUsers,
anonymousUserCount: anonymousUserCount,
show_anon: anonymousUserCount?'':'hide'
};
res.render('users', userData); res.render('users', userData);
});
}); });
}); });
}); });
@ -76,14 +86,21 @@ function getUsers(set, res, next) {
if (err) { if (err) {
return next(err); return next(err);
} }
var userData = {
search_display: 'none', db.sortedSetCard(set, function(err, count) {
loadmore_display: 'block', if (err) {
users: data, return next(err);
show_anon: 'hide' }
};
var userData = {
res.render('users', userData); search_display: 'none',
loadmore_display: count > 50 ? 'block' : 'hide',
users: data,
show_anon: 'hide'
};
res.render('users', userData);
});
}); });
} }

Loading…
Cancel
Save