mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-13 00:55:20 +01:00
Fixes the "Saw this admin message" button not working (#80908)
## About The Pull Request Wrong fuckin name brother (also topic doesn't automake textnums into nums) ## Why It's Good For The Game Closes #80020 ## Changelog 🆑 admin: Confirming that you have read an admin message now uh, works. it's been 2 years bros /🆑
This commit is contained in:
@@ -629,6 +629,19 @@
|
||||
browser.set_content(jointext(output, ""))
|
||||
browser.open()
|
||||
|
||||
/// Represents a message stored in the db
|
||||
/datum/admin_message
|
||||
/// The uid of this message
|
||||
var/id
|
||||
/// The admin who left this message
|
||||
var/admin_key
|
||||
/// The text of this message
|
||||
var/text
|
||||
/// The time this message was first created
|
||||
var/timestamp
|
||||
/// The admin who last edited this message
|
||||
var/editor_key
|
||||
|
||||
/proc/get_message_output(type, target_ckey, show_secret = TRUE, after_timestamp)
|
||||
if(!SSdbcore.Connect())
|
||||
to_chat(usr, span_danger("Failed to establish database connection."), confidential = TRUE)
|
||||
@@ -660,29 +673,50 @@
|
||||
if(!query_get_message_output.warn_execute())
|
||||
qdel(query_get_message_output)
|
||||
return
|
||||
var/list/datum/admin_message/messages = list()
|
||||
while(query_get_message_output.NextRow())
|
||||
var/message_id = query_get_message_output.item[1]
|
||||
var/admin_key = query_get_message_output.item[2]
|
||||
var/text = query_get_message_output.item[3]
|
||||
var/timestamp = query_get_message_output.item[4]
|
||||
var/editor_key = query_get_message_output.item[5]
|
||||
switch(type)
|
||||
if("message")
|
||||
output += "<font color='[COLOR_RED]' size='3'><b>Admin message left by [span_prefix("[admin_key]")] on [timestamp]</b></font>"
|
||||
output += "<br><font color='[COLOR_RED]'>[text] <A href='?_src_=holder;[HrefToken()];messageread=[message_id]'>(Click here to verify you have read this message)</A></font><br>"
|
||||
if("note")
|
||||
output += "<font color='[COLOR_RED]' size='3'><b>Note left by [span_prefix("[admin_key]")] on [timestamp]</b></font>"
|
||||
output += "<br><font color='[COLOR_RED]'>[text]</font><br>"
|
||||
if("watchlist entry")
|
||||
message_admins("<font color='[COLOR_RED]'><B>Notice: </B></font><font color='[COLOR_ADMIN_PINK]'>[key_name_admin(target_ckey)] has been on the watchlist since [timestamp] and has just connected - Reason: [text]</font>")
|
||||
send2tgs_adminless_only("Watchlist", "[key_name(target_ckey)] is on the watchlist and has just connected - Reason: [text]")
|
||||
if("memo")
|
||||
output += "[span_memo("Memo by <span class='prefix'>[admin_key]")] on [timestamp]"
|
||||
if(editor_key)
|
||||
output += "<br>[span_memoedit("Last edit by [editor_key] <A href='?_src_=holder;[HrefToken()];messageedits=[message_id]'>(Click here to see edit log)</A>")]"
|
||||
output += "<br>[text]</span><br>"
|
||||
var/datum/admin_message/message = new()
|
||||
message.id = query_get_message_output.item[1]
|
||||
message.admin_key = query_get_message_output.item[2]
|
||||
message.text = query_get_message_output.item[3]
|
||||
message.timestamp = query_get_message_output.item[4]
|
||||
message.editor_key = query_get_message_output.item[5]
|
||||
messages += message
|
||||
qdel(query_get_message_output)
|
||||
return output
|
||||
if(!length(messages))
|
||||
return
|
||||
return messages
|
||||
|
||||
/proc/display_admin_messages(client/display_to)
|
||||
var/list/text = list()
|
||||
for(var/datum/admin_message/message in get_message_output("message", display_to.ckey))
|
||||
text += "<font color='[COLOR_RED]' size='3'><b>Admin message left by [span_prefix("[message.admin_key]")] on [message.timestamp]</b></font>"
|
||||
text += "<br><font color='[COLOR_RED]'>[message.text] <A href='?messageread=[message.id]'>(Click here to verify you have read this message)</A></font><br>"
|
||||
if(length(text))
|
||||
to_chat(display_to, text.Join())
|
||||
|
||||
/proc/display_unread_notes(client/display_to, show_after)
|
||||
var/list/text = list()
|
||||
for(var/datum/admin_message/message in get_message_output("note", display_to.ckey, FALSE, show_after))
|
||||
text += "<font color='[COLOR_RED]' size='3'><b>Note left by [span_prefix("[message.admin_key]")] on [message.timestamp]</b></font>"
|
||||
text += "<br><font color='[COLOR_RED]'>[message.text]</font><br>"
|
||||
if(length(text))
|
||||
to_chat(display_to, text.Join())
|
||||
|
||||
/proc/display_admin_memos(client/display_to)
|
||||
var/list/text = list()
|
||||
for(var/datum/admin_message/message in get_message_output("memo", display_to.ckey))
|
||||
text += "[span_memo("Memo by <span class='prefix'>[message.admin_key]")] on [message.timestamp]"
|
||||
if(message.editor_key)
|
||||
text += "<br>[span_memoedit("Last edit by [message.editor_key] <A href='?_src_=holder;[HrefToken()];messageedits=[message.id]'>(Click here to see edit log)</A>")]"
|
||||
text += "<br>[message.text]</span><br>"
|
||||
if(length(text))
|
||||
to_chat(display_to, text.Join())
|
||||
|
||||
/proc/scream_about_watchlists(client/read_from)
|
||||
for(var/datum/admin_message/message in get_message_output("watchlist entry", read_from.ckey))
|
||||
message_admins("<font color='[COLOR_RED]'><B>Notice: </B></font><font color='[COLOR_ADMIN_PINK]'>[key_name_admin(read_from.ckey)] has been on the watchlist since [message.timestamp] and has just connected - Reason: [message.text]</font>")
|
||||
send2tgs_adminless_only("Watchlist", "[key_name(read_from.ckey)] is on the watchlist and has just connected - Reason: [message.text]")
|
||||
|
||||
#define NOTESFILE "data/player_notes.sav"
|
||||
//if the AUTOCONVERT_NOTES is turned on, anytime a player connects this will be run to try and add all their notes to the databas
|
||||
|
||||
Reference in New Issue
Block a user