(issue #929) Admin users can now see offline users

https://github.com/designcreateplay/NodeBB/issues/929
v1.18.x
ferncoder 11 years ago
parent d83b45a427
commit 183f27b167

@ -494,35 +494,38 @@ var fs = require('fs'),
var websockets = require('../socket.io'); var websockets = require('../socket.io');
user.getUsers('users:online', 0, 49, function (err, data) { user.getUsers('users:online', 0, 49, function (err, data) {
var onlineUsers = []; var onlineUsers = [];
data = data.filter(function(item) { user.isAdministrator(req.user.uid, function (err, isAdministrator) {
return item.status !== 'offline'; if (true != isAdministrator) {
}); data = data.filter(function(item) {
return item.status !== 'offline';
function iterator(userData, next) { });
var online = websockets.isUserOnline(userData.uid); }
if(!online) {
db.sortedSetRemove('users:online', userData.uid); function iterator(userData, next) {
return next(null); var online = websockets.isUserOnline(userData.uid);
} if(!online) {
db.sortedSetRemove('users:online', userData.uid);
onlineUsers.push(userData); return next(null);
next(null); }
}
onlineUsers.push(userData);
var anonymousUserCount = websockets.getOnlineAnonCount(); next(null);
}
async.each(data, iterator, function(err) {
res.json({ var anonymousUserCount = websockets.getOnlineAnonCount();
search_display: 'none',
loadmore_display: 'block', async.each(data, iterator, function(err) {
users: onlineUsers, res.json({
anonymousUserCount: anonymousUserCount, search_display: 'none',
show_anon: anonymousUserCount?'':'hide' loadmore_display: 'block',
}); users: onlineUsers,
}); anonymousUserCount: anonymousUserCount,
show_anon: anonymousUserCount?'':'hide'
});
});
});
}); });
} }

Loading…
Cancel
Save