From c37cfe4b3f25ddc5edc7beebb257333d2d4e180b Mon Sep 17 00:00:00 2001 From: barisusakli Date: Fri, 3 Oct 2014 15:28:46 -0400 Subject: [PATCH] closes #2209 --- src/socket.io/modules.js | 40 +++++++++++++++++++++++++--------------- src/user.js | 3 +-- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/src/socket.io/modules.js b/src/socket.io/modules.js index a96c3ffd4b..b0dc4e8a7c 100644 --- a/src/socket.io/modules.js +++ b/src/socket.io/modules.js @@ -192,27 +192,37 @@ SocketModules.chats.send = function(socket, data, callback) { var msg = S(data.message).stripTags().s; - Messaging.addMessage(socket.uid, touid, msg, function(err, message) { + user.getUserField(socket.uid, 'banned', function(err, banned) { if (err) { return callback(err); } - Messaging.notifyUser(socket.uid, touid, message); + if (parseInt(banned, 10) === 1) { + return callback(new Error('[[error:user-banned]]')); + } - // Recipient - SocketModules.chats.pushUnreadCount(touid); - server.in('uid_' + touid).emit('event:chats.receive', { - withUid: socket.uid, - message: message, - self: 0 - }); + Messaging.addMessage(socket.uid, touid, msg, function(err, message) { + if (err) { + return callback(err); + } + + Messaging.notifyUser(socket.uid, touid, message); - // Sender - SocketModules.chats.pushUnreadCount(socket.uid); - server.in('uid_' + socket.uid).emit('event:chats.receive', { - withUid: touid, - message: message, - self: 1 + // Recipient + SocketModules.chats.pushUnreadCount(touid); + server.in('uid_' + touid).emit('event:chats.receive', { + withUid: socket.uid, + message: message, + self: 0 + }); + + // Sender + SocketModules.chats.pushUnreadCount(socket.uid); + server.in('uid_' + socket.uid).emit('event:chats.receive', { + withUid: touid, + message: message, + self: 1 + }); }); }); }; diff --git a/src/user.js b/src/user.js index f9ef005c6b..c5373a9d6c 100644 --- a/src/user.js +++ b/src/user.js @@ -111,6 +111,7 @@ var async = require('async'), user.uid = 0; user.username = '[[global:guest]]'; user.userslug = ''; + user.picture = User.createGravatarURLFromEmail(''); } if (user.picture) { @@ -119,8 +120,6 @@ var async = require('async'), } else { user.picture = User.createGravatarURLFromEmail(user.email); } - } else { - user.picture = User.createGravatarURLFromEmail(''); } for(var i=0; i