# Configuration for the plugin "stroeermaps_pi1" plugin.tx_stroeermaps_pi1 { tableName = {$plugin.tx_stroeermaps_pi1.tableName} templateFile = EXT:stroeermaps/res/template.htm javascriptFile = EXT:stroeermaps/res/dynamic.js moveJsFromHeaderToFooter = 1 enableMedia = 1 enableSearch = 1 enableCampagne = 1 entriesPerPage = 250 disablePeriods = 1 priceEnabled = {$plugin.tx_p123_pi.allowedPriceMedia} require = OrtNr requireLink = {$plugin.tx_p123_pi.pageStart} requireLink { setContentToCurrent = 1 if.value = $plugin.tx_p123_pi.pageStart if.value.wrap = {|} if.equals.current = 1 if.negate = 1 } sql { fields = CONCAT_WS(':',OrtNr,Paechter,StoNr,Typ) AS uid,SDAW,StoID,GJ,LPAD(Paechter,4,'0') AS Paechter,StoNr,StoV,LPAD(OrtNr,8,'0') AS OrtNr,Ortname,PLZ,Anschlagart,Belegung,Preis,Ortsteil,Standort,FotoName,Typ,Netz,UTMBA,UTMLA fields { wrap2 = #,Dauerwerbung wrap2.if.isTrue = {$plugin.tx_p123_pi.disableSpare} wrap2.if.isTrue.if.isTrue = {$plugin.tx_p123_pi.enablePermanent} wrap2.splitChar = # append = TEXT append { data = register:tx_p123_pi[{$plugin.tx_p123_pi.sesName}][Termine] required = 1 split { token = , cObjNum = 1 1.setCurrent { current = 1 listNum = 1 listNum.splitChar = | intval = 1 append = LOAD_REGISTER append.periodYear { current = 1 substring = 0,4 } prepend = LOAD_REGISTER prepend.periodHash { current = 1 stdWrap.listNum = 1 stdWrap.listNum.splitChar = | stdWrap.intval = 1 stdWrap.wrap = 00| substring = -2, wrap = '{register:tx_p123_pi[session][sid]}','{$plugin.tx_p123_pi.portal}','{$plugin.tx_p123_pi.sesName}',StoID,'#',GJ,'{global:TYPO3_CONF_VARS|SYS|encryptionKey}' wrap.splitChar = # insertData = 1 } } 1.current = 1 1.required = 1 1.wrap = ,CONCAT('"{current:1}":[',IF(ZR{current:1} IS NULL,'-1',#),',{register:periodYear}',',"',CAST(MD5(CONCAT_WS('|',{register:periodHash})) AS CHAR(10)),'"]') #1.wrap = ,CONCAT('"{current:1}":[',IF(ZR{current:1} IS NULL,'-1',ZR#),',{register:periodYear}',',"',CAST(MD5(CONCAT_WS('|',{register:periodHash})) AS CHAR(10)),'"]') 1.wrap.splitChar = # 1.insertData = 1 } substring = 1, wrap = ,CONCAT('{',CONCAT_WS(',',|),'}') AS ZR } # Remove Dauerwerbung, Termine # wrap2 > append > } # 123_StoFZ = AND {$plugin.tx_stroeermaps_pi1.tableName}.Belegung IN('D A','D B','D C','W01','W02') 123_StoFZ > 123_StoFZ = AND {$plugin.tx_stroeermaps_pi1.tableName}.Paechter IN(252,368,400,485) 123_StoFZ { if.value = 1 if.equals.data = TSFE:fe_user|sesData|tx_p123_pi[map][hiddenButton] } join = LEFT JOIN {$plugin.tx_stroeermaps_pi1.tableName} USING(StoID) #convertFields = Ortname,Anschlagart,VMarkt,Ortsteil,Standort } sort = {$plugin.tx_stroeermaps_pi1.tableName}.Typ DESC # @TODO: Check directFunc = tx_p123qsearch_pi2->hook directFunc { funcName = main includeObj = query piVars { save = 1 direct = 1 city = city.data = GP:tx_p123search_pi3|city dates = dates.data = GP:tx_p123search_pi3|dates } } fitBounds = 1 fitBounds { if.isTrue.data = GP:tx_stroeermaps_pi1|fitBounds } fitFields = UTMBA,UTMLA dummy { periods { GJ = ZR = Belegung = Beginn = Ende = Tage = express = TEST = test } } dataLocation { Belegung { field = Belegung trim = 1 cObject = CASE cObject { key { field = Belegung substring = 0,1 case = upper } W = TEXT W.value = wochenweise D = TEXT D.value = dekadenweise M = TEXT M.value = monatsweise J = TEXT J.value = jahresweise } } FotoName { setContentToCurrent = 1 setCurrent { field = Paechter if.isTrue.current = 1 intval = 1 dataWrap = fileadmin/photos/{field:OrtNr}/|/{current:1}.jpg } current = 1 required = 1 dataWrap = {TSFE:absRefPrefix}| } Preis { # preUserFunc = tx_p123search_pi3->hook_money_format # outerWrap = | # outerWrap { # if.isTrue.cObject = hook_money_format # } # } } PreisFormatted { preUserFunc = tx_p123search_pi3->hook_money_format } totalPreis { preUserFunc = tx_p123search_pi3->hook_money_format } } searchFilter { 10.label.lang.de = Einzeln buchbar 10.key = BH,RI,CI,GZ,GF,GVS,PVGI,PVGO,US,VKM 20.label.lang.de = Im Netz buchbar 20.key = AL,VI,VIP,PVR,GVN,PVC,PVT,PVI,PVM,PVS 30.label.lang.de = Out-of-Home klassisch 30.key = AL,BH,CI,GZ,GF,US,VKM 30.class = toggle 40.label.lang.de = Premium Out-of-Home 40.key = RI,VI,VIP,GVN,GVS 40.class = toggle 50.label.lang.de = Digital Out-of-Home 50.key = PVR,PVC,PVT,PVI,PVM,PVS,PVGI,PVGO 50.class = toggle 60.label.lang.de = Indoor 60.key = BH,PVI,PVM,PVS,PVGI 70.label.lang.de = Outdoor 70.key = CI,VI,GZ,VIP,GF,PVR,AL,GVS,GVN,PVC,PVT,PVR,PVGO,VKM } # Following search fields, overrides are ignored # searchFields = Typ searchOverride { value { override.cObject = COA override.cObject { 10 = TEXT 10 { current = 1 stdWrap.substring = 4, if.value = typ: if.equals.current = 1 if.equals.case = lower if.equals.substring = 0,4 split.token = , split.wrap = '|', |*| '|', |*| '|' wrap = *| IN(_)|* wrap.splitChar = _ } } } fields { override.cObject = COA override.cObject { 10 = TEXT 10 { value = {$plugin.tx_stroeermaps_pi1.tableName}.Typ if.value = typ: if.equals.current = 1 if.equals.case = lower if.equals.substring = 0,4 } } } } # @TODO: Check formular < plugin.tx_p123search_pi3.formular formular.type.typolink.additionalParams { data = GP:tx_stroeermaps_pi1|filter wrap = &tx_stroeermaps_pi1[filter]=| } marks { #API_URL = //maps.googleapis.com/maps/api/js?v=3&key=###MAP_key###&loading=async®ion=###MAP_region###&callback=###MAP_callback### #API_URL = //maps.googleapis.com/maps/api/js?v=3&key=###MAP_key###®ion=###MAP_region###&callback=###MAP_callback###&libraries=marker #Alphatest Kanal #API_URL = //maps.googleapis.com/maps/api/js?v=alpha&key=###MAP_key###&loading=async®ion=###MAP_region###&callback=###MAP_callback#### #Beta Kanal API_URL = //maps.googleapis.com/maps/api/js?v=beta&key=###MAP_key###®ion=###MAP_region###&callback=###MAP_callback###&libraries=marker # Köln # API_ZOOM = 15 API_LAT = 50.9412818 API_LNG = 6.937682 # DE TOTAL # # API_ZOOM = 7 # API_LAT = 51.1495822 # API_LNG = 7.8162874 API_ICON = IMG_RESOURCE API_ICON { file = EXT:stroeermaps/res/media-icons.png stdWrap.dataWrap = {TSFE:baseUrl // TSFE:absRefPrefix}|?201610181734 } # Value is list of: "Typ|width:height|offsetX:offsetY|scale" #API_ICON_LIST = GF|29:21|0:0, BH|29:21|0:33, VIP|22:21|0:245, SP|42:29|0:47|0:368, PVR|22:21|0:129, GZ|10:21|0:276, GVS|22:21|0:368, PF|47:28|0:230|222:368, VX|13:21|0:552, CS|22:21|0:368, SOS4|10:21|0:644, VI|29:21|0:181, VKM|42:34|0:569 #API_ICON_LACT = GF|29:21|0:0, BH|29:21|0:33, VIP|22:21|0:245, SP|42:29|0:47|0:368, PVR|22:21|0:129, GZ|10:21|0:276, GVS|22:21|0:368, PF|47:28|0:230|222:368, VX|13:21|0:552, CS|22:21|0:368, SOS4|10:21|0:644, VI|29:21|0:181, VKM|42:34|0:569 API_ICON_LIST = GF|29:21|0:0, CI|22:21|0:368, BH|29:21|0:33, VIP|22:21|0:245, PVC|29:21|0:515,AL|29:21|0:300,RI|29:21|0:67,GVN|29:21|0:158,PVT|29:21|0:489,US|29:21|0:220,PVGI|29:21|0:393,PVGO|29:21|0:393,PVI|29:21|0:414,PVM|29:21|0:436,PVS|29:21|0:464,VKM|42:44|0:594, SP|42:29|0:47|0:368, PVR|22:21|0:543, GZ|10:21|0:276, GVS|22:21|0:368, PF|47:28|0:230|222:368, VX|13:21|0:552, CS|22:21|0:368, SOS4|10:21|0:644, VI|29:21|0:181 API_ICON_LACT = GF|29:21|0:0, CI|22:21|0:368, BH|29:21|0:33, VIP|22:21|0:245, PVC|29:21|0:515,AL|29:21|0:300,RI|29:21|0:67,GVN|29:21|0:158,PVT|29:21|0:489,US|29:21|0:220,PVGI|29:21|0:393,PVGO|29:21|0:393,PVI|29:21|0:414,PVM|29:21|0:436,PVS|29:21|0:464,VKM|42:44|0:594, SP|42:29|0:47|0:368, PVR|22:21|0:543, GZ|10:21|0:276, GVS|22:21|0:368, PF|47:28|0:230|222:368, VX|13:21|0:552, CS|22:21|0:368, SOS4|10:21|0:644, VI|29:21|0:181 API_POI_ICON = IMG_RESOURCE API_POI_ICON { file = EXT:stroeermaps/res/poi-icon.png stdWrap.dataWrap = {TSFE:baseUrl // TSFE:absRefPrefix}|?201304291032 } MAP_key = AIzaSyBR-dBohgnyQhbsM3ge_zdrwjCpwazPd4A MAP_region = DE MAP_callback = tx_stroeermaps_pi1.initMap MAP_HEIGHT = 100% AJAX_url = TEXT AJAX_url { typolink.parameter.data = TSFE:id typolink.parameter.wrap = |,199 typolink.returnLast = url } AJAX_check = TEXT AJAX_check { typolink.parameter = {$plugin.tx_p123_pi.pageLocations} typolink.parameter.ifEmpty.data = TSFE:id typolink.parameter.wrap = |,124 typolink.returnLast = url } AJAX_ADD_TO_BASKET = TEXT AJAX_ADD_TO_BASKET { typolink.parameter = {$plugin.tx_p123_pi.pageLocations} typolink.parameter.ifEmpty.data = TSFE:id typolink.parameter.wrap = |,122 typolink.returnLast = url } ICON = FILTER = TEXT FILTER { value = 0 override = 1 override.if.isTrue.data = GP:tx_stroeermaps_pi1|filter } SHOW_HELP = TEXT SHOW_HELP { value = 1 } START_FULLSCREEN = TEXT START_FULLSCREEN { value = 1 } COOKIE_PATH = TEXT COOKIE_PATH { data = getIndpEnv:TYPO3_SITE_PATH } LOGO_SELECTOR = TEXT LOGO_SELECTOR { value = #header-logo } HOTLINE_SELECTOR = TEXT HOTLINE_SELECTOR { value = #header-hotline } BASKET_SELECTOR = TEXT BASKET_SELECTOR { value = #tx-stroeermaps-pi1-basket } PERMANENT_URL = TEXT PERMANENT_URL { typolink.parameter = {$plugin.tx_p123_pi.pageLocations} typolink.parameter.wrap = |,122 typolink.returnLast = url } CAMPAGNE_URL = TEXT CAMPAGNE_URL { typolink.parameter.data = TSFE:id typolink.parameter.wrap = |,198 typolink.returnLast = url } } newConfiguration = 1 data { lat.data = register:tx_p123_pi[{$plugin.tx_p123_pi.sesName}][map][lat] lng.data = register:tx_p123_pi[{$plugin.tx_p123_pi.sesName}][map][lng] zoom.data = register:tx_p123_pi[{$plugin.tx_p123_pi.sesName}][map][zoom] locs { preUserFunc = tx_stroeermaps_pi1->hook preUserFunc { includeObj = basketDB,basket,conf funcName = basket_find dontIncludeSetup = 1 rKey = pos ext = stroeermaps } stdWrap.split { token = , cObjNum = 1 1.cObject = COA 1.cObject { 10 = TEXT 10 { current = 1 listNum = 0 listNum.splitChar = | stdWrap.substring = 8, required = 1 wrap = "StoID":"|", } 20 < .10 20 { listNum = 1 stdWrap.substring > wrap = "GJ":"|", } 30 < .10 30 { listNum = 2 stdWrap.substring > wrap = "ZR":"|", } 40 = TEXT 40 { cObject = LOAD_REGISTER cObject { locationID.current = 1 locationID.listNum = 0 locationID.listNum.splitChar = | locationID.stdWrap.substring = 8, } preUserFunc = tx_stroeermaps_pi1->hook preUserFunc { includeObj = db,sid,sqlWhere,portal,hash,sesName,motifDB,basketDB,query,basket,conf,media,mediaHash,periodData funcName = getLocationPrice dontIncludeSetup = 1 tableName = {$plugin.tx_stroeermaps_pi1.tableName} sql { fields = CONCAT(LPAD({$plugin.tx_stroeermaps_pi1.tableName}.OrtNr,8,'0'),StoID,'|*') AS pos,CONCAT_WS(':',{$plugin.tx_stroeermaps_pi1.tableName}.OrtNr,{$plugin.tx_stroeermaps_pi1.tableName}.Paechter,{$plugin.tx_stroeermaps_pi1.tableName}.StoNr,{$plugin.tx_stroeermaps_pi1.tableName}.Typ) AS uid join = ,(SELECT OrtNr,Paechter,StoNr,Typ FROM {$plugin.tx_stroeermaps_pi1.tableName} WHERE StoID='{register:locationID}' LIMIT 1) AS temp join.insertData = 1 addWhere = {$plugin.tx_stroeermaps_pi1.tableName}.OrtNr=temp.OrtNr AND {$plugin.tx_stroeermaps_pi1.tableName}.Paechter=temp.Paechter AND {$plugin.tx_stroeermaps_pi1.tableName}.StoNr=temp.StoNr AND {$plugin.tx_stroeermaps_pi1.tableName}.Typ=temp.Typ } if.isTrue.data = register:locationID templateStdWrap.override = ###DATA_expressPrice######DATA_price### data { price.preUserFunc = tx_stroeermaps_pi1->hook_money_format expressPrice { setContentToCurrent = 1 if.isTrue.current = 1 preUserFunc = tx_stroeermaps_pi1->hook_money_format noTrimWrap = |*###LL_expressHint### (|) | } uid { setContentToCurrent = 1 cObject = LOAD_REGISTER cObject.locationUID.current = 1 } } dontWrapInBaseClass = 1 } dataWrap = "Preis":"|","uid":"{register:locationUID}", } } 1.stdWrap.substring = 0,-1 1.required = 1 1.wrap = {|}, } stdWrap.substring = 0,-1 required = 1 wrap = [|] } } basket { setContentToCurrent = 1 case = upper typolink { parameter = {$plugin.tx_p123_pi.pageBasket} ATagBeforeWrap = 1 wrap = Merkzettel (|) ATagParams = class="csc-mailform-submit" } } # @TODO: Check locallang < plugin.tx_p123search_pi3.locallang locallang { datenschutz { #wrap = | typolink.parameter = datenschutz } agb { #typolink.parameter = agb typolink.parameter = https://www.stroeer.de/agb/ typolink.extTarget = _blank } impressum { typolink.parameter = impressum } cookies { wrap = | } errorSaving { lang.de = Fehler beim Speichern } headline { # override.field < .field # field > dataWrap = |{register:Ortname} } buttonFilter { wrap = | } buttonBooked { typolink > innerWrap = | append { innerWrap = | } } # buttonCityShow > locationPPS.wrap > locationDetails { noTrimWrap = | class="toggle" onclick="return tx_stroeermaps_pi1.showWindowDetails(this, ${zIndex});">|| dataWrap = |###LL_lockPoliticsDesc### typolink.parameter = 204#299 typolink.parameter.noTrimWrap = || 550x350:jquery_lightbox=ajax tooltip| } changeView { typolink.parameter = {$plugin.tx_p123_pi.pageLocations} } addressButton { override = } budgetButton < .addressButton searchHint { trim = 1 brTag =
} searchButton.override = poiButton.override = loading.wrap = | fullScreen.wrap =
| legendHelp { if.isTrue.cObject = | } noImage.wrap = | permanentHeader.wrap =

|

mediaStandort { htmlSpecialChars = 1 innerWrap.if.isFalse.data = register:tx_p123_pi[{$plugin.tx_p123_pi.sesName}][Filter] innerWrap = | } mediaStandortAll { setCurrent.data = register:Ortname setCurrent.listNum = 0 setCurrent.listNum.splitChar = , htmlSpecialChars = 1 innerWrap = | innerWrap.if.isTrue.data = register:tx_p123_pi[{$plugin.tx_p123_pi.sesName}][Filter] insertData = 1 } mediaButton { insertData = 1 innerWrap = | } } perimeters = 0.5,1,2,5,10,20 campagne { # maxPeriods = 3 maxRounds = 3 sort = StoID ASC # minimum = 250 # tolerance = 0 distance { 1 = 100 2 = 50 3 = 25 } } } # Configuration for cacheable javascript page.jsFooterInline.199 = COA page.jsFooterInline.199 { 10 = FILE 10 { file = EXT:stroeermaps/res/jquery.tmpl.js stdWrap.append = TEXT stdWrap.append.char = 10 } 20 = FILE 20 { file = EXT:stroeermaps/res/jquery.nouislider.js stdWrap.append = TEXT stdWrap.append.char = 10 } 30 = USER 30 { includeLibs = EXT:stroeermaps/pi1/class.tx_stroeermaps_pi1.php userFunc = tx_stroeermaps_pi1->cachable templateFile = EXT:stroeermaps/res/javascript.js tableName = {$plugin.tx_stroeermaps_pi1.tableName} marks < plugin.tx_stroeermaps_pi1.marks data < plugin.tx_stroeermaps_pi1.data locallang < plugin.tx_stroeermaps_pi1.locallang sql < plugin.tx_stroeermaps_pi1.sql dontWrapInBaseClass = 1 disablePeriods = 1 enableMedia = 1 enableSearch = 1 enableCampagne = 0 entriesPerPage = 500 } } # Configuration for the page "stroeermaps_pi1->json" stroeermaps_pi1 = PAGE stroeermaps_pi1 { typeNum = 199 config { disableAllHeaderCode = 1 disableCharsetHeader = 1 xhtml_cleaning = 0 no_cache = 1 } 10 = json entriesPerPage = 500 } } # Configuration for the page "p123search_pi3->campagne" stroeermaps_pi2 = PAGE stroeermaps_pi2 { typeNum = 198 config { disableAllHeaderCode = 1 disableCharsetHeader = 1 xhtml_cleaning = 1 no_cache = 1 } 10 =< plugin.tx_stroeermaps_pi1 10.userFunc = tx_stroeermaps_pi1->campagne 10.sort = Distance # 10.campagne < plugin.tx_stroeermaps_pi1.campagne # 10.data < plugin.tx_stroeermaps_pi1.data } page { includeCSS { stroeermaps_pi1 = EXT:stroeermaps/res/stroeermaps.css } }