Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: XMJMT

XMJMT.m

Go to the documentation of this file.
  1. XMJMT ;ISC-SF/GMB-Interactive Send to whom ;07/17/2003 13:06
  1. ;;8.0;MailMan;**20,49**;Jun 28, 2002;Build 2
  1. ; Entry points used by MailMan options (not covered by DBIA):
  1. ; R XMHELPLNK - Get help on remote addresses (mail link)
  1. TOWHOM(XMDUZ,XMTYPE,XMINSTR,XMRESTR,XMABORT) ;
  1. N DIR,X,Y,XMTO,DIRUT,DUOUT,DTOUT ;*49
  1. S XMTO="?"
  1. F D Q:XMTO=""!XMABORT
  1. . K DIR
  1. . I $D(^TMP("XMY0",$J)) D
  1. . . S DIR("A")=$$EZBLD^DIALOG(34113,XMTYPE) ;And |1| to
  1. . . S DIR(0)="FrO^1:100" ; ('r' means no 'replace...with...' prompt)
  1. . E D
  1. . . S DIR("A")=$$EZBLD^DIALOG(34112,XMTYPE) ;|1| mail to
  1. . . I XMTYPE=$$EZBLD^DIALOG(34110) S DIR("B")=$G(XMINSTR("TO PROMPT"),XMV("NAME")) ;Send
  1. . . E I $G(XMINSTR("TO PROMPT")) S DIR("B")=XMINSTR("TO PROMPT")
  1. . . S DIR(0)="Fr^1:100"
  1. . D BLD^DIALOG(34114,"","","DIR(""?"")") ;Enter the name(s) of the recipient(s)
  1. . S DIR("??")="^D QQ^XMJMT"
  1. . D ^DIR I $D(DTOUT) S XMABORT=DTIME Q
  1. . I $D(DUOUT) D Q
  1. . . I XMTYPE=$$EZBLD^DIALOG(34111) S XMABORT=1 Q ;Forward
  1. . . N DIR,DIRUT,X,Y
  1. . . S DIR("A")=$$EZBLD^DIALOG(34115) ;Shall we forget the whole thing
  1. . . S DIR("B")=$$EZBLD^DIALOG(39053) ;No
  1. . . S DIR(0)="Y"
  1. . . D BLD^DIALOG(34116,"","","DIR(""?"")") ;Enter YES to abort this message.
  1. . . D ^DIR
  1. . . I Y=1!$D(DIRUT) S XMABORT=1
  1. . S XMTO=Y Q:XMTO=""
  1. . I $G(XMRESTR("NOFPG")),$E(XMTO,1,2)="G." D Q
  1. . . ;Only the message originator or XM GROUP PRIORITY key
  1. . . ;holders may forward priority messages to Mail Groups.
  1. . . N XMTEXT
  1. . . D BLD^DIALOG(34117,"","","XMTEXT","F")
  1. . . D MSG^DIALOG("WE","","","","XMTEXT")
  1. . I $G(XMRESTR("NONET")),XMTO["@" D Q
  1. . . N XMTEXT
  1. . . W $C(7)
  1. . . ;Messages longer than |1| lines may not be sent across the network.
  1. . . D BLD^DIALOG(39001,XMRESTR("NONET"),"","XMTEXT","F")
  1. . . D MSG^DIALOG("WE","","","","XMTEXT")
  1. . I XMTO=XMV("NAME"),$G(DIR("B"))=XMV("NAME") S XMTO="`"_XMDUZ ; to avoid ambiguity in case 2 users have the same name.
  1. . D ADDR^XMXADDR(XMDUZ,XMTO,.XMINSTR,.XMRESTR)
  1. Q
  1. QQ ; "??" help
  1. N DIR,X,Y,XMCHOICE,I,DIRUT,DUOUT,DTOUT ;*49
  1. S DIR("A")=$$EZBLD^DIALOG(34120) ;Enter the kind of help you'd like
  1. S I=$$EZBLD^DIALOG(34126),XMCHOICE($P(I,":"))="U" ;U:User information
  1. S DIR(0)="SO^"_I
  1. S I=$$EZBLD^DIALOG(34121),XMCHOICE($P(I,":"))="G" ;G:Mail Group information
  1. S DIR(0)=DIR(0)_";"_I
  1. S I=$$EZBLD^DIALOG(34122),XMCHOICE($P(I,":"))="D" ;D:Domain information
  1. S DIR(0)=DIR(0)_";"_I
  1. I $O(^XMD(4.2997,0)) D
  1. . S I=$$EZBLD^DIALOG(34123),XMCHOICE($P(I,":"))="R" ;R:Remote user information
  1. . S DIR(0)=DIR(0)_";"_I
  1. I $D(^TMP("XMY0",$J)) D
  1. . S I=$$EZBLD^DIALOG(34124),XMCHOICE($P(I,":"))="S" ;S:Show current recipients of this message
  1. . S DIR(0)=DIR(0)_";"_I
  1. S I=$$EZBLD^DIALOG(34125),XMCHOICE($P(I,":"))="M" ;M:More help
  1. S DIR(0)=DIR(0)_";"_I
  1. F D ^DIR Q:$D(DIRUT) D @XMCHOICE(Y)
  1. Q
  1. S ; Show Current Recipients
  1. N XMTO,XMABORT,DIR,X,Y,DIRUT,DUOUT,DTOUT ;49
  1. I '$D(^TMP("XMY0",$J)) W !,$$EZBLD^DIALOG(34130) Q ;There aren't any recipients so far.
  1. W @IOF,$$EZBLD^DIALOG(34131) ;Current recipients are:
  1. S XMTO="",XMABORT=0
  1. F S XMTO=$O(^TMP("XMY0",$J,XMTO)) Q:XMTO="" D Q:XMABORT
  1. . D:$Y+3>IOSL PAGE(.XMABORT)
  1. . W !,?3,$S($D(^TMP("XMY0",$J,XMTO,1)):^(1)_":",1:""),XMTO
  1. . W:$D(^TMP("XMY0",$J,XMTO,"L")) ?40,$$EZBLD^DIALOG(34132),$$MMDT^XMXUTIL1(^("L")) ;Deliver:
  1. Q:XMABORT
  1. Q:'$D(^TMP("XMY",$J))
  1. S DIR(0)="Y"
  1. S DIR("A")=$$EZBLD^DIALOG(34133) ;Like more detail
  1. S DIR("B")=$$EZBLD^DIALOG(39054) ;Yes
  1. D ^DIR
  1. Q:Y'=1
  1. ;Expanded Recipient List
  1. S XMTO=""
  1. F S XMTO=$O(^TMP("XMY",$J,XMTO)) Q:XMTO="" D Q:XMABORT
  1. . I $Y+3>IOSL D PAGE(.XMABORT) Q:XMABORT
  1. . W !,?3,$S($D(^TMP("XMY",$J,XMTO,1)):^(1)_":",1:""),$$NAME^XMXUTIL(XMTO)
  1. D PAGE(.XMABORT)
  1. Q
  1. PAGE(XMABORT) ;
  1. D PAGE^XMXUTIL(.XMABORT) Q:XMABORT
  1. W @IOF
  1. Q
  1. U ; User Info
  1. D HELP^XMHIU
  1. Q
  1. G ; Group Info
  1. N DIR
  1. D HELP^XMHIG
  1. Q
  1. D ; Domain Info (Replaces QQ2^XMA50)
  1. N DIC,X,Y,XMSTATE,XMREC
  1. S DIC="^DIC(4.2,",DIC(0)="AEQMZ"
  1. F W ! D ^DIC Q:Y<0 D
  1. . S XMREC=Y(0)
  1. . W:$L($P(XMREC,U,14)) !,$$EZBLD^DIALOG(34140),$P(XMREC,U,14) ;Routing indicator:
  1. . I $D(^XUSEC("XMMGR",DUZ)) D
  1. . . W:$L($P(XMREC,U,12)) !,$$EZBLD^DIALOG(34141),$P(XMREC,U,12) ;MailMan Host Number:
  1. . . W:$L($P(XMREC,U,11)) !,$$EZBLD^DIALOG(34142),$P(XMREC,U,11) ;Security Key:
  1. . W:$P(XMREC,U,3) !,$$EZBLD^DIALOG(34143),$P(^DIC(4.2,$P(XMREC,U,3),0),U,1) ;Relay Domain:
  1. . S XMSTATE=$P(XMREC,U,2)
  1. . W !,$$EZBLD^DIALOG($S(XMSTATE["C":34144,XMSTATE'["S":34145,1:34146))
  1. . ; 34144 - Messages cannot be sent, because this domain is CLOSED
  1. . ; 34145 - Messages are QUEUED for later transmission
  1. . ; 34146 - Messages are SENT immediately
  1. Q
  1. R ; Remote User Info (Replaces QQ3A,QQ3B^XMA5)
  1. N DIC,X,Y,DR,DA
  1. S DIC="^XMD(4.2997,",DIC(0)="AEFMQ"
  1. S DIC("A")=$$EZBLD^DIALOG(34149) ; Enter LASTNAME, MAIL CODE, or LOCATION
  1. F W ! D ^DIC Q:Y<0 D
  1. . S DA=+Y,DR=0 D EN^DIQ
  1. Q
  1. M ;
  1. N XQH,DIR,X,Y
  1. S XQH="XM-U-A-ADDRESS"
  1. D EN^XQH
  1. Q