Switch to edit mode.
Name(s): www_read1: "Return a nice HTML rendering of the requested message." 2: "Bits of this verb are similar to $mail_agent:to_text" 3: set_task_perms(caller_perms()) 4: {ng, msgnum} = args 5: try 6: "call_verb is used here to drop $mail_agent's super perm bypassing abilities by making $mail_agent not the caller of get_message." 7: message = $call_verb(ng, "get_message", msgnum) 8: except error (ANY) 9: "Oops - no such message?" 10: return 0 11: endtry 12: if (typeof(message) == $ERR) 13: return message 14: endif 15: date = message[1] 16: "Find out who sent the message (for their signature)" 17: try 18: delim = match(message[2], "(%(#[0-9]*%))")[$][3][2..$ - 1] 19: except (E_RANGE) 20: delim = {1, length(message[2])} 21: endtry 22: sender = toobj(delim) 23: from = message[2] 24: from = $newsgroup:parse_address4web(from) 25: to = message[3] 26: to = $newsgroup:parse_address4web(to) 27: subj = message[4] 28: ret = "<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>" 29: ret = tostr(ret, "<TR><TD VALIGN='top'><B>Subject: </B></TD><TD> <B>", subj, "</B></TD></TR>") 30: ret = tostr(ret, "<TR><TD VALIGN='top'><B>From: </B></TD><TD> ", from, "</TD></TR>") 31: ret = tostr(ret, "<TR><TD VALIGN='top'><B>Date: </B></TD><TD> ", player.user:ctime(date), "</TD></TR>") 32: ret = tostr(ret, "<TR><TD VALIGN='top'><B>To: </B></TD><TD> ", to, "</TD></TR>") 33: ret = {ret + "</TABLE><BR>", "<TT>"} 34: for x in (message[6..$]) 35: ret = {@ret, tostr($html_utils:munge_by_autohyperlink($html_utils:structured_phrase_recognition(x)), "<br>")} 36: endfor 37: ret = {@ret, "</TT>"} 38: sig = "" 39: if (player.user:mail_option("sigs") && $mail_agent:is_recipient(sender)) 40: try 41: sig = $code_utils:verb_or_property(sender, "sig", message[3], message[1], message[4]) 42: except v (ANY) 43: sig = tostr("Signature error: ", v[1]) 44: endtry 45: if (typeof(sig) == $LIST) 46: sig = $su:uncrunch(sig) 47: sig = $su:from_list(sig, "<BR>") 48: endif 49: if (sig) 50: sig = strsub(sig, " ", " ") 51: sig = strsub(sig, "<BR> ", "<BR> ") 52: sig = "<br><table CELLPADDING=0 CELLSPACING=0 border=1 width='100%'><tr><td><TT>" + sig + "</TT></td></tr></table>" 53: endif 54: else 55: sig = {} 56: endif 57: ret = {@ret, @sig} 58: id = ng:get_message_id(toint(msgnum)) 59: if (player.user != $no_one) 60: $mail_db:set_message_read(id, player.user, ng) 61: endif 62: return ret 63: "Last modified by whiz (#3135) on Tue Mar 25 12:42:24 2008 EDT."