- XMYPRE ;ISC-SF/GMB-Pre- & Post- Init ;08/29/2002 09:03
- ;;8.0;MailMan;;Jun 28, 2002
- PRE ; Pre-init
- K ^DD(4.21,2,3) ; Kill errant help node.
- K ^DD(3.7,2,1,1,1.2) ; Kill obsolete node.
- K ^DD(3.811,0,"NM","MEMBER GROUP") ; Kill errant name.
- Q:'$D(^DD(3.702,6,1,1,1)) ; Quit if the pre-init has run already
- D OPTION
- D DELFLDS
- D ACXREF
- Q
- OPTION ; Clean up some MailMan options
- N XMOPT,XMIEN,XMFDA,XMIENS
- F XMOPT="XMQSHOW","XMSUBEDIT","XMDXPROT" D
- . S XMIEN=$O(^DIC(19,"B",XMOPT,0)) Q:'XMIEN
- . S XMIENS=XMIEN_","
- . S XMFDA(19,XMIENS,15)="@" ; EXIT ACTION
- . ;S XMFDA(19,XMIENS,20)="@" ; ENTRY ACTION
- . D FILE^DIE("","XMFDA")
- F XMOPT="XMMGR-IN-BASKET-PURGE" D
- . S XMIEN=$O(^DIC(19,"B",XMOPT,0)) Q:'XMIEN
- . S XMIENS=XMIEN_","
- . S XMFDA(19,XMIENS,3.7)="@" ; HELP FRAME
- . D FILE^DIE("","XMFDA")
- Q
- DELFLDS ; Delete fields no longer used.
- S DIK="^DD(4.2999,",DA=7,DA(1)=4.2999 D ^DIK ; OUTGOING MESSAGE COUNT
- S DIK="^DD(4.2999,",DA=8,DA(1)=4.2999 D ^DIK ; CHARACTERS REC'D
- S DIK="^DD(4.2999,",DA=9,DA(1)=4.2999 D ^DIK ; INCOMING MESSAGE COUNT
- S DIK="^DD(4.2999,",DA=10,DA(1)=4.2999 D ^DIK ; CHARACTERS SENT
- N I
- S I=0
- F S I=$O(^XMBS(4.2999,I)) Q:'I S ^XMBS(4.2999,I,0)=I
- Q
- ACXREF ; Delete old AC xref for NETWORK PRIORITY TRANSMISSION field.
- D DELIX^DDMOD(3.702,6,1) ; delete the DD, leave the data
- N XMK,XMZ ; Reposition the xref to match the new definition.
- S XMK=0
- F S XMK=$O(^XMB(3.7,.5,2,"AC",1,XMK)) Q:'XMK D
- . S XMZ=0
- . F S XMZ=$O(^XMB(3.7,.5,2,"AC",1,XMK,XMZ)) Q:'XMZ D
- . . K ^XMB(3.7,.5,2,"AC",1,XMK,XMZ)
- . . S ^XMB(3.7,.5,2,XMK,1,"AC",1,XMZ)=""
- Q
- POST ; Post-init
- D INIT^XMC
- D KEYS
- D DIALOG
- Q
- KEYS ; Security Keys
- ; KIDS does not correctly transport the 'mutually exclusive' field,
- ; so we have to correct it.
- N XMSTAR,XMSTARL,XMFDA,I
- S XMSTAR=$$FIND1^DIC(19.1,"","QX","XMSTAR")
- S XMSTARL=$$FIND1^DIC(19.1,"","QX","XMSTAR LIMITED")
- S I=$O(^DIC(19.1,XMSTAR,5,0))
- S XMFDA(19.15,I_","_XMSTAR_",",.01)=XMSTARL
- D FILE^DIE("","XMFDA")
- S I=$O(^DIC(19.1,XMSTARL,5,0))
- S XMFDA(19.15,I_","_XMSTARL_",",.01)=XMSTAR
- D FILE^DIE("","XMFDA")
- Q
- DIALOG ; Delete DIALOG file entries. KIDS fails to do this.
- N DIK,DA
- S DIK="^DI(.84,"
- F DA=34425,34443,34443.1 D ^DIK
- Q
- XMYPRE ;ISC-SF/GMB-Pre- & Post- Init ;08/29/2002 09:03
- +1 ;;8.0;MailMan;;Jun 28, 2002
- PRE ; Pre-init
- +1 ; Kill errant help node.
- KILL ^DD(4.21,2,3)
- +2 ; Kill obsolete node.
- KILL ^DD(3.7,2,1,1,1.2)
- +3 ; Kill errant name.
- KILL ^DD(3.811,0,"NM","MEMBER GROUP")
- +4 ; Quit if the pre-init has run already
- IF '$DATA(^DD(3.702,6,1,1,1))
- QUIT
- +5 DO OPTION
- +6 DO DELFLDS
- +7 DO ACXREF
- +8 QUIT
- OPTION ; Clean up some MailMan options
- +1 NEW XMOPT,XMIEN,XMFDA,XMIENS
- +2 FOR XMOPT="XMQSHOW","XMSUBEDIT","XMDXPROT"
- Begin DoDot:1
- +3 SET XMIEN=$ORDER(^DIC(19,"B",XMOPT,0))
- IF 'XMIEN
- QUIT
- +4 SET XMIENS=XMIEN_","
- +5 ; EXIT ACTION
- SET XMFDA(19,XMIENS,15)="@"
- +6 ;S XMFDA(19,XMIENS,20)="@" ; ENTRY ACTION
- +7 DO FILE^DIE("","XMFDA")
- End DoDot:1
- +8 FOR XMOPT="XMMGR-IN-BASKET-PURGE"
- Begin DoDot:1
- +9 SET XMIEN=$ORDER(^DIC(19,"B",XMOPT,0))
- IF 'XMIEN
- QUIT
- +10 SET XMIENS=XMIEN_","
- +11 ; HELP FRAME
- SET XMFDA(19,XMIENS,3.7)="@"
- +12 DO FILE^DIE("","XMFDA")
- End DoDot:1
- +13 QUIT
- DELFLDS ; Delete fields no longer used.
- +1 ; OUTGOING MESSAGE COUNT
- SET DIK="^DD(4.2999,"
- SET DA=7
- SET DA(1)=4.2999
- DO ^DIK
- +2 ; CHARACTERS REC'D
- SET DIK="^DD(4.2999,"
- SET DA=8
- SET DA(1)=4.2999
- DO ^DIK
- +3 ; INCOMING MESSAGE COUNT
- SET DIK="^DD(4.2999,"
- SET DA=9
- SET DA(1)=4.2999
- DO ^DIK
- +4 ; CHARACTERS SENT
- SET DIK="^DD(4.2999,"
- SET DA=10
- SET DA(1)=4.2999
- DO ^DIK
- +5 NEW I
- +6 SET I=0
- +7 FOR
- SET I=$ORDER(^XMBS(4.2999,I))
- IF 'I
- QUIT
- SET ^XMBS(4.2999,I,0)=I
- +8 QUIT
- ACXREF ; Delete old AC xref for NETWORK PRIORITY TRANSMISSION field.
- +1 ; delete the DD, leave the data
- DO DELIX^DDMOD(3.702,6,1)
- +2 ; Reposition the xref to match the new definition.
- NEW XMK,XMZ
- +3 SET XMK=0
- +4 FOR
- SET XMK=$ORDER(^XMB(3.7,.5,2,"AC",1,XMK))
- IF 'XMK
- QUIT
- Begin DoDot:1
- +5 SET XMZ=0
- +6 FOR
- SET XMZ=$ORDER(^XMB(3.7,.5,2,"AC",1,XMK,XMZ))
- IF 'XMZ
- QUIT
- Begin DoDot:2
- +7 KILL ^XMB(3.7,.5,2,"AC",1,XMK,XMZ)
- +8 SET ^XMB(3.7,.5,2,XMK,1,"AC",1,XMZ)=""
- End DoDot:2
- End DoDot:1
- +9 QUIT
- POST ; Post-init
- +1 DO INIT^XMC
- +2 DO KEYS
- +3 DO DIALOG
- +4 QUIT
- KEYS ; Security Keys
- +1 ; KIDS does not correctly transport the 'mutually exclusive' field,
- +2 ; so we have to correct it.
- +3 NEW XMSTAR,XMSTARL,XMFDA,I
- +4 SET XMSTAR=$$FIND1^DIC(19.1,"","QX","XMSTAR")
- +5 SET XMSTARL=$$FIND1^DIC(19.1,"","QX","XMSTAR LIMITED")
- +6 SET I=$ORDER(^DIC(19.1,XMSTAR,5,0))
- +7 SET XMFDA(19.15,I_","_XMSTAR_",",.01)=XMSTARL
- +8 DO FILE^DIE("","XMFDA")
- +9 SET I=$ORDER(^DIC(19.1,XMSTARL,5,0))
- +10 SET XMFDA(19.15,I_","_XMSTARL_",",.01)=XMSTAR
- +11 DO FILE^DIE("","XMFDA")
- +12 QUIT
- DIALOG ; Delete DIALOG file entries. KIDS fails to do this.
- +1 NEW DIK,DA
- +2 SET DIK="^DI(.84,"
- +3 FOR DA=34425,34443,34443.1
- DO ^DIK
- +4 QUIT