[s] Fixes chat linking (#14939)

This commit is contained in:
adamsong
2022-07-21 18:30:47 -04:00
committed by GitHub
parent 02e9b218f8
commit 72338902d8
6 changed files with 14 additions and 12 deletions

View File

@@ -471,10 +471,10 @@ GLOBAL_LIST_EMPTY(species_list)
return spawned_mobs
// Displays a message in deadchat, sent by source. Source is not linkified, message is, to avoid stuff like character names to be linkified.
// Displays a message in deadchat, sent by source.
// Automatically gives the class deadsay to the whole message (message + source)
/proc/deadchat_broadcast(message, source=null, mob/follow_target=null, turf/turf_target=null, speaker_key=null, message_type=DEADCHAT_REGULAR)
message = span_deadsay("[source][span_linkify("[message]")]")
message = span_deadsay("[source][message]")
for(var/mob/M in GLOB.player_list)
var/datum/preferences/prefs
if(M.client && M.client.prefs)

View File

@@ -1,14 +1,14 @@
////////////////////////////////
/proc/message_admins(msg)
msg = span_admin("<span class=\"prefix\">ADMIN LOG:</span> <span class=\"message linkify\">[msg]</span>")
msg = span_admin("<span class=\"prefix\">ADMIN LOG:</span> <span class=\"message\">[msg]</span>")
to_chat(GLOB.admins,
type = MESSAGE_TYPE_ADMINLOG,
html = msg,
confidential = TRUE)
/proc/relay_msg_admins(msg)
msg = span_admin("<span class=\"prefix\">RELAY:</span> <span class=\"message linkify\">[msg]</span>")
msg = span_admin("<span class=\"prefix\">RELAY:</span> <span class=\"message\">[msg]</span>")
to_chat(GLOB.admins,
type = MESSAGE_TYPE_ADMINLOG,
html = msg,

View File

@@ -40,7 +40,7 @@
prayer_type = "SPIRITUAL PRAYER"
var/msg_tmp = msg
msg = span_adminnotice("[icon2html(cross, GLOB.admins)]<b><font color=[font_color]>[prayer_type][deity ? " (to [deity])" : ""]: </font>[ADMIN_FULLMONTY(src)] [ADMIN_SC(src)]:</b> [span_linkify("[msg]")]")
msg = span_adminnotice("[icon2html(cross, GLOB.admins)]<b><font color=[font_color]>[prayer_type][deity ? " (to [deity])" : ""]: </font>[ADMIN_FULLMONTY(src)] [ADMIN_SC(src)]:</b> [msg]")
for(var/client/C in GLOB.admins)
if(C.prefs.chat_toggles & CHAT_PRAYER)

View File

@@ -69,7 +69,6 @@ GLOBAL_VAR_INIT(mentor_ooc_colour, YOGS_MENTOR_OOC_COLOUR) // yogs - mentor ooc
if(prefs.unlock_content)
if(prefs.toggles & MEMBER_PUBLIC)
keyname = "<font color='[prefs.ooccolor ? prefs.ooccolor : GLOB.normal_ooc_colour]'>[icon2html('icons/member_content.dmi', world, "blag")][keyname]</font>"
//The linkify span classes and linkify=TRUE below make ooc text get clickable chat href links if you pass in something resembling a url
//YOG START - Yog OOC
//PINGS
@@ -106,12 +105,12 @@ GLOBAL_VAR_INIT(mentor_ooc_colour, YOGS_MENTOR_OOC_COLOUR) // yogs - mentor ooc
//Check yogstation\code\module\client\verbs\ooc for the find_admin_rank definition.
if(holder.fakekey) // If they're stealhminning
oocmsg_toadmins = oocmsg + "OOC:</span> <EM>[keyname]/([holder.fakekey]):</EM> <span class='message linkify'>[msg]</span></span></font>"
oocmsg_toadmins = oocmsg + "OOC:</span> <EM>[keyname]/([holder.fakekey]):</EM> <span class='message'>[msg]</span></span></font>"
// ^ Message sent to people who should know when someone's stealthminning
oocmsg = span_ooc("<font color='[bussedcolor]'>[span_prefix("OOC:")] <EM>[holder.fakekey]:</EM> <span class='message linkify'>[msg]</span></font>")
oocmsg = span_ooc("<font color='[bussedcolor]'>[span_prefix("OOC:")] <EM>[holder.fakekey]:</EM> <span class='message'>[msg]</span></font>")
// ^ Message sent to normal people
else
oocmsg += "OOC:</span> <EM>[keyname]:</EM> <span class='message linkify'>[msg]</span></span></font>" // Footer for an admin or AO's OOC.
oocmsg += "OOC:</span> <EM>[keyname]:</EM> <span class='message'>[msg]</span></span></font>" // Footer for an admin or AO's OOC.
oocmsg_toadmins = oocmsg
else
if(is_mentor()) // If the speaker is a mentor
@@ -123,7 +122,7 @@ GLOBAL_VAR_INIT(mentor_ooc_colour, YOGS_MENTOR_OOC_COLOUR) // yogs - mentor ooc
else
oocmsg = "<span class='ooc'>[(is_donator(src) && !CONFIG_GET(flag/everyone_is_donator)) ? "(Donator)" : ""]"
oocmsg += "<font color='[bussedcolor]'>"
oocmsg += "[span_prefix("OOC:")] <EM>[keyname]:</EM> <span class='message linkify'>[msg]</span></font></span>"
oocmsg += "[span_prefix("OOC:")] <EM>[keyname]:</EM> <span class='message'>[msg]</span></font></span>"
oocmsg_toadmins = oocmsg
//SENDING THE MESSAGES OUT

View File

@@ -167,7 +167,7 @@ GLOBAL_LIST_EMPTY(adminfaxes)
/obj/machinery/photocopier/faxmachine/proc/send_adminmessage(var/mob/sender, var/faxname, var/obj/item/sent, var/reply_type, font_colour="#006100")
var/msg = "<b><font color='[font_colour]'>[faxname]: </font>[key_name(sender, 1)] (<A HREF='?_src_=holder;[HrefToken(TRUE)];adminplayeropts=\ref[sender]'>PP</A>) (<A HREF='?_src_=vars;[HrefToken(TRUE)];Vars=\ref[sender]'>VV</A>) (<A HREF='?_src_=holder;[HrefToken(TRUE)];subtlemessage=\ref[sender]'>SM</A>) (<A HREF='?_src_=holder;[HrefToken(TRUE)];adminplayerobservefollow=\ref[sender]'>JMP</A>) (<a href='?_src_=holder;[HrefToken(TRUE)];[reply_type]=\ref[sender];originfax=\ref[src]'>REPLY</a>)</b>: Receiving '[sent.name]' via secure connection ... <a href='?_src_=holder;[HrefToken(TRUE)];AdminFaxView=\ref[sent]'>view message</a>"
msg = span_admin("<span class=\"message linkify\">[msg]</span>")
msg = span_admin("<span class=\"message\">[msg]</span>")
to_chat(GLOB.admins,
type = MESSAGE_TYPE_ADMINLOG,
html = msg,

View File

@@ -313,7 +313,10 @@ class ChatRenderer {
}
}
// Linkify text
linkifyNode(node);
const linkifyNodes = node.querySelectorAll('.linkify');
for (let i = 0; i < linkifyNodes.length; ++i) {
linkifyNode(linkifyNodes[i]);
}
// Assign an image error handler
if (now < message.createdAt + IMAGE_RETRY_MESSAGE_AGE) {
const imgNodes = node.querySelectorAll('img');