| 1 | XMJMR1 ;ISC-SF/GMB-Interactive Reply (cont.) ;08/24/2001 08:29
|
---|
| 2 | ;;8.0;MailMan;;Jun 28, 2002
|
---|
| 3 | INIT(XMDUZ,XMK,XMKN,XMZO,XMZOSUBJ,XMZOFROM,XMINSTR,XMINCL,XMZI,XMWHICH,XMABORT) ;
|
---|
| 4 | N DIR,Y,DIRUT,XMRESPS
|
---|
| 5 | I XMDUZ=.6,DUZ=.6 D Q
|
---|
| 6 | . ; This is already handled in OPTMSG^XMXSEC2, but, just in case...
|
---|
| 7 | . S XMABORT=1
|
---|
| 8 | . W !,$$EZBLD^DIALOG(37422.6) ; SHARED,MAIL may not Reply to a message.
|
---|
| 9 | . G H^XUS
|
---|
| 10 | D CHKLOCK^XMJMS(XMDUZ,.XMABORT) Q:XMABORT
|
---|
| 11 | I XMINSTR("FLAGS")["P" D Q:XMABORT
|
---|
| 12 | . N XMTEXT
|
---|
| 13 | . W !,$C(7)
|
---|
| 14 | . D BLD^DIALOG(34200,"","","XMTEXT","F") ; Responses to priority messages are not ... (need priority? send a new msg)
|
---|
| 15 | . D MSG^DIALOG("WH","","","","XMTEXT")
|
---|
| 16 | . W !
|
---|
| 17 | . D PAGE^XMXUTIL(.XMABORT)
|
---|
| 18 | I XMZOFROM["POSTMASTER",XMZOFROM["@" D Q:XMABORT
|
---|
| 19 | . N XMTEXT
|
---|
| 20 | . W !,$C(7)
|
---|
| 21 | . D BLD^DIALOG(34201,"","","XMTEXT","F") ; Because this message is from a remote ... (reply stays local)
|
---|
| 22 | . D MSG^DIALOG("WH","","","","XMTEXT")
|
---|
| 23 | . W !
|
---|
| 24 | . D PAGE^XMXUTIL(.XMABORT)
|
---|
| 25 | D CHKBSKT^XMJMOI(XMDUZ,XMZO,.XMK,.XMKN)
|
---|
| 26 | I +XMK<1 D
|
---|
| 27 | . W !
|
---|
| 28 | . D SAVEMSG^XMJMOI(XMDUZ,.XMK,.XMKN,XMZO,XMZOSUBJ,XMZOFROM,$G(XMINSTR("RCPT BSKT")))
|
---|
| 29 | S XMRESPS=+$P($G(^XMB(3.9,XMZO,3,0)),U,4)
|
---|
| 30 | D WHICH(XMDUZ,XMZO,XMINCL,.XMZI,.XMWHICH,.XMABORT)
|
---|
| 31 | Q
|
---|
| 32 | WHICH(XMDUZ,XMZO,XMINCL,XMZI,XMWHICH,XMABORT) ;
|
---|
| 33 | ; XMINCL =0 Do not include previous responses. Just reply.
|
---|
| 34 | ; =1 Include previous response(s) from this message
|
---|
| 35 | ; or include response(s) from another message in reply.
|
---|
| 36 | ; =2 Include response(s) from another message in a new message.
|
---|
| 37 | Q:XMINCL=0
|
---|
| 38 | D WHICHMSG(XMDUZ,XMZO,XMINCL,.XMZI,.XMABORT) Q:XMABORT
|
---|
| 39 | D WHICH^XMJMC(XMZI,$$EZBLD^DIALOG(34209),.XMWHICH,.XMABORT) ; include
|
---|
| 40 | Q
|
---|
| 41 | WHICHMSG(XMDUZ,XMZO,XMINCL,XMZI,XMABORT) ; Include responses from which (different) message
|
---|
| 42 | N DIR,X,Y,XMIN,XMAX,XMPARM
|
---|
| 43 | S (XMPARM(1),XMIN)=$O(^XMB(3.9,0)),(XMPARM(2),XMAX)=$O(^XMB(3.9,":"),-1)
|
---|
| 44 | W !
|
---|
| 45 | S DIR("A")=$$EZBLD^DIALOG(34270) ; Include responses from which message
|
---|
| 46 | I XMINCL=1 D
|
---|
| 47 | . S DIR("B")=$$EZBLD^DIALOG(34271) ; This message
|
---|
| 48 | . S DIR(0)="FO^"_$$MIN^XLFMTH($L(XMIN),$L(DIR("B")))_":"_$$MAX^XLFMTH($L(XMAX),$L(DIR("B")))_"^D CHKMSG^XMJMR1(.Y)"
|
---|
| 49 | . D BLD^DIALOG(34272,.XMPARM,"","DIR(""?"")")
|
---|
| 50 | . ;Press Enter to include previous responses from this message
|
---|
| 51 | . ;or enter the internal entry number of a different message
|
---|
| 52 | . ;(_XMIN_-_XMAX_) to include any of its responses.
|
---|
| 53 | E D
|
---|
| 54 | . S DIR(0)="NO^"_XMIN_":"_XMAX_":0^D CHKMSG^XMJMR1(.Y)"
|
---|
| 55 | . D BLD^DIALOG(34273,.XMPARM,"","DIR(""?"")")
|
---|
| 56 | . ;Enter the internal entry number of a different message
|
---|
| 57 | . ;(_XMIN_-_XMAX_) to include any of its responses.
|
---|
| 58 | D ^DIR
|
---|
| 59 | I 'Y S XMABORT=1 Q
|
---|
| 60 | S XMZI=+Y
|
---|
| 61 | Q:XMINCL=1
|
---|
| 62 | ; Do you want to review this message first?
|
---|
| 63 | Q
|
---|
| 64 | CHKMSG(XMZI) ;
|
---|
| 65 | I XMINCL=1,XMZI=DIR("B") S XMZI=XMZO Q ; Include previous responses from this message.
|
---|
| 66 | I XMINCL=1,$S(XMZI'?.N:1,XMZI<XMIN:1,XMZI>XMAX:1,1:0) K X W $C(7)," ?" Q
|
---|
| 67 | I XMINCL=2,XMZI=XMZO D Q
|
---|
| 68 | . K X
|
---|
| 69 | . W !,$$EZBLD^DIALOG(34274) ; You can't include the message you're editing.
|
---|
| 70 | N XMZIREC ; Include responses from another message.
|
---|
| 71 | S XMZIREC=$G(^XMB(3.9,XMZI,0))
|
---|
| 72 | I XMZIREC="" K X Q
|
---|
| 73 | I '$$INCLUDE^XMXSEC(XMDUZ,XMZI) D Q
|
---|
| 74 | . K X
|
---|
| 75 | . D SHOW^XMJERR
|
---|
| 76 | W " ",$P(XMZIREC,U,1)
|
---|
| 77 | Q
|
---|
| 78 | COPYTEXT(XMZI,XMZ,XMWHICH,XMHDR) ;
|
---|
| 79 | N I,XMRESP,XMRANGE,XMC
|
---|
| 80 | I $G(XMHDR) S XMHDR("XMZ")=XMZI,XMHDR("REC")=^XMB(3.9,XMZI,0)
|
---|
| 81 | W !,$$EZBLD^DIALOG(34202) ; Copying...
|
---|
| 82 | S XMC=+$O(^XMB(3.9,XMZ,2,""),-1)
|
---|
| 83 | F I=1:1:$L(XMWHICH,",") D
|
---|
| 84 | . S XMRANGE=$P(XMWHICH,",",I)
|
---|
| 85 | . Q:XMRANGE="" ; (XMWHICH can end with a ",", giving us a null piece.)
|
---|
| 86 | . F XMRESP=$P(XMRANGE,"-",1):1:$S(XMRANGE["-":$P(XMRANGE,"-",2),1:XMRANGE) D
|
---|
| 87 | . . I XMRESP=0 D COPYRESP(XMRESP,XMZI,XMZ,.XMC,.XMHDR) Q
|
---|
| 88 | . . D COPYRESP(XMRESP,+$G(^XMB(3.9,XMZI,3,XMRESP,0)),XMZ,.XMC,.XMHDR)
|
---|
| 89 | S ^XMB(3.9,XMZ,2,0)="^3.92A^"_XMC_U_XMC_U_DT
|
---|
| 90 | Q
|
---|
| 91 | COPYRESP(XMRESP,XMZI,XMZ,XMC,XMHDR) ;
|
---|
| 92 | N XMF,XMFROM,XMDT,XMZREC,XMPARM
|
---|
| 93 | S XMC=XMC+1
|
---|
| 94 | S ^XMB(3.9,XMZ,2,XMC,0)=""
|
---|
| 95 | S XMZREC=$G(^XMB(3.9,XMZI,0))
|
---|
| 96 | S XMFROM=$$NAME^XMXUTIL($P(XMZREC,U,2))
|
---|
| 97 | S XMDT=$P(XMZREC,U,3)
|
---|
| 98 | I $G(XMHDR) D
|
---|
| 99 | . S XMC=XMC+1
|
---|
| 100 | . S ^XMB(3.9,XMZ,2,XMC,0)="In the message:"
|
---|
| 101 | . S XMC=XMC+1
|
---|
| 102 | . S ^XMB(3.9,XMZ,2,XMC,0)=">"_$$EZBLD^DIALOG(34536,$$SUBJ^XMXUTIL2(XMHDR("REC")))_" "_$$EZBLD^DIALOG(34537,XMHDR("XMZ")) ; Subj: / [#]
|
---|
| 103 | . S XMC=XMC+1
|
---|
| 104 | . S ^XMB(3.9,XMZ,2,XMC,0)=">"_$$EZBLD^DIALOG(34538,$$FROM^XMXUTIL2(XMHDR("REC")))_$S($P(XMHDR("REC"),U,4)="":"",1:" "_$$EZBLD^DIALOG(34533,$$NAME^XMXUTIL($P(XMHDR("REC"),U,4)))) ; From: |1| (Sender: |1|)
|
---|
| 105 | . S XMC=XMC+1
|
---|
| 106 | . S ^XMB(3.9,XMZ,2,XMC,0)=">"_$$EZBLD^DIALOG(34585,$$MMDT^XMXUTIL1($P(XMHDR("REC"),U,3))) ; Sent: |1|
|
---|
| 107 | S XMC=XMC+1
|
---|
| 108 | S XMPARM(1)=$$MMDT^XMXUTIL1(XMDT)
|
---|
| 109 | S XMPARM(2)=$S(XMRESP:$$EZBLD^DIALOG(34204,XMRESP),1:$$EZBLD^DIALOG(34205)) ; Response #|1| / Original message
|
---|
| 110 | S XMPARM(3)=XMFROM
|
---|
| 111 | S ^XMB(3.9,XMZ,2,XMC,0)=$$EZBLD^DIALOG(34203,.XMPARM) ; On |1| (|2|) |3| wrote:
|
---|
| 112 | S XMF=.999999
|
---|
| 113 | F S XMF=$O(^XMB(3.9,XMZI,2,XMF)) Q:XMF="" D
|
---|
| 114 | . S XMC=XMC+1
|
---|
| 115 | . W:XMC#50=0 "."
|
---|
| 116 | . S ^XMB(3.9,XMZ,2,XMC,0)=$E(">"_^XMB(3.9,XMZI,2,XMF,0),1,254)
|
---|
| 117 | Q
|
---|