# Settings for p123maps plugin.tx_p123maps_pi1 { javascriptStdWrap { append = TEMPLATE append { template = FILE template.file = EXT:p123bookedlocations/res/javascript.js workOnSubpart = tx_p123maps_pi1 marks.LOCATIONS = TEXT marks.LOCATIONS { preUserFunc = tx_p123bookedlocations_pi->main preUserFunc.getLocations = 1 preUserFunc.filter = ',{register:tx_p123_pi[{$plugin.tx_p123_pi.sesName}][Termine]},' LIKE CONCAT('%,',year,'|',LPAD(period,2,'0'),',%') preUserFunc.filter.if.isFalse.data = register:tx_p123_pi[{$plugin.tx_p123_pi.sesName}][Filter] preUserFunc.filter.insertData = 1 preUserFunc.dontWrapInBaseClass = 1 } } } sql.fields.postCObject = TEXT sql.fields.postCObject { preUserFunc = tx_p123bookedlocations_pi->main preUserFunc.getLocations = 1 preUserFunc.filter = ',{register:tx_p123_pi[{$plugin.tx_p123_pi.sesName}][Termine]},' LIKE CONCAT('%,',year,'|',LPAD(period,2,'0'),',%') preUserFunc.filter.if.isFalse.data = register:tx_p123_pi[{$plugin.tx_p123_pi.sesName}][Filter] preUserFunc.filter.insertData = 1 preUserFunc.dontWrapInBaseClass = 1 ifEmpty = :: split { token = , cObjNum = 1 |*| 1 |*| 2 1 = TEXT 1.current = 1 1.split { token = : cObjNum = 1 |*| 2 |*| 3 1 = TEXT 1.current = 1 1.wrap = IF(CONCAT_WS('#',LPAD(Paechter,4,'0'),StoNr,StoV,LPAD(OrtNr,8,'0'),Typ)='|' 2 = TEXT 2.current = 1 2.ifEmpty.data = date:Y 2.append = LOAD_REGISTER 2.append { currentYear.current = 1 currentYear.ifEmpty.data = date:Y } 2.noTrimWrap = | AND GJ='|'| 3 = TEXT 3.setCurrent { current = 1 ifEmpty = 53 intval = 1 } 3.current = 1 3.ifEmpty = 53 3.stdWrap.intval = 1 3.stdWrap.wrap = 00| 3.substring = -2,2 3.noTrimWrap = | AND ',{register:tx_p123_pi[{$plugin.tx_p123_pi.sesName}][Termine]},' LIKE '%,{register:currentYear}_|,%'| 3.dataWrap = |,IF(ZR{current:1}='-1',2,1),0) 3.insertData = 1 } 1.wrap = |, 2 < .1 2.wrap = | } wrap = ,(GREATEST(0,|)) AS GEBUCHT } dataLocation { GEBUCHT.intval = 1 #GEBUCHT.if.directReturn = 0 Typ.override.cObject = CASE Typ.override.cObject { 1 = TEXT 1.value = RS 2 = TEXT 2.value = BK key.field = GEBUCHT } } periodsAdditionalQuery { preUserFunc = tx_p123bookedlocations_pi->main preUserFunc.getLocations = 1 ifEmpty = :: } periodsAdditionalQuery.split < .sql.fields.postCObject.split periodsAdditionalQuery.split { 1.split.1.wrap = CONCAT_WS('#',LPAD(Paechter,4,'0'),StoNr,StoV,LPAD(OrtNr,8,'0'),Typ)='|' 1.split.3 > 1.wrap > 1.noTrimWrap = |(|) OR | 2.split.1.wrap < .1.split.1.wrap 2.split.3 > 2.wrap = (|) } } # Settings for p123search plugin.tx_p123search_pi3 { javascriptStdWrap { append = TEMPLATE append { template = FILE template.file = EXT:p123bookedlocations/res/javascript.js workOnSubpart = tx_p123search_pi3 marks.LOCATIONS = TEXT marks.LOCATIONS { preUserFunc = tx_p123bookedlocations_pi->main preUserFunc.getLocations = 1 preUserFunc.filter = ',{register:tx_p123_pi[{$plugin.tx_p123_pi.sesName}][Termine]},' LIKE CONCAT('%,',year,'|',LPAD(period,2,'0'),',%') AND location LIKE '%#{current:1}#%' preUserFunc.filter.setCurrent { data = register:tx_p123_pi[{$plugin.tx_p123_pi.sesName}][OrtNr] stdWrap.intval = 1 stdWrap.wrap = 00000000| substring = -8,8 } preUserFunc.filter.if.isFalse.data = register:tx_p123_pi[{$plugin.tx_p123_pi.sesName}][Filter] preUserFunc.filter.insertData = 1 preUserFunc.dontWrapInBaseClass = 1 } } } } # Settings for p123checkout plugin.tx_p123checkout_pi4 { xmlOptions.storeXML { override.preUserFunc = tx_p123bookedlocations_pi->main override.preUserFunc.sql.fields = *,LPAD(Paechter,4,'0') AS Paechter,LPAD(OrtNr,8,'0') AS OrtNr override.preUserFunc.storeLocations = 1 } }