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