VistA-WorldVistAEHR/r/MAILMAN-XM/XMXTO.m

68 lines
3.1 KiB
Mathematica

XMXTO ;ISC-SF/GMB-Address a msg ;08/08/2000 14:38
;;8.0;MailMan;;Jun 28, 2002
; Entry points:
; ITOWHOM Interactive 'to whom:'
; TOWHOM Silent 'to whom:'
ITOWHOM(XMDUZ,XMZ,XMTYPE,XMINSTR) ; Interactive
; XMDUZ DUZ of who is sending or forwarding the message
; XMZ The message number
; (need not be supplied if XMTYPE="S" and
; XMINSTR("ADDR FLAGS")["R")
; XMTYPE S='Send to:'
; F='Forward to:'
; XMINSTR("SELF BSKT") Basket to deliver to if sender is recipient
; XMINSTR("SHARE DATE") Delete date if recipient is "SHARED,MAIL"
; XMINSTR("SHARE BSKT") Basket if recipient is "SHARED,MAIL"
; XMINSTR("TO PROMPT") Initial prompt to whom to send the message (default=XMDUZ)
; XMINSTR("FLAGS") Any or all or none of the following:
; (Necessary only if XMTYPE="S" and XMINSTR("ADDR FLAGS")["R")
; X Closed msg (may not be forwarded)
; C Confidential msg (surrogates may not read)
; XMINSTR("ADDR FLAGS") Any or all of the following:
; I Do not Initialize (kill) the ^TMP addressee global
; R Do not Restrict addressees
N XMRESTR,XMABORT
K XMERR,^TMP("XMERR",$J)
D INIT(XMDUZ,.XMZ,XMTYPE,.XMINSTR,.XMRESTR,.XMPROMPT) Q:$D(XMERR)
S XMABORT=0
D TOWHOM^XMJMT(XMDUZ,XMPROMPT,.XMINSTR,.XMRESTR,.XMABORT)
Q:'XMABORT
D ERRSET^XMXUTIL($S(XMABORT=1:37000,1:37001)) ; up-arrow out. / time out.
Q
TOWHOM(XMDUZ,XMZ,XMTYPE,XMTO,XMINSTR,XMFULL) ; Silent
; XMDUZ (in) DUZ of who is sending or forwarding the message
; XMZ (in) The message number
; (need not be supplied if XMTYPE="S" and
; XMINSTR("ADDR FLAGS")["R")
; XMTYPE (in) S='Send to:'
; F='Forward to:'
; XMTO (in) ONE addressee
; XMINSTR("SELF BSKT") (in) Basket to deliver to if sender is recipient
; XMINSTR("SHARE DATE") (in) Delete date if recipient is "SHARED,MAIL"
; XMINSTR("SHARE BSKT") (in) Basket if recipient is "SHARED,MAIL"
; XMINSTR("FLAGS") (in) Any or all or none of the following:
; (Necessary only if XMTYPE="S" and XMINSTR("ADDR FLAGS")["R")
; X Closed msg (may not be forwarded)
; C Confidential msg (surrogates may not read)
; XMINSTR("ADDR FLAGS") Any or all of the following:
; I Do not Initialize (kill) the ^TMP addressee global
; R Do not Restrict addressees
; XMFULL (out) the full address
N XMRESTR
K XMERR,^TMP("XMERR",$J)
D INIT(XMDUZ,.XMZ,XMTYPE,.XMINSTR,.XMRESTR) Q:$D(XMERR)
D CHKADDR^XMXADDR(XMDUZ,.XMTO,.XMINSTR,.XMRESTR,.XMFULL)
Q
INIT(XMDUZ,XMZ,XMTYPE,XMINSTR,XMRESTR,XMPROMPT) ;
I XMTYPE="S" D
. S XMPROMPT=$$EZBLD^DIALOG(34110) ; Send
. D:$G(XMINSTR("ADDR FLAGS"))'["R" CHKLINES^XMXSEC1(XMDUZ,XMZ,.XMRESTR)
E D
. N XMZREC
. S XMZREC=^XMB(3.9,XMZ,0)
. S XMPROMPT=$$EZBLD^DIALOG(34111) ; Forward
. Q:'$$FORWARD^XMXSEC(XMDUZ,XMZ,XMZREC)
. D:$G(XMINSTR("ADDR FLAGS"))'["R" GETRESTR^XMXSEC1(XMDUZ,XMZ,XMZREC,.XMINSTR,.XMRESTR)
D:$G(XMINSTR("ADDR FLAGS"))'["I" INIT^XMXADDR
Q