dont show invisible users in online users page

v1.18.x
Baris Soner Usakli 11 years ago
parent 700876fe58
commit 52962a7e9b

@ -52,8 +52,6 @@ define(function() {
return app.alert(err.message);
}
console.log(data);
if (!data) {
$('#user-notfound-notify').html('You need to be logged in to search!');
$('#user-notfound-notify').parent().addClass('btn-warning label-warning');
@ -83,7 +81,7 @@ define(function() {
});
socket.on('user.isOnline', function(err, data) {
if(getActiveSection() == 'online' && !loadingMoreUsers) {
if(getActiveSection().indexOf('online') === 0 && !loadingMoreUsers) {
startLoading('users:online', 0, true);
socket.emit('user.getOnlineAnonCount', {} , function(err, anonCount) {
if(parseInt(anonCount, 10) > 0) {
@ -100,8 +98,11 @@ define(function() {
var html = templates.prepare(templates['users'].blocks['users']).parse({
users: users
});
if(emptyContainer)
if(emptyContainer) {
$('#users-container .registered-user').remove();
}
$('#users-container').append(html);
$('#users-container .anon-user').appendTo($('#users-container'));
}
@ -125,6 +126,7 @@ define(function() {
function startLoading(set, after, emptyContainer) {
loadingMoreUsers = true;
socket.emit('user.loadMore', {
set: set,
after: after

@ -494,13 +494,19 @@ var fs = require('fs'),
var onlineUsers = [];
function iterator(user, callback) {
if(websockets.isUserOnline(user.uid)) {
onlineUsers.push(user);
} else {
db.sortedSetRemove('users:online', user.uid);
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);
return next(null);
}
callback(null);
onlineUsers.push(userData);
next(null);
}
var anonymousUserCount = websockets.getOnlineAnonCount();

@ -174,20 +174,28 @@ SocketUser.getActiveUsers = function(socket, data, callback) {
};
SocketUser.loadMore = function(socket, data, callback) {
if(data) {
var start = data.after,
end = start + 19;
if(!data || !data.set || parseInt(data.after, 10) < 0) {
return callback(new Error('invalid-data'));
}
user.getUsers(data.set, start, end, function(err, data) {
if(err) {
return callback(err);
}
var start = data.after,
end = start + 19;
callback(null, {
users: data
user.getUsers(data.set, start, end, function(err, userData) {
if(err) {
return callback(err);
}
if(data.set === 'users:online') {
userData = userData.filter(function(item) {
return item.status !== 'offline';
});
}
callback(null, {
users: userData
});
}
});
};
SocketUser.setStatus = function(socket, status, callback) {

Loading…
Cancel
Save