[613] | 1 | XMJMP1 ;ISC-SF/GMB-Print,Backup (cont.) ;12/04/2002 10:57
|
---|
| 2 | ;;8.0;MailMan;**9**;Jun 28, 2002
|
---|
| 3 | BSKT(XMDUZ,XMZ,XMK,XMKN) ;
|
---|
| 4 | I +$G(XMK),$D(^XMB(3.7,"M",XMZ,XMDUZ,XMK)) S XMKN=$$BSKTNAME^XMXUTIL(XMDUZ,XMK) Q
|
---|
| 5 | N XMKSTR
|
---|
| 6 | S XMKSTR=$$BSKT^XMXUTIL2(XMDUZ,XMZ,1)
|
---|
| 7 | S XMK=$P(XMKSTR,U,1),XMKN=$S(XMK:$P(XMKSTR,U,2),1:$$EZBLD^DIALOG(34014)) ; * N/A *
|
---|
| 8 | Q
|
---|
| 9 | HOWMUCH(XMZ,XMRESPS,XMWHICH,XMABORT) ;
|
---|
| 10 | N DIR,DIRUT,Y,XMRESP,XMTEXT
|
---|
| 11 | ; There is 1 response. / There are X responses. Response 0 is the original message. (?? shows index)
|
---|
| 12 | D BLD^DIALOG($S(XMRESPS=1:34514,1:34515),XMRESPS,"","XMTEXT")
|
---|
| 13 | M DIR("A")=XMTEXT
|
---|
| 14 | I XMWHICH<XMRESPS,XMWHICH'="" D ; (On broadcasts with responses, XMWHICH will usually be null.)
|
---|
| 15 | . S DIR("A")=$$EZBLD^DIALOG(34518) ; Backup to:
|
---|
| 16 | . S DIR("B")=+$O(^XMB(3.9,XMZ,3,XMWHICH)) ; (XMWHICH+1)
|
---|
| 17 | E D
|
---|
| 18 | . S DIR("A")=$$EZBLD^DIALOG(34519) ; Backup to: Original message
|
---|
| 19 | . S DIR("B")=0
|
---|
| 20 | S DIR(0)="NA^-"_XMRESPS_":"_XMRESPS
|
---|
| 21 | D BLD^DIALOG(34520,"","","DIR(""?"")")
|
---|
| 22 | ;If you select 0, you will Backup to the original message.
|
---|
| 23 | ;If you select one of the responses, you will Backup to it.
|
---|
| 24 | S DIR("??")="^D HELPRESP^XMJMP1(XMZ,XMRESPS)"
|
---|
| 25 | D ^DIR I $D(DIRUT) S XMABORT=1 Q
|
---|
| 26 | S XMRESP=$S(Y<0:XMRESPS+Y+1,1:Y)
|
---|
| 27 | S XMWHICH=$S(XMRESP=XMRESPS:XMRESP,1:XMRESP_"-"_XMRESPS)
|
---|
| 28 | Q
|
---|
| 29 | HELPRESP(XMZ,XMRESPS) ;
|
---|
| 30 | N XMRESP,XMLEN,XMABORT
|
---|
| 31 | S XMABORT=0
|
---|
| 32 | W @IOF,$$EZBLD^DIALOG($S(XMRESPS=1:34530,1:34531),XMRESPS)
|
---|
| 33 | ;There is 1 response / There are _XMRESPS_ responses. Response 0 is the original message.
|
---|
| 34 | S XMRESP=$S(XMV("ORDER")=1:0,1:XMRESPS+1)
|
---|
| 35 | W ! D HRHDR(XMRESPS,XMRESP,.XMLEN)
|
---|
| 36 | D:XMV("ORDER")=1 HRLINE(XMZ,0)
|
---|
| 37 | F S XMRESP=$O(^XMB(3.9,XMZ,3,XMRESP),XMV("ORDER")) Q:XMRESP'>0 D Q:XMABORT
|
---|
| 38 | . I $Y+3>IOSL D PAGE^XMXUTIL(.XMABORT) Q:XMABORT D
|
---|
| 39 | . . W @IOF D HRHDR(XMRESPS,XMRESP,.XMLEN)
|
---|
| 40 | . D HRLINE($P(^XMB(3.9,XMZ,3,XMRESP,0),U),XMRESP)
|
---|
| 41 | Q:XMABORT
|
---|
| 42 | Q:XMV("ORDER")=1
|
---|
| 43 | I $Y+3>IOSL D PAGE^XMXUTIL(.XMABORT) Q:XMABORT D
|
---|
| 44 | . W @IOF D HRHDR(XMRESPS,XMRESP,.XMLEN)
|
---|
| 45 | D HRLINE(XMZ,0)
|
---|
| 46 | Q
|
---|
| 47 | HRHDR(XMRESPS,XMRESP,XMLEN) ;
|
---|
| 48 | S XMLEN("RESP")=$S(XMV("ORDER")=1:$L($$MIN^XLFMTH(XMRESPS,XMRESP+IOSL)),1:$L(XMRESP))
|
---|
| 49 | S XMLEN("DATE")=$L($$MMDT^XMXUTIL1(DT))
|
---|
| 50 | S XMLEN("LINE")=5
|
---|
| 51 | S XMLEN("FROM")=79-XMLEN("RESP")-XMLEN("DATE")-XMLEN("LINE")-3
|
---|
| 52 | W $$LJ^XLFSTR($$EZBLD^DIALOG(34532),XMLEN("RESP")+XMLEN("DATE")+3,"."),$$LJ^XLFSTR($$EZBLD^DIALOG(34006),XMLEN("FROM"),"."),$$EZBLD^DIALOG(34003.1) ; "Response"/"From"/"Lines"
|
---|
| 53 | Q
|
---|
| 54 | HRLINE(XMZ,XMRESP) ;
|
---|
| 55 | N XMZREC
|
---|
| 56 | S XMZREC=$G(^XMB(3.9,XMZ,0))
|
---|
| 57 | W !,$J(XMRESP,XMLEN("RESP")),") ",$$DATE^XMXUTIL2(XMZREC,0)," ",$$MELD^XMXUTIL1($$NAME^XMXUTIL($P(XMZREC,U,2),1),+$P($G(^XMB(3.9,XMZ,2,0)),U,4),XMLEN("FROM")+XMLEN("LINE"))
|
---|
| 58 | Q
|
---|
| 59 | RESPHDR(XMZ,XMRESP) ;
|
---|
| 60 | N XMZREC
|
---|
| 61 | S XMZREC=$G(^XMB(3.9,XMZ,0))
|
---|
| 62 | D WL(XMRESP_") "_$$NAME^XMXUTIL($P(XMZREC,U,2),1))
|
---|
| 63 | D:$P(XMZREC,U,4)'="" W(" ",$$EZBLD^DIALOG(34533,$$NAME^XMXUTIL($P(XMZREC,U,4),1))) ; (Sender: x)
|
---|
| 64 | D W(" ",$$DATE($P(XMZREC,U,3)))
|
---|
| 65 | D W(" ",$$LINES(XMZ))
|
---|
| 66 | Q
|
---|
| 67 | DATE(XMDT) ;
|
---|
| 68 | Q:XMDT'=+XMDT XMDT
|
---|
| 69 | Q $$MMDT^XMXUTIL1(XMDT)
|
---|
| 70 | LINES(XMZ) ;
|
---|
| 71 | N XMLINES
|
---|
| 72 | S XMLINES=+$P($G(^XMB(3.9,XMZ,2,0)),U,4)
|
---|
| 73 | Q $$EZBLD^DIALOG($S(XMLINES=1:34534.1,1:34534),XMLINES) ; line/lines
|
---|
| 74 | PRINTIT(XMDUZ,XMK,XMKN,XMZ,XMZREC,XMRESPS,XMPTR,XMWHICH,XMRECIPS,XMDISP,XMPRTHDR,XMMULT,XMABORT) ;
|
---|
| 75 | N XMSUBJ,XMPAGE,XMZSTR,I,XMRESP,XMRANGE,XMREMMSG
|
---|
| 76 | S:'$D(XMABORT) XMABORT=0
|
---|
| 77 | S XMSUBJ=$P(XMZREC,U,1) S:XMSUBJ["~U~" XMSUBJ=$$DECODEUP^XMXUTIL1(XMSUBJ)
|
---|
| 78 | S XMSUBJ=$$EZBLD^DIALOG(34536,XMSUBJ),XMZSTR=$$EZBLD^DIALOG(34537,XMZ) ; Subj: x / [#x]
|
---|
| 79 | S XMREMMSG=($P(XMZREC,U,2)["@")
|
---|
| 80 | S XMPAGE=1
|
---|
| 81 | D:XMPRTHDR HEADER(XMDUZ,XMK,XMKN,XMZ,XMRESPS,XMZREC,XMSUBJ,XMZSTR)
|
---|
| 82 | I XMWHICH>XMRESPS D:$D(^XMB(3.7,XMDUZ,"N0",XMK,XMZ)) NONEW^XMXUTIL(XMDUZ,XMK,XMZ,1) Q
|
---|
| 83 | F I=1:1:$L(XMWHICH,",") D Q:XMABORT
|
---|
| 84 | . S XMRANGE=$P(XMWHICH,",",I)
|
---|
| 85 | . S:$E(XMRANGE,$L(XMRANGE))="-" XMRANGE=XMRANGE_XMRESPS
|
---|
| 86 | . F XMRESP=$P(XMRANGE,"-",1):1:$S(XMRANGE["-":$P(XMRANGE,"-",2),1:XMRANGE) D Q:XMABORT
|
---|
| 87 | . . I XMRESP>0 D RESPONSE(XMZ,.XMRESP,XMSUBJ,XMZSTR,XMDISP,XMPRTHDR,XMREMMSG,.XMPAGE,.XMABORT) Q
|
---|
| 88 | . . D BODY(XMZ,XMSUBJ,XMZSTR,XMDISP,XMPRTHDR,.XMPAGE,.XMABORT)
|
---|
| 89 | D:XMPTR LASTACC(XMDUZ,XMK,XMZ,XMZREC,XMSUBJ,XMPTR,XMRESP,+$G(XMMULT))
|
---|
| 90 | Q:XMABORT
|
---|
| 91 | D:XMRECIPS PRECIPS(XMDUZ,XMK,XMZ,XMRECIPS,XMSUBJ,XMZSTR,XMPRTHDR,.XMPAGE,.XMABORT)
|
---|
| 92 | I XMK,$D(^XMB(3.7,XMDUZ,"N0",XMK,XMZ)),+XMRESP=+$P($G(^XMB(3.9,XMZ,3,0)),U,4) D NONEW^XMXUTIL(XMDUZ,XMK,XMZ,1)
|
---|
| 93 | Q
|
---|
| 94 | LASTACC(XMDUZ,XMK,XMZ,XMZREC,XMSUBJ,XMPTR,XMRESP,XMMULT) ; Note first, last accesses, number of responses read
|
---|
| 95 | N XMIM,XMIU,XMINSTR,XMCONFRM
|
---|
| 96 | S XMIM("SUBJ")=$P(XMSUBJ," ",2,99)
|
---|
| 97 | S XMIM("FROM")=$P(XMZREC,U,2)
|
---|
| 98 | S XMINSTR("FLAGS")=$S("^Y^y^"[(U_$P(XMZREC,U,5)_U):"R",1:"")
|
---|
| 99 | S XMIU("IEN")=XMPTR
|
---|
| 100 | S XMIU("RESP")=XMRESP
|
---|
| 101 | D LASTACC^XMXUTIL(XMDUZ,XMK,XMZ,XMRESP,.XMIM,.XMINSTR,.XMIU,.XMCONFRM)
|
---|
| 102 | Q:'XMCONFRM!$D(ZTQUEUED)
|
---|
| 103 | U IO(0)
|
---|
| 104 | D:XMMULT NOGOID^XMJMP2(XMZ,XMZREC)
|
---|
| 105 | W !,$$EZBLD^DIALOG(34540) ; >> Confirmation message sent to sender. <<
|
---|
| 106 | U IO
|
---|
| 107 | Q
|
---|
| 108 | PRECIPS(XMDUZ,XMK,XMZ,XMRECIPS,XMSUBJ,XMZSTR,XMPRTHDR,XMPAGE,XMABORT) ; Print recipients (replaces QE2^XMA5)
|
---|
| 109 | D INFO^XMJMQ1(XMDUZ,XMK,XMZ,XMPRTHDR,XMSUBJ,XMZSTR,.XMPAGE,.XMABORT) Q:XMABORT
|
---|
| 110 | D LATER^XMJMQ1(XMDUZ,XMZ,XMPRTHDR,XMSUBJ,XMZSTR,.XMPAGE,.XMABORT) Q:XMABORT
|
---|
| 111 | I XMRECIPS=1 D
|
---|
| 112 | . D SUMMARY^XMJMQ1(XMZ,XMPRTHDR,XMSUBJ,XMZSTR,.XMPAGE,.XMABORT)
|
---|
| 113 | E D DETAIL^XMJMQ(XMZ,XMPRTHDR,XMSUBJ,XMZSTR,.XMPAGE,.XMABORT)
|
---|
| 114 | Q
|
---|
| 115 | HEADER(XMDUZ,XMK,XMKN,XMZ,XMRESPS,XMZREC,XMSUBJ,XMZSTR) ;
|
---|
| 116 | D PAGE1HDR(XMDUZ,XMK,XMKN,XMZ,XMRESPS,XMZREC,XMSUBJ,XMZSTR)
|
---|
| 117 | D W(" ",$$EZBLD^DIALOG(34541)) ; Page 1
|
---|
| 118 | I XMK,$D(^XMB(3.7,XMDUZ,"N0",XMK,XMZ)) D W(" ",$$EZBLD^DIALOG($S($D(^XMB(3.7,XMDUZ,"N",XMK,XMZ)):34543,1:34544))) ; Priority! / *New*
|
---|
| 119 | D LINE
|
---|
| 120 | Q
|
---|
| 121 | LINE ;
|
---|
| 122 | W !,"-------------------------------------------------------------------------------"
|
---|
| 123 | Q
|
---|
| 124 | PAGE1HDR(XMDUZ,XMK,XMKN,XMZ,XMRESPS,XMZREC,XMSUBJ,XMZSTR) ;
|
---|
| 125 | W XMSUBJ
|
---|
| 126 | D W(" ",XMZSTR)
|
---|
| 127 | D W(" ",$$DATE($P(XMZREC,U,3)))
|
---|
| 128 | D W(" ",$$LINES(XMZ))
|
---|
| 129 | ;D:$O(^XMB(3.9,XMZ,2005,0)) W(" ",$$EZBLD^DIALOG(34573)) ; Attachment(s).
|
---|
| 130 | D WL($$EZBLD^DIALOG(34538,$$NAME^XMXUTIL($P(XMZREC,U,2),1))) ; From:
|
---|
| 131 | D:$P(XMZREC,U,4)'="" W(" ",$$EZBLD^DIALOG(34533,$$NAME^XMXUTIL($P(XMZREC,U,4),1))) ; (Sender: x)
|
---|
| 132 | I XMRESPS>0 D
|
---|
| 133 | . N XMPTR,XMRESP,XMPARM
|
---|
| 134 | . ;S XMPTR=+$O(^XMB(3.9,XMZ,1,"C",$S(XMDUZ=.6:DUZ,1:XMDUZ),0))
|
---|
| 135 | . S XMPTR=+$O(^XMB(3.9,XMZ,1,"C",XMDUZ,0))
|
---|
| 136 | . S XMRESP=+$P($G(^XMB(3.9,XMZ,1,XMPTR,0)),U,2)
|
---|
| 137 | . S XMPARM(1)=XMRESP,XMPARM(2)=XMRESPS
|
---|
| 138 | . D W(" ",$$EZBLD^DIALOG($S(XMRESPS=1:34545,1:34546),.XMPARM)) ; XMRESP_ of _XMRESPS_ response(s) read.
|
---|
| 139 | D W(" ",$$EZBLD^DIALOG(34539,XMKN)) ; In '_XMKN_' basket.
|
---|
| 140 | I $O(^XMB(3.73,"AC",XMZ,XMDUZ,0)) D W(" ",$$EZBLD^DIALOG(34595.1)) ; Message will be NEW Later.
|
---|
| 141 | I XMK D
|
---|
| 142 | . N XMVAPOR
|
---|
| 143 | . S XMVAPOR=$P($G(^XMB(3.7,XMDUZ,2,XMK,1,XMZ,0)),U,5)
|
---|
| 144 | . I XMVAPOR D W(" ",$$EZBLD^DIALOG(34572,$$FMTE^XLFDT(XMVAPOR))) ; Automatic Deletion Date:
|
---|
| 145 | Q
|
---|
| 146 | WL(XMSTRING) ;
|
---|
| 147 | I $L(XMSTRING)'<IOM,IOM>1 F D Q:$L(XMSTRING)<IOM
|
---|
| 148 | . W !,$E(XMSTRING,1,IOM-1)
|
---|
| 149 | . S XMSTRING=$E(XMSTRING,IOM,999)
|
---|
| 150 | W !,XMSTRING
|
---|
| 151 | Q
|
---|
| 152 | W(XMSPACE,XMSTRING) ;
|
---|
| 153 | I $X+$L(XMSPACE)+$L(XMSTRING)>IOM D WL(XMSTRING) Q
|
---|
| 154 | W XMSPACE,XMSTRING
|
---|
| 155 | Q
|
---|
| 156 | BODY(XMZ,XMSUBJ,XMZSTR,XMDISP,XMPRTHDR,XMPAGE,XMABORT) ;
|
---|
| 157 | N XMTEXT,I,J
|
---|
| 158 | S I=.999999
|
---|
| 159 | F S I=$O(^XMB(3.9,XMZ,2,I)) Q:I'>0 D Q:XMABORT
|
---|
| 160 | . S XMTEXT=^XMB(3.9,XMZ,2,I,0)
|
---|
| 161 | . I $D(XMSECURE),'$G(XMPAKMAN) S XMTEXT=$$DECSTR^XMJMCODE(XMTEXT) ; PackMan messages are never scrambled, just "secured".
|
---|
| 162 | . I $E(XMTEXT,1)="$",$F("$TXT$END",$E(XMTEXT,1,4))#4=1 S XMTEXT=$P(XMTEXT,U) ; hide code for secured packman msg.
|
---|
| 163 | . I XMTEXT["|TAB|" F S J=$F(XMTEXT,"|TAB|")-6 Q:J<0 S XMTEXT=$E(XMTEXT,1,J)_$E(" ",1,9-(J-(J\9*9)))_$E(XMTEXT,J+6,999)
|
---|
| 164 | . ; A site was sending a print to a device whose IOM was 0.
|
---|
| 165 | . ; In such a case, we should ignore IOM.
|
---|
| 166 | . F D Q:$L(XMTEXT)<IOM!XMABORT!(IOM<2) S XMTEXT=$E(XMTEXT,IOM,999)
|
---|
| 167 | . . I $Y+3+($E($G(IOST),1,2)="C-")>IOSL D Q:XMABORT
|
---|
| 168 | . . . D PAGE(XMZ,XMSUBJ,XMZSTR,XMDISP,XMPRTHDR,.XMPAGE,.XMABORT)
|
---|
| 169 | . . E W !
|
---|
| 170 | . . W $S(IOM>1:$E(XMTEXT,1,IOM-1),1:XMTEXT)
|
---|
| 171 | Q
|
---|
| 172 | PAGE(XMZ,XMSUBJ,XMZSTR,XMDISP,XMPRTHDR,XMPAGE,XMABORT) ;
|
---|
| 173 | I $E($G(IOST),1,2)="C-",XMDISP W ! D PAGE^XMXUTIL(.XMABORT) Q:XMABORT
|
---|
| 174 | W @IOF
|
---|
| 175 | D:XMPRTHDR PAGE2HDR(XMSUBJ,XMZSTR,.XMPAGE)
|
---|
| 176 | Q
|
---|
| 177 | PAGE2HDR(XMSUBJ,XMZSTR,XMPAGE) ;
|
---|
| 178 | S XMPAGE=XMPAGE+1
|
---|
| 179 | W XMSUBJ
|
---|
| 180 | D W(" ",XMZSTR)
|
---|
| 181 | D W(" ",$$EZBLD^DIALOG(34542,XMPAGE)) ; Page x
|
---|
| 182 | D LINE
|
---|
| 183 | W !
|
---|
| 184 | Q
|
---|
| 185 | RESPONSE(XMZ,XMRESP,XMSUBJ,XMZSTR,XMDISP,XMPRTHDR,XMREMMSG,XMPAGE,XMABORT) ;
|
---|
| 186 | N XMZR,XMRSUBJ,XMREMREP
|
---|
| 187 | S XMZR=+$P($G(^XMB(3.9,XMZ,3,XMRESP,0)),U)
|
---|
| 188 | ;I '$D(^XMB(3.9,XMZR,0)) D Q
|
---|
| 189 | ;. ;N DA,DIK
|
---|
| 190 | ;. ;S DA(1)=XMZ,DA=XMRESP
|
---|
| 191 | ;. ;S DIK="^XMB(3.9,XMZ,3,"
|
---|
| 192 | ;. ;D ^DIK
|
---|
| 193 | S XMRSUBJ=$P($G(^XMB(3.9,XMZR,0)),U)
|
---|
| 194 | S XMREMREP=$S(XMRSUBJ?1"R"1.N:0,XMRSUBJ="":0,1:1) ; Reply is to or from a remote site
|
---|
| 195 | I $Y+(XMREMMSG!XMREMREP)+7+($E($G(IOST),1,2)="C-")>IOSL D Q:XMABORT
|
---|
| 196 | . D PAGE(XMZR,XMSUBJ,XMZSTR,XMDISP,XMPRTHDR,.XMPAGE,.XMABORT)
|
---|
| 197 | . S:XMABORT XMRESP=XMRESP-1
|
---|
| 198 | E W !
|
---|
| 199 | D RESPHDR(XMZR,XMRESP)
|
---|
| 200 | I XMREMREP D
|
---|
| 201 | . W !," ",$$EZBLD^DIALOG(34536,$S(XMRSUBJ["~U~":$$DECODEUP^XMXUTIL1(XMRSUBJ),1:XMRSUBJ)) ; Subj:
|
---|
| 202 | E I XMREMMSG D
|
---|
| 203 | . W !," ",$$EZBLD^DIALOG(34535) ; <Local Reply>
|
---|
| 204 | W !
|
---|
| 205 | D BODY(XMZR,XMSUBJ,XMZSTR,XMDISP,XMPRTHDR,.XMPAGE,.XMABORT)
|
---|
| 206 | Q
|
---|