From bd8289b29f588948524b3745136620d099408bf2 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 10 Aug 2017 10:49:22 -0500 Subject: [PATCH] Massively improves downloading/viewing logs. --- code/modules/admin/verbs/getlogs.dm | 32 ++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/code/modules/admin/verbs/getlogs.dm b/code/modules/admin/verbs/getlogs.dm index fe3fe61b3f..9f08eb5e0e 100644 --- a/code/modules/admin/verbs/getlogs.dm +++ b/code/modules/admin/verbs/getlogs.dm @@ -13,7 +13,17 @@ return message_admins("[key_name_admin(src)] accessed file: [path]") - src << ftp(file(path)) + //this is copypasta because making it a proc would mean locking out adminproccalls, + // and that system is buggy enough with false positives that I don't want to risk locking admins out of legit calls. + switch(alert("View (in game), Open (in your system's text editor), or Download file [path]?", "Log File Opening", "View", "Open", "Download")) + if ("View") + src << browse("
[html_encode(file2text(file(path)))]
", list2params(list("window" = "viewfile.[path]"))) + if ("Open") + src << run(file(path)) + if ("Download") + src << ftp(file(path)) + else + return to_chat(src, "Attempting to send file, this may take a fair few minutes if the file is very large.") return @@ -27,7 +37,15 @@ set desc = "Shows server log for this round." if(fexists("[GLOB.world_game_log]")) - src << ftp(GLOB.world_game_log) + switch(alert("View (in game), Open (in your system's text editor), or Download file [GLOB.world_game_log]?", "Log File Opening", "View", "Open", "Download")) + if ("View") + src << browse("
[html_encode(file2text(GLOB.world_game_log))]
", list2params(list("window" = "viewfile.[GLOB.world_game_log]"))) + if ("Open") + src << run(GLOB.world_game_log) + if ("Download") + src << ftp(GLOB.world_game_log) + else + return else to_chat(src, "Server log not found, try using .getserverlog.") return @@ -41,7 +59,15 @@ set desc = "Shows server attack log for this round." if(fexists("[GLOB.world_attack_log]")) - src << ftp(GLOB.world_attack_log) + switch(alert("View (in game), Open (in your system's text editor), or Download file [GLOB.world_attack_log]?", "Log File Opening", "View", "Open", "Download")) + if ("View") + src << browse("
[html_encode(file2text(GLOB.world_attack_log))]
", list2params(list("window" = "viewfile.[GLOB.world_attack_log]"))) + if ("Open") + src << run(GLOB.world_attack_log) + if ("Download") + src << ftp(GLOB.world_attack_log) + else + return else to_chat(src, "Server attack log not found, try using .getserverlog.") return