#include PRGACNTs /* http:// -domain- /VHISIE/TBX/DTestURL.csp?Taal=N&REF=ukcfmaF7LFiqpsawRaZiuA-- http://192.168.1.67/VHISIE/TBX/DTestURL.csp?REF=VHEPN\4682\232\A http://cache02/VHISIE/TBX/DtestURL.csp?REF=\\277\A */ OnPreHTTP() New name,tmpRq,RefArray,OutPage,Ref,luSafe,luTBX,lbDomLU New blnSubmit,blnRedir,PSW,i s:('$D(%ClientIP)) %ClientIP="192.168.1.97" ;d WL^vhDBG($C(13,10)) Set %RemoteIP=$G(%request.CgiEnvs("REMOTE_ADDR")) // Spam Robots worden geblokkeerd Quit:($$RedirectSpamRobots^cspBasis.Library(%RemoteIP)) 0 Do ophInitLookups^cspBasis.TBX.DecodeURL.tmpDev // Set session data + locals Kill %session.Data("Taal") Kill %session.Data("WSID") Kill %session.Data("KLNR") Kill %session.Data("VERW") Kill %session.Data("MODE") Kill %session.Data("UserType") Kill %session.Data("QSDATA") // URL --> domain / sDomVERW / sDomKLNr ;Set sDomain=$$GetURLDomain^cspBasis.Library ;Set sDomCVT=$$TBXDomainCVT^cspBasis.Library(sDomain) ;Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) ; $$TBXDomainLU^cspBasis.Library(sDomCVT,$LB("VERW","KLNR")) ;Set sDomVERW=$LG(lbDomLU,1) ;Set sDomKLNr=$LG(lbDomLU,2) Set TBXContext=##class(APPS.TBXWeb.TBXContext).InitFromHttpRequest() Set sDomVERW=TBXContext.GeefDomeinVerwerker() /*** volgende vars mogen weg na testen : ***/ Set sDomain=TBXContext.GeefHttpRequestDomein() Set sDomCVT=TBXContext.GeefWebDomein() Set sDomKLNr=TBXContext.GeefDomeinKlantNummer() Set blnVHEPN=(sDomVERW="VHEPN") Set blnHEIN=(sDomVERW="HEIN") Set blnLMC=(sDomVERW="LMC") Set blnDUPO=(sDomVERW="DUPO") Set blnHELMY=(sDomVERW="HELMY") Set blnHFLE=(sDomVERW="HFLE") Set blnSFS=(sDomVERW="SFS") Set blnMBHO=(sDomVERW="MBHO") Set blnHFLB=(sDomVERW="HFLB") Set:('$D(%session.Data("BeursUser"))) %session.Data("BeursUser")=(TBXContext.IsDomeinVHEPN())&&##class(cspBasis.GAProdTBox).IsBeursUser() Set %session.Data("DOMAIN")=TBXContext.GeefWebDomein() Set %session.Data("URL")=%request.URL Set %session.Data("REFMN")=$system.Encryption.Base64Decode($TR($G(%request.Data("REFMN",1)),"_-","+=")) Merge %session.Data("QSDATA")=%request.Data Kill %session.Data("QSDATA","CSPToken") ; Encoded part is not usefull Set VERW=$$SesDataFromRq^cspBasis.Library("VERW",,"") Set KLNr=$$SesDataFromRq^cspBasis.Library("KLNR",,"") Set wsID=$$SesDataFromRq^cspBasis.Library("WSID",,"") Set sMode=$$SesDataFromRq^cspBasis.Library("MODE",,"") Set Taal=$$SesDataFromRq^cspBasis.Library("Taal",,TBXContext.GeefDefaultTaal()) // Als toch niet correcte URL, dan redirect naar "Aanvraag Anonymous" If (sMode'?1(1"A",1"W",1"P")) Do Quit 1 . Set %response.Redirect="/VHISIE/TBX/Access.csp?Taal="_Taal_"&REF="_$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(,TBXContext.GeefDomeinVerwerker(),,"A")) ; ServerSideRedirect // Else Set:($G(VERW)="") VERW=TBXContext.GeefDomeinVerwerker() ;d WL^vhDBG("VERW="_VERW_" domain="_TBXContext.GeefWebDomein()_" sDomVERW="_TBXContext.GeefDomeinVerwerker()) Set UserType=$$ophGetUserType(KLNr,TBXContext.GeefWebDomein(),VERW,sMode) Set %session.Data("UserType")=UserType ;Set UserTypeTxt=$CASE(UserType, $$$utKlantAnon:"KlantAnon", $$$utKlantKnown:"KlantKnown", $$$utVerwSub:"VerwSub", $$$utVerwDomain:"VerwDomain", $$$utVerwAdmin:"VerwAdmin", "":"?", :UserType) If (wsID="")&&(TBXContext.IsKlantIDIngevuld(KLNr)) Do . ; New from Order (Copy into New) : wsIDFrom is passed by QS-parameter . Set wsIDFrom=$G(%request.Data("NEWFROMORD",1)) . Set blnNewFromOrd=($$ophCheckFromWSOrd(wsIDFrom,KLNr)) . Set:('blnNewFromOrd) wsIDFrom="" Else Do . Set wsIDFrom=wsID . Set blnNewFromOrd=0 Set blnCalcPrices=(TBXContext.IsKlantIDIngevuld(KLNr))||(UserType>$$$utKlantAnon) If 0 && (blnCalcPrices) && ##class(TECH.Config.ConfigMgr).Instance().GetBoolean("Nog_in_te_vullen") { // Op de DEMO-site mogen geen prijzen berekend worden. Daarom blnCalcPrices=0 // Uitzonderingen (bvb. voor bepaalde IP-adressen) kunnen via een Global-expression ingevuld worden. Set blnCalcPrices=0 New CalcExpr Set CalcExpr=$G(^UI.Settings("WWW-TBX","DEMO","CalcPrijs","ExprCondit"),0) If @CalcExpr Set blnCalcPrices=1 ;Set:(%RemoteIP?1(1"192.168.1.195")) blnCalcPrices=1 } Set blnPriceAvail=(blnCalcPrices)||($$ophGetPriceAvail(wsID)) Set blnCalcOFFAV=(blnCalcPrices)&&($$ophGetBonType(wsID)="OFFAV") Set Munt="EUR" Set Munt=$$GetUserMunt^cspBasis.Library(TBXContext.GeefDomeinVerwerker(),) Set lbShowFT="" Set:('blnCalcPrices)||(sMode'="A") lbShowFT=lbShowFT_$LB("OFFAV") Set:(blnPriceAvail )||(sMode'="A") lbShowFT=lbShowFT_$LB("OFF") Set:(TBXContext.IsDomeinHEIN())||(sMode'="A")||((wsID>0)&&(sMode'="A")) lbShowFT=lbShowFT_$LB("BBON") Set BTWInputMode=$S($$$NSpace="DEMO":0, 'blnVHEPN:0, blnCalcPrices:1, 1:3) ; 0=hidden, 1=shown but optional, 3=shown+obligatory Set:(blnVHEPN)&&(TBXContext.IsKlantIDIngevuld(KLNr)) BTWInputMode=0 ; Overrules previous line Set blnShowDynSpace=0 ; (blnVHEPN)&&(KLNr?1(1"4645x",1"6821")) // Design Choice Mode : Intivo, Standaard of eXpert Set DCM="" Set:(wsIDFrom>0) DCM=##class(WS.TBX.Order).DCMCalc(wsIDFrom) ; wsID or wsIDFrom Set:(DCM="") DCM=$G(%request.Data("DCM",1)) Set:(DCM="") DCM="S" ; default Set lbDesignChoices=##class(cspBasis.GAProdTBox).GetDesignChoices(DCM,KLNr,TBXContext.GeefDomeinVerwerker(),TBXContext.GeefDomeinKlantNummer()) Set HeaderLogo = DCM //Set:(DCM="I") HeaderLogo="I" // Bulk Settings Set lbBulkConfig=TBXContext.GeefBulkConfigOpties(KLNr) Set lbAllowVPK=$S($LG(lbBulkConfig,1)'?1(1"",1"S"):$LB("S")_$$PiecesToList^vhLib($LG(lbBulkConfig,1),";"), 1:"") ; _$LB("O","C","A","B","P","X","Y","Z") ; Indien alleen Stukverpakking, dan leeg, anders $LB("S")_$LB(...) Set MinimaleBestelhoeveelheidProBox=TBXContext.GeefMinimaleBestelhoeveelheid("X",KLNr) ; Later uit te breiden, wanneer verschillende verpakking een verschillend minimum hebben. // BL voor Defaults Set blTBoxDfl=##class(cspBasis.GAProdDfls).Instantiate() Do blTBoxDfl.Init(KLNr,TBXContext.GeefDomeinVerwerker(),DCM,Taal,lbAllowVPK) Do blTBoxDfl.BuildMatenDefaultsJS() ;Set sc=blTBoxDfl.ErrorStatus Do blTBoxDfl.BuildKleurDefaultsJS("*") ;Set sc=blTBoxDfl.ErrorStatus Do:DCM="I" blTBoxDfl.BuildInschfElmntJS() Do ophInschfElmntInfo(wsIDFrom) ; ; blnNewFromOrd --> wsIDFrom i.p.v. wsID // Log entry Do ophAddToLog Quit 1 ophGetUserType(KLNr,Domain,Verw,Mode) ;d WL^vhDBG("KLNr"_KLNr_" Mode="_Mode_" wsID="_wsID_" Verw="_Verw_" Domain="_Domain) Quit:(Mode="A") $S(TBXContext.AlleenToegangZonderLogin():$$$utKlantAnonWP, TBXContext.IsKlantIDIngevuld(KLNr):$$$utKlantKnown, 1:$$$utKlantAnon) Quit:(Mode="W") $$ophGetVERWType(Domain,Verw) Quit:(Mode="P") $$$utKlantAnon ; Temporary: fixed value ;Else Quit $$$utKlantAnon ; UserType unknown ==> default user ophGetVERWType(Domain,Verw) Quit:($G(Domain)="")||($G(Verw)="") $$$utKlantAnon Quit $G(luTBX(Domain,"UserType",Verw), $$$utKlantAnon) ; Get from local; if not defined then Anonymous ophCheckFromWSOrd(FromOrdID,MatchKLNr) Quit:(FromOrdID="")||('$IsValidNum(FromOrdID)) 0 New WSOrd,OrdDomVERW,OrdKLNr Set WSOrd=##class(WS.TBX.Order).%OpenId(FromOrdID) Quit:('$IsObject(WSOrd)) 0 Set OrdDomVERW=$LG(##class(WS.TBX.Order).DomainLookUp($$TBXDomainCVT^cspBasis.Library(WSOrd.WebDomain),$LB("VERW")),1) Quit:(OrdDomVERW'=TBXContext.GeefDomeinVerwerker()) 0 ; Onbekend of foutief domein Quit (TBXContext.IsKlantIDIngevuld(WSOrd.KLNummer))&&(WSOrd.KLNummer=MatchKLNr) ophInschfElmntInfo(wsID) // bepalen of InschuifElement reeds gekozen is kan adhv bestaand order. New WSOrd,WSLn,MatID Set WSOrd=##class(WS.TBX.Order).%OpenId(wsID) Quit:'$IsObject(WSOrd) Set WSLn=WSOrd.Lijnen.GetNext("") Set blnInschfElmnt = 0 If DCM="I" Do . Set blnInschfElmnt = ($L(wsID)>0) . Set arrInschElemnt("ID") = WSLn.ItemKV . Set arrInschElemnt("Oms") = ##class(Res.Vertaling).GetVertalingPlus("TBW","KLV_"_WSLn.ItemKV,"L",Taal,,1) . Set MatID = ##class(Prod.GAMeta.BT.TBVulstukKleur).MateriaalViaID(WSLn.ItemKV) . Set arrInschElemnt("MatID") = MatID . Set arrInschElemnt("MatOms") = $ZCVT(##class(Res.Vertaling).GetVertalingPlus("TBW","VSMat_"_MatID,"L",Taal,,1),"U") Quit ophGetPriceAvail(wsID) Quit:($G(wsID)="") 0 New WSOrd,blnPrice,i,WSLn Set WSOrd=##class(WS.TBX.Order).%OpenId(wsID) Quit:('WSOrd) 0 Set blnPrice=0 Set i="" For Set WSLn=WSOrd.Lijnen.GetNext(.i) Quit:(i="")||(blnPrice) Do . Set:(+WSLn.KostPrijs>0) blnPrice=1 Quit blnPrice ophGetBonType(wsID) New sBonType Quit:($G(wsID)="") "" Set sBonType="" &SQL(SELECT BonType into :sBonType FROM WS_TBX.WebOrder WHERE ID=:wsID) Quit sBonType ophAddToLog Do ##class(cspBasis.GAProdTBox).AddToLog($S((sMode="A")&&(wsID'>0):$S($G(blnNewFromOrd):"WIZARD_COPY",1:"WIZARD_NEW"), 1:"WIZARD_OPEN"),TBXContext.GeefHttpRequestDomein(),KLNr,sMode_$S(DCM'?1(1"S",1""):" - "_DCM,1:""),wsID,VERW,Taal,"") Quit