[613] | 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
|
---|