#include PRGACNTs #include APPS.TBXWeb #define RefStartNew "\\\START" OnPreHTTP() #define CSPPage ##class(%CSP.Page) #define TaalDfl $S(sDomVERW="HEIN":"D", sDomVERW="LMC":"F", sDomVERW="SFS":"D", 1:"N") s:('$D(ClientIP)) ClientIP="192.168.1.97" ;d WL^vhDBG($C(13,10)) New Ref,RefNew,RefArray,tmpRq Do ophInitLookups^cspBasis.TBX.DecodeURL.tmpDev // URL --> domain / sDomVERW / sDomKLNr Set sDomain=$$GetURLDomain^cspBasis.Library Set sDomCVT="www.tandem-box.com" ; $$TBXDomainCVT^cspBasis.Library(sDomain) Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) Set sDomVERW=$LG(lbDomLU,1) Set sDomKLNr=$LG(lbDomLU,2) Set Taal=$G(%request.Data("Taal",1),$$$TaalDfl) Set QS=$G(%request.CgiEnvs("QUERY_STRING")) Set Ref=$G(%request.Data("REF",1)) Set RefNew=$G(%request.Data("REF",1),$$$RefStartNew) ; Als REF niet meegegeven is, StartNew (dfl) gebruiken ; Convert QueryString to Array: tmpRq(name)=value Set name="" For Set name=$O(%request.Data(name)) Quit:(name="") Merge tmpRq(name)=%request.Data(name,1) Kill tmpRq("CSPToken") ; HRefs to switch Taal Do ophBuildSwitchTLArray ; Analyse REF Set Ref=$$ophGetRef^cspBasis.TBX.DecodeURL.tmpDev(Ref) ; Get Ref decrypted Set:(Ref="")&&($L(RefNew)) Ref=RefNew If $L(Ref) Do . Do ophRefToArray^cspBasis.TBX.DecodeURL.tmpDev(Ref,.RefArray) . Set:($G(RefArray("VERW"))="") RefArray("VERW")=sDomVERW . Set VERW=RefArray("VERW") . Set KLNr=$G(RefArray("KLNR")) . Set wsID=$G(RefArray("WSID")) . Set sMode=$G(RefArray("MODE")) Set:($G(VERW)="") VERW=sDomVERW Set blnNoAccess=0 Set RefOut=Ref If $G(%request.Data("REF",1))="" Do . Set VERW=$G(%request.Data("VERW",1)) . Set KLNr=$G(%request.Data("KLNR",1)) . Set wsID=$G(%request.Data("WSID",1)) . Set sMode=$G(%request.Data("MODE",1)) Do . Set %blnBuildRef=1 . Set DataOpt=$G(%request.Data("DATAOPT",1)) . Set DataOptOut=$$OPTIMADecryptData^cspBasis.TBX.DecodeURL.tmpDev(DataOpt,,$S(VERW="SFS":"SFS", VERW="LMC":"LMC", VERW="MBHO":"MBHO", VERW="HFLB":"HFLB", 1:"")) . Kill %blnBuildRef If ($G(%request.Data("SUBMIT",1))="Encrypt") Do . Set blnEncrypt=1 . Set EncRefOut=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,VERW,wsID,sMode)) . Set RefCheck=VERW_"\"_KLNr_"\"_wsID_"\"_sMode . Set RefOut="" . ;If $L($G(%request.Data("DATAOPT",1))) Do . If $L(DataOpt) Do .. Set DataOptCheck=DataOpt .. Set EncDataOptOut=$$OPTIMAEncryptData^cspBasis.TBX.DecodeURL.tmpDev(DataOpt,$S(VERW="SFS":"SFS", VERW="LMC":"LMC", VERW="MBHO":"MBHO", VERW="HFLB":"HFLB", 1:"")) .. ;Set EncDataOptOut=$system.Encryption.Base64Decode($TR(EncDataOptOut,"_-","+=")) . ;New Page,UrlTaal . Set Page=$G(%request.Data("PAGE",1)) . Set UrlTaal=$G(%request.Data("URLTAAL",1)) . Set UrlOut=$S($L(Page):Page_"?REF="_EncRefOut_$S($L(UrlTaal):"&Taal="_UrlTaal,1:""), 1:"") ;Set UrlOut="Test: "_VERW_" "_KLNr_" "_wsID_" "_sMode Do ophAddToLog("BUILDREF") Quit 1 ophAddToLog(OverrideActie) Do ##class(cspBasis.GAProdTBox).AddToLog($G(OverrideActie,"BUILDREF"),sDomain,,,,$S($G(VERW)="":$G(sDomVERW),1:VERW),Taal,"") Quit ophBuildSwitchTLArray New TL,tmpAr Merge tmpAr=tmpRq For TL="N","F","E","D" Do . If TL=Taal Do Quit .. Set arSwitchTL(TL)=TL . ; Else . Set tmpAr("Taal")=TL . Set arSwitchTL(TL)=""_TL_"" Quit // Specific Test Page for testing DataOpt Parameter in URL (for OPTIMA / SFS / MBHO / HFLB) OnPreHTTPTestDataOpt(TestVERW) #define CSPPage ##class(%CSP.Page) s:('$D(ClientIP)) ClientIP="192.168.1.97" ;d WL^vhDBG($C(13,10)) New Ref,RefNew,RefArray,tmpRq,tmpAr,tmpTaal Set %RemoteIP=$G(%request.CgiEnvs("REMOTE_ADDR")) Do ophInitLookups^cspBasis.TBX.DecodeURL.tmpDev New TBXContext,DefaultTaal Set TBXContext=##class(APPS.TBXWeb.TBXContext).InitFromHttpRequest() Set sDomain=TBXContext.GeefHttpRequestDomein() Set sDomCVT=TBXContext.GeefWebDomein() Set sDomVERW=TBXContext.GeefDomeinVerwerker() Set sDomKLNr=TBXContext.GeefDomeinKlantNummer() Set DefaultTaal=TBXContext.GeefDefaultTaal() // URL --> domain / sDomVERW / sDomKLNr ;Set sDomain=$$GetURLDomain^cspBasis.Library ;Set sDomCVT=$S(TestVERW="LMC":"www.optima-tbx.fr", TestVERW="SFS":"tbx.sfsunimarket.biz", TestVERW="MBHO":$$$TBoxWebDomeinMBHO, TestVERW="HFLB":$$$TBoxWebDomeinHFLB, 1:$$TBXDomainCVT^cspBasis.Library(sDomain)) ;Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) ;Set sDomVERW=$LG(lbDomLU,1) ;Set sDomKLNr=$LG(lbDomLU,2) Set Taal=$G(%request.Data("Taal",1),DefaultTaal) Set QS=$G(%request.CgiEnvs("QUERY_STRING")) Set Ref=$G(%request.Data("REF",1)) Set RefNew=$G(%request.Data("REF",1),$$$RefStartNew) ; Als REF niet meegegeven is, StartNew (dfl) gebruiken Set blnKeySteps=($G(%request.Data("KeySteps",1),0)=1) ; Convert QueryString to Array: tmpRq(name)=value Set name="" For Set name=$O(%request.Data(name)) Quit:(name="") Merge tmpRq(name)=%request.Data(name,1) Kill tmpRq("CSPToken") ; HRefs to switch Taal Do ophBuildSwitchTLArray ; Analyse REF Set Ref=$$ophGetRef^cspBasis.TBX.DecodeURL.tmpDev(Ref) ; Get Ref decrypted Set:(Ref="")&&($L(RefNew)) Ref=RefNew If $L(Ref) Do . Do ophRefToArray^cspBasis.TBX.DecodeURL.tmpDev(Ref,.RefArray) . Set:($G(RefArray("VERW"))="") RefArray("VERW")=sDomVERW . Set VERW=RefArray("VERW") . Set KLNr=$G(RefArray("KLNR")) . Set wsID=$G(RefArray("WSID")) . Set sMode=$G(RefArray("MODE")) Set:($G(VERW)="") VERW=sDomVERW d WLIP^vhDBG(97,"sDomVERW="_sDomVERW_" VERW="_VERW_" TestVERW="_TestVERW_"") Set blnNoAccess=0 If 0 Set blnNoAccess=1 If (TestVERW'=sDomVERW) Set blnNoAccess=1 Else If sDomVERW="SFS" Set blnNoAccess=$$$Not($$$AccessTestPageDataOptSFS(%RemoteIP)||(%RemoteIP?1(1"192.168.1."1.3N,1"127.0.0.1"))) Else If sDomVERW="LMC" Set blnNoAccess=$$$Not($$$AccessTestPageDataOptLMC(%RemoteIP)||(%RemoteIP?1(1"192.168.1."1.3N,1"127.0.0.1"))) || 1 ; blocked for all IP Else If sDomVERW="MBHO" Set blnNoAccess=$$$Not($$$AccessTestPageDataOptMBHO(%RemoteIP)||(%RemoteIP?1(1"192.168.1."1.3N,1"127.0.0.1"))) Else If sDomVERW="HFLB" Set blnNoAccess=$$$Not($$$AccessTestPageDataOptHFLB(%RemoteIP)||(%RemoteIP?1(1"192.168.1."1.3N,1"127.0.0.1"))) Else Set blnNoAccess=1 d WLIP^vhDBG(97,"blnNoAccess="_blnNoAccess_"") Set RefOut=Ref If 'blnNoAccess Do . Set %blnBuildRef=1 . Set DataOpt=$G(%request.Data("DATAOPT",1)) . Set DataOptOut=$$OPTIMADecryptData^cspBasis.TBX.DecodeURL.tmpDev(DataOpt,.tmpAr,$S(sDomVERW="SFS":"SFS", sDomVERW="MBHO":"MBHO", sDomVERW="HFLB":"HFLB", 1:"LMC")) . Kill %blnBuildRef Set tmpTaal=$G(tmpAr("Taal")) Set:(tmpTaal?1(1"N",1"F",1"E",1"D")) Taal=tmpTaal Merge arDataOpt=tmpAr If $G(%request.Data("REF",1))="" Do . Set VERW=$G(%request.Data("VERW",1)) . Set KLNr=$G(%request.Data("KLNR",1)) . Set wsID=$G(%request.Data("WSID",1)) . Set sMode=$G(%request.Data("MODE",1)) d WLIP^vhDBG(97,"blnNoAccess="_blnNoAccess_" DataOptOut="_$G(DataOptOut)) If (sDomVERW="SFS")&&(blnNoAccess) Do Quit 1 ; Block access to this page. Only enable it when requested . ;Set blnNoAccess=1 . Set msg="TestPage voor SFS is geblokkeerd (/VHISIE/TBX/TestDataOptSFS.csp). "_$$$CRLF_"Toegang enkel mogelijk op aanvraag."_$$$CRLF . Do ophSendAlertMail^csp.vhisie.TBX.Main.tmpDev(msg) . Do ophAddToLog("!TESTOPTSFS!") Else If (sDomVERW="MBHO")&&(blnNoAccess) Do Quit 1 ; Block access to this page. Only enable it when requested . ;Set blnNoAccess=1 . Set msg="TestPage voor MBHO is geblokkeerd (/VHISIE/TBX/TestDataOptMBHO.csp). "_$$$CRLF_"Toegang enkel mogelijk op aanvraag."_$$$CRLF . Do ophSendAlertMail^csp.vhisie.TBX.Main.tmpDev(msg) . Do ophAddToLog("!TESTOPTMBHO!") Else If (sDomVERW="HFLB")&&(blnNoAccess) Do Quit 1 ; Block access to this page. Only enable it when requested . ;Set blnNoAccess=1 . Set msg="TestPage voor HFLB is geblokkeerd (/VHISIE/TBX/TestDataOptHFLB.csp). "_$$$CRLF_"Toegang enkel mogelijk op aanvraag."_$$$CRLF . Do ophSendAlertMail^csp.vhisie.TBX.Main.tmpDev(msg) . Do ophAddToLog("!TESTOPTHFLB!") Else If blnNoAccess Do Quit 1 ; Block access to this page. Only enable it when requested . ;Set blnNoAccess=1 . Set msg="TestPage voor Optima is geblokkeerd (/VHISIE/TBX/TestDataOptLMC.csp). "_$$$CRLF_"Toegang enkel mogelijk op aanvraag."_$$$CRLF . Do ophSendAlertMail^csp.vhisie.TBX.Main.tmpDev(msg) . Do ophAddToLog("!TESTOPTIMA!") If ($G(%request.Data("SUBMIT",1))="Encrypt") Do . Set blnEncrypt=1 . Set EncRefOut=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,VERW,wsID,sMode)) . Set RefCheck=VERW_"\"_KLNr_"\"_wsID_"\"_sMode . Set RefOut="" . ;If $L($G(%request.Data("DATAOPT",1))) Do . If $L(DataOpt) Do .. Set DataOptCheck=DataOpt .. Set EncDataOptOut=$$OPTIMAEncryptData^cspBasis.TBX.DecodeURL.tmpDev(DataOpt,$S(sDomVERW="SFS":"SFS", sDomVERW="MBHO":"MBHO", sDomVERW="HFLB":"HFLB", 1:"LMC")) .. ;Set EncDataOptOut=$system.Encryption.Base64Decode($TR(EncDataOptOut,"_-","+=")) .. If blnKeySteps Do ophOPTIMAIntermediates(DataOpt,sDomVERW) . ;New Page,UrlTaal . Set Page=$G(%request.Data("PAGE",1)) . Set UrlTaal=$G(%request.Data("URLTAAL",1)) . Set UrlOut=$S($L(Page):Page_"?REF="_EncRefOut_$S($L(UrlTaal):"&Taal="_UrlTaal,1:""), 1:"") Do ophAddToLog($S(sDomVERW="LMC":"TESTOPTIMA", sDomVERW="SFS":"TESTOPTSFS", sDomVERW="MBHO":"TESTOPTMBHO", sDomVERW="HFLB":"TESTOPTHFLB", 1:"TESTDATAOPT")) Quit 1 ophOPTIMAIntermediates(Data,sDomVERW) New OptimaKey,encData,Step1,Step2,Step3,Step4,Step2Hex Quit:($G(Data)="") "" Set OptimaKey=$S(sDomVERW="LMC":$$$OptimaKey, sDomVERW="SFS":$$$SfsOptKey, sDomVERW="MBHO":$$$MBHollandOptKey, sDomVERW="HFLB":$$$HafeleBEOptKey, 1:ERROR) Set Step1=Data Set Step2=$system.Encryption.AESEncode(Step1,OptimaKey) Set Step3=$TR($system.Encryption.Base64Encode(Step2),$$$CRLF,"") Set Step4=$TR($TR(Step3,"+","_"),"=","-") Set Step2Hex=$$ophCVTHex(Step2) Set arStepsOPT(1)=Step1 Set arStepsOPT(2)=Step2 Set arStepsOPT("2Hex")=Step2Hex Set arStepsOPT(3)=Step3 Set arStepsOPT(4)=Step4 Quit ophCVTHex(str,Sep) New strH,i Set Sep=$G(Sep," ") Set strH="" For i=1:1:$L(str) Set $P(strH,Sep,i)=$ZHEX($ASCII($E(str,i))) Quit strH OnPreHTTPFixOptima() #define CSPPage ##class(%CSP.Page) #define TaalDfl "F" s:('$D(ClientIP)) ClientIP="192.168.1.97" ;d WL^vhDBG($C(13,10)) New Ref,RefNew,RefArray,tmpRq,tmpAr,tmpTaal Set %RemoteIP=$G(%request.CgiEnvs("REMOTE_ADDR")) Do ophInitLookups^cspBasis.TBX.DecodeURL.tmpDev // URL --> domain / sDomVERW / sDomKLNr Set sDomain=$$GetURLDomain^cspBasis.Library Set sDomCVT="www.optima-tbx.fr" ; $$TBXDomainCVT^cspBasis.Library(sDomain) Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) Set sDomVERW=$LG(lbDomLU,1) Set sDomKLNr=$LG(lbDomLU,2) Set Taal=$G(%request.Data("Taal",1),$$$TaalDfl) Set QS=$G(%request.CgiEnvs("QUERY_STRING")) Set Ref=$G(%request.Data("REF",1)) Set EncRef=Ref ; Analyse REF Set Ref=$$ophGetRef^cspBasis.TBX.DecodeURL.tmpDev(Ref) ; Get Ref decrypted If $L(Ref) Do . Do ophRefToArray^cspBasis.TBX.DecodeURL.tmpDev(Ref,.RefArray) . Set:($G(RefArray("VERW"))="") RefArray("VERW")=sDomVERW . Set VERW=RefArray("VERW") . Set KLNr=$G(RefArray("KLNR")) . Set wsID=$G(RefArray("WSID")) . Set sMode=$G(RefArray("MODE")) Set blnNoAccess=$$$Not(($G(VERW)="LMC")&&($G(sMode)="START")) Set %blnBuildRef=($G(%request.Data("SUBMIT",1))="Sauver") Set DataOpt=$G(%request.Data("DATAOPT",1)) Set EncDataOptOrig=$G(%request.Data("DATAOPTORIG",1),DataOpt) Set DataOptOut=$$OPTIMADecryptData^cspBasis.TBX.DecodeURL.tmpDev(DataOpt,.tmpAr,"LMC") Set blnEditData=($E(DataOptOut,1,4)="EDIT") If blnEditData Do . Set CodeSubmit=$G(%request.Data("SUBMIT",1)) . Set KLNrOpt=$G(%request.Data("KLNR",1)) . Set blnEditFind=(CodeSubmit="EditFind") . Set blnEditModify=(CodeSubmit="EditModify") . Set blnEditRemove=(CodeSubmit="EditRemove") . Kill tmpAr . If blnEditFind Do . . ; Show stored data . . Set:($IsValidNum(KLNrOpt)) KLMini=##class(cspBasis.GAProdTBox).GetKlantData(sDomVERW,KLNrOpt,$LB("Stg","NoAction")) . . If $IsObject($G(KLMini)) Do . . . Set tmpAr("Taal")= KLMini.Taal . . . Set tmpAr("KLNummer")=KLMini.Nummer . . . Set tmpAr("KLNaam")=KLMini.Naam . . . Set tmpAr("EMail")=KLMini.EMail . . . Set tmpAr("Korting")=KLMini.Korting . . Else Do . . . Set msgDataOptToGlobal="No data found for KLNrOpt. Try again on the previous page." . Else If blnEditRemove Do . . Set scSave=##class(cspBasis.GAProdTBox).SetOptimaFixData("",KLNrOpt,"",1) . . Set msgDataOptEdit="Data for KLNrOpt has been deleted.
Please test your login again (retournez à la page de ""Connexion"") ..." . Else If blnEditModify Do . . ; ... . Set (EncDataOptOrig,DataOptOut)="" . ;Set:(blnEditFind) DataOpt="" . Set msgVerifyKLNr="!!! Verifiez le Numéro de client !!!" Kill %blnBuildRef Merge arDataOpt=tmpAr Set:($G(arDataOpt("Taal"))="") arDataOpt("Taal")="F" Set:($G(arDataOpt("EMail"))="") arDataOpt("EMail")="tandembox@lmc.tm.fr" If ($G(arDataOpt("KLNummer"))="")&&($IsValidNum($G(%OptimaVar("KLNr")))) Do . Set arDataOpt("KLNummer")=%OptimaVar("KLNr") . Set msgVerifyKLNr="!!! Verifiez le Numéro de client !!!" d WL^vhDBG("Input QS decrypted :"_$G(%OptimaVar("Data"))_$$$CRLF_$$ArrayToText^vhLib("arDataOpt")) Quit:(blnNoAccess) 1 If '($$$OptimaAccess) Do Quit 1 ; Block access to this page. Only enable it when requested . Set blnNoAccess=1 . Set msg="FixPage voor Optima is geblokkeerd (/VHISIE/TBX/FixOPTIMA.csp). "_$$$CRLF_"Toegang enkel mogelijk op aanvraag."_$$$CRLF . Do ophSendAlertMail^csp.vhisie.TBX.Main.tmpDev(msg) . Do ophAddToLog("!FIXOPTIMA!") If ($G(%request.Data("SUBMIT",1))="Sauver") Do .// Set RefCheck=VERW_"\"_KLNr_"\"_wsID_"\"_sMode . Set KLNrOpt=$G(%request.Data("KLNR",1)) . Set arDataOpt("Taal")=$G(%request.Data("TAALKL",1)) . Set arDataOpt("KLNummer")=KLNrOpt . Set arDataOpt("KLNaam")=$G(%request.Data("KLNAAM",1)) . Set arDataOpt("EMail")=$G(%request.Data("EMAIL",1)) . Set arDataOpt("Korting")=$TR($G(%request.Data("KORTING",1)),"%","") . Set DataOptOut=arDataOpt("Taal")_"\"_KLNrOpt_"\"_arDataOpt("KLNaam")_"\"_arDataOpt("EMail")_"\"_arDataOpt("Korting") . ; Save data - StorageGlobal... . Set scSave=##class(cspBasis.GAProdTBox).SetOptimaFixData(EncDataOptOrig,KLNrOpt,DataOptOut) . If $$$ISERR(scSave) Do . . Set msgDataOptToGlobal="Error when trying to save this data: "_"
"_$$ParseStatus^vhLib(scSave)_"

"_"Please try again ..." . Else Do . . Set msgDataOptToGlobal="Data saved successful.
Please test your login again (retournez à la page de ""Connexion"") ..." . ;New Page,UrlTaal . If $L(DataOptOut) Do .. Set DataOptCheck=DataOptOut .. Set EncDataOptOut=$$OPTIMAEncryptData^cspBasis.TBX.DecodeURL.tmpDev(DataOptOut,"LMC") . Set Page="main.csp" ; $G(%request.Data("PAGE",1)) . Set UrlTaal="F" ; $G(%request.Data("URLTAAL",1)) . Set UrlOut=$S($L(Page):Page_"?REF="_EncRef_"&DATAOPT="_EncDataOptOut, 1:"") . Set UrlOut2=$S($L(Page):Page_"?REF="_EncRef_$S($L(UrlTaal):"&Taal="_UrlTaal,1:""), 1:"") Do ophAddToLog("FIXOPTIMA") Quit 1 /* SELECT ID, LogTime, ClientHost, Operation, Target, Parameters, ServiceStatus FROM DW_WWW.HTTPLogTBX WHERE (LogTime like '2004-07-03%') and (Target like '%TestDataOptSFS.CSP') WHERE (LogTime like '2004-07-03%') and (Target like '%TestDataOptLMC.CSP') WHERE (LogTime like '2004-07-03%') and (UPPER(Target) like '%TESTOPTIMA.CSP') */