mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-18 03:26:31 +01:00
Assorted Nanopaint-related Fixes (#96293)
This commit is contained in:
@@ -126,8 +126,8 @@
|
||||
if("PRG_savelog")
|
||||
if(!channel)
|
||||
return
|
||||
var/logname = stripped_input(params["log_name"])
|
||||
if(!logname)
|
||||
var/logname = trim(params["log_name"], MAX_MESSAGE_LEN)
|
||||
if(!length(logname) || !filter_filename_pda(logname))
|
||||
return
|
||||
var/datum/computer_file/data/text/logfile = new()
|
||||
// Now we will generate HTML-compliant file that can actually be viewed/printed.
|
||||
|
||||
@@ -119,8 +119,8 @@ GLOBAL_LIST_INIT(print_types, init_print_types())
|
||||
var/datum/computer_file/file = computer.find_file_by_name(params["name"])
|
||||
if(!file)
|
||||
return
|
||||
var/newname = reject_bad_name(params["new_name"], allow_numbers = TRUE, cap_after_symbols = FALSE, cap_at_start = FALSE)
|
||||
if(!newname || newname != params["new_name"])
|
||||
var/newname = trim(params["new_name"], MAX_MESSAGE_LEN)
|
||||
if(!length(newname) || !filter_filename_pda(newname))
|
||||
playsound(computer, 'sound/machines/terminal/terminal_error.ogg', 25, FALSE)
|
||||
return
|
||||
file.filename = newname
|
||||
@@ -131,8 +131,8 @@ GLOBAL_LIST_INIT(print_types, init_print_types())
|
||||
var/datum/computer_file/file = computer.find_file_by_name(params["name"], computer.inserted_disk)
|
||||
if(!file)
|
||||
return
|
||||
var/newname = reject_bad_name(params["new_name"], allow_numbers = TRUE, cap_after_symbols = FALSE, cap_at_start = FALSE)
|
||||
if(!newname || newname != params["new_name"])
|
||||
var/newname = trim(params["new_name"], MAX_MESSAGE_LEN)
|
||||
if(!length(newname) || !filter_filename_pda(newname))
|
||||
playsound(computer, 'sound/machines/terminal/terminal_error.ogg', 25, FALSE)
|
||||
return
|
||||
file.filename = newname
|
||||
|
||||
@@ -175,11 +175,14 @@ GLOBAL_LIST_INIT(nanopaint_supported_filetypes, zebra_typecacheof(list(\
|
||||
return
|
||||
dialog = null
|
||||
var/uid = params["uid"]
|
||||
var/new_file_name = params["name"]
|
||||
var/new_file_name = trim(params["name"], MAX_MESSAGE_LEN)
|
||||
var/saving_to_disk = params["onDisk"]
|
||||
var/datum/computer_file/new_file_type = text2path(params["typepath"])
|
||||
var/extension = new_file_type::filetype
|
||||
var/datum/computer_file/existing_file
|
||||
if(!length(new_file_name))
|
||||
dialog = list("type" = "error", "message" = "No name specified.")
|
||||
return TRUE
|
||||
if(saving_to_disk)
|
||||
if(!computer.inserted_disk)
|
||||
dialog = list("type" = "error", "message" = "[new_file_name] - The disk has been removed.")
|
||||
@@ -208,6 +211,12 @@ GLOBAL_LIST_INIT(nanopaint_supported_filetypes, zebra_typecacheof(list(\
|
||||
else
|
||||
INVOKE_ASYNC(src, PROC_REF(write_to_file), user, existing_file)
|
||||
return TRUE
|
||||
if(is_ic_filtered_for_pdas(new_file_name) || is_soft_ic_filtered_for_pdas(new_file_name))
|
||||
dialog = list("type" = "error", "message" = "The entered file name violates company policy.")
|
||||
return TRUE
|
||||
if(!filter_illegal_filename_chars(new_file_name))
|
||||
dialog = list("type" = "error", "message" = "[new_file_name] - File names cannot include the following characters. \n \\ / : * ? \" < > |")
|
||||
return TRUE
|
||||
INVOKE_ASYNC(src, PROC_REF(save_file), user, new_file_name, new_file_type, saving_to_disk && computer.inserted_disk)
|
||||
return TRUE
|
||||
|
||||
@@ -283,7 +292,7 @@ GLOBAL_LIST_INIT(nanopaint_supported_filetypes, zebra_typecacheof(list(\
|
||||
|
||||
/datum/computer_file/program/nanopaint/proc/save_file(mob/user, name, file_type, obj/item/disk/computer/target_disk)
|
||||
var/datum/computer_file/file = new file_type()
|
||||
file.filename = reject_bad_name(name, allow_numbers = TRUE, cap_after_symbols = FALSE, cap_at_start = FALSE)
|
||||
file.filename = name
|
||||
var/file_stored
|
||||
if(target_disk)
|
||||
file_stored = target_disk.add_file(file)
|
||||
|
||||
Reference in New Issue
Block a user