mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 19:17:50 +01:00
Improve NTSL2 UI, Fix Meta, ban html - use pencode
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Vendored
+42
-3
@@ -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;
|
||||
}
|
||||
Vendored
+10604
-240
File diff suppressed because one or more lines are too long
Vendored
+2
-1
@@ -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">
|
||||
|
||||
Vendored
+8
-4
@@ -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>
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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">
|
||||
|
||||
@@ -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,4 +1,4 @@
|
||||
var $ = require("../node_modules/jquery/dist/jquery.min.js");
|
||||
var $ = require("jquery");
|
||||
|
||||
module.exports.reload = function () {
|
||||
$(".linkActive")
|
||||
|
||||
@@ -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,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")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user