Reword skipping in channel, allowing the whole channel to be skipped each second

This commit is contained in:
Kasper Rynning-Tønnesen
2018-09-29 10:36:44 +02:00
parent ae05344aa1
commit 695a4f3648
2 changed files with 29 additions and 30 deletions

View File

@@ -197,20 +197,18 @@ function skip(list, guid, coll, offline, socket) {
}
hash = adminpass;
var toCompare = list.error
var connection_id = Functions.hash_pass(socket.handshake.headers["user-agent"] + socket.handshake.address + socket.handshake.headers["accept-language"]);
Functions.checkTimeout("skip", 1, coll, connection_id, error, true, socket, function() {
//db.collection(coll + "_settings").find(function(err, docs){
//db.collection(coll + "_settings").find(function(err, docs){
if(docs !== null && docs.length !== 0)
if(docs !== null && docs.length !== 0)
{
if(!docs[0].skip || (docs[0].adminpass == hash && docs[0].adminpass !== "") || error)
{
if(!docs[0].skip || (docs[0].adminpass == hash && docs[0].adminpass !== "") || error)
{
db.collection("frontpage_lists").find({"_id": coll}, function(err, frontpage_viewers){
if((frontpage_viewers[0].viewers/2 <= docs[0].skips.length+1 && !Functions.contains(docs[0].skips, guid) && frontpage_viewers[0].viewers != 2) ||
(frontpage_viewers[0].viewers == 2 && docs[0].skips.length+1 == 2 && !Functions.contains(docs[0].skips, guid)) ||
(docs[0].adminpass == hash && docs[0].adminpass !== "" && docs[0].skip))
{
db.collection("frontpage_lists").find({"_id": coll}, function(err, frontpage_viewers){
if((frontpage_viewers[0].viewers/2 <= docs[0].skips.length+1 && !Functions.contains(docs[0].skips, guid) && frontpage_viewers[0].viewers != 2) ||
(frontpage_viewers[0].viewers == 2 && docs[0].skips.length+1 == 2 && !Functions.contains(docs[0].skips, guid)) ||
(docs[0].adminpass == hash && docs[0].adminpass !== "" && docs[0].skip))
{
Functions.checkTimeout("skip", 1, coll, coll, error, true, socket, function() {
change_song(coll, error, video_id, docs);
socket.emit("toast", "skip");
db.collection("user_names").find({"guid": guid}, function(err, docs) {
@@ -224,23 +222,23 @@ function skip(list, guid, coll, offline, socket) {
});
}
});
}else if(!Functions.contains(docs[0].skips, guid)){
db.collection(coll + "_settings").update({ id: "config" }, {$push:{skips:guid}}, function(err, d){
if(frontpage_viewers[0].viewers == 2)
to_skip = 1;
else
to_skip = (Math.ceil(frontpage_viewers[0].viewers/2) - docs[0].skips.length-1);
socket.emit("toast", to_skip + " more are needed to skip!");
socket.to(coll).emit('chat', {from: name, msg: " voted to skip"});
});
}else{
socket.emit("toast", "alreadyskip");
}
});
}else
socket.emit("toast", "noskip");
}
});
}, "The channel is skipping too often, please wait ");
}else if(!Functions.contains(docs[0].skips, guid)){
db.collection(coll + "_settings").update({ id: "config" }, {$push:{skips:guid}}, function(err, d){
if(frontpage_viewers[0].viewers == 2)
to_skip = 1;
else
to_skip = (Math.ceil(frontpage_viewers[0].viewers/2) - docs[0].skips.length-1);
socket.emit("toast", to_skip + " more are needed to skip!");
socket.to(coll).emit('chat', {from: name, msg: " voted to skip"});
});
}else{
socket.emit("toast", "alreadyskip");
}
});
}else
socket.emit("toast", "noskip");
}
//});
} else {
socket.emit("auth_required");