1 | XMXEDIT ;ISC-SF/GMB-Edit msg that user has sent to self ;05/19/2000 13:41
|
---|
2 | ;;8.0;MailMan;;Jun 28, 2002
|
---|
3 | ; All entry points covered by DBIA 2730.
|
---|
4 | ; These entry points edit a message. They do not perform any checks to
|
---|
5 | ; see whether it is appropriate to do so. That is the responsibility
|
---|
6 | ; of the calling routine.
|
---|
7 | ; For these entry points, it is expected that:
|
---|
8 | ; OPTMSG^XMXSEC2 has been called and has given its permission to
|
---|
9 | ; edit the message or to toggle information only.
|
---|
10 | ; OPTEDIT^XMXSEC2 has been called and has given its permission to
|
---|
11 | ; edit the particular thing we are editing here.
|
---|
12 | ; INMSG2^XMXUTIL2 has been called to set XMINSTR. These routines expect
|
---|
13 | ; that XMINSTR has been correctly set. They will change
|
---|
14 | ; XMINSTR according to the edit.
|
---|
15 | CLOSED(XMZ,XMINSTR,XMMSG) ; Toggle Closed msg
|
---|
16 | I $D(^TMP("XMY",$J,.6)) D ERRSET^XMXUTIL(37320.6) Q ; Messages addressed to SHARED,MAIL may not be closed
|
---|
17 | D FLAGTOGL(XMZ,1.95,.XMINSTR,"X",37319.9,37320.9,.XMMSG)
|
---|
18 | Q
|
---|
19 | CONFID(XMZ,XMINSTR,XMMSG) ; Toggle Confidential msg
|
---|
20 | I $D(^TMP("XMY",$J,.6)) D ERRSET^XMXUTIL(37301.6) Q ; Messages addressed to SHARED,MAIL may not be confidential
|
---|
21 | D FLAGTOGL(XMZ,1.96,.XMINSTR,"C",37301.9,37302.9,.XMMSG)
|
---|
22 | Q
|
---|
23 | CONFIRM(XMZ,XMINSTR,XMMSG) ; Toggle Confirm receipt of msg
|
---|
24 | D FLAGTOGL(XMZ,1.3,.XMINSTR,"R",37313.9,37314.9,.XMMSG)
|
---|
25 | Q
|
---|
26 | DELIVER(XMZ,XMDBSKT,XMINSTR,XMMSG) ; Delivery basket
|
---|
27 | I XMDBSKT="@" D Q
|
---|
28 | . K XMINSTR("RCPT BSKT")
|
---|
29 | . S XMFDA(3.9,XMZ_",",21)="@"
|
---|
30 | . D FILE^DIE("","XMFDA")
|
---|
31 | . S XMMSG=$$EZBLD^DIALOG(37304.9) ; Delivery basket removed
|
---|
32 | S XMINSTR("RCPT BSKT")=XMDBSKT
|
---|
33 | S XMFDA(3.9,XMZ_",",21)=XMINSTR("RCPT BSKT")
|
---|
34 | D FILE^DIE("","XMFDA")
|
---|
35 | S XMMSG=$$EZBLD^DIALOG(37303.9) ; Delivery basket set
|
---|
36 | Q
|
---|
37 | INFO(XMZ,XMINSTR,XMMSG) ; Toggle Information only msg
|
---|
38 | D FLAGTOGL(XMZ,1.97,.XMINSTR,"I",37307.9,37308.9,.XMMSG)
|
---|
39 | Q
|
---|
40 | NETSIG(XMDUZ,XMZ,XMINSTR,XMMSG) ; Add Network Signature
|
---|
41 | N I,XMNSIG
|
---|
42 | S XMNSIG(.1)=""
|
---|
43 | S XMNSIG(.2)=""
|
---|
44 | S XMNSIG(.3)=$$REPEAT^XLFSTR("-",79)
|
---|
45 | S XMNSIG=$G(^XMB(3.7,XMDUZ,"NS1"))
|
---|
46 | F I=1:1:3 S:$P(XMNSIG,U,I)'="" XMNSIG(I)=$P(XMNSIG,U,I)
|
---|
47 | N XMABORT
|
---|
48 | I $D(^XMB(3.9,XMZ,"K")) D Q:XMABORT
|
---|
49 | . ; If XMSECURE does not exist, then XMINSTR("SCR KEY") must hold the
|
---|
50 | . ; correct scramble key.
|
---|
51 | . I '$D(XMSECURE) N XMSECURE
|
---|
52 | . I '$D(XMSECURE),'$$GOODKEY^XMJMCODE(XMZ,XMINSTR("SCR KEY")) D Q
|
---|
53 | . . D ERRSET^XMXUTIL(34623) ; The key is not correct.
|
---|
54 | . . S XMABORT=1
|
---|
55 | . S XMABORT=0
|
---|
56 | . S I=0
|
---|
57 | . F S I=$O(XMNSIG(I)) Q:'I S XMNSIG(I)=$$ENCSTR^XMJMCODE(XMNSIG(I))
|
---|
58 | D MOVEBODY^XMXSEND(XMZ,"XMNSIG","A") ; Add the network signature
|
---|
59 | S XMMSG=$$EZBLD^DIALOG(37309.9) ; Network Signature added
|
---|
60 | Q
|
---|
61 | PRIORITY(XMZ,XMINSTR,XMMSG) ; Toggle Priority msg
|
---|
62 | D FLAGTOGL(XMZ,1.7,.XMINSTR,"P",37311.9,37312.9,.XMMSG)
|
---|
63 | Q
|
---|
64 | SCRAMBLE(XMZ,XMINSTR,XMMSG) ; Scramble or Unscramble the message text
|
---|
65 | N XMFDA,XMIENS
|
---|
66 | S XMIENS=XMZ_","
|
---|
67 | I $D(^XMB(3.9,XMZ,"K")) D Q
|
---|
68 | . ; Unscramble the text.
|
---|
69 | . ; If XMSECURE does not exist, then XMINSTR("SCR KEY") must hold the
|
---|
70 | . ; correct scramble key.
|
---|
71 | . I '$D(XMSECURE),'$$GOODKEY^XMJMCODE(XMZ,XMINSTR("SCR KEY")) D ERRSET^XMXUTIL(34623) Q ; The key is not correct.
|
---|
72 | . S XMFDA(3.9,XMIENS,1.8)="@"
|
---|
73 | . S XMFDA(3.9,XMIENS,1.85)="@"
|
---|
74 | . D FILE^DIE("","XMFDA")
|
---|
75 | . D DECMSG^XMJMCODE(XMZ)
|
---|
76 | . K XMSECURE,XMINSTR("SCR KEY"),XMINSTR("SCR HINT"),^XMB(3.9,XMZ,"K")
|
---|
77 | . S XMMSG=$$EZBLD^DIALOG(37316.9) ; Message text UnScrambled
|
---|
78 | ; Check the key and hint
|
---|
79 | D XMKEY^XMXPARM1($G(XMINSTR("SCR KEY")))
|
---|
80 | D:$G(XMINSTR("SCR HINT"))'="" XMHINT^XMXPARM1(XMINSTR("SCR HINT"))
|
---|
81 | Q:$D(XMERR)
|
---|
82 | ; Scramble the text.
|
---|
83 | N XMKEY
|
---|
84 | K XMSECURE
|
---|
85 | S XMFDA(3.9,XMIENS,1.8)=$S($G(XMINSTR("SCR HINT"))="":" ",1:XMINSTR("SCR HINT"))
|
---|
86 | D LOADCODE^XMJMCODE ; XMSECURE is created here
|
---|
87 | S XMKEY=XMINSTR("SCR KEY")
|
---|
88 | D ADJUST^XMJMCODE(.XMKEY) ; XMSECURE is adjusted here
|
---|
89 | S XMFDA(3.9,XMIENS,1.85)="1"_$$ENCSTR^XMJMCODE(XMKEY)
|
---|
90 | D ENCMSG^XMJMCODE(XMZ)
|
---|
91 | D FILE^DIE("","XMFDA")
|
---|
92 | S XMMSG=$$EZBLD^DIALOG(37315.9) ; Message text Scrambled
|
---|
93 | Q
|
---|
94 | SUBJ(XMZ,XMSUBJ,XMIM) ; Replace Subject
|
---|
95 | S XMSUBJ=$$XMSUBJ^XMXPARM("XMSUBJ",$G(XMSUBJ)) Q:$D(XMERR)
|
---|
96 | S (XMIM("SUBJ"),XMFDA(3.9,XMZ_",",.01))=$$ENCODEUP^XMXUTIL1(XMSUBJ)
|
---|
97 | D FILE^DIE("","XMFDA")
|
---|
98 | Q
|
---|
99 | TEXT(XMZ,XMBODY) ; Replace Text
|
---|
100 | D WP^DIE(3.9,XMZ_",",3,"",XMBODY)
|
---|
101 | Q
|
---|
102 | VAPOR(XMZ,XMVAPOR,XMINSTR,XMMSG) ; Vaporize date
|
---|
103 | I XMVAPOR="@" D Q
|
---|
104 | . K XMINSTR("VAPOR")
|
---|
105 | . S XMFDA(3.9,XMZ_",",1.6)="@"
|
---|
106 | . D FILE^DIE("","XMFDA")
|
---|
107 | . S XMMSG=$$EZBLD^DIALOG(37318.9) ; Vaporize Date removed
|
---|
108 | S XMINSTR("VAPOR")=XMVAPOR
|
---|
109 | S XMFDA(3.9,XMZ_",",1.6)=XMINSTR("VAPOR")
|
---|
110 | D FILE^DIE("","XMFDA")
|
---|
111 | S XMMSG=$$EZBLD^DIALOG(37317.9) ; Vaporize Date set
|
---|
112 | Q
|
---|
113 | FLAGTOGL(XMZ,XMFIELD,XMINSTR,XMFLAG,XMSET,XMREMOVE,XMMSG) ; Flag Toggle (For internal MM use only!)
|
---|
114 | N XMFDA
|
---|
115 | I $G(XMINSTR("FLAGS"))[XMFLAG D
|
---|
116 | . S XMINSTR("FLAGS")=$TR(XMINSTR("FLAGS"),XMFLAG)
|
---|
117 | . S XMMSG=$$EZBLD^DIALOG(XMREMOVE)
|
---|
118 | . I XMFLAG="P" D
|
---|
119 | . . S XMFDA(3.9,XMZ_",",XMFIELD)=$S($G(XMINSTR("TYPE"))="":"@",1:XMINSTR("TYPE"))
|
---|
120 | . E S XMFDA(3.9,XMZ_",",XMFIELD)="@"
|
---|
121 | E D
|
---|
122 | . S XMINSTR("FLAGS")=$G(XMINSTR("FLAGS"))_XMFLAG
|
---|
123 | . S XMMSG=$$EZBLD^DIALOG(XMSET)
|
---|
124 | . I XMFLAG="P" S XMFDA(3.9,XMZ_",",XMFIELD)=$G(XMINSTR("TYPE"))_"P"
|
---|
125 | . E S XMFDA(3.9,XMZ_",",XMFIELD)="y"
|
---|
126 | D FILE^DIE("","XMFDA")
|
---|
127 | Q
|
---|