| 1 | XMXPARM1 ;ISC-SF/GMB-Parameter check (cont.) ;04/19/2002  12:14 | 
|---|
| 2 | ;;8.0;MailMan;**36**;Jun 28, 2002 | 
|---|
| 3 | CHKUSER(XMDUZ,XMNOMBOX) ; Ascertain/verify user's DUZ, and make sure authorized to use MailMan | 
|---|
| 4 | ; XMNOMBOX Is it possible that this user does not have a mailbox? | 
|---|
| 5 | ;          0=no (default); 1=yes | 
|---|
| 6 | N XMSCREEN,XMUSER,XMADDR | 
|---|
| 7 | S XMADDR=XMDUZ | 
|---|
| 8 | S XMADDR=$$UP^XLFSTR(XMADDR) | 
|---|
| 9 | ;S:'$G(XMNOMBOX) XMSCREEN="I $L($P(^(0),U,3)),$D(^XMB(3.7,+Y,2))"  ; User must have an access code & mailbox | 
|---|
| 10 | I '$G(XMNOMBOX),'$$USERTYPE^XUSAP(XMDUZ,"APPLICATION PROXY") S XMSCREEN="I $L($P(^(0),U,3)),$D(^XMB(3.7,+Y,2))"  ; User must have an access code & mailbox | 
|---|
| 11 | ; "B^BB^C^D" = name^alias^initial^nickname | 
|---|
| 12 | S XMDUZ=$$FIND1^DIC(200,"","O",$S(+XMADDR=XMADDR:"`"_XMADDR,1:XMADDR),"B^BB^C^D",.XMSCREEN) | 
|---|
| 13 | Q:XMDUZ | 
|---|
| 14 | S XMDUZ=XMADDR | 
|---|
| 15 | D ERRSET^XMXUTIL($S($D(DIERR):39432,1:39433),XMDUZ) ; User '|1|' ambiguous / not found. | 
|---|
| 16 | Q | 
|---|
| 17 | XMATTACH(XMATTACH) ; Validate attachments | 
|---|
| 18 | Q | 
|---|
| 19 | XMBN(XMBN) ; Check bulletin name | 
|---|
| 20 | I $G(XMBN)="" D ERRSET^XMXUTIL(39430) Q  ; Bulletin name must be supplied. | 
|---|
| 21 | Q:$D(^XMB(3.6,"B",XMBN)) | 
|---|
| 22 | D ERRSET^XMXUTIL(39431,XMBN) ; Bulletin '|1|' not found. | 
|---|
| 23 | Q | 
|---|
| 24 | XMBODY(XMBODY,XMOPTNL) ; Check the body of the message (just make sure there is a body) | 
|---|
| 25 | I $G(XMBODY)="" D  Q | 
|---|
| 26 | . I '$G(XMOPTNL) D ERRSET^XMXUTIL(39405) ;Message must have a body. | 
|---|
| 27 | I $E(XMBODY,1,6)="XMBODY" D  Q | 
|---|
| 28 | . D ERRSET^XMXUTIL(39406) ;Message body may not be called XMBODY. | 
|---|
| 29 | I $D(@XMBODY)'>9 D  Q | 
|---|
| 30 | . D ERRSET^XMXUTIL(39407,XMBODY) ;Message body '|1|' has no data. | 
|---|
| 31 | Q | 
|---|
| 32 | XMCODE(XMPARM,XMCODE,XMSET) ; | 
|---|
| 33 | Q:XMSET[(U_XMCODE_U) | 
|---|
| 34 | N XMP | 
|---|
| 35 | S XMP("PARAM","ID")=XMPARM | 
|---|
| 36 | S XMP("PARAM","VALUE")=XMCODE | 
|---|
| 37 | ;S XMP("PARAM","FILE")=3.901,XMP("PARAM","FIELD")=1.8 | 
|---|
| 38 | S XMP(1)=XMSET | 
|---|
| 39 | D ERRSET^XMXUTIL(39438,.XMP) ; Must be one of |1|. | 
|---|
| 40 | Q | 
|---|
| 41 | XMHINT(XMHINT) ; Validate a scramble hint | 
|---|
| 42 | I $G(XMHINT)="" Q | 
|---|
| 43 | ;I $G(XMHINT)="" D ERRSET^XMXUTIL(39436) Q  ; Scramble hint must be supplied | 
|---|
| 44 | ;D CHK^DIE(3.9,1.8,"H",XMHINT) | 
|---|
| 45 | I $L(XMHINT)>0,$L(XMHINT)<41,XMHINT'[U Q | 
|---|
| 46 | N XMP | 
|---|
| 47 | S XMP("PARAM","ID")="XMINSTR(""SCR HINT"")" | 
|---|
| 48 | S XMP("PARAM","VALUE")=XMHINT | 
|---|
| 49 | ;S XMP("PARAM","FILE")=3.901,XMP("PARAM","FIELD")=1.8 | 
|---|
| 50 | S XMP(1)=1,XMP(2)=40 | 
|---|
| 51 | D ERRSET^XMXUTIL(39437,.XMP) ; Must be |1|-|2| characters, no ^. | 
|---|
| 52 | Q | 
|---|
| 53 | XMKEY(XMKEY) ; Validate a scramble key | 
|---|
| 54 | I $G(XMKEY)="" D ERRSET^XMXUTIL(39435) Q  ; Scramble key must be supplied. | 
|---|
| 55 | ;D CHK^DIE(3.9,1.85,"H",XMKEY) | 
|---|
| 56 | I $L(XMKEY)>2,$L(XMKEY)<21 Q | 
|---|
| 57 | N XMP | 
|---|
| 58 | S XMP("PARAM","ID")="XMINSTR(""SCR KEY"")" | 
|---|
| 59 | S XMP("PARAM","VALUE")=XMKEY | 
|---|
| 60 | ;S XMP("PARAM","FILE")=3.9,XMP("PARAM","FIELD")=1.85 | 
|---|
| 61 | S XMP(1)=3,XMP(2)=20 | 
|---|
| 62 | D ERRSET^XMXUTIL(39434,.XMP) ; Must be |1|-|2| characters. | 
|---|
| 63 | Q | 
|---|
| 64 | XMKZ(XMK,XMKZ) ; | 
|---|
| 65 | I $G(XMKZ),$D(^XMB(3.7,XMDUZ,2,XMK,1,"C",XMKZ)) Q | 
|---|
| 66 | N XMP S XMP(1)=XMKZ,XMP(2)=XMK | 
|---|
| 67 | D ERRSET^XMXUTIL(34351,.XMP) ; message not found in basket | 
|---|
| 68 | Q | 
|---|
| 69 | XMKZA(XMKZA) ; Check the message numbers (just make sure there is at least one) | 
|---|
| 70 | Q:$D(XMKZA) | 
|---|
| 71 | D ERRSET^XMXUTIL(39418) ;No message numbers. | 
|---|
| 72 | Q | 
|---|
| 73 | XMROOT(XMPARM,XMROOT) ; Validate root | 
|---|
| 74 | Q | 
|---|
| 75 | XMSTRIP(XMSTRIP) ; Validate a message strip string | 
|---|
| 76 | I $L(XMSTRIP)>0,$L(XMSTRIP)<21 Q | 
|---|
| 77 | N XMP | 
|---|
| 78 | S XMP("PARAM","ID")="XMINSTR(""STRIP"")" | 
|---|
| 79 | S XMP("PARAM","VALUE")=XMSTRIP | 
|---|
| 80 | S XMP(1)=1,XMP(2)=20 | 
|---|
| 81 | D ERRSET^XMXUTIL(39434,.XMP) ; Must be |1|-|2| characters. | 
|---|
| 82 | Q | 
|---|
| 83 | XMTO(XMTO,XMOPTNL) ; Check the addressees (just make sure there is at least one) | 
|---|
| 84 | Q:$D(XMTO) | 
|---|
| 85 | I $G(XMOPTNL),$$GOTADDR^XMXADDR Q | 
|---|
| 86 | D ERRSET^XMXUTIL(39408) ;No recipients | 
|---|
| 87 | Q | 
|---|