From 1294a7bd504862aa3a72a5d2d4a4abbec045a4ae Mon Sep 17 00:00:00 2001 From: calzoneman Date: Thu, 22 Aug 2013 15:14:17 -0500 Subject: [PATCH] Fix banning guest names, add ban message to chat --- channel.js | 25 ++++++++++++++++++++++--- database.js | 4 ++-- package.json | 2 +- server.js | 2 +- 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/channel.js b/channel.js index 5d77ff53..688358ea 100644 --- a/channel.js +++ b/channel.js @@ -556,8 +556,17 @@ Channel.prototype.tryNameBan = function(actor, name) { } } self.logger.log("*** " + actor.name + " namebanned " + name); + var notice = { + username: "[server]", + msg: actor.name + " banned " + name, + msgclass: "server-whisper", + time: Date.now() + }; self.users.forEach(function(u) { - self.sendBanlist(u); + if(self.hasPermission(u, "ban")) { + self.sendBanlist(u); + u.socket.emit("chatMsg", notice); + } }); if(!self.registered) { @@ -614,7 +623,7 @@ Channel.prototype.tryIPBan = function(actor, name, range) { self.getIPRank(ip, function (err, rank) { if(err) { actor.socket.emit("errorMsg", { - msg: "Internal error" + msg: "Internal error: " + err }); return; } @@ -644,8 +653,18 @@ Channel.prototype.tryIPBan = function(actor, name, range) { self.server.db.addChannelBan(self.name, ip, name, actor.name, function (err, res) { + var notice = { + username: "[server]", + msg: actor.name + " banned " + $util.maskIP(ip) + + " (" + name + ")", + msgclass: "server-whisper", + time: Date.now() + }; self.users.forEach(function(u) { - self.sendBanlist(u); + if(self.hasPermission(u, "ban")) { + u.socket.emit("chatMsg", notice); + self.sendBanlist(u); + } }); }); }); diff --git a/database.js b/database.js index 07943a4e..59e474be 100644 --- a/database.js +++ b/database.js @@ -925,7 +925,7 @@ Database.prototype.getGlobalRank = function (name, callback) { } if(res.length == 0) { - callback("User does not exist", null); + callback(null, 0); return; } @@ -956,7 +956,7 @@ Database.prototype.listGlobalRanks = function (names, callback) { } if(res.length == 0) { - callback("User does not exist", null); + callback(null, 0); return; } diff --git a/package.json b/package.json index b5fe4dcb..03681734 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "author": "Calvin Montgomery", "name": "CyTube", "description": "Online media synchronizer and chat", - "version": "2.4.0", + "version": "2.4.1", "repository": { "url": "http://github.com/calzoneman/sync" }, diff --git a/server.js b/server.js index cbc4c091..9d16a427 100644 --- a/server.js +++ b/server.js @@ -6,7 +6,7 @@ var Logger = require("./logger"); var Channel = require("./channel"); var User = require("./user"); -const VERSION = "2.4.0"; +const VERSION = "2.4.1"; function getIP(req) { var raw = req.connection.remoteAddress;