| 1 | XMJMSO ;ISC-SF/GMB-Options at 'send' transmit prompt ;07/17/2003  14:06 | 
|---|
| 2 | ;;8.0;MailMan;**20**;Jun 28, 2002 | 
|---|
| 3 | ; Replaces ^XMA22 (ISC-WASH/CAP/THM) | 
|---|
| 4 | SENDMSG(XMDUZ,XMZ,XMSUBJ,XMINSTR,XMRESTR,XMABORT) ; | 
|---|
| 5 | N XMFINISH,XMDIR,XMY,XMOPT,XMOX | 
|---|
| 6 | I $$BCAST,'$D(XMINSTR("VAPOR")),$$QVAPOR D V | 
|---|
| 7 | S XMFINISH=0 | 
|---|
| 8 | F  D  Q:XMFINISH!XMABORT | 
|---|
| 9 | . D SENDSET(.XMINSTR,.XMOPT,.XMOX,.XMDIR) | 
|---|
| 10 | . D XMDIR^XMJDIR(.XMDIR,.XMOPT,.XMOX,.XMY,.XMABORT) Q:XMABORT | 
|---|
| 11 | . K XMDIR,XMOPT,XMOX | 
|---|
| 12 | . D @XMY | 
|---|
| 13 | Q | 
|---|
| 14 | SENDSET(XMINSTR,XMOPT,XMOX,XMDIR) ; | 
|---|
| 15 | D OPTEDIT^XMXSEC2(.XMINSTR,.XMOPT,.XMOX,1) | 
|---|
| 16 | D SET^XMXSEC2("B",37331,.XMOPT,.XMOX) ; Backup to review message | 
|---|
| 17 | D SET^XMXSEC2("ER",37332,.XMOPT,.XMOX) ; Edit Recipients | 
|---|
| 18 | D SET^XMXSEC2("L",37333,.XMOPT,.XMOX) ; Transmit later | 
|---|
| 19 | D SET^XMXSEC2("IM",37445,.XMOPT,.XMOX) ; Include responses from another message | 
|---|
| 20 | D SET^XMXSEC2("T",37334,.XMOPT,.XMOX) ; Transmit now | 
|---|
| 21 | I $G(XMOPT("NS","?"))=37309.1 K XMOPT("NS","?") ; You have no Network Signature. | 
|---|
| 22 | S XMDIR("A")=$$EZBLD^DIALOG(34067) ; Select Message option: | 
|---|
| 23 | S XMDIR("B")=XMOX("O","T")_":"_XMOPT("T") ; Transmit now | 
|---|
| 24 | S XMDIR("??")="XM-U-MO-SEND" | 
|---|
| 25 | Q | 
|---|
| 26 | B ; Backup to review message | 
|---|
| 27 | D BACKUP^XMJMP(XMDUZ,0,"",XMZ) | 
|---|
| 28 | ; OR D PRINTIT^XMJMP1(....) | 
|---|
| 29 | Q | 
|---|
| 30 | FLAGTOGL(XMINSTR,XMFLAG,XMSET,XMREMOVE) ; Flag Toggle | 
|---|
| 31 | I $G(XMINSTR("FLAGS"))[XMFLAG D | 
|---|
| 32 | . S XMINSTR("FLAGS")=$TR(XMINSTR("FLAGS"),XMFLAG) | 
|---|
| 33 | . W !,$$EZBLD^DIALOG(XMREMOVE) | 
|---|
| 34 | E  D | 
|---|
| 35 | . S XMINSTR("FLAGS")=$G(XMINSTR("FLAGS"))_XMFLAG | 
|---|
| 36 | . W !,$$EZBLD^DIALOG(XMSET) | 
|---|
| 37 | Q | 
|---|
| 38 | C ; Confidential msg | 
|---|
| 39 | D FLAGTOGL(.XMINSTR,"C",37301.9,37302.9) | 
|---|
| 40 | Q | 
|---|
| 41 | D ; Deliver to recipient basket | 
|---|
| 42 | I $D(XMINSTR("RCPT BSKT")) D  Q | 
|---|
| 43 | . K XMINSTR("RCPT BSKT") | 
|---|
| 44 | . W !,$$EZBLD^DIALOG(37304.9) ; Delivery basket removed. | 
|---|
| 45 | N XMTEXT | 
|---|
| 46 | W ! | 
|---|
| 47 | D BLD^DIALOG(37303.1,"","","XMTEXT","F") | 
|---|
| 48 | D MSG^DIALOG("WM","",80,"","XMTEXT") | 
|---|
| 49 | W ! | 
|---|
| 50 | ;The delivery basket is the basket to which this message should be delivered | 
|---|
| 51 | ;for all recipients (even future ones, should the message be forwarded). | 
|---|
| 52 | ;Any message filters, which the recipient might have, are ignored." | 
|---|
| 53 | ;If the basket does not exist, it will be created." | 
|---|
| 54 | ;Note: The recipients must have chosen to allow delivery baskets by setting | 
|---|
| 55 | ;ACCEPT DELIVERY BASKET? under 'Personal Preferences|Delivery Basket Edit' | 
|---|
| 56 | ;to one of the following: | 
|---|
| 57 | ; YES    - If basket doesn't exist, create it, and deliver the message to it. | 
|---|
| 58 | ; EXIST  - If the basket already exists, then deliver the message to it. | 
|---|
| 59 | ;          Else, just deliver the message as usual. | 
|---|
| 60 | ; SELECT - If the basket already exists AND accepts such messages, | 
|---|
| 61 | ;          then deliver the message to it. | 
|---|
| 62 | ;          Else, just deliver the message as usual. | 
|---|
| 63 | ;If the recipient has not set this field or has set it to NO, then | 
|---|
| 64 | ;the message would be delivered as usual. | 
|---|
| 65 | N XMDIC,XMK,XMKN | 
|---|
| 66 | S XMDIC("B")="@" | 
|---|
| 67 | S XMDIC("S")="I Y>1" | 
|---|
| 68 | D SELBSKT^XMJBU(XMDUZ,$$EZBLD^DIALOG(37303.2),"L",.XMDIC,.XMK,.XMKN) ; Select delivery basket: | 
|---|
| 69 | Q:XMK=U | 
|---|
| 70 | S XMINSTR("RCPT BSKT")=XMKN | 
|---|
| 71 | Q | 
|---|
| 72 | ER ; Additional Recipients | 
|---|
| 73 | D TOWHOM^XMJMT(XMDUZ,$$EZBLD^DIALOG(34110),.XMINSTR,.XMRESTR,.XMABORT) ; Send | 
|---|
| 74 | Q | 
|---|
| 75 | ES ; Edit Subject | 
|---|
| 76 | N XMOLDSUB,XMABORT | 
|---|
| 77 | S XMOLDSUB=XMSUBJ,XMABORT=0 | 
|---|
| 78 | D SUBJ^XMJMS(.XMSUBJ,.XMABORT) Q:XMABORT | 
|---|
| 79 | Q:XMSUBJ=XMOLDSUB | 
|---|
| 80 | N XMFDA | 
|---|
| 81 | S XMFDA(3.9,XMZ_",",.01)=XMSUBJ | 
|---|
| 82 | D FILE^DIE("","XMFDA") | 
|---|
| 83 | Q | 
|---|
| 84 | ET ; Edit msg | 
|---|
| 85 | I $G(XMPAKMAN) Q:$$NOPAKEDT | 
|---|
| 86 | D BODY^XMJMS(XMDUZ,XMZ,XMSUBJ,.XMRESTR,.XMABORT) | 
|---|
| 87 | Q | 
|---|
| 88 | NOPAKEDT() ; Function returns 0 if OK to edit; 1, if not OK. | 
|---|
| 89 | I $D(XMSECURE) W !,$$EZBLD^DIALOG(37405.4) Q 1  ; You may not edit a secure KIDS or PackMan message. | 
|---|
| 90 | N DIR,X,Y,DIRUT | 
|---|
| 91 | W @IOF | 
|---|
| 92 | N XMTEXT | 
|---|
| 93 | D BLD^DIALOG(37306.1,"","","XMTEXT","F") | 
|---|
| 94 | D MSG^DIALOG("WM","",80,"","XMTEXT") | 
|---|
| 95 | ;                    W A R N I N G | 
|---|
| 96 | ;  You are about to edit what appears to be a PackMan message. | 
|---|
| 97 | ;  Please note the following: | 
|---|
| 98 | ;  1. If you edit this message you may compromise its integrity. | 
|---|
| 99 | ;  2. If you must edit it, | 
|---|
| 100 | ;     - Do not edit the code. | 
|---|
| 101 | ;     - Confine your editing to the text (the lines between $TXT and $ENDTXT). | 
|---|
| 102 | ;     - You may insert lines in the text. | 
|---|
| 103 | ;     - Do not begin any line with a '$' (dollar sign). | 
|---|
| 104 | ;     - Be careful! | 
|---|
| 105 | S DIR(0)="Y" | 
|---|
| 106 | S DIR("A")=$$EZBLD^DIALOG(37306.2) ; Are you sure you want to edit this message | 
|---|
| 107 | S DIR("B")=$$EZBLD^DIALOG(39053) ; NO | 
|---|
| 108 | D ^DIR | 
|---|
| 109 | Q 'Y | 
|---|
| 110 | I ; Information only msg | 
|---|
| 111 | D FLAGTOGL(.XMINSTR,"I",37307.9,37308.9) | 
|---|
| 112 | Q | 
|---|
| 113 | IM ; Include responses from another message | 
|---|
| 114 | I $G(XMPAKMAN) D  Q | 
|---|
| 115 | . W !,$$EZBLD^DIALOG(37445.4) ; You may not Include anything into a KIDS or PackMan message. | 
|---|
| 116 | D INCL^XMJMRO(XMDUZ,XMZ,XMZ,XMSUBJ,.XMRESTR,2,.XMABORT) | 
|---|
| 117 | Q | 
|---|
| 118 | L ; Transmit Later | 
|---|
| 119 | N DIR,X,Y,XMWHEN,ZTRTN,ZTDTH,ZTDESC,ZTIO,ZTSAVE,ZTSK,XMROOT,I,DIRUT | 
|---|
| 120 | I $E($O(^TMP("XMY0",$J,"G.")),1,2)="G." D | 
|---|
| 121 | . ;Note: When you send a message Later, it is sent to all members of | 
|---|
| 122 | . ;the groups to which you addressed it, even if you 'minus'ed anyone. | 
|---|
| 123 | . ;To have your 'minus'es honored, you must ^-out of this and Transmit | 
|---|
| 124 | . ;Now, not Later.  If you didn't 'minus' anyone from the groups, just | 
|---|
| 125 | . ;ignore this note, and continue ... | 
|---|
| 126 | . N XMTEXT | 
|---|
| 127 | . W ! | 
|---|
| 128 | . D BLD^DIALOG(37333.3,"","","XMTEXT","F") | 
|---|
| 129 | . D MSG^DIALOG("WM","",80,"","XMTEXT") | 
|---|
| 130 | . W ! | 
|---|
| 131 | S DIR(0)="D^NOW:"_$$SCH^XLFDT("12M",DT)_":ETX" | 
|---|
| 132 | S DIR("A")=$$EZBLD^DIALOG(37333.1) ; Enter Date@time at which to send this message | 
|---|
| 133 | D ^DIR Q:$D(DIRUT) | 
|---|
| 134 | S XMWHEN=Y | 
|---|
| 135 | W !,$$EZBLD^DIALOG(37333.2) ;  Latering ... | 
|---|
| 136 | S ZTIO="" | 
|---|
| 137 | S ZTRTN="LATER^XMXSEND" | 
|---|
| 138 | S ZTDTH=$$FMTH^XLFDT(XMWHEN) | 
|---|
| 139 | S ZTDESC=$$EZBLD^DIALOG(39310) ; MailMan: Send Message Later | 
|---|
| 140 | S XMROOT=$$GET1^DIQ(3.9,XMZ_",",3,"","^TMP(""XM"",$J,""BODY"")") | 
|---|
| 141 | F I="DUZ","XMDUZ","XMSUBJ","^TMP(""XMY0"",$J,","^TMP(""XM"",$J,""BODY"",","XMINSTR(" S ZTSAVE(I)="" | 
|---|
| 142 | D ^%ZTLOAD | 
|---|
| 143 | ;D HOME^%ZIS call this only if preceded by call to ^%ZIS | 
|---|
| 144 | I $D(ZTSK) D | 
|---|
| 145 | . S XMFINISH=1 | 
|---|
| 146 | . W $$EZBLD^DIALOG(37333.9,ZTSK) ;  Latered (Task #_ZTSK_) | 
|---|
| 147 | . D KILLMSG^XMXUTIL(XMZ) | 
|---|
| 148 | . D CLEANUP^XMXADDR | 
|---|
| 149 | E  D | 
|---|
| 150 | . W !,$C(7),$$EZBLD^DIALOG(37333.8) ; Latering was not successful.  Try again or transmit now. | 
|---|
| 151 | K ^TMP("XM",$J,"BODY") | 
|---|
| 152 | Q | 
|---|
| 153 | NS ; Add Network Signature | 
|---|
| 154 | I '$$GOTNS^XMVVITA(XMDUZ) D  Q:'$$GOTNS^XMVVITA(XMDUZ) | 
|---|
| 155 | . W !!,$$EZBLD^DIALOG(37309.1) ; You have no Network Signature. | 
|---|
| 156 | . D CRE8NS^XMVVITA | 
|---|
| 157 | N XMMSG | 
|---|
| 158 | D NETSIG^XMXEDIT(XMDUZ,XMZ,.XMINSTR,.XMMSG) | 
|---|
| 159 | W !,XMMSG | 
|---|
| 160 | Q | 
|---|
| 161 | P ; Priority msg | 
|---|
| 162 | D FLAGTOGL(.XMINSTR,"P",37311.9,37312.9) | 
|---|
| 163 | Q | 
|---|
| 164 | R ; Confirm receipt of msg | 
|---|
| 165 | D FLAGTOGL(.XMINSTR,"R",37313.9,37314.9) | 
|---|
| 166 | Q | 
|---|
| 167 | S ; Scramble text | 
|---|
| 168 | I $D(XMINSTR("SCR KEY")) D  Q | 
|---|
| 169 | . K XMINSTR("SCR KEY"),XMINSTR("SCR HINT") | 
|---|
| 170 | . W !,$$EZBLD^DIALOG(37316.8) ; Scramble removed | 
|---|
| 171 | N XMKEY,XMHINT,XMABORT | 
|---|
| 172 | S XMABORT=0 | 
|---|
| 173 | D CRE8KEY^XMJMCODE(.XMKEY,.XMHINT,.XMABORT) | 
|---|
| 174 | I XMABORT W !,$$EZBLD^DIALOG(37315.8) Q  ; Scramble aborted. | 
|---|
| 175 | S XMINSTR("SCR KEY")=XMKEY | 
|---|
| 176 | S XMINSTR("SCR HINT")=XMHINT | 
|---|
| 177 | Q | 
|---|
| 178 | T ; Transmit now | 
|---|
| 179 | S XMFINISH=1 | 
|---|
| 180 | W $$EZBLD^DIALOG(34217,XMZ) ;   Sending [_XMZ_]... | 
|---|
| 181 | D MOVEPART^XMXSEND(XMDUZ,XMZ,.XMINSTR) | 
|---|
| 182 | D SEND^XMKP(XMDUZ,XMZ,.XMINSTR) | 
|---|
| 183 | D CHECK^XMKPL | 
|---|
| 184 | W !,$$EZBLD^DIALOG(34213) ;   Sent | 
|---|
| 185 | Q | 
|---|
| 186 | V ; Vaporize date | 
|---|
| 187 | I $G(XMINSTR("VAPOR")) D  Q | 
|---|
| 188 | . K XMINSTR("VAPOR") | 
|---|
| 189 | . W !,$$EZBLD^DIALOG(37318.9) ; Vaporize Date removed | 
|---|
| 190 | N DIR,X,Y,DIRUT,XMTP1 | 
|---|
| 191 | S XMTP1=$$FMADD^XLFDT($$NOW^XLFDT,,1) | 
|---|
| 192 | S DIR(0)="3.9,1.6" | 
|---|
| 193 | S DIR("A")=$$EZBLD^DIALOG(37317.1) ; Enter Vaporize Date | 
|---|
| 194 | S DIR("B")=$$MMDT^XMXUTIL1($$FMADD^XLFDT(DT,30)) | 
|---|
| 195 | V2 D ^DIR Q:$D(DIRUT) | 
|---|
| 196 | I Y<XMTP1 D  G V2 | 
|---|
| 197 | . W " ??",$C(7),!,$$EZBLD^DIALOG(37317.2),! ; Must be no earlier than 1 hour from now. | 
|---|
| 198 | S XMINSTR("VAPOR")=Y | 
|---|
| 199 | Q | 
|---|
| 200 | X ; Closed msg | 
|---|
| 201 | D FLAGTOGL(.XMINSTR,"X",37319.9,37320.9) | 
|---|
| 202 | Q | 
|---|
| 203 | BCAST() ; Is this a broadcast (regular or limited)? | 
|---|
| 204 | N XMTO | 
|---|
| 205 | S XMTO=$O(^TMP("XMY0",$J,"*")) | 
|---|
| 206 | I $E(XMTO)="*" Q 1 | 
|---|
| 207 | Q 0 | 
|---|
| 208 | QVAPOR() ; | 
|---|
| 209 | N DIR | 
|---|
| 210 | W ! | 
|---|
| 211 | S DIR(0)="Y" | 
|---|
| 212 | D BLD^DIALOG(37350,"","","DIR(""A"")") | 
|---|
| 213 | D BLD^DIALOG(37351,"","","DIR(""?"")") | 
|---|
| 214 | S DIR("??")="XM-U-M-VAPORIZE DATE SEND" | 
|---|
| 215 | S DIR("B")=$$EZBLD^DIALOG(39054) ; Yes | 
|---|
| 216 | D ^DIR Q:$D(DIRUT) 0 | 
|---|
| 217 | Q Y | 
|---|