From ca9237267694e7ba6d8973ff1a6d8252f3939427 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 23 Jan 2015 07:27:49 -0500 Subject: [PATCH 1/3] fixed #2644 --- src/socket.io/groups.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/socket.io/groups.js b/src/socket.io/groups.js index d85640e9fa..1b97dad0bb 100644 --- a/src/socket.io/groups.js +++ b/src/socket.io/groups.js @@ -123,8 +123,13 @@ SocketGroups.delete = function(socket, data, callback) { return callback(new Error('[[error:invalid-data]]')); } - groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) { - if (!isOwner) { + var tasks = { + isOwner: async.apply(groups.ownership.isOwner, socket.uid, data.groupName), + isAdmin: async.apply(user.isAdministrator, socket.uid) + }; + + async.parallel(tasks, function(err, checks) { + if (!checks.isOwner && !checks.isAdmin) { return callback(new Error('[[error:no-privileges]]')); } From 3fb7eb766b9dea2795d984310cdaa2e36948c0a2 Mon Sep 17 00:00:00 2001 From: psychobunny Date: Fri, 23 Jan 2015 15:06:44 -0500 Subject: [PATCH 2/3] closes #2646 --- src/views/admin/manage/flags.tpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/admin/manage/flags.tpl b/src/views/admin/manage/flags.tpl index 4697c951fe..929fd6674d 100644 --- a/src/views/admin/manage/flags.tpl +++ b/src/views/admin/manage/flags.tpl @@ -25,8 +25,8 @@ - Posted in {posts.category.name}, • - Read More + Posted in {posts.category.name}, • + Read More From caec7180921b85257be74809b1efa8cb809254f1 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Fri, 23 Jan 2015 15:12:53 -0500 Subject: [PATCH 3/3] callback for getUidsInRoom --- src/socket.io/index.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/socket.io/index.js b/src/socket.io/index.js index 171a80d38f..0e04b9ab1d 100644 --- a/src/socket.io/index.js +++ b/src/socket.io/index.js @@ -314,13 +314,15 @@ Sockets.getUsersInRoom = function (uid, roomName, callback) { }); }; -Sockets.getUidsInRoom = function(roomName) { +Sockets.getUidsInRoom = function(roomName, callback) { + callback = callback || function() {}; // TODO : doesnt work in cluster var uids = []; var socketids = Object.keys(io.sockets.adapter.rooms[roomName] || {}); if (!Array.isArray(socketids) || !socketids.length) { + callback(null, []); return []; } @@ -334,7 +336,7 @@ Sockets.getUidsInRoom = function(roomName) { }); } } - + callback(null, uids); return uids; };