diff --git a/exec/showmsghdr.js b/exec/showmsghdr.js index cfe2642852a93380d5572d4d900d4571f32bd414..182bf9f9c70e6429ddcb51e249c619beea421b12 100644 --- a/exec/showmsghdr.js +++ b/exec/showmsghdr.js @@ -1,5 +1,8 @@ // $Id$ + // This can be loaded from text/menu/msghdr.asc via @EXEC:SHOWMSGHDR@ +// Don't forget to include or exclude the blank line after if do +// (or don't) want a blank line separating message headers and body text load("smbdefs.js"); load("text.js"); @@ -10,7 +13,6 @@ function show_msgattr(msg_attr, msg_auxattr) { var attr = msg_attr; var poll = attr&MSG_POLL_VOTE_MASK; - var auxattr = msg_auxattr; var nulstr = ""; printf(bbs.text(MsgAttr) @@ -27,7 +29,7 @@ function show_msgattr(msg_attr, msg_auxattr) ,attr&MSG_REPLIED ? "Replied " :nulstr ,attr&MSG_NOREPLY ? "NoReply " :nulstr ,poll == MSG_POLL ? "Poll " :nulstr - ,poll == MSG_POLL && auxattr&POLL_CLOSED ? "(Closed) " :nulstr + ,poll == MSG_POLL && msg_auxattr&POLL_CLOSED ? "(Closed) " :nulstr ,nulstr ,nulstr ,nulstr @@ -39,7 +41,7 @@ function show_msghdr() { printf(bbs.text(MsgSubj), bbs.msg_subject); if(bbs.msg_attr) - show_msgattr(bbs.msg_attr /* ??? */); + show_msgattr(bbs.msg_attr, bbs.msg_auxattr); if(bbs.msg_to && bbs.msg_to.length) { printf(bbs.text(MsgTo), bbs.msg_to); if(bbs.msg_to_net) @@ -54,11 +56,13 @@ function show_msghdr() if(bbs.msg_from_net) printf(bbs.text(MsgFromNet), bbs.msg_from_net); } - // the bbs.msg_up/downvotes properties don't actually exist (yet) - if(!(bbs.msg_attr&MSG_POLL) && (bbs.atcode("MSG_UPVOTES")!='0' || bbs.atcode("MSG_DOWNVOTES")!='0')) + // the bbs.msg_up/down-votes properties don't actually exist (yet), so get their values via @-codes + var msg_upvotes = parseInt(bbs.atcode("MSG_UPVOTES")); + var msg_downvotes = parseInt(bbs.atcode("MSG_DOWNVOTES")); + if(!(bbs.msg_attr&MSG_POLL) && (msg_upvotes || msg_downvotes)) printf(bbs.text(MsgVotes) - ,bbs.atcode("MSG_UPVOTES"), bbs.atcode("MSG_UPVOTED") - ,bbs.atcode("MSG_DOWNVOTES"), bbs.atcode("MSG_DOWNVOTED") + ,msg_upvotes, bbs.atcode("MSG_UPVOTED") + ,msg_downvotes, bbs.atcode("MSG_DOWNVOTED") ,bbs.atcode("MSG_SCORE")); printf(bbs.text(MsgDate), system.timestr(bbs.msg_date), system.zonestr(bbs.msg_timezone), bbs.atcode("MSG_AGE")); @@ -71,5 +75,4 @@ show_msghdr(); if(!(bbs.msg_attr&MSG_ANONYMOUS) && console.term_supports(USER_ANSI)) { var Avatar = load({}, 'avatar_lib.js'); Avatar.draw(bbs.msg_from_ext, bbs.msg_from, bbs.msg_from_net, /* above: */true, /* right-justified: */true); -// console.attributes = -1; // Can't trust the saved 'current attribute' value } \ No newline at end of file