Theme fixes; layout fixes; limit channel registrations
This commit is contained in:
parent
07feb91cc6
commit
359a228d5f
10 changed files with 110 additions and 38 deletions
|
|
@ -1713,10 +1713,7 @@ Channel.prototype.addMedia = function (data, callback) {
|
|||
}
|
||||
|
||||
if (err && err !== "Item not in library") {
|
||||
user.socket.emit("queueFail", {
|
||||
msg: "Internal error: " + err,
|
||||
link: util.formatLink(data.id, data.type)
|
||||
});
|
||||
callback(err, null);
|
||||
lock.release();
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ var defaults = {
|
|||
},
|
||||
"youtube-v2-key": "",
|
||||
"channel-save-interval": 5,
|
||||
"max-channels-per-user": 5,
|
||||
"guest-login-delay": 60,
|
||||
"enable-tor-blocker": true,
|
||||
stats: {
|
||||
|
|
|
|||
|
|
@ -251,41 +251,64 @@ function handleNewChannel(req, res) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (name.match(Config.get("reserved-names.channels"))) {
|
||||
db.channels.listUserChannels(loginName, function (err2, channels) {
|
||||
db.channels.listUserChannels(loginName, function (err, channels) {
|
||||
if (err) {
|
||||
sendJade(res, "account-channels", {
|
||||
loggedIn: true,
|
||||
loginName: loginName,
|
||||
channels: err2 ? [] : channels,
|
||||
newChannelError: "That channel name is reserved"
|
||||
channels: [],
|
||||
newChannelError: err
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
db.channels.register(name, user.name, function (err, channel) {
|
||||
if (!err) {
|
||||
Logger.eventlog.log("[channel] " + user.name + "@" +
|
||||
webserver.ipForRequest(req) + " registered channel " +
|
||||
name);
|
||||
var sv = Server.getServer();
|
||||
if (sv.isChannelLoaded(name)) {
|
||||
var chan = sv.getChannel(name);
|
||||
chan.users.forEach(function (u) {
|
||||
u.kick("Channel reloading");
|
||||
});
|
||||
|
||||
if (!chan.dead) {
|
||||
chan.emit("empty");
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
db.channels.listUserChannels(loginName, function (err2, channels) {
|
||||
if (name.match(Config.get("reserved-names.channels"))) {
|
||||
sendJade(res, "account-channels", {
|
||||
loggedIn: true,
|
||||
loginName: loginName,
|
||||
channels: err2 ? [] : channels,
|
||||
channels: channels,
|
||||
newChannelError: "That channel name is reserved"
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (channels.length >= Config.get("max-channels-per-user")) {
|
||||
sendJade(res, "account-channels", {
|
||||
loggedIn: true,
|
||||
loginName: loginName,
|
||||
channels: channels,
|
||||
newChannelError: "You are not allowed to register more than " +
|
||||
Config.get("max-channels-per-user") + " channels."
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
db.channels.register(name, user.name, function (err, channel) {
|
||||
if (!err) {
|
||||
Logger.eventlog.log("[channel] " + user.name + "@" +
|
||||
webserver.ipForRequest(req) +
|
||||
" registered channel " + name);
|
||||
var sv = Server.getServer();
|
||||
if (sv.isChannelLoaded(name)) {
|
||||
var chan = sv.getChannel(name);
|
||||
chan.users.forEach(function (u) {
|
||||
u.kick("Channel reloading");
|
||||
});
|
||||
|
||||
if (!chan.dead) {
|
||||
chan.emit("empty");
|
||||
}
|
||||
}
|
||||
channels.push({
|
||||
name: name
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
sendJade(res, "account-channels", {
|
||||
loggedIn: true,
|
||||
loginName: loginName,
|
||||
channels: channels,
|
||||
newChannelError: err ? err : undefined
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue