fix user online status on profile page

v1.18.x
barisusakli 11 years ago
parent dda0322968
commit 2d0637d7c6

@ -93,8 +93,8 @@ Sockets.init = function(server) {
uid: uid uid: uid
}); });
socketUser.isOnline(socket, [uid], function(err, data) { socketUser.isOnline(socket, uid, function(err, data) {
socket.broadcast.emit('user.isOnline', err, data[0]); socket.broadcast.emit('user.isOnline', err, data);
}); });
}); });
}); });
@ -114,8 +114,8 @@ Sockets.init = function(server) {
if (uid && Sockets.getUserSockets(uid).length <= 1) { if (uid && Sockets.getUserSockets(uid).length <= 1) {
db.sortedSetRemove('users:online', uid, function(err) { db.sortedSetRemove('users:online', uid, function(err) {
socketUser.isOnline(socket, [uid], function(err, data) { socketUser.isOnline(socket, uid, function(err, data) {
socket.broadcast.emit('user.isOnline', err, data[0]); socket.broadcast.emit('user.isOnline', err, data);
}); });
}); });
} }

@ -79,7 +79,9 @@ SocketUser.reset.commit = function(socket, data, callback) {
}; };
SocketUser.isOnline = function(socket, uid, callback) { SocketUser.isOnline = function(socket, uid, callback) {
user.isOnline(uid, callback); user.isOnline([uid], function(err, data) {
callback(err, Array.isArray(data) ? data[0] : null);
});
}; };
SocketUser.changePassword = function(socket, data, callback) { SocketUser.changePassword = function(socket, data, callback) {
@ -223,7 +225,7 @@ SocketUser.getOnlineUsers = function(socket, uids, callback) {
return callback(new Error('[[error:invalid-data]]')); return callback(new Error('[[error:invalid-data]]'));
} }
SocketUser.isOnline(socket, uids, function(err, userData) { user.isOnline(uids, function(err, userData) {
if (err) { if (err) {
return callback(err); return callback(err);
} }
@ -292,9 +294,9 @@ SocketUser.loadMore = function(socket, data, callback) {
SocketUser.setStatus = function(socket, status, callback) { SocketUser.setStatus = function(socket, status, callback) {
var server = require('./index'); var server = require('./index');
user.setUserField(socket.uid, 'status', status, function(err) { user.setUserField(socket.uid, 'status', status, function(err) {
SocketUser.isOnline(socket, [socket.uid], function(err, data) { SocketUser.isOnline(socket, socket.uid, function(err, data) {
server.server.sockets.emit('user.isOnline', err, data[0]); server.server.sockets.emit('user.isOnline', err, data);
callback(err, data[0]); callback(err, data);
}); });
}); });
}; };

Loading…
Cancel
Save