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

https://github.com/designcreateplay/NodeBB/issues/929
v1.18.x
ferncoder 12 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) { function iterator(userData, next) {
var online = websockets.isUserOnline(userData.uid); var online = websockets.isUserOnline(userData.uid);
if(!online) { if(!online) {
db.sortedSetRemove('users:online', userData.uid); db.sortedSetRemove('users:online', userData.uid);
return next(null); return next(null);
} }
onlineUsers.push(userData); onlineUsers.push(userData);
next(null); next(null);
} }
var anonymousUserCount = websockets.getOnlineAnonCount(); var anonymousUserCount = websockets.getOnlineAnonCount();
async.each(data, iterator, function(err) { async.each(data, iterator, function(err) {
res.json({ res.json({
search_display: 'none', search_display: 'none',
loadmore_display: 'block', loadmore_display: 'block',
users: onlineUsers, users: onlineUsers,
anonymousUserCount: anonymousUserCount, anonymousUserCount: anonymousUserCount,
show_anon: anonymousUserCount?'':'hide' show_anon: anonymousUserCount?'':'hide'
}); });
}); });
});
}); });
} }

Loading…
Cancel
Save