Work on chat filters, UI stuff

This commit is contained in:
calzoneman 2014-01-18 20:18:00 -06:00
parent 7b18caa51c
commit 9c989f7ed7
12 changed files with 204 additions and 35 deletions

View file

@ -2128,22 +2128,30 @@ Channel.prototype.handleToggleLock = function (user) {
* Updates a chat filter, or adds a new one if the filter does not exist
*/
Channel.prototype.updateFilter = function (filter) {
var self = this;
if (!filter.name) {
filter.name = filter.source;
}
var found = false;
for (var i = 0; i < this.filters.length; i++) {
if (this.filters[i].name === filter.name) {
for (var i = 0; i < self.filters.length; i++) {
if (self.filters[i].name === filter.name) {
found = true;
this.filters[i] = filter;
self.filters[i] = filter;
break;
}
}
if (!found) {
this.filters.push(filter);
self.filters.push(filter);
}
self.users.forEach(function (u) {
if (self.hasPermission(u, "filteredit")) {
u.socket.emit("updateChatFilter", filter);
}
});
};
/**
@ -2186,9 +2194,16 @@ Channel.prototype.handleUpdateFilter = function (user, f) {
* Removes a chat filter
*/
Channel.prototype.removeFilter = function (filter) {
for (var i = 0; i < this.filters.length; i++) {
if (this.filters[i].name === filter.name) {
this.filters.splice(i, 1);
var self = this;
for (var i = 0; i < self.filters.length; i++) {
if (self.filters[i].name === filter.name) {
self.filters.splice(i, 1);
self.users.forEach(function (u) {
if (self.hasPermission(u, "filteredit")) {
u.socket.emit("deleteChatFilter", filter);
}
});
break;
}
}

View file

@ -72,6 +72,7 @@ var handlers = {
/* commands that do not send chat messages */
"afk": function (chan, user, msg, meta) {
console.log("/afk => setAfk(!" + user.meta.afk + ")");
user.setAFK(!user.meta.afk);
return true;
},

View file

@ -106,9 +106,12 @@ function handleConnection(sock) {
user.emit("login");
user.socket.emit("login", {
success: true,
name: user.name
name: user.name,
guest: false
});
user.socket.emit("rank", user.global_rank);
} else {
user.socket.emit("rank", -1);
}
}

View file

@ -78,6 +78,8 @@ User.prototype.setAFK = function (afk) {
return;
}
this.meta.afk = afk;
var chan = this.channel;
if (afk) {
if (chan.voteskip) {
@ -475,7 +477,8 @@ User.prototype.guestLogin = function (name) {
self.loggedIn = true;
self.socket.emit("login", {
success: true,
name: name
name: name,
guest: true
});
// TODO you shouldn't be able to guest login without being in a channel