diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 8c3df28b34d..4e8999c99e5 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -243,25 +243,25 @@ if(unique) to_chat(user, "These pages don't seem to take the ink well. Looks like you can't modify it.") return - var/choice = tgui_alert(user, "What would you like to change?", "Book", list("Title", "Contents", "Author", "Cancel")) + var/choice = tgui_input_list(user, "What would you like to change?", "Book", list("Title", "Contents", "Author", "Cancel"), "Cancel") switch(choice) if("Title") - var/newtitle = reject_bad_text(sanitizeSafe(input("Write a new title:"))) + var/newtitle = reject_bad_text(strip_html_full(tgui_input_text(user, "Write a new title:", "Title", encode = FALSE))) if(!newtitle) to_chat(usr, "The title is invalid.") return else - src.name = newtitle + src.name = html_decode(newtitle) src.title = newtitle if("Contents") - var/content = sanitize(input("Write your book's contents (HTML NOT allowed):") as message|null, MAX_BOOK_MESSAGE_LEN) + var/content = strip_html_readd_newlines(tgui_input_text(user, "Write your book's contents (HTML NOT allowed):", "Content", multiline = TRUE, encode = FALSE), MAX_BOOK_MESSAGE_LEN) if(!content) to_chat(usr, "The content is invalid.") return else src.dat += content if("Author") - var/newauthor = sanitize(input(usr, "Write the author's name:")) + var/newauthor = strip_html_full(tgui_input_text(user, "Write the author's name:", "Author", encode = FALSE)) if(!newauthor) to_chat(usr, "The name is invalid.") return diff --git a/html/changelogs/fluffyghost-fixbookpenning.yml b/html/changelogs/fluffyghost-fixbookpenning.yml new file mode 100644 index 00000000000..54dc0b485c1 --- /dev/null +++ b/html/changelogs/fluffyghost-fixbookpenning.yml @@ -0,0 +1,42 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: FluffyGhost + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Fixed book penning, title and content being mangled, newlines." + - backend: "Books now support multilines writing, ported books to new sanitization procs and penning UIs to TGUI."