From 1980e945dae75125be68ec32061658b7e7e9f155 Mon Sep 17 00:00:00 2001 From: Baris Soner Usakli Date: Sun, 19 Jan 2014 14:42:47 -0500 Subject: [PATCH] fixed admin page active sockets --- public/src/forum/admin/index.js | 9 ++++++++- src/socket.io/meta.js | 3 +++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/public/src/forum/admin/index.js b/public/src/forum/admin/index.js index ba45405cf6..c0806106dd 100644 --- a/public/src/forum/admin/index.js +++ b/public/src/forum/admin/index.js @@ -18,6 +18,13 @@ define(function() { }; Admin.updateRoomUsage = function(err, data) { + function getUserCountIn(room) { + var count = 0; + for(var user in data[room]) { + ++count; + } + return count; + } var active_users = $('#active_users'), total = 0; @@ -31,7 +38,7 @@ define(function() { for (var room in data) { if (room !== '') { - var count = $(data[room]).length; + var count = getUserCountIn(room); total += count; usersHtml += "
" + room + " " + count + " active user" + (count > 1 ? "s" : "") + "
"; } diff --git a/src/socket.io/meta.js b/src/socket.io/meta.js index 9c8d2b8ed8..106c6d5621 100644 --- a/src/socket.io/meta.js +++ b/src/socket.io/meta.js @@ -91,6 +91,9 @@ SocketMeta.rooms.enter = function(socket, data) { if (data.leave && server.rooms[data.leave] && server.rooms[data.leave][socket.id] && data.enter !== data.leave) { delete server.rooms[data.leave][socket.id]; + if(!Object.keys(server.rooms[data.leave]).length) { + delete server.rooms[data.leave]; + } } }