# 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
}
}