Continue fixing things

This commit is contained in:
calzoneman 2014-01-08 10:52:00 -06:00
parent 22c4e8f9ff
commit a4260bd25b
2 changed files with 31 additions and 33 deletions

View File

@ -1,6 +1,7 @@
var util = require("./utilities"); var util = require("./utilities");
var db = require("./database"); var db = require("./database");
var Playlist = require("./playlist"); var Playlist = require("./playlist");
var Poll = require("./poll").Poll;
var Filter = require("./filter").Filter; var Filter = require("./filter").Filter;
var Logger = require("./logger"); var Logger = require("./logger");
var AsyncQueue = require("./asyncqueue"); var AsyncQueue = require("./asyncqueue");
@ -873,30 +874,6 @@ Channel.prototype.sendChatFilters = function (users) {
}); });
}; };
/**
* Sends the current poll
*/
Channel.prototype.sendPoll = function (users, sendNew) {
var self = this;
if (!self.poll) {
return;
}
sendNew = sendNew || false;
var msg = sendNew ? "newPoll" : "updatePoll";
var obscured = self.poll.packupdate(true);
var unobscured = self.poll.packupdate(false);
users.forEach(function (u) {
if (self.hasPermission(u, "viewpollresults")) {
u.socket.emit(msg, unobscured);
} else {
u.socket.emit(msg, obscured);
}
});
};
/** /**
* Sends the channel permissions * Sends the channel permissions
*/ */
@ -1153,6 +1130,27 @@ Channel.prototype.sendUserLeave = function (users, user) {
}); });
}; };
/**
* Sends the current poll
*/
Channel.prototype.sendPoll = function (users) {
var self = this;
if (!self.poll) {
return;
}
var obscured = self.poll.packUpdate(false);
var unobscured = self.poll.packUpdate(true);
users.forEach(function (u) {
if (self.hasPermission(u, "viewpollresults")) {
u.socket.emit("newPoll", unobscured);
} else {
u.socket.emit("newPoll", obscured);
}
});
};
/** /**
* Sends a poll notification * Sends a poll notification
*/ */
@ -1163,9 +1161,9 @@ Channel.prototype.sendPollUpdate = function (users) {
users.forEach(function (u) { users.forEach(function (u) {
if (self.hasPermission(u, "viewhiddenpoll")) { if (self.hasPermission(u, "viewhiddenpoll")) {
u.socket.emit("newPoll", unhidden); u.socket.emit("updatePoll", unhidden);
} else { } else {
u.socket.emit("newPoll", hidden); u.socket.emit("updatePoll", hidden);
} }
}); });
}; };
@ -1712,7 +1710,7 @@ Channel.prototype.move = function (from, after, callback) {
return; return;
} }
if (self.playlist.move(data.from, data.after)) { if (self.playlist.move(from, after)) {
self.sendAll("moveVideo", { self.sendAll("moveVideo", {
from: from, from: from,
after: after after: after
@ -1918,7 +1916,7 @@ Channel.prototype.handleOpenPoll = function (user, data) {
var obscured = (data.obscured === true); var obscured = (data.obscured === true);
var poll = new Poll(user.name, title, opts, obscured); var poll = new Poll(user.name, title, opts, obscured);
this.poll = poll; this.poll = poll;
this.sendPoll(this.users); this.sendPoll(this.users, true);
this.logger.log("*** " + user.name + " Opened Poll: '" + poll.title + "'"); this.logger.log("*** " + user.name + " Opened Poll: '" + poll.title + "'");
}; };
@ -1933,7 +1931,7 @@ Channel.prototype.handleClosePoll = function (user) {
if (this.poll) { if (this.poll) {
if (this.poll.obscured) { if (this.poll.obscured) {
this.poll.obscured = false; this.poll.obscured = false;
this.sendPoll(this.users); this.sendPollUpdate(this.users);
} }
this.logger.log("*** " + user.name + " closed the active poll"); this.logger.log("*** " + user.name + " closed the active poll");
@ -1956,7 +1954,7 @@ Channel.prototype.handlePollVote = function (user, data) {
if (this.poll) { if (this.poll) {
this.poll.vote(user.ip, data.option); this.poll.vote(user.ip, data.option);
this.sendPoll(this.users); this.sendPollUpdate(this.users);
} }
}; };
@ -1995,7 +1993,7 @@ Channel.prototype.checkVoteskipPass = function () {
} }
var max = this.calcVoteskipMax(); var max = this.calcVoteskipMax();
var need = Math.ceil(count * this.opts.voteskip_ratio); var need = Math.ceil(max * this.opts.voteskip_ratio);
if (this.voteskip.counts[0] >= need) { if (this.voteskip.counts[0] >= need) {
this.logger.log("### Voteskip passed, skipping to next video"); this.logger.log("### Voteskip passed, skipping to next video");
this.playNext(); this.playNext();

View File

@ -241,11 +241,11 @@ User.prototype.initChannelCallbacks = function () {
}); });
wrapTypecheck("newPoll", function (data) { wrapTypecheck("newPoll", function (data) {
self.channel.handlePoll(self, data); self.channel.handleOpenPoll(self, data);
}); });
wrapTypecheck("vote", function (data) { wrapTypecheck("vote", function (data) {
self.channel.handleVote(self, data); self.channel.handlePollVote(self, data);
}); });
wrap("closePoll", function () { wrap("closePoll", function () {