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
|
---|