Fixes issues with pen bbcode. Replacetext did not work correctly after I changed text2list - (It was missing 'needles' at the beginning of 'haystacks').

>dd_replacetext and dd_replacetext_case are now replacetext and replacetextEx respectively.
>replacetext and replacetextEx works using strings only; it doesn't convert it into a list and then back into a string.

Fixes some dumb-dumbs in textlist and text2listEx
> "<" where there should be a "<="
> no else case for when the separator is longer than the text (causing empty lists to be returned)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4971 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
elly1989@rocketmail.com
2012-10-27 21:21:17 +00:00
parent 6af0e6ab84
commit 4d9876fd65
28 changed files with 231 additions and 212 deletions

View File

@@ -15,8 +15,8 @@
// Run all strings to be used in an SQL query through this proc first to properly escape out injection attempts.
/proc/sanitizeSQL(var/t as text)
var/sanitized_text = dd_replacetext(t, "'", "\\'")
sanitized_text = dd_replacetext(sanitized_text, "\"", "\\\"")
var/sanitized_text = replacetext(t, "'", "\\'")
sanitized_text = replacetext(sanitized_text, "\"", "\\\"")
return sanitized_text
/*
@@ -177,18 +177,33 @@
/*
* Text modification
*/
/proc/replacetext(text, find, replacement)
var/find_len = length(find)
if(find_len < 1) return text
. = ""
var/last_found = 1
while(1)
var/found = findtext(text, find, last_found, 0)
. += copytext(text, last_found, found)
if(found)
. += replacement
last_found = found + find_len
continue
return .
//Search and replace a sub-string within a string
/proc/dd_replacetext(text, search_string, replacement_string)
if(!text || !istext(text) || !search_string || !istext(search_string) || !istext(replacement_string))
return null
var/textList = text2list(text, search_string)
return dd_list2text(textList, replacement_string)
//Search and replace a case sensitive sub-string within a string
/proc/dd_replacetext_case(text, search_string, replacement_string)
var/textList = text2list(text, search_string)
return dd_list2text(textList, replacement_string)
/proc/replacetextEx(text, find, replacement)
var/find_len = length(find)
if(find_len < 1) return text
. = ""
var/last_found = 1
while(1)
var/found = findtextEx(text, find, last_found, 0)
. += copytext(text, last_found, found)
if(found)
. += replacement
last_found = found + find_len
continue
return .
//Adds 'u' number of zeros ahead of the text 't'
/proc/add_zero(t, u)

View File

@@ -129,6 +129,8 @@ proc/tg_list2text(list/list, glue=",")
if(last_i <= text_len)
. += copytext(text, last_i, 0)
else
. += text
return .
//Converts a text string into a list by splitting the string at each seperator found in text (discarding the seperator)
@@ -141,7 +143,7 @@ proc/tg_list2text(list/list, glue=",")
var/text_len = length(text) //length of the input text
var/seperator_len = length(seperator) //length of the seperator text
if(text_len > seperator_len)
if(text_len >= seperator_len)
var/i
var/last_i = 1
@@ -153,6 +155,8 @@ proc/tg_list2text(list/list, glue=",")
if(last_i <= text_len)
. += copytext(text, last_i, 0)
else
. += text
return .
//Splits the text of a file at seperator and returns them in a list.

View File

@@ -917,7 +917,7 @@ proc/anim(turf/location as turf,target as mob|obj,a_icon,a_icon_state as text,fl
corner.density = 1
corner.anchored = 1
corner.icon = X.icon
corner.icon_state = dd_replacetext(X.icon_state, "_s", "_f")
corner.icon_state = replacetext(X.icon_state, "_s", "_f")
corner.tag = "delete me"
corner.name = "wall"
@@ -937,7 +937,7 @@ proc/anim(turf/location as turf,target as mob|obj,a_icon,a_icon_state as text,fl
// Reset the shuttle corners
if(O.tag == "delete me")
X.icon = 'icons/turf/shuttle.dmi'
X.icon_state = dd_replacetext(O.icon_state, "_f", "_s") // revert the turf to the old icon_state
X.icon_state = replacetext(O.icon_state, "_f", "_s") // revert the turf to the old icon_state
X.name = "wall"
del(O) // prevents multiple shuttle corners from stacking
continue

View File

@@ -96,7 +96,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
if(prob(50))//Auto-mute? Fuck that noise
usr.say(invocation)
else
usr.say(dd_replacetext(invocation," ","`"))
usr.say(replacetext(invocation," ","`"))
if(usr.gender==MALE)
playsound(usr.loc, pick('sound/misc/null.ogg','sound/misc/null.ogg'), 100, 1)
else
@@ -105,7 +105,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
if(prob(50))
usr.whisper(invocation)
else
usr.whisper(dd_replacetext(invocation," ","`"))
usr.whisper(replacetext(invocation," ","`"))
/obj/effect/proc_holder/spell/New()
..()

View File

@@ -48,7 +48,7 @@
name_part1 = pick("the Automatic ", "Farmer ", "Lord ", "Professor ", "the Cuban ", "the Evil ", "the Dread King ", "the Space ", "Lord ", "the Great ", "Duke ", "General ")
name_part2 = pick("Melonoid", "Murdertron", "Sorcerer", "Ruin", "Jeff", "Ectoplasm", "Crushulon", "Uhangoid", "Vhakoid", "Peteoid", "Metroid", "Griefer", "ERPer", "Lizard Man", "Unicorn")
src.enemy_name = dd_replacetext((name_part1 + name_part2), "the ", "")
src.enemy_name = replacetext((name_part1 + name_part2), "the ", "")
src.name = (name_action + name_part1 + name_part2)

View File

@@ -100,7 +100,7 @@
var/jobs_all = ""
var/list/alljobs = (istype(src,/obj/machinery/computer/card/centcom)? get_all_centcom_jobs() : get_all_jobs()) + "Custom"
for(var/job in alljobs)
jobs_all += "<a href='?src=\ref[src];choice=assign;assign_target=[job]'>[dd_replacetext(job, " ", "&nbsp")]</a> " //make sure there isn't a line break in the middle of a job
jobs_all += "<a href='?src=\ref[src];choice=assign;assign_target=[job]'>[replacetext(job, " ", "&nbsp")]</a> " //make sure there isn't a line break in the middle of a job
var/body
@@ -138,9 +138,9 @@
accesses += "<h5>Central Command:</h5>"
for(var/A in get_all_centcom_access())
if(A in modify.access)
accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=0'><font color=\"red\">[dd_replacetext(get_centcom_access_desc(A), " ", "&nbsp")]</font></a> "
accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=0'><font color=\"red\">[replacetext(get_centcom_access_desc(A), " ", "&nbsp")]</font></a> "
else
accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=1'>[dd_replacetext(get_centcom_access_desc(A), " ", "&nbsp")]</a> "
accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=1'>[replacetext(get_centcom_access_desc(A), " ", "&nbsp")]</a> "
else
accesses += "<div align='center'><b>Access</b></div>"
accesses += "<table style='width:100%'>"
@@ -152,9 +152,9 @@
accesses += "<td style='width:14%' valign='top'>"
for(var/A in get_region_accesses(i))
if(A in modify.access)
accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=0'><font color=\"red\">[dd_replacetext(get_access_desc(A), " ", "&nbsp")]</font></a> "
accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=0'><font color=\"red\">[replacetext(get_access_desc(A), " ", "&nbsp")]</font></a> "
else
accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=1'>[dd_replacetext(get_access_desc(A), " ", "&nbsp")]</a> "
accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=1'>[replacetext(get_access_desc(A), " ", "&nbsp")]</a> "
accesses += "<br>"
accesses += "</td>"
accesses += "</tr></table>"

View File

@@ -47,8 +47,8 @@
if(length(viewingcode))
// This piece of code is very important - it escapes quotation marks so string aren't cut off by the input element
var/showcode = dd_replacetext(storedcode, "\\\"", "\\\\\"")
showcode = dd_replacetext(storedcode, "\"", "\\\"")
var/showcode = replacetext(storedcode, "\\\"", "\\\\\"")
showcode = replacetext(storedcode, "\"", "\\\"")
for(var/mob/M in viewingcode)
@@ -171,8 +171,8 @@
winshow(editingcode, "Telecomms IDE", 1) // show the IDE
winset(editingcode, "tcscode", "is-disabled=false")
winset(editingcode, "tcscode", "text=\"\"")
var/showcode = dd_replacetext(storedcode, "\\\"", "\\\\\"")
showcode = dd_replacetext(storedcode, "\"", "\\\"")
var/showcode = replacetext(storedcode, "\\\"", "\\\\\"")
showcode = replacetext(storedcode, "\"", "\\\"")
winset(editingcode, "tcscode", "text=\"[showcode]\"")
spawn()
update_ide()
@@ -182,7 +182,7 @@
winshow(usr, "Telecomms IDE", 1) // show the IDE
winset(usr, "tcscode", "is-disabled=true")
winset(editingcode, "tcscode", "text=\"\"")
var/showcode = dd_replacetext(storedcode, "\"", "\\\"")
var/showcode = replacetext(storedcode, "\"", "\\\"")
winset(usr, "tcscode", "text=\"[showcode]\"")
if("togglerun")

View File

@@ -163,19 +163,19 @@ move an amendment</a> to the drawing.</p>
/obj/item/blueprints/proc/set_area_machinery_title(var/area/A,var/title,var/oldtitle)
if (!oldtitle) // or dd_replacetext goes to infinite loop
if (!oldtitle) // or replacetext goes to infinite loop
return
for(var/area/RA in A.related)
for(var/obj/machinery/alarm/M in RA)
M.name = dd_replacetext(M.name,oldtitle,title)
M.name = replacetext(M.name,oldtitle,title)
for(var/obj/machinery/power/apc/M in RA)
M.name = dd_replacetext(M.name,oldtitle,title)
M.name = replacetext(M.name,oldtitle,title)
for(var/obj/machinery/atmospherics/unary/vent_scrubber/M in RA)
M.name = dd_replacetext(M.name,oldtitle,title)
M.name = replacetext(M.name,oldtitle,title)
for(var/obj/machinery/atmospherics/unary/vent_pump/M in RA)
M.name = dd_replacetext(M.name,oldtitle,title)
M.name = replacetext(M.name,oldtitle,title)
for(var/obj/machinery/door/M in RA)
M.name = dd_replacetext(M.name,oldtitle,title)
M.name = replacetext(M.name,oldtitle,title)
//TODO: much much more. Unnamed airlocks, cameras, etc.
/obj/item/blueprints/proc/check_tile_is_border(var/turf/T2,var/dir)

View File

@@ -536,7 +536,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
if (in_range(src, U) && loc == U)
n = copytext(adminscrub(n), 1, MAX_MESSAGE_LEN)
if (mode == 1)
note = dd_replacetext(n, "\n", "<BR>")
note = replacetext(n, "\n", "<BR>")
notehtml = n
else
U << browse(null, "window=pda")

View File

@@ -18,9 +18,9 @@ A list of items and costs is stored under the datum of every game mode, alongsid
/obj/item/device/uplink/New()
welcome = ticker.mode.uplink_welcome
if(!item_data)
items = dd_replacetext(ticker.mode.uplink_items, "\n", "") // Getting the text string of items
items = replacetext(ticker.mode.uplink_items, "\n", "") // Getting the text string of items
else
items = dd_replacetext(item_data)
items = replacetext(item_data)
ItemList = text2list(src.items, ";") // Parsing the items text string
uses = ticker.mode.uplink_uses

View File

@@ -330,7 +330,7 @@
proc/compilesong()
var/compilestring = ""
var/strippedsourcestring = dd_replacetext(currentsong.sourcestring, "\n", "")
var/strippedsourcestring = replacetext(currentsong.sourcestring, "\n", "")
strippedsourcestring = unbayify(strippedsourcestring)
@@ -601,7 +601,7 @@
updateUsrDialog()
else if(href_list["export"])
var/output = dd_replacetext(currentsong.sourcestring, "\n", "")
var/output = replacetext(currentsong.sourcestring, "\n", "")
var/list/sourcelist = text2list(output, ",")
@@ -728,8 +728,8 @@
var/input = html_encode(input(usr, "", "Edit", currentsong.sourcestring) as message|null)
if(isnull(input)) return
input = dd_replacetext(input, " ", "")
input = dd_replacetext(input, "\t", "")
input = replacetext(input, " ", "")
input = replacetext(input, "\t", "")
if(lentext(input)>4000)
statusmsg("Editor Error: Song too long, end was cutoff (max 4000)")

View File

@@ -10,9 +10,9 @@ var/global/floorIsLava = 0
for(var/client/C in admins)
var/msg = rendered
if(admin_ref)
msg = dd_replacetext(msg, "%admin_ref%", "\ref[C]")
msg = replacetext(msg, "%admin_ref%", "\ref[C]")
if(admin_holder_ref && C.holder)
msg = dd_replacetext(msg, "%holder_ref%", "\ref[C.holder]")
msg = replacetext(msg, "%holder_ref%", "\ref[C.holder]")
C << msg

View File

@@ -4,6 +4,6 @@
var/mobjs = null
mobjs = dd_list2text(typesof(/mob), ";")
create_mob_html = file2text('html/create_object.html')
create_mob_html = dd_replacetext(create_mob_html, "null /* object types */", "\"[mobjs]\"")
create_mob_html = replacetext(create_mob_html, "null /* object types */", "\"[mobjs]\"")
user << browse(dd_replacetext(create_mob_html, "/* ref src */", "\ref[src]"), "window=create_mob;size=425x475")
user << browse(replacetext(create_mob_html, "/* ref src */", "\ref[src]"), "window=create_mob;size=425x475")

View File

@@ -5,9 +5,9 @@
var/objectjs = null
objectjs = dd_list2text(typesof(/obj), ";")
create_object_html = file2text('html/create_object.html')
create_object_html = dd_replacetext(create_object_html, "null /* object types */", "\"[objectjs]\"")
create_object_html = replacetext(create_object_html, "null /* object types */", "\"[objectjs]\"")
user << browse(dd_replacetext(create_object_html, "/* ref src */", "\ref[src]"), "window=create_object;size=425x475")
user << browse(replacetext(create_object_html, "/* ref src */", "\ref[src]"), "window=create_object;size=425x475")
/datum/admins/proc/quick_create_object(var/mob/user)
@@ -23,6 +23,6 @@
var/objectjs = null
objectjs = dd_list2text(typesof(path), ";")
quick_create_object_html = file2text('html/create_object.html')
quick_create_object_html = dd_replacetext(quick_create_object_html, "null /* object types */", "\"[objectjs]\"")
quick_create_object_html = replacetext(quick_create_object_html, "null /* object types */", "\"[objectjs]\"")
user << browse(dd_replacetext(quick_create_object_html, "/* ref src */", "\ref[src]"), "window=quick_create_object;size=425x475")
user << browse(replacetext(quick_create_object_html, "/* ref src */", "\ref[src]"), "window=quick_create_object;size=425x475")

View File

@@ -4,6 +4,6 @@
var/turfjs = null
turfjs = dd_list2text(typesof(/turf), ";")
create_turf_html = file2text('html/create_object.html')
create_turf_html = dd_replacetext(create_turf_html, "null /* object types */", "\"[turfjs]\"")
create_turf_html = replacetext(create_turf_html, "null /* object types */", "\"[turfjs]\"")
user << browse(dd_replacetext(create_turf_html, "/* ref src */", "\ref[src]"), "window=create_turf;size=425x475")
user << browse(replacetext(create_turf_html, "/* ref src */", "\ref[src]"), "window=create_turf;size=425x475")

View File

@@ -351,10 +351,10 @@ var/list/admin_datums = list()
if(!job) continue
if(jobban_isbanned(M, job.title))
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[dd_replacetext(job.title, " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[replacetext(job.title, " ", "&nbsp")]</font></a></td>"
counter++
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[dd_replacetext(job.title, " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[replacetext(job.title, " ", "&nbsp")]</a></td>"
counter++
if(counter >= 6) //So things dont get squiiiiished!
@@ -372,10 +372,10 @@ var/list/admin_datums = list()
if(!job) continue
if(jobban_isbanned(M, job.title))
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[dd_replacetext(job.title, " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[replacetext(job.title, " ", "&nbsp")]</font></a></td>"
counter++
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[dd_replacetext(job.title, " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[replacetext(job.title, " ", "&nbsp")]</a></td>"
counter++
if(counter >= 5) //So things dont get squiiiiished!
@@ -393,10 +393,10 @@ var/list/admin_datums = list()
if(!job) continue
if(jobban_isbanned(M, job.title))
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[dd_replacetext(job.title, " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[replacetext(job.title, " ", "&nbsp")]</font></a></td>"
counter++
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[dd_replacetext(job.title, " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[replacetext(job.title, " ", "&nbsp")]</a></td>"
counter++
if(counter >= 5) //So things dont get squiiiiished!
@@ -414,10 +414,10 @@ var/list/admin_datums = list()
if(!job) continue
if(jobban_isbanned(M, job.title))
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[dd_replacetext(job.title, " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[replacetext(job.title, " ", "&nbsp")]</font></a></td>"
counter++
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[dd_replacetext(job.title, " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[replacetext(job.title, " ", "&nbsp")]</a></td>"
counter++
if(counter >= 5) //So things dont get squiiiiished!
@@ -435,10 +435,10 @@ var/list/admin_datums = list()
if(!job) continue
if(jobban_isbanned(M, job.title))
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[dd_replacetext(job.title, " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[replacetext(job.title, " ", "&nbsp")]</font></a></td>"
counter++
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[dd_replacetext(job.title, " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[replacetext(job.title, " ", "&nbsp")]</a></td>"
counter++
if(counter >= 5) //So things dont get squiiiiished!
@@ -456,10 +456,10 @@ var/list/admin_datums = list()
if(!job) continue
if(jobban_isbanned(M, job.title))
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[dd_replacetext(job.title, " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[replacetext(job.title, " ", "&nbsp")]</font></a></td>"
counter++
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[dd_replacetext(job.title, " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[replacetext(job.title, " ", "&nbsp")]</a></td>"
counter++
if(counter >= 5) //So things dont get squiiiiished!
@@ -477,10 +477,10 @@ var/list/admin_datums = list()
if(!job) continue
if(jobban_isbanned(M, job.title))
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[dd_replacetext(job.title, " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[replacetext(job.title, " ", "&nbsp")]</font></a></td>"
counter++
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[dd_replacetext(job.title, " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[replacetext(job.title, " ", "&nbsp")]</a></td>"
counter++
if(counter >= 5) //So things dont get squiiiiished!
@@ -502,59 +502,59 @@ var/list/admin_datums = list()
//Traitor
if(jobban_isbanned(M, "traitor") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=traitor;jobban4=\ref[M]'><font color=red>[dd_replacetext("Traitor", " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=traitor;jobban4=\ref[M]'><font color=red>[replacetext("Traitor", " ", "&nbsp")]</font></a></td>"
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=traitor;jobban4=\ref[M]'>[dd_replacetext("Traitor", " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=traitor;jobban4=\ref[M]'>[replacetext("Traitor", " ", "&nbsp")]</a></td>"
//Changeling
if(jobban_isbanned(M, "changeling") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=changeling;jobban4=\ref[M]'><font color=red>[dd_replacetext("Changeling", " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=changeling;jobban4=\ref[M]'><font color=red>[replacetext("Changeling", " ", "&nbsp")]</font></a></td>"
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=changeling;jobban4=\ref[M]'>[dd_replacetext("Changeling", " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=changeling;jobban4=\ref[M]'>[replacetext("Changeling", " ", "&nbsp")]</a></td>"
//Nuke Operative
if(jobban_isbanned(M, "operative") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=operative;jobban4=\ref[M]'><font color=red>[dd_replacetext("Nuke Operative", " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=operative;jobban4=\ref[M]'><font color=red>[replacetext("Nuke Operative", " ", "&nbsp")]</font></a></td>"
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=operative;jobban4=\ref[M]'>[dd_replacetext("Nuke Operative", " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=operative;jobban4=\ref[M]'>[replacetext("Nuke Operative", " ", "&nbsp")]</a></td>"
//Revolutionary
if(jobban_isbanned(M, "revolutionary") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=revolutionary;jobban4=\ref[M]'><font color=red>[dd_replacetext("Revolutionary", " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=revolutionary;jobban4=\ref[M]'><font color=red>[replacetext("Revolutionary", " ", "&nbsp")]</font></a></td>"
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=revolutionary;jobban4=\ref[M]'>[dd_replacetext("Revolutionary", " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=revolutionary;jobban4=\ref[M]'>[replacetext("Revolutionary", " ", "&nbsp")]</a></td>"
jobs += "</tr><tr align='center'>" //Breaking it up so it fits nicer on the screen every 5 entries
//Cultist
if(jobban_isbanned(M, "cultist") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=cultist;jobban4=\ref[M]'><font color=red>[dd_replacetext("Cultist", " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=cultist;jobban4=\ref[M]'><font color=red>[replacetext("Cultist", " ", "&nbsp")]</font></a></td>"
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=cultist;jobban4=\ref[M]'>[dd_replacetext("Cultist", " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=cultist;jobban4=\ref[M]'>[replacetext("Cultist", " ", "&nbsp")]</a></td>"
//Wizard
if(jobban_isbanned(M, "wizard") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=wizard;jobban4=\ref[M]'><font color=red>[dd_replacetext("Wizard", " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=wizard;jobban4=\ref[M]'><font color=red>[replacetext("Wizard", " ", "&nbsp")]</font></a></td>"
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=wizard;jobban4=\ref[M]'>[dd_replacetext("Wizard", " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=wizard;jobban4=\ref[M]'>[replacetext("Wizard", " ", "&nbsp")]</a></td>"
/* //Malfunctioning AI //Removed Malf-bans because they're a pain to impliment
if(jobban_isbanned(M, "malf AI") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=malf AI;jobban4=\ref[M]'><font color=red>[dd_replacetext("Malf AI", " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=malf AI;jobban4=\ref[M]'><font color=red>[replacetext("Malf AI", " ", "&nbsp")]</font></a></td>"
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=malf AI;jobban4=\ref[M]'>[dd_replacetext("Malf AI", " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=malf AI;jobban4=\ref[M]'>[replacetext("Malf AI", " ", "&nbsp")]</a></td>"
//Alien
if(jobban_isbanned(M, "alien candidate") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=alien candidate;jobban4=\ref[M]'><font color=red>[dd_replacetext("Alien", " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=alien candidate;jobban4=\ref[M]'><font color=red>[replacetext("Alien", " ", "&nbsp")]</font></a></td>"
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=alien candidate;jobban4=\ref[M]'>[dd_replacetext("Alien", " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=alien candidate;jobban4=\ref[M]'>[replacetext("Alien", " ", "&nbsp")]</a></td>"
//Infested Monkey
if(jobban_isbanned(M, "infested monkey") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=infested monkey;jobban4=\ref[M]'><font color=red>[dd_replacetext("Infested Monkey", " ", "&nbsp")]</font></a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=infested monkey;jobban4=\ref[M]'><font color=red>[replacetext("Infested Monkey", " ", "&nbsp")]</font></a></td>"
else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=infested monkey;jobban4=\ref[M]'>[dd_replacetext("Infested Monkey", " ", "&nbsp")]</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=infested monkey;jobban4=\ref[M]'>[replacetext("Infested Monkey", " ", "&nbsp")]</a></td>"
*/
jobs += "</tr></table>"

View File

@@ -265,23 +265,23 @@
else if(isobserver(M))
M_job = "Ghost"
M_job = dd_replacetext(M_job, "'", "")
M_job = dd_replacetext(M_job, "\"", "")
M_job = dd_replacetext(M_job, "\\", "")
M_job = replacetext(M_job, "'", "")
M_job = replacetext(M_job, "\"", "")
M_job = replacetext(M_job, "\\", "")
var/M_name = M.name
M_name = dd_replacetext(M_name, "'", "")
M_name = dd_replacetext(M_name, "\"", "")
M_name = dd_replacetext(M_name, "\\", "")
M_name = replacetext(M_name, "'", "")
M_name = replacetext(M_name, "\"", "")
M_name = replacetext(M_name, "\\", "")
var/M_rname = M.real_name
M_rname = dd_replacetext(M_rname, "'", "")
M_rname = dd_replacetext(M_rname, "\"", "")
M_rname = dd_replacetext(M_rname, "\\", "")
M_rname = replacetext(M_rname, "'", "")
M_rname = replacetext(M_rname, "\"", "")
M_rname = replacetext(M_rname, "\\", "")
var/M_key = M.key
M_key = dd_replacetext(M_key, "'", "")
M_key = dd_replacetext(M_key, "\"", "")
M_key = dd_replacetext(M_key, "\\", "")
M_key = replacetext(M_key, "'", "")
M_key = replacetext(M_key, "\"", "")
M_key = replacetext(M_key, "\\", "")
//output for each mob
dat += {"

View File

@@ -25,9 +25,9 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an", "monkey", "ali
var/original_msg = msg
//The symbol <20> (fancy multiplication sign) will be used to mark where to put replacements, so the original message must not contain it.
msg = dd_replacetext(msg, "<22>", "")
msg = dd_replacetext(msg, "HOLDERREF", "HOLDER-REF") //HOLDERREF is a key word which gets replaced with the admin's holder ref later on, so it mustn't be in the original message
msg = dd_replacetext(msg, "ADMINREF", "ADMIN-REF") //ADMINREF is a key word which gets replaced with the admin's client's ref. So it mustn't be in the original message.
msg = replacetext(msg, "<22>", "")
msg = replacetext(msg, "HOLDERREF", "HOLDER-REF") //HOLDERREF is a key word which gets replaced with the admin's holder ref later on, so it mustn't be in the original message
msg = replacetext(msg, "ADMINREF", "ADMIN-REF") //ADMINREF is a key word which gets replaced with the admin's client's ref. So it mustn't be in the original message.
var/list/msglist = text2list(msg, " ")
@@ -50,14 +50,14 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an", "monkey", "ali
for(var/i = 1; i <= msglist.len; i++)
var/word = msglist[i]
var/original_word = word
word = dd_replacetext(word, ".", "")
word = dd_replacetext(word, ",", "")
word = dd_replacetext(word, "!", "")
word = dd_replacetext(word, "?", "") //Strips some common punctuation characters so the actual word can be better compared.
word = dd_replacetext(word, ";", "")
word = dd_replacetext(word, ":", "")
word = dd_replacetext(word, "(", "")
word = dd_replacetext(word, ")", "")
word = replacetext(word, ".", "")
word = replacetext(word, ",", "")
word = replacetext(word, "!", "")
word = replacetext(word, "?", "") //Strips some common punctuation characters so the actual word can be better compared.
word = replacetext(word, ";", "")
word = replacetext(word, ":", "")
word = replacetext(word, "(", "")
word = replacetext(word, ")", "")
if(lowertext(word) in adminhelp_ignored_words)
continue
if(lowertext(word) == "ai")
@@ -104,8 +104,8 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an", "monkey", "ali
check_laws_text = (" (<A HREF='?src=\ref[X.holder];adminchecklaws=[ref_mob]'>CL</A>)")
var/msg_to_send = "\blue <b><font color=red>HELP: </font>[key_name(src, X)] (<A HREF='?src=\ref[X.holder];adminmoreinfo=[ref_mob]'>?</A>) (<A HREF='?src=\ref[X.holder];adminplayeropts=[ref_mob]'>PP</A>) (<A HREF='?src=\ref[X.holder];adminplayervars=[ref_mob]'>VV</A>) (<A HREF='?src=\ref[X.holder];adminplayersubtlemessage=[ref_mob]'>SM</A>) (<A HREF='?src=\ref[X.holder];adminplayerobservejump=[ref_mob]'>JMP</A>) (<A HREF='?src=\ref[X.holder];secretsadmin=check_antagonist'>CA</A>) [check_laws_text]:</b> [msg]"
msg_to_send = dd_replacetext(msg_to_send, "HOLDERREF", "\ref[X.holder]")
msg_to_send = dd_replacetext(msg_to_send, "ADMINREF", "\ref[X]")
msg_to_send = replacetext(msg_to_send, "HOLDERREF", "\ref[X.holder]")
msg_to_send = replacetext(msg_to_send, "ADMINREF", "\ref[X]")
X << msg_to_send
else
var/ref_client = "\ref[src]"
@@ -117,8 +117,8 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an", "monkey", "ali
if(X.holder.sound_adminhelp)
X << 'sound/effects/adminhelp.ogg'
var/msg_to_send = "\blue <b><font color=red>HELP: </font>[key_name(src, X)] (<A HREF='?src=\ref[X.holder];adminplayervars=[ref_client]'>VV</A>) (<A HREF='?src=\ref[X.holder];secretsadmin=check_antagonist'>CA</A>):</b> [msg]"
msg_to_send = dd_replacetext(msg_to_send, "HOLDERREF", "\ref[X.holder]")
msg_to_send = dd_replacetext(msg_to_send, "ADMINREF", "\ref[X]")
msg_to_send = replacetext(msg_to_send, "HOLDERREF", "\ref[X.holder]")
msg_to_send = replacetext(msg_to_send, "ADMINREF", "\ref[X]")
X << msg_to_send
src << "<font color='blue'>PM to-<b>Admins</b>: [original_msg]</font>"

View File

@@ -676,7 +676,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
M << "\red To try to resolve this matter head to http://ss13.donglabs.com/forum/"
log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.")
message_admins("\blue[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.")
world.Export("http://216.38.134.132/adminlog.php?type=ban&key=[usr.client.key]&key2=[M.key]&msg=[html_decode(reason)]&time=[mins]&server=[dd_replacetext(config.server_name, "#", "")]")
world.Export("http://216.38.134.132/adminlog.php?type=ban&key=[usr.client.key]&key2=[M.key]&msg=[html_decode(reason)]&time=[mins]&server=[replacetext(config.server_name, "#", "")]")
del(M.client)
del(M)
else
@@ -691,7 +691,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
M << "\red To try to resolve this matter head to http://ss13.donglabs.com/forum/"
log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.")
message_admins("\blue[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.")
world.Export("http://216.38.134.132/adminlog.php?type=ban&key=[usr.client.key]&key2=[M.key]&msg=[html_decode(reason)]&time=perma&server=[dd_replacetext(config.server_name, "#", "")]")
world.Export("http://216.38.134.132/adminlog.php?type=ban&key=[usr.client.key]&key2=[M.key]&msg=[html_decode(reason)]&time=perma&server=[replacetext(config.server_name, "#", "")]")
del(M.client)
del(M)
*/

View File

@@ -21,7 +21,7 @@
if(src.dna)
if(src.dna.mutantrace == "lizard")
if(copytext(message, 1, 2) != "*")
message = dd_replacetext(message, "s", stutter("ss"))
message = replacetext(message, "s", stutter("ss"))
if(src.dna.mutantrace == "metroid" && prob(5))
if(copytext(message, 1, 2) != "*")
@@ -50,22 +50,22 @@
if(istype(src.wear_mask, /obj/item/clothing/mask/luchador))
if(copytext(message, 1, 2) != "*")
message = dd_replacetext(message, "captain", "CAPIT<49>N")
message = dd_replacetext(message, "station", "ESTACI<43>N")
message = dd_replacetext(message, "sir", "SE<53>OR")
message = dd_replacetext(message, "the ", "el ")
message = dd_replacetext(message, "my ", "mi ")
message = dd_replacetext(message, "is ", "es ")
message = dd_replacetext(message, "it's", "es")
message = dd_replacetext(message, "friend", "amigo")
message = dd_replacetext(message, "buddy", "amigo")
message = dd_replacetext(message, "hello", "hola")
message = dd_replacetext(message, " hot", " caliente")
message = dd_replacetext(message, " very ", " muy ")
message = dd_replacetext(message, "sword", "espada")
message = dd_replacetext(message, "library", "biblioteca")
message = dd_replacetext(message, "traitor", "traidor")
message = dd_replacetext(message, "wizard", "mago")
message = replacetext(message, "captain", "CAPIT<49>N")
message = replacetext(message, "station", "ESTACI<43>N")
message = replacetext(message, "sir", "SE<53>OR")
message = replacetext(message, "the ", "el ")
message = replacetext(message, "my ", "mi ")
message = replacetext(message, "is ", "es ")
message = replacetext(message, "it's", "es")
message = replacetext(message, "friend", "amigo")
message = replacetext(message, "buddy", "amigo")
message = replacetext(message, "hello", "hola")
message = replacetext(message, " hot", " caliente")
message = replacetext(message, " very ", " muy ")
message = replacetext(message, "sword", "espada")
message = replacetext(message, "library", "biblioteca")
message = replacetext(message, "traitor", "traidor")
message = replacetext(message, "wizard", "mago")
message = uppertext(message) //Things end up looking better this way (no mixed cases), and it fits the macho wrestler image.
if(prob(25))
message += " OLE!"
@@ -84,37 +84,37 @@
temp_message[H] = ninjaspeak(temp_message[H])
pick_list -= H
message = dd_list2text(temp_message, " ")
message = dd_replacetext(message, "o", "<22>")
message = dd_replacetext(message, "p", "<22>")
message = dd_replacetext(message, "l", "<22>")
message = dd_replacetext(message, "s", "<22>")
message = dd_replacetext(message, "u", "<22>")
message = dd_replacetext(message, "b", "<22>")
message = replacetext(message, "o", "<22>")
message = replacetext(message, "p", "<22>")
message = replacetext(message, "l", "<22>")
message = replacetext(message, "s", "<22>")
message = replacetext(message, "u", "<22>")
message = replacetext(message, "b", "<22>")
/*This text is hilarious but also absolutely retarded.
message = dd_replacetext(message, "l", "r")
message = dd_replacetext(message, "rr", "ru")
message = dd_replacetext(message, "v", "b")
message = dd_replacetext(message, "f", "hu")
message = dd_replacetext(message, "'t", "")
message = dd_replacetext(message, "t ", "to ")
message = dd_replacetext(message, " I ", " ai ")
message = dd_replacetext(message, "th", "z")
message = dd_replacetext(message, "ish", "isu")
message = dd_replacetext(message, "is", "izu")
message = dd_replacetext(message, "ziz", "zis")
message = dd_replacetext(message, "se", "su")
message = dd_replacetext(message, "br", "bur")
message = dd_replacetext(message, "ry", "ri")
message = dd_replacetext(message, "you", "yuu")
message = dd_replacetext(message, "ck", "cku")
message = dd_replacetext(message, "eu", "uu")
message = dd_replacetext(message, "ow", "au")
message = dd_replacetext(message, "are", "aa")
message = dd_replacetext(message, "ay", "ayu")
message = dd_replacetext(message, "ea", "ii")
message = dd_replacetext(message, "ch", "chi")
message = dd_replacetext(message, "than", "sen")
message = dd_replacetext(message, ".", "")
message = replacetext(message, "l", "r")
message = replacetext(message, "rr", "ru")
message = replacetext(message, "v", "b")
message = replacetext(message, "f", "hu")
message = replacetext(message, "'t", "")
message = replacetext(message, "t ", "to ")
message = replacetext(message, " I ", " ai ")
message = replacetext(message, "th", "z")
message = replacetext(message, "ish", "isu")
message = replacetext(message, "is", "izu")
message = replacetext(message, "ziz", "zis")
message = replacetext(message, "se", "su")
message = replacetext(message, "br", "bur")
message = replacetext(message, "ry", "ri")
message = replacetext(message, "you", "yuu")
message = replacetext(message, "ck", "cku")
message = replacetext(message, "eu", "uu")
message = replacetext(message, "ow", "au")
message = replacetext(message, "are", "aa")
message = replacetext(message, "ay", "ayu")
message = replacetext(message, "ea", "ii")
message = replacetext(message, "ch", "chi")
message = replacetext(message, "than", "sen")
message = replacetext(message, ".", "")
message = lowertext(message)
*/
..(message)

View File

@@ -48,12 +48,12 @@
temp_message[H] = ninjaspeak(temp_message[H])
pick_list -= H
message = dd_list2text(temp_message, " ")
message = dd_replacetext(message, "o", "<22>")
message = dd_replacetext(message, "p", "<22>")
message = dd_replacetext(message, "l", "<22>")
message = dd_replacetext(message, "s", "<22>")
message = dd_replacetext(message, "u", "<22>")
message = dd_replacetext(message, "b", "<22>")
message = replacetext(message, "o", "<22>")
message = replacetext(message, "p", "<22>")
message = replacetext(message, "l", "<22>")
message = replacetext(message, "s", "<22>")
message = replacetext(message, "u", "<22>")
message = replacetext(message, "b", "<22>")
if (src.stuttering)
message = stutter(message)

View File

@@ -143,15 +143,15 @@ var/list/department_radio_keys = list(
// :downs:
if (getBrainLoss() >= 60)
message = dd_replacetext(message, " am ", " ")
message = dd_replacetext(message, " is ", " ")
message = dd_replacetext(message, " are ", " ")
message = dd_replacetext(message, "you", "u")
message = dd_replacetext(message, "help", "halp")
message = dd_replacetext(message, "grief", "grife")
message = dd_replacetext(message, "space", "spess")
message = dd_replacetext(message, "carp", "crap")
message = dd_replacetext(message, "reason", "raisin")
message = replacetext(message, " am ", " ")
message = replacetext(message, " is ", " ")
message = replacetext(message, " are ", " ")
message = replacetext(message, "you", "u")
message = replacetext(message, "help", "halp")
message = replacetext(message, "grief", "grife")
message = replacetext(message, "space", "spess")
message = replacetext(message, "carp", "crap")
message = replacetext(message, "reason", "raisin")
if(prob(50))
message = uppertext(message)
message += "[stutter(pick("!", "!!", "!!!"))]"

View File

@@ -422,10 +422,10 @@
adminrank = usr.client.holder.rank
replytext = dd_replacetext(replytext, "%BR%", "")
replytext = dd_replacetext(replytext, "\n", "%BR%")
replytext = replacetext(replytext, "%BR%", "")
replytext = replacetext(replytext, "\n", "%BR%")
var/text_pass = reject_bad_text(replytext,8000)
replytext = dd_replacetext(replytext, "%BR%", "<BR>")
replytext = replacetext(replytext, "%BR%", "<BR>")
if(!text_pass)
usr << "The text you entered was blank, contained illegal characters or was too long. Please correct the text and submit again."

View File

@@ -155,40 +155,40 @@
/obj/item/weapon/paper/proc/parsepencode(var/t, var/obj/item/weapon/pen/P, mob/user as mob, var/iscrayon = 0)
// t = copytext(sanitize(t),1,MAX_MESSAGE_LEN)
t = dd_replacetext(t, "\[center\]", "<center>")
t = dd_replacetext(t, "\[/center\]", "</center>")
t = dd_replacetext(t, "\[br\]", "<BR>")
t = dd_replacetext(t, "\[b\]", "<B>")
t = dd_replacetext(t, "\[/b\]", "</B>")
t = dd_replacetext(t, "\[i\]", "<I>")
t = dd_replacetext(t, "\[/i\]", "</I>")
t = dd_replacetext(t, "\[u\]", "<U>")
t = dd_replacetext(t, "\[/u\]", "</U>")
t = dd_replacetext(t, "\[large\]", "<font size=\"4\">")
t = dd_replacetext(t, "\[/large\]", "</font>")
t = dd_replacetext(t, "\[sign\]", "<font face=\"[signfont]\"><i>[user.real_name]</i></font>")
t = dd_replacetext(t, "\[field\]", "<span class=\"paper_field\"></span>")
t = replacetext(t, "\[center\]", "<center>")
t = replacetext(t, "\[/center\]", "</center>")
t = replacetext(t, "\[br\]", "<BR>")
t = replacetext(t, "\[b\]", "<B>")
t = replacetext(t, "\[/b\]", "</B>")
t = replacetext(t, "\[i\]", "<I>")
t = replacetext(t, "\[/i\]", "</I>")
t = replacetext(t, "\[u\]", "<U>")
t = replacetext(t, "\[/u\]", "</U>")
t = replacetext(t, "\[large\]", "<font size=\"4\">")
t = replacetext(t, "\[/large\]", "</font>")
t = replacetext(t, "\[sign\]", "<font face=\"[signfont]\"><i>[user.real_name]</i></font>")
t = replacetext(t, "\[field\]", "<span class=\"paper_field\"></span>")
if(!iscrayon)
t = dd_replacetext(t, "\[*\]", "<li>")
t = dd_replacetext(t, "\[hr\]", "<HR>")
t = dd_replacetext(t, "\[small\]", "<font size = \"1\">")
t = dd_replacetext(t, "\[/small\]", "</font>")
t = dd_replacetext(t, "\[list\]", "<ul>")
t = dd_replacetext(t, "\[/list\]", "</ul>")
t = replacetext(t, "\[*\]", "<li>")
t = replacetext(t, "\[hr\]", "<HR>")
t = replacetext(t, "\[small\]", "<font size = \"1\">")
t = replacetext(t, "\[/small\]", "</font>")
t = replacetext(t, "\[list\]", "<ul>")
t = replacetext(t, "\[/list\]", "</ul>")
t = "<font face=\"[deffont]\" color=[P.colour]>[t]</font>"
else // If it is a crayon, and he still tries to use these, make them empty!
t = dd_replacetext(t, "\[*\]", "")
t = dd_replacetext(t, "\[hr\]", "")
t = dd_replacetext(t, "\[small\]", "")
t = dd_replacetext(t, "\[/small\]", "")
t = dd_replacetext(t, "\[list\]", "")
t = dd_replacetext(t, "\[/list\]", "")
t = replacetext(t, "\[*\]", "")
t = replacetext(t, "\[hr\]", "")
t = replacetext(t, "\[small\]", "")
t = replacetext(t, "\[/small\]", "")
t = replacetext(t, "\[list\]", "")
t = replacetext(t, "\[/list\]", "")
t = "<font face=\"[crayonfont]\" color=[P.colour]><b>[t]</b></font>"
// t = dd_replacetext(t, "#", "") // Junk converted to nothing!
// t = replacetext(t, "#", "") // Junk converted to nothing!
//Count the fields
var/laststart = 1

View File

@@ -51,8 +51,8 @@
else //no toner? shitty copies for you!
c.info = "<font color = #808080>"
var/copied = html_decode(copy.info)
copied = dd_replacetext(copied, "<font face=\"[c.deffont]\" color=", "<font face=\"[c.deffont]\" nocolor=") //state of the art techniques in action
copied = dd_replacetext(copied, "<font face=\"[c.crayonfont]\" color=", "<font face=\"[c.crayonfont]\" nocolor=") //This basically just breaks the existing color tag, which we need to do because the innermost tag takes priority.
copied = replacetext(copied, "<font face=\"[c.deffont]\" color=", "<font face=\"[c.deffont]\" nocolor=") //state of the art techniques in action
copied = replacetext(copied, "<font face=\"[c.crayonfont]\" color=", "<font face=\"[c.crayonfont]\" nocolor=") //This basically just breaks the existing color tag, which we need to do because the innermost tag takes priority.
c.info += copied
c.info += "</font>"
c.name = copy.name // -- Doohl

View File

@@ -303,9 +303,9 @@ var/obj/machinery/blackbox_recorder/blackbox
// Sanitize inputs to avoid SQL injection attacks
proc/sql_sanitize_text(var/text)
text = dd_replacetext(text, "'", "''")
text = dd_replacetext(text, ";", "")
text = dd_replacetext(text, "&", "")
text = replacetext(text, "'", "''")
text = replacetext(text, ";", "")
text = replacetext(text, "&", "")
return text
proc/feedback_set(var/variable,var/value)

View File

@@ -162,8 +162,8 @@ client/verb/tcsrevert()
var/obj/machinery/telecomms/server/Server = Machine.SelectedServer
// Replace quotation marks with quotation macros for proper winset() compatibility
var/showcode = dd_replacetext(Server.rawcode, "\\\"", "\\\\\"")
showcode = dd_replacetext(showcode, "\"", "\\\"")
var/showcode = replacetext(Server.rawcode, "\\\"", "\\\\\"")
showcode = replacetext(showcode, "\"", "\\\"")
winset(mob, "tcscode", "text=\"[showcode]\"")

View File

@@ -119,7 +119,7 @@
@param replacestring: the string to replace the substring with
*/
interpreter.SetProc("replace", /proc/dd_replacetext)
interpreter.SetProc("replace", /proc/replacetext)
/*
-> Locates an element/substring inside of a list or string