mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-10-29 18:00:23 +00:00
Fix/total listeners disabled chat (#458)
* Testing some leavers * Logging before and after namechange * Testing callback even on chat disabled * Fixed issue with channels with disabled chat not adding to total listeners * Fixed potential issue with joining a channel with disabled chat broadcasts it
This commit is contained in:
committed by
GitHub
parent
b2e9050960
commit
03ca6a9f77
@@ -235,8 +235,9 @@ function checkIfChatEnabled(channel, socket, callback) {
|
||||
db.collection(channel + "_settings").find(function(err, docs){
|
||||
if(docs.length > 0 && (docs[0].hasOwnProperty("toggleChat") && !docs[0].toggleChat)) {
|
||||
socket.emit('chat', {from: "System", msg: ": Chat for this channel has been disabled.", icon: "https://zoff.me/assets/images/favicon-32x32.png"});
|
||||
callback(false);
|
||||
} else {
|
||||
callback();
|
||||
callback(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -257,7 +258,11 @@ function checkIfUserIsBanned(channel, socket, guid, callback, callback_error) {
|
||||
}
|
||||
|
||||
function namechange(data, guid, socket, tried, callback) {
|
||||
checkIfChatEnabled(data.channel, socket, function() {
|
||||
checkIfChatEnabled(data.channel, socket, function(enabled) {
|
||||
if(!enabled) {
|
||||
callback(false);
|
||||
return;
|
||||
}
|
||||
checkIfUserIsBanned(data.channel, socket, guid, function() {
|
||||
var pw = "";
|
||||
var new_password;
|
||||
@@ -271,7 +276,7 @@ function namechange(data, guid, socket, tried, callback) {
|
||||
data.password = pass;
|
||||
new_password = false;
|
||||
if(name == "" || pass == "") {
|
||||
if(typeof(callback) == "function") callback();
|
||||
if(typeof(callback) == "function") callback(true);
|
||||
return;
|
||||
}
|
||||
fetched = true;
|
||||
@@ -294,7 +299,7 @@ function namechange(data, guid, socket, tried, callback) {
|
||||
}
|
||||
|
||||
if(name == "") {
|
||||
if(typeof(callback) == "function") callback();
|
||||
if(typeof(callback) == "function") callback(true);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -304,7 +309,7 @@ function namechange(data, guid, socket, tried, callback) {
|
||||
var icon = false;
|
||||
if(docs.length == 0) {
|
||||
if(new_password) {
|
||||
if(typeof(callback) == "function") callback();
|
||||
if(typeof(callback) == "function") callback(true);
|
||||
return;
|
||||
}
|
||||
accepted_password = true;
|
||||
@@ -353,7 +358,7 @@ function namechange(data, guid, socket, tried, callback) {
|
||||
io.sockets.emit('chat.all', {from: old_name , msg: " changed name to " + name, channel: data.channel});
|
||||
}
|
||||
}
|
||||
if(callback != undefined && typeof(callback) == "function") callback();
|
||||
if(callback != undefined && typeof(callback) == "function") callback(true);
|
||||
});
|
||||
});
|
||||
} else {
|
||||
@@ -378,7 +383,8 @@ function namechange(data, guid, socket, tried, callback) {
|
||||
|
||||
function removename(guid, coll, socket) {
|
||||
//coll = coll.replace(/ /g,'');
|
||||
checkIfChatEnabled(coll, socket, function() {
|
||||
checkIfChatEnabled(coll, socket, function(enabled) {
|
||||
if(enabled) return;
|
||||
db.collection("user_names").find({"guid": guid}, function(err, docs) {
|
||||
if(docs.length == 1) {
|
||||
var old_name = docs[0].name;
|
||||
|
||||
@@ -138,13 +138,15 @@ function check_inlist(coll, guid, socket, offline, callback, double_check)
|
||||
} else {
|
||||
io.to(coll).emit("viewers", new_doc[0].users.length);
|
||||
}
|
||||
Chat.namechange({initial: true, first:true, channel: coll}, guid, socket, false, function() {
|
||||
Chat.namechange({initial: true, first:true, channel: coll}, guid, socket, false, function(enabled) {
|
||||
db.collection("user_names").find({"guid": guid}, function(err, docs) {
|
||||
if(docs.length == 1) {
|
||||
var icon = "";
|
||||
if(docs[0].icon != undefined) icon = docs[0].icon;
|
||||
db.collection("user_names").update({"guid": guid}, {$addToSet:{channels: coll}}, function(err, doc){});
|
||||
socket.broadcast.to(coll).emit('chat', {from: docs[0].name, icon: icon, msg: " joined"});
|
||||
if(enabled) {
|
||||
socket.broadcast.to(coll).emit('chat', {from: docs[0].name, icon: icon, msg: " joined"});
|
||||
}
|
||||
} else if(docs.length == 0) {
|
||||
//console.log("User doesn't have a name for some reason.");
|
||||
//console.log("guid", guid);
|
||||
|
||||
Reference in New Issue
Block a user