From 2d0637d7c6c6e59a18d5a09246344a19c8bd0e00 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Thu, 14 Aug 2014 07:51:21 -0400 Subject: [PATCH] fix user online status on profile page --- src/socket.io/index.js | 8 ++++---- src/socket.io/user.js | 12 +++++++----- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/socket.io/index.js b/src/socket.io/index.js index 64b1ae8f39..3457bd537f 100644 --- a/src/socket.io/index.js +++ b/src/socket.io/index.js @@ -93,8 +93,8 @@ Sockets.init = function(server) { uid: uid }); - socketUser.isOnline(socket, [uid], function(err, data) { - socket.broadcast.emit('user.isOnline', err, data[0]); + socketUser.isOnline(socket, uid, function(err, data) { + socket.broadcast.emit('user.isOnline', err, data); }); }); }); @@ -114,8 +114,8 @@ Sockets.init = function(server) { if (uid && Sockets.getUserSockets(uid).length <= 1) { db.sortedSetRemove('users:online', uid, function(err) { - socketUser.isOnline(socket, [uid], function(err, data) { - socket.broadcast.emit('user.isOnline', err, data[0]); + socketUser.isOnline(socket, uid, function(err, data) { + socket.broadcast.emit('user.isOnline', err, data); }); }); } diff --git a/src/socket.io/user.js b/src/socket.io/user.js index 7501c9651b..844c2ac270 100644 --- a/src/socket.io/user.js +++ b/src/socket.io/user.js @@ -79,7 +79,9 @@ SocketUser.reset.commit = function(socket, data, 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) { @@ -223,7 +225,7 @@ SocketUser.getOnlineUsers = function(socket, uids, callback) { return callback(new Error('[[error:invalid-data]]')); } - SocketUser.isOnline(socket, uids, function(err, userData) { + user.isOnline(uids, function(err, userData) { if (err) { return callback(err); } @@ -292,9 +294,9 @@ SocketUser.loadMore = function(socket, data, callback) { SocketUser.setStatus = function(socket, status, callback) { var server = require('./index'); user.setUserField(socket.uid, 'status', status, function(err) { - SocketUser.isOnline(socket, [socket.uid], function(err, data) { - server.server.sockets.emit('user.isOnline', err, data[0]); - callback(err, data[0]); + SocketUser.isOnline(socket, socket.uid, function(err, data) { + server.server.sockets.emit('user.isOnline', err, data); + callback(err, data); }); }); };