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

XMHIU.m

Go to the documentation of this file.
  1. XMHIU ;ISC-SF/GMB-User Info ;04/17/2002 09:52
  1. ;;8.0;MailMan;;Jun 28, 2002
  1. ; Replaces UHELP^XMA7 (ISC-WASH/RJ/THM/CAP)
  1. ; Entry points used by MailMan options (not covered by DBIA):
  1. ; HELP XMHELPUSER - Get user info
  1. HELP ; User Info
  1. N DIC,Y,D,XMHDUZ
  1. D CHECK^XMVVITAE
  1. S DIC=200,DIC(0)="AEQMZN",DIC("A")=$$EZBLD^DIALOG(38009) ;User name:
  1. S DIC("S")="I $S('$D(^VA(200,Y,0)):0,Y<1:1,$L($P(^(0),U,3)):1,1:0)"
  1. S DIC("W")="D USERINFO^XMXADDR1(Y)"
  1. S D="B^BB^C^D" ; name^alias^initial^nickname
  1. F W ! D MIX^DIC1 Q:Y<0 D
  1. . S XMHDUZ=+Y
  1. . W @IOF,$$NAME^XMXUTIL(XMHDUZ,1)
  1. . D DISPUSER(XMHDUZ)
  1. . S DIC("W")="D USERINFO^XMXADDR1(Y)"
  1. Q
  1. DISPUSER(XMUSER) ;
  1. N XMABORT
  1. S XMABORT=0
  1. D GENERAL(XMUSER,.XMABORT) Q:XMABORT ; General info
  1. D GROUPS(XMUSER,.XMABORT) Q:XMABORT ; Groups in which this user is a member
  1. D SURRBEU(XMUSER,.XMABORT) Q:XMABORT ; Surrogates who may be this user
  1. D UBESURR(XMUSER,.XMABORT) ; Users for whom this user may be surrogate
  1. Q
  1. GENERAL(XMUSER,XMABORT) ;
  1. N X,XMREC
  1. I '$D(^XMB(3.7,XMUSER)) W !,$$EZBLD^DIALOG(38010) Q ;No Mailbox for this user!
  1. S XMREC=$G(^XMB(3.7,XMUSER,0))
  1. Q:XMREC=""&'$D(^XMB(3.8,"AB",XMUSER))
  1. S X=$G(^XMB(3.7,XMUSER,"B")) W:$L(X) !,$$EZBLD^DIALOG(38011),X ;Current Banner:
  1. S X=$P($G(^XMB(3.7,XMUSER,"L")),U) W:$L(X) !,$$EZBLD^DIALOG(38012),X ;Last used MailMan:
  1. S X=$P(XMREC,U,6) I X D
  1. . N XMPARM S XMPARM(1)=X,XMPARM(2)=+$P(^XMB(3.7,XMUSER,2,1,0),U,2)
  1. . W !,$$EZBLD^DIALOG(38019,.XMPARM) ;NEW messages: |1| (|2| in the IN basket)
  1. S X=$P(XMREC,U,2) I $L(X) W !,$$EZBLD^DIALOG(38004),X,$$EZBLD^DIALOG($S($P(XMREC,U,8):38005,1:38006)) ; Forwarding Address: / Local Delivery is ON / OFF
  1. S XMREC=$G(^VA(200,XMUSER,.13))
  1. S X=$P(XMREC,U,2) I X'="" W !!,$$EZBLD^DIALOG(38013),X ;Office phone:
  1. S X=$P(XMREC,U,6) I X'="" W !,$$EZBLD^DIALOG(38014),X ;Fax:
  1. S X=$P(XMREC,U,7) I X'="" W !,$$EZBLD^DIALOG(38015),X ;Voice pager:
  1. S X=$P(XMREC,U,8) I X'="" W !,$$EZBLD^DIALOG(38016),X ;Digital pager:
  1. S X=$P(XMREC,U,3) I X'="" W !,$$EZBLD^DIALOG(38017),X ;Add'l phone:
  1. S X=$P(XMREC,U,4) I X'="" W !,$$EZBLD^DIALOG(38017),X ;Add'l phone:
  1. S XMREC=$G(^VA(200,XMUSER,.11),"^^")
  1. I $P(^XMB(1,1,0),U,10),$P(XMREC,U,1,3)'="^^" D ; Don't show address unless site OKs it.
  1. . W !!,$$EZBLD^DIALOG(38018) ;Address:
  1. . F X=1:1:3 I $P(XMREC,U,X)'="" W !," ",$P(XMREC,U,X)
  1. . S X=$P(XMREC,U,4) I X'="" W !," ",X
  1. . S X=$P(XMREC,U,5) I X W ", ",$P($G(^DIC(5,X,0)),U,2)
  1. . S X=$P(XMREC,U,6) I X'="" W " ",X
  1. I $D(^XMB(3.7,XMUSER,1,0)) D Q:XMABORT
  1. . N XMI,XMLINE
  1. . I $Y+5>IOSL D PAGE(.XMABORT) Q:XMABORT
  1. . W !!,$$EZBLD^DIALOG(38050) ;Introduction:
  1. . S XMI=0
  1. . F S XMI=$O(^XMB(3.7,XMUSER,1,XMI)) Q:XMI'>0 S XMLINE=^(XMI,0) D Q:XMABORT
  1. . . I $Y+4>IOSL D PAGE(.XMABORT) Q:XMABORT
  1. . . W !," ",XMLINE
  1. Q
  1. GROUPS(XMUSER,XMABORT) ;
  1. N XMGIEN,XMREC,XMTYPE
  1. Q:'$D(^XMB(3.8,"AB",XMUSER))
  1. I $Y+6>IOSL D PAGE(.XMABORT) Q:XMABORT
  1. W !!,$$EZBLD^DIALOG(38040) ;Mail Groups:
  1. S XMGIEN=""
  1. F S XMGIEN=$O(^XMB(3.8,"AB",XMUSER,XMGIEN)) Q:XMGIEN="" D Q:XMABORT
  1. . S XMREC=$G(^XMB(3.8,XMGIEN,0)) Q:XMREC=""
  1. . S XMTYPE=$P(XMREC,U,2)
  1. . ; Don't show private group membership, unless user is a member, too.
  1. . I XMTYPE="PR",'$D(^XMB(3.8,"AB",DUZ,XMGIEN)) Q
  1. . I $Y+4>IOSL D PAGE(.XMABORT) Q:XMABORT
  1. . W !?2,$P(XMREC,U)
  1. . W:$G(^XMB(3.8,XMGIEN,3))=XMUSER $$EZBLD^DIALOG(38041) ;(Organizer)
  1. . W ?45,$$EZBLD^DIALOG($S(XMTYPE="PR":38042,1:38043)) ;(Private) / (Public)
  1. Q
  1. SURRBEU(XMUSER,XMABORT) ; List surrogates for this user
  1. N XMSIEN
  1. Q:'$O(^XMB(3.7,XMUSER,9,0))
  1. I $Y+6>IOSL D PAGE(.XMABORT) Q:XMABORT
  1. W !!,$$EZBLD^DIALOG(38044) ;This user's surrogates are:
  1. S XMSIEN=0
  1. F S XMSIEN=$O(^XMB(3.7,XMUSER,9,XMSIEN)) Q:XMSIEN="" D Q:XMABORT
  1. . D DISPSURR(2,XMUSER,XMSIEN,.XMABORT)
  1. Q
  1. UBESURR(XMSURR,XMABORT) ; List users for whom this user may act as surrogate
  1. N XMUSER,XMSIEN
  1. Q:'$O(^XMB(3.7,"AB",XMSURR,0))
  1. I $Y+6>IOSL D PAGE(.XMABORT) Q:XMABORT
  1. W !!,$$EZBLD^DIALOG(38045) ;This user may act as a surrogate for:
  1. S XMUSER=""
  1. F S XMUSER=$O(^XMB(3.7,"AB",XMSURR,XMUSER)) Q:XMUSER="" D Q:XMABORT
  1. . S XMSIEN=$O(^XMB(3.7,"AB",XMSURR,XMUSER,""))
  1. . D DISPSURR(1,XMUSER,XMSIEN,.XMABORT)
  1. Q
  1. DISPSURR(XMFLAG,XMUSER,XMSIEN,XMABORT) ;
  1. N XMPRIV,XMREC,XMNIEN
  1. I $Y+4>IOSL D PAGE(.XMABORT) Q:XMABORT
  1. S XMREC=$S(XMUSER=.6:".6^y^y",1:$G(^XMB(3.7,XMUSER,9,XMSIEN,0)))
  1. S XMNIEN=$S(XMFLAG=1:XMUSER,1:$P(XMREC,U,1))
  1. Q:'XMNIEN Q:'$D(^VA(200,XMNIEN,0))
  1. W !,?2,$$NAME^XMXUTIL(XMNIEN)
  1. S XMPRIV=$P(XMREC,U,2,3)
  1. I XMPRIV'["y" W ?45,$$EZBLD^DIALOG(38046) Q ;No Privileges
  1. I $L(XMPRIV,"y")>2 W ?45,$$EZBLD^DIALOG(38047) Q ;Read and Write Privileges
  1. W ?45,$$EZBLD^DIALOG($S($P(XMPRIV,U)["y":38048,1:38049)) ;Read Privilege / Write Privilege
  1. Q
  1. PAGE(XMABORT) ;
  1. D PAGE^XMXUTIL(.XMABORT) Q:XMABORT
  1. W @IOF
  1. Q