v1.18.x
barisusakli 11 years ago
parent e56b18822b
commit ddb02978c8

@ -3,49 +3,46 @@
var usersController = {}; var usersController = {};
var async = require('async'), var async = require('async'),
user = require('./../user'), user = require('../user'),
db = require('./../database'); db = require('../database');
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, users) {
if(err) {
return next(err);
}
var uid = req.user ? req.user.uid : 0; var uid = req.user ? req.user.uid : 0;
user.isAdministrator(uid, function (err, isAdministrator) { async.parallel({
users: function(next) {
user.getUsersFromSet('users:online', 0, 49, next);
},
count: function(next) {
db.sortedSetCard('users:online', next);
},
isAdministrator: function(next) {
user.isAdministrator(uid, next);
}
}, function(err, results) {
if (err) { if (err) {
return next(err); return next(err);
} }
if (!isAdministrator) { if (!results.isAdministrator) {
users = users.filter(function(user) { results.users = results.users.filter(function(user) {
return user.status !== 'offline'; return user && user.status !== 'offline';
}); });
} }
var anonymousUserCount = websockets.getOnlineAnonCount(); var anonymousUserCount = websockets.getOnlineAnonCount();
db.sortedSetCard('users:online', function(err, count) {
if (err) {
return next(err);
}
var userData = { var userData = {
search_display: 'none', search_display: 'none',
loadmore_display: count > 50 ? 'block' : 'hide', loadmore_display: results.count > 50 ? 'block' : 'hide',
users: users, users: results.users,
anonymousUserCount: anonymousUserCount, anonymousUserCount: anonymousUserCount,
show_anon: anonymousUserCount ? '' : 'hide' show_anon: anonymousUserCount ? '' : 'hide'
}; };
res.render('users', userData); res.render('users', userData);
}); });
});
});
}; };
usersController.getUsersSortedByPosts = function(req, res, next) { usersController.getUsersSortedByPosts = function(req, res, next) {
@ -61,28 +58,30 @@ usersController.getUsersSortedByJoinDate = function(req, res, next) {
}; };
function getUsers(set, res, next) { function getUsers(set, res, next) {
user.getUsersFromSet(set, 0, 49, function (err, data) { async.parallel({
users: function(next) {
user.getUsersFromSet(set, 0, 49, next);
},
count: function(next) {
db.sortedSetCard(set, next);
}
}, function(err, results) {
if (err) { if (err) {
return next(err); return next(err);
} }
data = data.filter(function(user) { results.users = results.users.filter(function(user) {
return user && parseInt(user.uid, 10); return user && parseInt(user.uid, 10);
}); });
db.sortedSetCard(set, function(err, count) {
if (err) {
return next(err);
}
var userData = { var userData = {
search_display: 'none', search_display: 'none',
loadmore_display: count > 50 ? 'block' : 'hide', loadmore_display: results.count > 50 ? 'block' : 'hide',
users: data, users: results.users,
show_anon: 'hide' show_anon: 'hide'
}; };
res.render('users', userData); res.render('users', userData);
}); });
});
} }
usersController.getUsersForSearch = function(req, res, next) { usersController.getUsersForSearch = function(req, res, next) {

Loading…
Cancel
Save