[613] | 1 | XMXANSER ;ISC-SF/GMB-Answer a msg ;04/24/2002 10:08
|
---|
| 2 | ;;8.0;MailMan;;Jun 28, 2002
|
---|
| 3 | ; Replaces ^XMA11A (ISC-WASH/CAP/THM)
|
---|
| 4 | ; XMDUZ DUZ of who the msg is from
|
---|
| 5 | ; XMSUBJ Subject of the msg (defaults to 'Re:' original subject)
|
---|
| 6 | ; XMBODY Closed root of Body of the msg
|
---|
| 7 | ; Must be closed root, passed by value. See WP_ROOT
|
---|
| 8 | ; definition for WP^DIE(), FM word processing filer.
|
---|
| 9 | ; XMTO Additional addressees, besides msg originator
|
---|
| 10 | ; XMINSTR("FROM") String saying from whom (default is user)
|
---|
| 11 | ; XMINSTR("SELF BSKT") Basket to deliver to if sender is recipient
|
---|
| 12 | ; XMINSTR("SHARE BSKT") Basket to deliver to if recipient is "SHARED,MAIL"
|
---|
| 13 | ; XMINSTR("SHARE DATE") Delete date if recipient is "SHARED,MAIL"
|
---|
| 14 | ; XMINSTR("RCPT BSKT") Basket name (only) to deliver to for other recipients
|
---|
| 15 | ; XMINSTR("VAPOR") Date on which to vaporize (delete) this message
|
---|
| 16 | ; from recipient baskets
|
---|
| 17 | ; XMINSTR("LATER") Date on which to send this msg, if not now
|
---|
| 18 | ; XMINSTR("FLAGS") Any or all of the following:
|
---|
| 19 | ; P Priority
|
---|
| 20 | ; I Information only (may not be replied to)
|
---|
| 21 | ; X Closed msg (may not be forwarded)
|
---|
| 22 | ; C Confidential (surrogates may not read)
|
---|
| 23 | ; S Send to sender (make sender a recipient)
|
---|
| 24 | ; R Confirm receipt
|
---|
| 25 | ; XMINSTR("SCR KEY") Scramble key (implies that msg should be scrambled)
|
---|
| 26 | ; XMINSTR("SCR HINT") Hint (to guess the scramble key)
|
---|
| 27 | ; XMINSTR("KEYS") List of keys needed by recipient to read msg (NOT IMPLEMENTED)
|
---|
| 28 | ; XMINSTR("TYPE") Msg type is one of the following:
|
---|
| 29 | ; D Document
|
---|
| 30 | ; S Spooled Document
|
---|
| 31 | ; X DIFROM
|
---|
| 32 | ; O ODIF
|
---|
| 33 | ; B BLOB
|
---|
| 34 | ; K KIDS
|
---|
| 35 | ;
|
---|
| 36 | ; Output:
|
---|
| 37 | ; XMZR The number of the message containing the answer.
|
---|
| 38 | ANSRMSG(XMDUZ,XMK,XMKZ,XMSUBJ,XMBODY,XMTO,XMINSTR,XMZR) ;
|
---|
| 39 | N XMZ,XMZREC,XMZSENDR
|
---|
| 40 | K XMERR,^TMP("XMERR",$J)
|
---|
| 41 | D CHKMSG^XMXSEC1(XMDUZ,.XMK,.XMKZ,.XMZ,.XMZREC) Q:$D(XMERR)
|
---|
| 42 | Q:'$$ANSWER^XMXSEC(XMDUZ,XMZ,XMZREC)
|
---|
| 43 | S:$G(XMSUBJ)="" XMSUBJ=$E($$EZBLD^DIALOG(37006)_$P(XMZREC,U,1),1,65) ; Re:
|
---|
| 44 | D CRE8XMZ^XMXSEND(XMSUBJ,.XMZR) Q:$D(XMERR)
|
---|
| 45 | S XMZSENDR=$P(XMZREC,U,2)
|
---|
| 46 | S:XMZSENDR["@" XMZSENDR=$$REPLYTO1^XMXREPLY(XMZ)
|
---|
| 47 | D COMPOSE(XMDUZ,XMZ,$P(XMZREC,U,1),XMZSENDR,$P(XMZREC,U,3),XMZR,XMBODY)
|
---|
| 48 | S XMTO(XMZSENDR)=""
|
---|
| 49 | S XMINSTR("EXACT")=1 ; Match on exact domain name
|
---|
| 50 | D ADDRNSND^XMXSEND(XMDUZ,XMZR,.XMTO,.XMINSTR)
|
---|
| 51 | K XMINSTR("EXACT")
|
---|
| 52 | Q
|
---|
| 53 | COMPOSE(XMDUZ,XMZ,XMZSUBJ,XMZSENDR,XMZDATE,XMZR,XMBODY) ;
|
---|
| 54 | D COPY(XMZ,XMZSUBJ,XMZSENDR,XMZDATE,XMZR)
|
---|
| 55 | ; File XMBODY, with the "append" option
|
---|
| 56 | D MOVEBODY^XMXSEND(XMZR,XMBODY,"A") ; Put the msg body in place
|
---|
| 57 | D NETSIG^XMXEDIT(XMDUZ,XMZR)
|
---|
| 58 | Q
|
---|
| 59 | COPY(XMZO,XMZOSUBJ,XMZOFROM,XMZODATE,XMZ) ; Copy the original msg, putting ">" in front of each line.
|
---|
| 60 | N I,J
|
---|
| 61 | D COPYHEAD^XMJMC(XMZO,XMZOSUBJ,XMZOFROM,XMZODATE,XMZ,"A",.J)
|
---|
| 62 | S J=J+1,^XMB(3.9,XMZ,2,J,0)=">"
|
---|
| 63 | S I=.999999
|
---|
| 64 | F S I=$O(^XMB(3.9,XMZO,2,I)) Q:I="" S J=J+1,^XMB(3.9,XMZ,2,J,0)=$E(">"_^(I,0),1,254)
|
---|
| 65 | S J=J+1,^XMB(3.9,XMZ,2,J,0)=""
|
---|
| 66 | S J=J+1,^XMB(3.9,XMZ,2,J,0)=""
|
---|
| 67 | S ^XMB(3.9,XMZ,2,0)="^3.92A^"_J_U_J_U_DT
|
---|
| 68 | Q
|
---|