[613] | 1 | DILF ;SFISC/STAFF-LIBRARY OF FUNCTIONS ;7:08 AM 25 Apr 2006
|
---|
| 2 | ;;22.0;VA FileMan;**147**;Mar 30, 1999
|
---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | Q
|
---|
| 5 | ;
|
---|
| 6 | ;
|
---|
| 7 | LOCK(REF) ;
|
---|
| 8 | ; LOCK the REFerence. $T must be checked upon return **147
|
---|
| 9 | I '$D(DILOCKTM) S DILOCKTM=$G(^DD("DILOCKTM"),1) I $D(@REF) ;TO GET NAKED BACK
|
---|
| 10 | LOCK @("+"_REF_":DILOCKTM")
|
---|
| 11 | Q
|
---|
| 12 | ;
|
---|
| 13 | ;
|
---|
| 14 | ;
|
---|
| 15 | CREF(X) G ENCREF^DIQGU
|
---|
| 16 | ;
|
---|
| 17 | OREF(X) G ENOREF^DIQGU
|
---|
| 18 | ;
|
---|
| 19 | FDA(DIEFF,DIEFDAS,DIEFFLD,DIEFFLG,DIEFVAL,DIEFAR,DIEFOUT) ;
|
---|
| 20 | G LOADX^DIEF1
|
---|
| 21 | ;
|
---|
| 22 | CLEAN ;
|
---|
| 23 | G CLEAN^DIEFU
|
---|
| 24 | ;
|
---|
| 25 | IENS(DIEFDA) ;
|
---|
| 26 | G IENX^DIEFU
|
---|
| 27 | ;
|
---|
| 28 | DA(DAIEN,DATARG) ;
|
---|
| 29 | G DAX^DIEFU
|
---|
| 30 | ;
|
---|
| 31 | DT(DIEFDT,DIEFX,DIEFY,DIEFDT0,DIOUTAR) ;
|
---|
| 32 | G DTX^DIEFU
|
---|
| 33 | ;
|
---|
| 34 | VALUES(DILFILE,DILFLD,DILFDA,DILOUT) ;
|
---|
| 35 | I $G(DILFILE)=""!($G(DILFLD)="")!($G(DILFDA)="") S DILOUT=0 Q
|
---|
| 36 | K DILOUT
|
---|
| 37 | N DILCNT,DILIEN
|
---|
| 38 | S DILIEN=""
|
---|
| 39 | D VALLOOP
|
---|
| 40 | S DILOUT=DILCNT
|
---|
| 41 | Q
|
---|
| 42 | ;
|
---|
| 43 | VALLOOP ;
|
---|
| 44 | S DILCNT=0
|
---|
| 45 | F S DILIEN=$O(@DILFDA@(DILFILE,DILIEN)) Q:DILIEN="" D
|
---|
| 46 | . I $D(@DILFDA@(DILFILE,DILIEN,DILFLD)) D
|
---|
| 47 | . . S DILCNT=DILCNT+1
|
---|
| 48 | . . S DILOUT(DILCNT)=@DILFDA@(DILFILE,DILIEN,DILFLD)
|
---|
| 49 | . . S DILOUT(DILCNT,"IENS")=DILIEN
|
---|
| 50 | Q
|
---|
| 51 | ;
|
---|
| 52 | VALUE1(DILFILE,DILFLD,DILFDA) ;
|
---|
| 53 | I $G(DILFILE)=""!($G(DILFLD)="")!($G(DILFDA)="") Q "^"
|
---|
| 54 | N DILIEN
|
---|
| 55 | S DILIEN=$O(@DILFDA@(DILFILE,""))
|
---|
| 56 | I DILIEN="" Q "^"
|
---|
| 57 | I $D(@DILFDA@(DILFILE,DILIEN,DILFLD)) Q @DILFDA@(DILFILE,DILIEN,DILFLD)
|
---|
| 58 | N DILCNT,DILOUT
|
---|
| 59 | D VALLOOP
|
---|
| 60 | I DILCNT Q DILOUT(1)
|
---|
| 61 | Q "^"
|
---|
| 62 | ;
|
---|
| 63 | ROUSIZE() ;
|
---|
| 64 | Q $G(^DD("ROU"))
|
---|
| 65 | ;
|
---|
| 66 | HTML(DISTRING,DIRECTN) ;
|
---|
| 67 | ;
|
---|
| 68 | ; entry point: use HTML to encode or decode ^ and & characters ; TOAD
|
---|
| 69 | ; extrinsic function: return encoded or decoded value
|
---|
| 70 | ;
|
---|
| 71 | H1 N DILONG,DIRULE I $G(DIRECTN,1)=1 D Q:$G(DILONG) ""
|
---|
| 72 | . S DIRULE(1,"&")="&",DIRULE(2,"^")="^"
|
---|
| 73 | . N DIL S DIL=$L(DISTRING,"^")+$L(DISTRING,"&")-2
|
---|
| 74 | . I $L(DISTRING)-DIL+(DIL*5)>255 D ERR^DICU1(207,,,,DISTRING) S DILONG=1 Q
|
---|
| 75 | E S DIRULE(1,"^")="^",DIRULE(2,"&")="&"
|
---|
| 76 | Q $$TRANSL8(DISTRING,.DIRULE)
|
---|
| 77 | ;
|
---|
| 78 | TRANSL8(DISTRING,DIRULES) ;
|
---|
| 79 | ;
|
---|
| 80 | ; HTML: $TRANSLATE for substrings instead of characters ; TOAD
|
---|
| 81 | ; extrinsic function: return translated value
|
---|
| 82 | ;
|
---|
| 83 | T1 N DIFRENCE,DIFROM,DILENGTH,DITO
|
---|
| 84 | N DI S DI="" F S DI=$O(DIRULES(DI)) Q:DI="" D
|
---|
| 85 | . S DIFROM=$O(DIRULES(DI,"")) Q:DISTRING'[DIFROM
|
---|
| 86 | . S DITO=DIRULES(DI,DIFROM)
|
---|
| 87 | . S DILENGTH=$L(DIFROM)
|
---|
| 88 | . S DIFRENCE=$L(DITO)-DILENGTH
|
---|
| 89 | . S DIAT=0 F D Q:'DIAT
|
---|
| 90 | . . S DIAT=$F(DISTRING,DIFROM,DIAT) Q:'DIAT
|
---|
| 91 | . . S $E(DISTRING,DIAT-DILENGTH,DIAT-1)=DITO
|
---|
| 92 | . . S DIAT=DIAT+DIFRENCE
|
---|
| 93 | Q DISTRING
|
---|