Improve NTSL2 UI, Fix Meta, ban html - use pencode

This commit is contained in:
tigercat2000
2018-11-05 18:10:45 -08:00
parent 0a289875ce
commit b503413104
13 changed files with 10724 additions and 279 deletions
@@ -4321,7 +4321,7 @@
"bFe" = (/obj/item/radio/intercom{frequency = 1459; name = "Station Intercom (General)"; pixel_y = -25},/obj/machinery/camera{c_tag = "Arrivals - Middle Arm - Far"; dir = 1; network = list("SS13")},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry{name = "Arrivals"})
"bFf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/computer/monitor{name = "Grid Power Monitoring Computer"},/obj/item/radio/intercom{frequency = 1459; name = "Station Intercom (General)"; pixel_x = 5; pixel_y = -26},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/tcomeast{name = "\improper MiniSat East Wing"})
"bFg" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/construction/hallway{name = "\improper MiniSat Exterior"})
"bFh" = (/obj/machinery/computer/telecomms/traffic{network = "tcommsat"},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/tcommsat/computer{name = "\improper Telecoms Control Room"})
"bFh" = (/obj/machinery/computer/telecomms/traffic,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/tcommsat/computer{name = "\improper Telecoms Control Room"})
"bFi" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/chair/office/dark{dir = 1},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/tcommsat/computer{name = "\improper Telecoms Control Room"})
"bFj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/tcommsat/computer{name = "\improper Telecoms Control Room"})
"bFk" = (/obj/structure/transit_tube{icon_state = "E-W-Pass"},/obj/structure/lattice,/turf/space,/area/space)
@@ -8503,7 +8503,7 @@
"dhF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/maintenance{name = "storage room"; req_access = "12"},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"dhG" = (/obj/item/seeds/watermelon,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"})
"dhI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/mob/living/simple_animal/bot/cleanbot{name = "Mopfficer Sweepsky"; on = 0},/turf/simulated/floor/plating,/area/maintenance/fore)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+6 -14
View File
@@ -81,8 +81,8 @@ GLOBAL_DATUM_INIT(ntsl2_config, /datum/ntsl2_configuration, new())
/datum/ntsl2_configuration/proc/update_languages()
for(var/language in all_languages)
var/datum/language/L = all_languages[language]
for(var/language in GLOB.all_languages)
var/datum/language/L = GLOB.all_languages[language]
if(L.flags & HIVEMIND)
continue
valid_languages[language] = TRUE
@@ -94,7 +94,6 @@ GLOBAL_DATUM_INIT(ntsl2_config, /datum/ntsl2_configuration, new())
.[variable] = vars[variable]
. = json_encode(.)
// This loads a configuration from a JSON string.
// Fucking broken as shit, someone help me fix this.
/datum/ntsl2_configuration/proc/ntsl_deserialize(text, obj/machinery/computer/telecomms/traffic/source)
@@ -121,7 +120,7 @@ GLOBAL_DATUM_INIT(ntsl2_config, /datum/ntsl2_configuration, new())
if(!islist(variable))
return list()
// Insert html filtering for the regexes here if you're boring
return variable
return sanitize(variable)
if("string")
return "[variable]"
@@ -173,25 +172,18 @@ GLOBAL_DATUM_INIT(ntsl2_config, /datum/ntsl2_configuration, new())
if(setting_language == "--DISABLE--")
setting_language = null
else
signal.data["language"] = all_languages[setting_language]
signal.data["language"] = GLOB.all_languages[setting_language]
// Regex replacements
if(islist(regex) && regex.len > 0)
var/original = signal.data["message"]
var/new_message = original
for(var/reg in regex)
var/replacePattern = regex[reg]
var/regex/start = new(reg, "g")
var/replacePattern = pencode_to_html(regex[reg])
var/regex/start = new(reg, "gi")
new_message = start.Replace(original, replacePattern)
signal.data["message"] = new_message
// Check the message for forbidden HTML (REMOVE THIS IF YOU START STRIPPING HTML IN REGEX)
var/regex/bannedTags = new("(<script|<iframe|<video|<audio)")
if(bannedTags.Find(signal.data["message"]))
message_admins("Warning: Current NTSL2 configuration contains banned HTML. Stripping message.")
log_admin("Warning: Current NTSL2 configuration contains banned HTML. Stripping message.")
signal.data["message"] = sanitize(signal.data["message"])
// Make sure the message is valid after we tinkered with it, otherwise reject it
if(signal.data["message"] == "" || !signal.data["message"])
signal.data["reject"] = 1
+42 -3
View File
@@ -15,27 +15,49 @@ html, body {
margin: 0;
padding: 0;
}
#navbar > div {
background: #40628a;
border-radius: 5px 5px 0 0;
color: #ffffff;
display: block;
height: 21px;
height: 80%;
float: left;
text-decoration: none;
padding: 0 7px 0 5px;
margin: 3px 0 0 5px;
margin: 6px 0 0 5px;
}
#navbar > div:hover {
background: #ffffff;
color: #40628a;
cursor: pointer;
}
#navbar > img {
float: left;
margin: 2px 5px 2px 0;
margin: 2px 10px 2px 0;
height: 24px;
}
#navbar > .title {
color: #a7a7a7;
float: right;
background: none;
font-size: 1.5em;
font-family: Helvetica;
text-decoration: bold;
padding: 0;
padding-right: 10px;
margin: 0;
}
#navbar > .title:hover {
background: none;
color: #a7a7a7;
cursor: default;
}
.btnActive {
background: #2f943c !important;
color: #fff !important;
@@ -44,6 +66,7 @@ html, body {
/* Content */
#content {
min-height: 75%;
line-height: 1.5;
margin: 10px;
}
@@ -110,4 +133,20 @@ html, body {
position: absolute;
right: 10px;
bottom: 10px;
}
/* Hacking stuff. */
.hack {
color: #fff;
text-shadow: 1px 1px #300;
font-size: 1.12em;
}
.hackBtn {
background-color: #a00 !important;
}
.hackBtn:hover {
background-color: #fff !important;
}
.hackBtn:hover .hack {
color: #000 !important;
}
+10604 -240
View File
File diff suppressed because one or more lines are too long
+2 -1
View File
@@ -15,7 +15,8 @@
<div class="navBtn" data-tab="filtering">Filtering</div>
<div class="navBtn" data-tab="regex">Regex</div>
<div class="navBtn" style="display:none" data-locked="1" data-tab="firewall">Firewall</div>
<div class="navBtn" style="display:none" data-locked="1" data-tab="hack"><font color='red'>1337</font></div>
<div class="navBtn hackBtn" style="display:none" data-locked="1" data-tab="hack"><span class='hack'>1337</span></div>
<div class="title">NTTC</div>
</div>
<div id="content">
+8 -4
View File
@@ -2,7 +2,7 @@
<h2>1337 HAaCCkEr MeNU!</h2>
<table class="tblConfig">
<tr>
<td>H*%p T*a*it%%r i* $c/e^ce</td>
<td>H*lp Tr%%ait0r i* $c/e#ce</td>
<td><activeLink data-sconfig="toggle_gibberish" data-href="toggle=toggle_gibberish"></activeLink></td>
</tr>
<tr>
@@ -12,7 +12,11 @@
</table>
</div>
<style type="text/css">
html, body {
background: #a00;
}
html, body {
background: #a00;
}
#navbar {
background: #400;
}
</style>
+5 -3
View File
@@ -10,13 +10,15 @@
"license": "AGPL-3.0-only",
"dependencies": {
"del": "^3.0.0",
"gulp-flatten": "^0.4.0"
"gulp-flatten": "^0.4.0",
"he": "^1.2.0",
"jquery": "^3.3.1"
},
"devDependencies": {
"browserify": "^16.2.2",
"browserify": "^16.2.3",
"gulp": "^3.9.1",
"gulp-concat": "^2.6.1",
"gulp-rename": "^1.3.0",
"gulp-rename": "^1.4.0",
"vinyl-buffer": "^1.0.1",
"vinyl-source-stream": "^2.0.0"
}
+42 -3
View File
@@ -15,27 +15,49 @@ html, body {
margin: 0;
padding: 0;
}
#navbar > div {
background: #40628a;
border-radius: 5px 5px 0 0;
color: #ffffff;
display: block;
height: 21px;
height: 80%;
float: left;
text-decoration: none;
padding: 0 7px 0 5px;
margin: 3px 0 0 5px;
margin: 6px 0 0 5px;
}
#navbar > div:hover {
background: #ffffff;
color: #40628a;
cursor: pointer;
}
#navbar > img {
float: left;
margin: 2px 5px 2px 0;
margin: 2px 10px 2px 0;
height: 24px;
}
#navbar > .title {
color: #a7a7a7;
float: right;
background: none;
font-size: 1.5em;
font-family: Helvetica;
text-decoration: bold;
padding: 0;
padding-right: 10px;
margin: 0;
}
#navbar > .title:hover {
background: none;
color: #a7a7a7;
cursor: default;
}
.btnActive {
background: #2f943c !important;
color: #fff !important;
@@ -44,6 +66,7 @@ html, body {
/* Content */
#content {
min-height: 75%;
line-height: 1.5;
margin: 10px;
}
@@ -110,4 +133,20 @@ html, body {
position: absolute;
right: 10px;
bottom: 10px;
}
/* Hacking stuff. */
.hack {
color: #fff;
text-shadow: 1px 1px #300;
font-size: 1.12em;
}
.hackBtn {
background-color: #a00 !important;
}
.hackBtn:hover {
background-color: #fff !important;
}
.hackBtn:hover .hack {
color: #000 !important;
}
+2 -1
View File
@@ -15,7 +15,8 @@
<div class="navBtn" data-tab="filtering">Filtering</div>
<div class="navBtn" data-tab="regex">Regex</div>
<div class="navBtn" style="display:none" data-locked="1" data-tab="firewall">Firewall</div>
<div class="navBtn" style="display:none" data-locked="1" data-tab="hack"><font color='red'>1337</font></div>
<div class="navBtn hackBtn" style="display:none" data-locked="1" data-tab="hack"><span class='hack'>1337</span></div>
<div class="title">NTTC</div>
</div>
<div id="content">
+8 -4
View File
@@ -2,7 +2,7 @@
<h2>1337 HAaCCkEr MeNU!</h2>
<table class="tblConfig">
<tr>
<td>H*%p T*a*it%%r i* $c/e^ce</td>
<td>H*lp Tr%%ait0r i* $c/e#ce</td>
<td><activeLink data-sconfig="toggle_gibberish" data-href="toggle=toggle_gibberish"></activeLink></td>
</tr>
<tr>
@@ -12,7 +12,11 @@
</table>
</div>
<style type="text/css">
html, body {
background: #a00;
}
html, body {
background: #a00;
}
#navbar {
background: #400;
}
</style>
+1 -1
View File
@@ -1,4 +1,4 @@
var $ = require("../node_modules/jquery/dist/jquery.min.js");
var $ = require("jquery");
module.exports.reload = function () {
$(".linkActive")
+1 -1
View File
@@ -1,4 +1,4 @@
var $ = require("../node_modules/jquery/dist/jquery.min.js");
var $ = require("jquery");
var he = require("he");
var templater = require("./templater.js")
+1 -2
View File
@@ -1,4 +1,4 @@
var $ = require("../node_modules/jquery/dist/jquery.min.js");
var $ = require("jquery");
function createLink(href, text) {
let $link = $("<div>");
@@ -115,7 +115,6 @@ module.exports.parseCurrentPage = function () {
.text("Enabled")
} else {
$("#WORK")
.addClass("linkOff")
.text("Disabled")
}
}