mirror of https://github.com/calzoneman/sync.git
Conditionally allow ASCII characters (for Xaekai)
This commit is contained in:
parent
7002874bbb
commit
91c24518c5
|
@ -116,8 +116,14 @@ ChatModule.prototype.handleChatMsg = function (user, data) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Limit to 240 characters, disallow all ASCII control characters except tab (\t)
|
// Limit to 240 characters
|
||||||
data.msg = data.msg.substring(0, 240).replace(/[\x00-\x08\x0a-\x1f]+/g, " ");
|
data.msg = data.msg.substring(0, 240);
|
||||||
|
// If channel doesn't permit them, strip ASCII control characters
|
||||||
|
if (!this.channel.modules.options ||
|
||||||
|
!this.channel.modules.options.get("allow_ascii_control")) {
|
||||||
|
|
||||||
|
data.msg = data.msg.replace(/[\x00-\x1f]+/g, " ");
|
||||||
|
}
|
||||||
|
|
||||||
// Disallow blankposting
|
// Disallow blankposting
|
||||||
if (!data.msg.trim()) {
|
if (!data.msg.trim()) {
|
||||||
|
|
|
@ -23,7 +23,8 @@ function OptionsModule(channel) {
|
||||||
enable_link_regex: true, // Use the built-in link filter
|
enable_link_regex: true, // Use the built-in link filter
|
||||||
password: false, // Channel password (false -> no password required for entry)
|
password: false, // Channel password (false -> no password required for entry)
|
||||||
allow_dupes: false, // Allow duplicate videos on the playlist
|
allow_dupes: false, // Allow duplicate videos on the playlist
|
||||||
torbanned: false // Block connections from Tor exit nodes
|
torbanned: false, // Block connections from Tor exit nodes
|
||||||
|
allow_ascii_control: false // Allow ASCII control characters (\x00-\x1f)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -249,6 +250,10 @@ OptionsModule.prototype.handleSetOptions = function (user, data) {
|
||||||
this.opts.torbanned = Boolean(data.torbanned);
|
this.opts.torbanned = Boolean(data.torbanned);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ("allow_ascii_control" in data && user.account.effectiveRank >= 3) {
|
||||||
|
this.opts.allow_ascii_control = Boolean(data.allow_ascii_control);
|
||||||
|
}
|
||||||
|
|
||||||
this.channel.logger.log("[mod] " + user.getName() + " updated channel options");
|
this.channel.logger.log("[mod] " + user.getName() + " updated channel options");
|
||||||
this.sendOpts(this.channel.users);
|
this.sendOpts(this.channel.users);
|
||||||
};
|
};
|
||||||
|
|
|
@ -76,6 +76,7 @@ mixin adminoptions
|
||||||
mixin textbox-auto("cs-externaljs", "External Javascript", "Script URL")
|
mixin textbox-auto("cs-externaljs", "External Javascript", "Script URL")
|
||||||
mixin rcheckbox-auto("cs-show_public", "List channel publicly")
|
mixin rcheckbox-auto("cs-show_public", "List channel publicly")
|
||||||
mixin rcheckbox-auto("cs-torbanned", "Block connections from Tor")
|
mixin rcheckbox-auto("cs-torbanned", "Block connections from Tor")
|
||||||
|
mixin rcheckbox-auto("cs-allow_ascii_control", "Allow ASCII control characters (e.g. newlines)")
|
||||||
.form-group
|
.form-group
|
||||||
.col-sm-8.col-sm-offset-4
|
.col-sm-8.col-sm-offset-4
|
||||||
span.text-info Changes are automatically saved.
|
span.text-info Changes are automatically saved.
|
||||||
|
|
|
@ -865,6 +865,7 @@ function handleModPermissions() {
|
||||||
$("#cs-voteskip_ratio").val(CHANNEL.opts.voteskip_ratio);
|
$("#cs-voteskip_ratio").val(CHANNEL.opts.voteskip_ratio);
|
||||||
$("#cs-allow_dupes").val(CHANNEL.opts.allow_dupes);
|
$("#cs-allow_dupes").val(CHANNEL.opts.allow_dupes);
|
||||||
$("#cs-torbanned").val(CHANNEL.opts.torbanned);
|
$("#cs-torbanned").val(CHANNEL.opts.torbanned);
|
||||||
|
$("#cs-allow_ascii_control").val(CHANNEL.opts.allow_ascii_control);
|
||||||
(function() {
|
(function() {
|
||||||
if(typeof CHANNEL.opts.maxlength != "number") {
|
if(typeof CHANNEL.opts.maxlength != "number") {
|
||||||
$("#cs-maxlength").val("");
|
$("#cs-maxlength").val("");
|
||||||
|
|
Loading…
Reference in New Issue