# Configuration for the plugin "mediaplaner_pi" plugin.tx_mediaplaner_pi { debug = # Define the pid where to store the session sesPid = 0 # expiration time in seconds (e.g 2 months: 2 * 30 days: 2 * 30 * 24 * 60 * 60 = 5184000) cacheExpires = 5184000 # Define default formular actions formular { type.typolink.parameter.data = TSFE:id type.typolink.additionalParams.data = GP:redirectUrl type.typolink.additionalParams.if.isTrue.data = GP:redirectUrl type.typolink.additionalParams.rawUrlEncode = 1 type.typolink.additionalParams.wrap = &redirectUrl=| type.typolink.returnLast = url } # Define the modes to display mode = advice,expert mode { advice.label.lang.de = Beratungsmodus advice.desc.lang.de = In 6 Schritten durchs Planungstool zur fertigen Außenwerbekampagne expert.label.lang.de = Expertenmodus expert.desc.lang.de = Mit Eingrffsmöglichkeiten in Planungsvorgaben } # Define the media for expert mode media = GF,GV,SP,PF,GZ,VI media { GF.label { lang.de = Großflächen } GV.label { lang.de = Mega-Light Netz } PF.label { lang.de = BigSeven 36/1 } SP.label { lang.de = Superposter 40/1 } GZ.label { lang.de = Ganzsäulen } VI.label { lang.de = City-Light-Poster Netz } } # Define the quote for expert mode quote = GF quote { GF { 1.expert.dataWrap = ###LL_planingQuote### 1:2000 1.value = 2000 2.expert.dataWrap = ###LL_planingQuote### 1:3000 2.value = 3000 2.default = 1 3.expert.dataWrap = ###LL_planingQuote### 1:4000 3.value = 4000 4.expert.dataWrap = ###LL_planingQuote### 1:5000 4.value = 5000 } PF { 1.expert.dataWrap = ###LL_planingQuote### 1:2000 1.value = 2000 2.expert.dataWrap = ###LL_planingQuote### 1:3000 2.value = 3000 2.default = 1 3.expert.dataWrap = ###LL_planingQuote### 1:4000 3.value = 4000 4.expert.dataWrap = ###LL_planingQuote### 1:5000 4.value = 5000 } GZ { 1.expert.dataWrap = ###LL_planingQuote### 1:8000 1.value = 8000 2.expert.dataWrap = ###LL_planingQuote### 1:10000 2.value = 10000 2.default = 1 3.expert.dataWrap = ###LL_planingQuote### 1:12000 3.value = 12000 } } # Define campaigns for advice mode # Configuration of campaigns ###### # 1 { # name = name or locallang marker # desc = description or locallang marker # typ = "normal" or "netz" # exklusive = 0 oder 1 (exklusive campaigns could not be combined with other campaigns) # qualifaktor = qualityfactor (only if typ=normal) # netzfaktor = qualityfactor (only if typ=netz) # quote = e.g. 2000 (=1:2000, one billboard for each 2000 citizens) # bild = # netztyp = citylight and/or megalight (comma separated) # } kampagne { 1 { name = ###LL_quote3000### label.lang.de = Werbepaket Basis High desc = ###LL_quote3000desc### desc.lang.de = Image-Werbung:
wiederholt und mit starkem Werbedruck das Image stärken exklusive = 1 media = GF|3500|1.11 image = Reminder Werbung:
Einzel- und Zwischenaktionen mit gutem Werbedruck ("Grundrauschen"), um in Erinnerung zu bleiben exklusive = 1 media = GF|5000|1.13 image = Neueinführungen:
schnell und mit maximalem Werbedruck bekannt werden exklusive = 1 media = GF|2000|1.1 image = Aktions-Werbung:
schnell und mit sehr starkem Werbedruck bekannt werden exklusive = 1 media = GF|2750|1.05 image = {field:desc} outerwrap =
|
} data { mode.data = register:tx_mediaplaner_pi[mode] } stdWrap_EXT { split { token.char = 10 cObjNum = 1 1 = TEXT 1.current = 1 1.trim = 1 } preCObject = COA preCObject.10 = TEXT preCObject.10 { data = LLL:EXT:mediaplaner/pi1/locallang.xml:save if.isFalse.data = TSFE:page|layout typolink.parameter.data = TSFE:id typolink.parameter.noTrimWrap = || - csc-mailform-submit| typolink.ATagParams = tx_mediaplaner_pi1.submit(); typolink.ATagParams.noTrimWrap = |onclick="| return false;"| wrap =
|
} preCObject.20 =< tt_content.header.20 preCObject.30 =< tt_content.text.20 postCObject < .preCObject.10 postCObject.wrap =
|
} _CSS_DEFAULT_STYLE ( .tx-mediaplaner-pi1 fieldset.csc-mailform{display:flex;flex-direction:column;align-items:center;margin-top:1em}.tx-mediaplaner-pi1-item{background:var(--gradient-yellow-background);background:-moz-linear-gradient(330deg,var(--gradient-yellow-background) 0%,var(--gradient-yellow-background) 49%,var(--gradient-yellow-background-to) 50%,var(--gradient-yellow-background-to) 100%);background:-webkit-linear-gradient(330deg,var(--gradient-yellow-background) 0%,var(--gradient-yellow-background) 49%,var(--gradient-yellow-background-to) 50%,var(--gradient-yellow-background-to) 100%);background:-o-linear-gradient(330deg,var(--gradient-yellow-background) 0%,var(--gradient-yellow-background) 49%,var(--gradient-yellow-background-to) 50%,var(--gradient-yellow-background-to) 100%);background:-ms-linear-gradient(330deg,var(--gradient-yellow-background) 0%,var(--gradient-yellow-background) 49%,var(--gradient-yellow-background-to) 50%,var(--gradient-yellow-background-to) 100%);background:linear-gradient(330deg,var(--gradient-yellow-background) 0%,var(--gradient-yellow-background) 49%,var(--gradient-yellow-background-to) 50%,var(--gradient-yellow-background-to) 100%);width:70%;margin-bottom:1em;text-align:center;padding:.7em;color:#fff}.tx-mediaplaner-pi1-item:last-of-type{margin-bottom:0}.tx-mediaplaner-pi1-item img{cursor:pointer}@media only screen and (min-width:40.5em){.tx-mediaplaner-pi1 .clear-left{display:none}.tx-mediaplaner-pi1 fieldset.csc-mailform{flex-direction:row;justify-content:space-around;max-width:100%;padding:1em}.tx-mediaplaner-pi1-item{width:45%}}@media only screen and (min-width:48em){.tx-mediaplaner-pi1 fieldset.csc-mailform{flex-direction:row;justify-content:space-around;padding:0;margin:0 auto;max-width:46em}.tx-mediaplaner-pi1-item{width:calc((46em/2) - 10%)}}@media only screen and (min-width:74em){.tx-mediaplaner-pi1 fieldset.csc-mailform{margin:0}} ) } # Configuration for the plugin "mediaplaner_pi2" plugin.tx_mediaplaner_pi2 { templateFile = EXT:mediaplaner/res/pi2/template.htm javascriptFile = EXT:mediaplaner/res/pi2/javascript.js prevPage = 3 nextPage = 5 marks { AJAX_URL = TEXT AJAX_URL.typolink.parameter.data = TSFE:id AJAX_URL.typolink.parameter.wrap = |,456 AJAX_URL.typolink.returnLast = url } formular { error { stdWrap.wrap = | parseFunc = | desc.lang.de = Suche nach Städte- und Gemeindenamen desc.wrap =

|

count = 0 placeholder.lang.de = PLZ oder Ort eingeben ajax = ajax ajax.noTrimWrap = | class="|"| extra = 3 extra.noTrimWrap = | min="|"| DB { __preventParser = 1 SELECT = OrtNr as value,CONCAT_WS(' ', PLZ, Ortname) AS name FROM = 123_Ort WHERE = 1 WHERE.override = Ortname LIKE '{current:1}%' OR PLZ LIKE '{current:1}%' WHERE.override { setCurrent.data = GP:tx_mediaplaner_pi2|city setCurrent.trim = 1 if.isTrue.current = 1 if.value = 456 if.equals.data = GP:type insertData = 1 } WHERE_SAVED = OrtNr IN({register:tx_mediaplaner_pi[region][city]}) WHERE_SAVED { if.isTrue.data = register:tx_mediaplaner_pi[region][city] insertData = 1 } GROUPBY = ORDERBY = Ortname ASC LIMIT = } results { __preventParser = 1 #value.csConv = iso-8859-1 #name.csConv = iso-8859-1 checked = checked checked.if.isTrue.data = register:tx_mediaplaner_pi[region][city] checked.if.value.data = register:tx_mediaplaner_pi[region][city] checked.if.isInList.field = value checked.noTrimWrap = | checked="|"| } } state { mode.substring = 0,-1 header.lang.de = Bundesländer header.wrap =

|

desc.lang.de = Suche nach Bundesländern desc.wrap =

|

count = 0 placeholder.lang.de = Bundesland eingeben DB { __preventParser = 1 SELECT = Land as value,Landname AS name FROM = 123_Bula WHERE = 1 WHERE.override = Landname LIKE '{current:1}%' WHERE.override { setCurrent.data = GP:tx_mediaplaner_pi2|state setCurrent.trim = 1 if.isTrue.current = 1 if.value = 456 if.equals.data = GP:type insertData = 1 } WHERE_SAVED = Land IN({register:tx_mediaplaner_pi[region][state]}) WHERE_SAVED { if.isTrue.data = register:tx_mediaplaner_pi[region][state] insertData = 1 } GROUPBY = ORDERBY = Landname ASC LIMIT = } results { __preventParser = 1 #value.csConv = iso-8859-1 #name.csConv = iso-8859-1 name.split { token = - cObjNum = 1 |*| 1 |*| 2 1 = TEXT 1.cObject = COA 1.cObject.10 = TEXT 1.cObject.10.current = 1 1.cObject.10.substring = 0,1 1.cObject.10.case = upper 1.cObject.20 = TEXT 1.cObject.20.current = 1 1.cObject.20.substring = 1, 1.cObject.20.case = lower 1.wrap = |- 2 < .1 2.wrap > } checked = checked checked.if.isTrue.data = register:tx_mediaplaner_pi[region][state] checked.if.value.data = register:tx_mediaplaner_pi[region][state] checked.if.isInList.field = value checked.noTrimWrap = | checked="|"| } } district { mode.substring = 0,-1 header.lang.de = Kreise & kreisfreie Städte header.wrap =

|

desc.lang.de = Suche nach Kreisen oder kreisfreien Städten desc.wrap =

|

count = 0 placeholder.lang.de = Kreis eingeben ajax = ajax ajax.noTrimWrap = | class="|"| extra = 2 extra.noTrimWrap = | min="|"| DB { __preventParser = 1 SELECT = KreisNr as value,Kreisname AS name FROM = 123_Kreis WHERE = 1 WHERE.override = Kreisname LIKE '{current:1}%' WHERE.override { setCurrent.data = GP:tx_mediaplaner_pi2|district setCurrent.trim = 1 if.isTrue.current = 1 if.value = 456 if.equals.data = GP:type insertData = 1 } WHERE_SAVED = KreisNr IN({register:tx_mediaplaner_pi[region][district]}) WHERE_SAVED { if.isTrue.data = register:tx_mediaplaner_pi[region][district] insertData = 1 } GROUPBY = ORDERBY = Kreisname ASC LIMIT = } results { __preventParser = 1 #value.csConv = iso-8859-1 #name.csConv = iso-8859-1 checked = checked checked.if.isTrue.data = register:tx_mediaplaner_pi[region][district] checked.if.value.data = register:tx_mediaplaner_pi[region][district] checked.if.isInList.field = value checked.noTrimWrap = | checked="|"| } } } citizens { state.wrap = LPAD(LPAD(OrtNr,8,'0'),2,'')=LPAD('|',2,'0') district.wrap = Kreis='|' } locallang { hint { setCurrent.cObject = CONTENT setCurrent.cObject { table = pages select { pidInList.data = fullRootline: 1,uid selectFields = uid,pid where = title LIKE 'kontakt%' OR title LIKE 'contact%' OR nav_title LIKE 'kontakt%' OR nav_title LIKE 'contact%' OR alias LIKE 'kontakt%' OR alias LIKE 'contact%' AND nav_hide='0' AND no_search='0' max = 1 } slide = 100 renderObj = TEXT renderObj.field = uid } stdWrap.insertData = 1 trim = 1 parseFunc = | } 20 = TEXT 20 { data = LLL:EXT:mediaplaner/pi3/locallang.xml:save typolink.parameter.data = TSFE:id typolink.parameter.noTrimWrap = || - csc-mailform-button| typolink.ATagParams = tx_mediaplaner_pi2.submit(); typolink.ATagParams.noTrimWrap = |onclick="| return false;"| wrap =
|
} wrap =
|
} postCObject = COA postCObject.10 < .preCObject.10 postCObject.10.wrap =
|
postCObject.20 < .preCObject.20 postCObject.20.wrap =
|
postCObject.wrap =
|
} _CSS_DEFAULT_STYLE ( .tx-mediaplaner-pi2-item-wrapper{margin-bottom:1em}.tx-mediaplaner-pi2-item.header p{font-weight:700}.tx-mediaplaner-pi2-item.search{position:relative;width:100%}.tx-mediaplaner-pi2-item input{width:100%}.tx-mediaplaner-pi2-item-results,.tx-mediaplaner-pi2-item-saved{display:none;width:100%;background:#fbfbfb;border:1px solid #dbdbdb;padding:.5em;box-sizing:border-box}.tx-mediaplaner-pi2-item-results{position:absolute;border-top-style:dotted;overflow:hidden;z-index:3}.tx-mediaplaner-pi2-item.search .results label,.tx-mediaplaner-pi2-item.search .toggle label{line-height:2em!important}.tx-mediaplaner-pi2-item-saved{position:relative;z-index:2} ) } # Configuration for the page "mediaplaner_pi2->ajax" mediaplaner_pi2 = PAGE mediaplaner_pi2 { typeNum = 456 config { disableAllHeaderCode = 1 xhtml_cleaning = 0 no_cache = 1 debug = 0 } 10 = ajax } # Configuration for the plugin "mediaplaner_pi3" plugin.tx_mediaplaner_pi3 { templateFile = EXT:mediaplaner/res/pi3/template.htm javascriptFile = EXT:mediaplaner/res/pi3/javascript.js prevPage = 2 nextPage = 4 kampagneimage = IMAGE kampagneimage { file.width = 150m # params = name="###MOUSEOVER###" rel="kampagne|###VALUE###|###EXKLUSIV###" emptyTitleHandling = {$styles.content.imgtext.emptyTitleHandling} } planing = quote media { image = IMAGE image { file = EXT:mediaplaner/res/pi3/media###TYPE###off.gif file.width = 125m # params = name="###MOUSEOVER###" rel="media|###ITEM###|0" emptyTitleHandling = removeAttr } } formular { error { stdWrap.wrap = | parseFunc = | headerBudget < .header headerLegend < .header headerCampagne_exklusive < .header desc { stdWrap.required = 1 stdWrap.wrap =

|

required = 1 parseFunc = | } } stdWrap_EXT { split { token.char = 10 cObjNum = 1 1 = TEXT 1.current = 1 1.trim = 1 } preCObject = COA preCObject { 10 = TEXT 10 { data = LLL:EXT:mediaplaner/pi3/locallang.xml:back typolink.parameter = {$plugin.tx_mediaplaner_pi.pages.2} typolink.parameter.noTrimWrap = || - csc-mailform-cancel| wrap =
|
} 20 = TEXT 20 { data = LLL:EXT:mediaplaner/pi3/locallang.xml:save typolink.parameter.data = TSFE:id typolink.parameter.noTrimWrap = || - csc-mailform-button| typolink.ATagParams = tx_mediaplaner_pi3.submit(); typolink.ATagParams.noTrimWrap = |onclick="| return false;"| wrap =
|
} wrap =
|
} postCObject = COA postCObject.10 < .preCObject.10 postCObject.10.wrap =
|
postCObject.20 < .preCObject.20 postCObject.20.wrap =
|
postCObject.wrap =
|
} _CSS_DEFAULT_STYLE ( .tx-mediaplaner-pi3 .clear-left{display:none}.tx-mediaplaner-pi3-desc b,.tx-mediaplaner-pi3-header{font-weight:700;margin-bottom:.5em;color:initial}.tx-mediaplaner-pi3 fieldset.csc-mailform{display:flex;flex-direction:column;flex-wrap:wrap;align-items:center;margin-top:1em;justify-content:space-around}.tx-mediaplaner-pi3-item{background:var(--gradient-yellow-background);background:-moz-linear-gradient(330deg,var(--gradient-yellow-background) 0%,var(--gradient-yellow-background) 49%,var(--gradient-yellow-background-to) 50%,var(--gradient-yellow-background-to) 100%);background:-webkit-linear-gradient(330deg,var(--gradient-yellow-background) 0%,var(--gradient-yellow-background) 49%,var(--gradient-yellow-background-to) 50%,var(--gradient-yellow-background-to) 100%);background:-o-linear-gradient(330deg,var(--gradient-yellow-background) 0%,var(--gradient-yellow-background) 49%,var(--gradient-yellow-background-to) 50%,var(--gradient-yellow-background-to) 100%);background:-ms-linear-gradient(330deg,var(--gradient-yellow-background) 0%,var(--gradient-yellow-background) 49%,var(--gradient-yellow-background-to) 50%,var(--gradient-yellow-background-to) 100%);background:linear-gradient(330deg,var(--gradient-yellow-background) 0%,var(--gradient-yellow-background) 49%,var(--gradient-yellow-background-to) 50%,var(--gradient-yellow-background-to) 100%);width:70%;margin-bottom:1em;text-align:center;padding:.7em;color:#fff}.tx-mediaplaner-pi3-item:last-of-type{margin-bottom:0}.tx-mediaplaner-pi3-item img{cursor:pointer}@media only screen and (min-width:40.5em){.tx-mediaplaner-pi3 fieldset.csc-mailform{flex-direction:row}.tx-mediaplaner-pi3-item{width:calc((100%/2) - 3em);min-height:17em}}@media only screen and (min-width:48em){.tx-mediaplaner-pi3 form{margin-top:2em}.tx-mediaplaner-pi3 fieldset.csc-mailform{padding:0;margin:0 auto}}@media only screen and (min-width:89em){.tx-mediaplaner-pi3 form{margin-top:3em}} ) } # Configuration for the plugin "mediaplaner_pi4" plugin.tx_mediaplaner_pi4 { templateFile = EXT:mediaplaner/res/pi4/template.htm javascriptFile = EXT:mediaplaner/res/pi4/javascript.js prevPage = 1 nextPage = 3 locallang { header { noTrimWrap = |

|

| } desc { stdWrap.required = 1 stdWrap.wrap =

|

required = 1 parseFunc = | parseFunc = | } 20 = TEXT 20 { data = LLL:EXT:mediaplaner/pi4/locallang.xml:save typolink.parameter.data = TSFE:id typolink.parameter.noTrimWrap = || - csc-mailform-button| typolink.ATagParams = tx_mediaplaner_pi4.submit(); typolink.ATagParams.noTrimWrap = |onclick="| return false;"| wrap =
|
} wrap =
|
} postCObject = COA postCObject.10 < .preCObject.10 postCObject.10.wrap =
|
postCObject.20 < .preCObject.20 postCObject.20.wrap =
|
postCObject.wrap =
|
} _CSS_DEFAULT_STYLE ( .tx-mediaplaner-pi4 .selectbox .select{width:100%;justify-content:space-around}.tx-mediaplaner-pi4 .selectbox .select a{flex-direction:column;width:calc((100% - 5px)/2);padding:1%;margin-top:5px;margin-right:5px;box-sizing:border-box;font-size:.75em;text-decoration:none!important;align-items:center}.tx-mediaplaner-pi4 .selectbox .select a:nth-of-type(2n){margin-right:0}.tx-mediaplaner-pi4 .selectbox .select a>div{width:100%;text-align:center}.tx-mediaplaner-pi4 .selectbox .select a div.basket{margin-bottom:.5em}.tx-mediaplaner-pi4 .selectbox .select a div.basket:before{position:relative;content:"";display:inline-block;font-family:FontAwesome;font-size:1.5em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscaled;padding:0 .185em;text-rendering:auto;vertical-align:middle}.tx-mediaplaner-pi4 .selectbox .select a.selected div.basket:before{right:-16px}.tx-mediaplaner-pi4 .selectbox .select a.selected div.basket:after{position:relative;content:"";display:inline-block;font-family:FontAwesome;font-size:1.5em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscaled;padding:0 .185em;text-rendering:auto;vertical-align:middle;color:var(--btn-select-color);left:-5px}.tx-mediaplaner-pi4 .hint{display:none}@media only screen and (min-width:37.5em){.tx-mediaplaner-pi4 .selectbox .select{justify-content:start}.tx-mediaplaner-pi4 .selectbox .select a{width:calc((100% - (2*5px))/3)}.tx-mediaplaner-pi4 .selectbox .select a:nth-of-type(2n){margin-right:5px}.tx-mediaplaner-pi4 .selectbox .select a:nth-of-type(3n){margin-right:0}}@media only screen and (min-width:48em){.tx-mediaplaner-pi4 fieldset.csc-mailform{padding:0;max-width:100%}.tx-mediaplaner-pi4 .selectbox .select a{width:calc((100% - (4*5px))/5);margin-top:5px}.tx-mediaplaner-pi4 .selectbox .select a:nth-of-type(3n){margin-right:5px}.tx-mediaplaner-pi4 .selectbox .select a:nth-of-type(5n){margin-right:0}}@media only screen and (min-width:60em){.tx-mediaplaner-pi4 .selectbox .select a{width:calc((100% - (5*5px))/6)}.tx-mediaplaner-pi4 .selectbox .select a:nth-of-type(5n){margin-right:5px}.tx-mediaplaner-pi4 .selectbox .select a:nth-of-type(6n){margin-right:0}}@media only screen and (min-width:74em){.tx-mediaplaner-pi4 .selectbox .select a{font-size:.9em}}@media only screen and (min-width:89em){.tx-mediaplaner-pi4 .selectbox .select a{width:calc((100% - (5*15px))/6);margin-top:15px;margin-right:15px}.tx-mediaplaner-pi4 .selectbox .select a:nth-of-type(2n),.tx-mediaplaner-pi4 .selectbox .select a:nth-of-type(3n),.tx-mediaplaner-pi4 .selectbox .select a:nth-of-type(4n),.tx-mediaplaner-pi4 .selectbox .select a:nth-of-type(5n){margin-right:15px}.tx-mediaplaner-pi4 .selectbox .select a:nth-of-type(6n){margin-right:0}} ) } # Configuration for the plugin "mediaplaner_pi5" plugin.tx_mediaplaner_pi5 { templateFile = EXT:mediaplaner/res/pi5/template.htm javascriptFile = EXT:mediaplaner/res/pi5/javascript.js prevPage = 5 nextPage = R print { 1 { label.lang.de = Ich möchte Plakatproduktion und -versand aus einer Hand. checked = checked checked.if.value.data = register:tx_mediaplaner_pi[print] checked.if.value.substring = 0,1 checked.if.equals = 1 checked.noTrimWrap = | checked="|"| display = block options { __preventParser = 1 1 { label.lang.de = Ich brauche Unterstützung bei der Erstellung der Druckdaten checked = checked checked.if.value.data = register:tx_mediaplaner_pi[print] checked.if.value.substring = 1,1 checked.if.equals = 1 checked.noTrimWrap = | checked="|"| display = none display.override = block display.override.if < .checked.if display.override.if.value.substring = 0,1 } 2 < .1 2 { label.lang.de = Druckdaten liefere ich nach label.append = TEXT label.append { lang.de = Vorgaben und Informationen zum Plakatdruck typolink.parameter = typo3conf/ext/mediaplaner/res/pi5/Vorgaben_Plakatdruck.pdf typolink.parameter.noTrimWrap = || _blank| # noTrimWrap = | (|)| } label.outerWrap = | checked.if.equals = 2 } 3 < .1 3 { label.lang.de = Druckdaten liegen mir vor checked.if.equals = 3 } } } 2 < .1 2 { label.lang.de = Ich werde Plakatproduktion und -versand auf eigene Kosten erledigen. checked.if.equals = 2 options > } } formular { error { stdWrap.wrap = | parseFunc = | desc { stdWrap.wrap =

|

parseFunc = | } 20 = TEXT 20 { data = LLL:EXT:mediaplaner/pi5/locallang.xml:save typolink.parameter.data = TSFE:id typolink.parameter.noTrimWrap = || - csc-mailform-button| typolink.ATagParams = tx_mediaplaner_pi5.submit(); typolink.ATagParams.noTrimWrap = |onclick="| return false;"| wrap =
|
} wrap =
|
} postCObject = COA postCObject.10 < .preCObject.10 postCObject.10.wrap =
|
postCObject.20 < .preCObject.20 postCObject.20.wrap =
|
postCObject.wrap =
|
} _CSS_DEFAULT_STYLE ( .tx-mediaplaner-pi5-item{padding:3px 0}.tx-mediaplaner-pi5-item .tx-mediaplaner-pi5-item{margin-left:1.2em}.tx-mediaplaner-pi5-item .tx-mediaplaner-pi5-item[rel="1"]:first-of-type{margin-top:.8em}.tx-mediaplaner-pi5-item .tx-mediaplaner-pi5-item[rel="1"]:last-of-type{margin-bottom:1em}.tx-mediaplaner-pi5-item input+label span>a{margin-top:.5em;display:inline-block}@media only screen and (min-width:37.5em){.tx-mediaplaner-pi5-item{margin:.5em 0}.tx-mediaplaner-pi5-item input+label span>a{display:block}} ) } # Configuration for the plugin "mediaplaner_pi9" plugin.tx_mediaplaner_pi9 { templateFile = EXT:mediaplaner/res/pi9/template.htm javascriptFile = EXT:mediaplaner/res/pi9/javascript.js prevPage = 4 nextPage = 6 optimization { 1 { label.lang.de = Optimiert nach TOP Buchung checked = checked checked.if.value.data = register:tx_mediaplaner_pi[optimization] checked.if.isInList = 1 checked.noTrimWrap = | checked="|"| } 2 < .1 2 { label.lang.de = Optimiert nach Ein- und Ausfallstraßen checked.if.isInList = 2 } 3 < .1 3 { label.lang.de = Optimiert nach dem QSS® (Qualitäts-Selektions-System) checked.if.isInList = 3 } 4 < .1 4 { label.lang.de = Optimiert auf Verbrauchermärkte checked.if.isInList = 4 } 5 < .1 5 { label.lang.de = Optimiert auf Innenstädte checked.if.isInList = 5 } } data { optimization_own.data = register:tx_mediaplaner_pi[optimization_own] optimization_own.trim = 1 } formular { error { stdWrap.wrap = | parseFunc = | desc { stdWrap.wrap =

|

parseFunc = | } 20 = TEXT 20 { data = LLL:EXT:mediaplaner/pi9/locallang.xml:save typolink.parameter.data = TSFE:id typolink.parameter.noTrimWrap = || - csc-mailform-button| typolink.ATagParams = tx_mediaplaner_pi9.submit(); typolink.ATagParams.noTrimWrap = |onclick="| return false;"| wrap =
|
} wrap =
|
} postCObject = COA postCObject.10 < .preCObject.10 postCObject.10.wrap =
|
postCObject.20 < .preCObject.20 postCObject.20.wrap =
|
postCObject.wrap =
|
} _CSS_DEFAULT_STYLE ( .tx-mediaplaner-pi9-item { padding: 3px 10px 3px 0px; } .tx-mediaplaner-pi9-item label { line-height: 2em !important } .tx-mediaplaner-pi9-item.csc-mailform-field { margin-top: .8em } ) } # Configuration for the plugin "mediaplaner_pi6" plugin.tx_mediaplaner_pi6 { templateFile = EXT:mediaplaner/res/pi6/template.htm javascriptFile = EXT:mediaplaner/res/pi6/javascript.js javascriptStdWrap { prepend = FILE prepend.file = EXT:mediaplaner/res/pi6/jquery.tmpl.min.js prepend.stdWrap.append = TEXT prepend.stdWrap.append.char = 10 } parse { dates { setContentToCurrent = 1 setCurrent { current = 1 stdWrap.substring = 0,-3 split.token = |*| split.wrap =
  • |
  • } lang.de = Werbezeiträume noTrimWrap = ||:
      {current:1}
    | insertData = 1 } planing < .dates planing { setCurrent > lang.de = Werbedruck noTrimWrap = ||:
      {current:1}
    | } region < .dates region { setCurrent > lang.de = Orte & Regionen noTrimWrap = ||:
      {current:1}
    | } citizen < .dates citizen { setCurrent > setCurrent { current = 1 numberFormat.decimals = 0 numberFormat.dec_point = numberFormat.thousands_sep = . } lang.de = Einwohner noTrimWrap = ||: {current:1}| } optimization < .region optimization { if.isTrue.current = 1 lang.de = Optimierungs-Parameter } optimization_own < .region optimization_own { lang.de = Eigene Optimierungswünsche if.isTrue.current = 1 noTrimWrap = ||:
    • {current:1}
    | } print < .citizen print { setCurrent > lang.de = Plakatproduktion noTrimWrap = ||:
    • {current:1}
    | } } kampagne { 1.label.wrap =
  • | 1.desc.trim = 1 1.desc.stripHtml = 1 1.desc.noTrimWrap = |
    (|)
  • | 2 < .1 3 < .1 4 < .1 } media { GF.label.wrap =
  • | GF.quote { setContentToCurrent = 1 stdWrap.preCObject = TEXT stdWrap.preCObject.lang.de = Quote stdWrap.preCObject.if.isTrue.current = 1 stdWrap.preCObject.noTrimWrap = || 1:| innerWrap = (|) innerWrap.if.isTrue.current = 1 noTrimWrap = | |
  • | } GV < .GF SP < .GF PF < .GF GZ < .GF VI < .GF } search < plugin.tx_mediaplaner_pi2.search search { city.results.name.wrap =
  • |
  • state.results.name.wrap = | state.results.name.prepend = TEXT state.results.name.prepend { lang.de = Bundesland noTrimWrap = ||: | } state.results.name.outerWrap =
  • |
  • district.results.name.wrap = | district.results.name.prepend < .state.results.name.prepend district.results.name.prepend { lang.de = Kreis } district.results.name.outerWrap =
  • |
  • } optimization < plugin.tx_mediaplaner_pi9.optimization optimization { 1.label.wrap =
  • |
  • 2.label.wrap =
  • |
  • 3.label.wrap =
  • |
  • 4.label.wrap =
  • |
  • 5.label.wrap =
  • |
  • } print < plugin.tx_mediaplaner_pi5.print print { 1.label.if.value.data = register:tx_mediaplaner_pi[print] 1.label.if.equals = 1 1.options.1.label.if < .1.label.if 1.options.1.label.if.equals = 11 1.options.2.label.if < .1.label.if 1.options.2.label.if.equals = 12 1.options.3.label.if < .1.label.if 1.options.3.label.if.equals = 13 2.label.if < .1.label.if 2.label.if.equals = 2 } calc { city { sql { SELECT = SQL_CALC_FOUND_ROWS DISTINCT OrtNr,EW,CONCAT_WS(' ', PLZ, Ortname) AS Stadt SELECT.wrap = |, '' AS Gruppe FROM = 123_Ort WHERE = OrtNr IN({register:tx_mediaplaner_pi[region][city]}) WHERE.insertData = 1 GROUPBY = ORDERBY = Ortname ASC LIMIT = # LIMIT.data = TSFE:fe_user|sesData|tx_mediaplaner_pi6_limit|city # LIMIT.ifEmpty = 0 # LIMIT.wrap = |,1000 uidIndexField = OrtNr } results { # Convert cityname to utf-8 #Stadt.csConv = iso-8859-1 } } state < .city state { sql { SELECT.wrap = |, (SELECT Landname FROM 123_Bula WHERE 123_Bula.Land=LPAD(LPAD(123_Ort.OrtNr,8,'0'),2,'')) AS Gruppe WHERE = LPAD(LPAD(OrtNr,8,'0'),2,'') IN({current:1}) WHERE.setCurrent { data = register:tx_mediaplaner_pi[region][state] split.token = , split.cObjNum = 1 |*| 1 |*| 2 split.1 = TEXT split.1 { current = 1 stdWrap.wrap = 00| substring = -2,2 wrap = '|', } split.2 < .split.1 split.2.wrap = '|' } ORDERBY = Gruppe ASC,Ortname ASC # LIMIT.data = TSFE:fe_user|sesData|tx_mediaplaner_pi6_limit|state } results { # Convert groupname to utf-8 #Gruppe.csConv = iso-8859-1 Gruppe.split { token = - cObjNum = 1 |*| 1 |*| 2 1 = COA 1.10 = TEXT 1.10.current = 1 1.10.substring = 0,1 1.10.case = upper 1.20 = TEXT 1.20.current = 1 1.20.substring = 1, 1.20.case = lower 1.stdWrap.wrap = |- 2 < .1 2.stdWrap.wrap > } Gruppe.prepend = TEXT Gruppe.prepend.lang.de = Bundesland Gruppe.prepend.noTrimWrap = ||: | } } district < .state district { sql { SELECT.wrap = |, (SELECT Kreisname FROM 123_Kreis WHERE 123_Kreis.KreisNr=LPAD(LPAD(123_Ort.OrtNr,8,'0'),5,'')) AS Gruppe WHERE = LPAD(LPAD(OrtNr,8,'0'),5,'') IN({current:1}) WHERE.setCurrent { data = register:tx_mediaplaner_pi[region][district] split.1.stdWrap.wrap = 00000| split.1.substring = -5,5 split.2 < .split.1 split.2.wrap = '|' } # LIMIT.data = TSFE:fe_user|sesData|tx_mediaplaner_pi6_limit|district } results { Gruppe.split > Gruppe.prepend.lang.de = Kreis } } media { # Medianame Name { cObject = CASE cObject { GF < plugin.tx_mediaplaner_pi.media.GF.label GF = TEXT GV < plugin.tx_mediaplaner_pi.media.GV.label GV = TEXT SP < plugin.tx_mediaplaner_pi.media.SP.label SP = TEXT PF < plugin.tx_mediaplaner_pi.media.PF.label PF = TEXT GZ < plugin.tx_mediaplaner_pi.media.GZ.label GZ = TEXT VI < plugin.tx_mediaplaner_pi.media.VI.label VI = TEXT key.field = Typ } ifEmpty.field = Typ if.value.data = register:tx_mediaplaner_pi[mode] if.equals = expert # Append Quote in Expert Mode append = TEXT append { lang.de = Quote fieldRequired = Quote noTrimWrap = | (| 1:{field:Quote})| insertData = 1 } } } pieces { GF { SELECT = OrtNr, COUNT(*) AS FlaechenGesamt, LEAST(CEIL(GREATEST(ROUND(EW/{register:tx_mediaplaner_pi6_quote}),1)*{register:tx_mediaplaner_pi6_factor}),COUNT(*)) AS Flaechen, ROUND(AVG(Preis), 2) AS PreisTag, ROUND(LEAST(CEIL(GREATEST(ROUND(EW/{register:tx_mediaplaner_pi6_quote}),1)*{register:tx_mediaplaner_pi6_factor}),COUNT(*))*ROUND(AVG(Preis), 2)*{register:tx_mediaplaner_pi6_days},2) AS PreisZeitraum SELECT { override.cObject = COA override.cObject { 10 = LOAD_REGISTER 10.tx_mediaplaner_pi6_quote.field = Quote 10.tx_mediaplaner_pi6_quote.ifEmpty = 1 10.tx_mediaplaner_pi6_quote.intval = 1 20 = LOAD_REGISTER 20.tx_mediaplaner_pi6_factor.field = Factor 20.tx_mediaplaner_pi6_factor.ifEmpty = 1 20.tx_mediaplaner_pi6_factor.intval = 1 30 = LOAD_REGISTER 30.tx_mediaplaner_pi6_days = {$plugin.tx_mediaplaner_pi.days.GF} 30.tx_mediaplaner_pi6_days.ifEmpty = 7 } insertData = 1 } FROM = 123_StoFZ WHERE = OrtNr IN({field:OrtNr}) AND GJ='{current:1}' AND Typ='{field:Medien}' AND US IN('ST','BF','BS','BU','BX','CI','CS','EK','ES','FH','HB','PH','PR','QA','SC','SE','WH') WHERE.setCurrent { data = register:tx_mediaplaner_pi[dates] iEmpty.date = Y listNum = last stdWrap.listNum = 0 stdWrap.listNum.splitChar = | } WHERE.insertData = 1 GROUPBY = OrtNr ORDERBY = LIMIT = uidIndexField = OrtNr } GV { SELECT = OrtNr, Netzgroesse AS FlaechenGesamt, Netzgroesse AS Flaechen, ROUND((Wochenpreis/{$plugin.tx_mediaplaner_pi.days.GV})/Netzgroesse,2) AS PreisTag, Wochenpreis AS PreisZeitraum, IF(Besonderheiten LIKE '%hauptnetz%' OR Besonderheiten='', 1, 0) AS Sortierung FROM = 123_Medien WHERE = OrtNr IN({field:OrtNr}) AND Typ='megalight' AND Netzgroesse > 0 AND Wochenpreis > 0 WHERE.insertData = 1 GROUPBY = ORDERBY = Sortierung ASC, Netzgroesse ASC LIMIT = uidIndexField = OrtNr } SP < .GF SP { SELECT.override.cObject.30.tx_mediaplaner_pi6_days = {$plugin.tx_mediaplaner_pi.days.SP} WHERE = OrtNr IN({field:OrtNr}) AND Typ='{field:Medien}' } PF < .GF PF { SELECT.override.cObject.30.tx_mediaplaner_pi6_days = {$plugin.tx_mediaplaner_pi.days.PF} WHERE = OrtNr IN({field:OrtNr}) AND Typ='{field:Medien}' } GZ < .GF GZ { SELECT.override.cObject.30.tx_mediaplaner_pi6_days = {$plugin.tx_mediaplaner_pi.days.GZ} WHERE = OrtNr IN({field:OrtNr}) AND Typ='{field:Medien}' } # VI < .GV # VI { # SELECT = OrtNr, Netzgroesse AS FlaechenGesamt, Netzgroesse AS Flaechen, ROUND((Wochenpreis/{$plugin.tx_mediaplaner_pi.days.VI})/Netzgroesse,2) AS PreisTag, Wochenpreis AS PreisZeitraum, IF(Besonderheiten LIKE '%hauptnetz%' OR Besonderheiten='', 1, 0) AS Sortierung # WHERE = OrtNr IN({field:OrtNr}) AND Typ='citylight' AND Netzgroesse > 0 AND Wochenpreis > 0 # } VI < .GF VI { SELECT = OrtNr, StellenOrt AS FlaechenGesamt, StellenOrt AS Flaechen, Preis AS PreisTag, ROUND(Preis*StellenOrt*{register:tx_mediaplaner_pi6_days},2) AS PreisZeitraum, IF(Standort LIKE '%hauptnetz%' OR Standort LIKE '%vollnetz%', 1, 0) AS Sortierung SELECT.override.cObject.30.tx_mediaplaner_pi6_days = {$plugin.tx_mediaplaner_pi.days.VI} WHERE = OrtNr IN({field:OrtNr}) AND HS='VI' AND US='NZ' AND Netz='-1' GROUPBY = Paechter, GJ, StoNr, OrtNr ORDERBY = Sortierung ASC,Flaechen ASC, PreisTag DESC } } # prices { # # First run # 1 { # # Calculate selected billboards # Flaechen { # } # # Calculate dayprice # PreisTag { # } # } # # Second run # 2 { # # Calculate selected billboards # Flaechen { # } # } # # Third run # 3 { # # Calculate price for one period # PreisZeitraum { # } # } # } sums = EW,FlaechenGesamt,Flaechen,PreisTag,PreisZeitraum,PreisGesamt sums { PreisTag { stdWrap.dataWrap = |*{field:Flaechen} prioriCalc = 1 } # Complete price PreisGesamt { setCurrent { data = register:tx_mediaplaner_pi[dates] split.token = | } data = register:SPLIT_COUNT ifEmpty = 1 stdWrap.dataWrap = {field:PreisZeitraum}*| prioriCalc = 1 } postProcess { PreisTag { stdWrap.dataWrap = |/{field:Flaechen} prioriCalc = 1 numberFormat.decimals = 2 } } } # Configuration of printcosts # { # GF { Typ of media, like database field # 1 { Digital costs # NUM = PRICE First count and price for it # x = PRICE Price for further items # } # 2 { Offset costs # NUM = PRICE First count and price for it # x = PRICE Price for further items # } # } # } print { if.value.data = register:tx_mediaplaner_pi[print] if.value.substring = 0,1 if.equals = 1 # Spare posters mount { GF.setContentToCurrent = 1 GF.setCurrent.current = 1 GF.setCurrent.stdWrap.innerWrap.cObject = LOAD_RESGISTER GF.setCurrent.stdWrap.innerWrap.cObject.countDates.data = register:tx_mediaplaner_pi[dates] GF.setCurrent.stdWrap.innerWrap.cObject.countDates.split.token = | GF.setCurrent.stdWrap.innerWrap.override.data = register:SPLIT_COUNT GF.setCurrent.stdWrap.innerWrap.ifEmpty = 1 GF.setCurrent.stdWrap.innerWrap.wrap = |* GF.setCurrent.stdWrap.wrap = (|*1.1) GF.setCurrent.stdWrap.outerWrap.data = TSFE:fe_user|sesData|tx_mediaplaner_pi6_print|GF GF.setCurrent.stdWrap.outerWrap.required = 1 GF.setCurrent.stdWrap.outerWrap.wrap = |+ GF.setCurrent.prioriCalc = 1 GF.current = 1 GF.override.current = 1 GF.override.if.value.current = 1 GF.override.if.value.intval = 1 GF.override.if.isGreaterThan.current = 1 GF.override.stdWrap.wrap = |+1 GF.override.prioriCalc = 1 GF.intval = 1 GV < .GF GV.stdWrap.outerWrap.data = TSFE:fe_user|sesData|tx_mediaplaner_pi6_print|GV SP < .GF SP.stdWrap.outerWrap.data = TSFE:fe_user|sesData|tx_mediaplaner_pi6_print|SP GZ < .GF GZ.stdWrap.outerWrap.data = TSFE:fe_user|sesData|tx_mediaplaner_pi6_print|GZ VI < .GF VI.stdWrap.outerWrap.data = TSFE:fe_user|sesData|tx_mediaplaner_pi6_print|VI PF < .GF PF.stdWrap.outerWrap.data = TSFE:fe_user|sesData|tx_mediaplaner_pi6_print|PF } } } results { Gruppe.Name { Gruppe.field = Stadt } Gruppe.Medien { Name { setContentToCurrent = 1 lang.de = Städte override.lang.de = Stadt override.if.value.current = 1 override.if.equals = 1 noTrimWrap = |{current:1} || insertData = 1 } PreisTag { stdWrap.dataWrap = |/{field:Flaechen} prioriCalc = 1 numberFormat.decimals = 2 } } } json { output { redo = boolean error = string results = array EW = integer FlaechenGesmat = integer FlaechenGesamt { override = __UNSET override.if.value.data = register:tx_mediaplaner_pi[mode] override.if.equals = expert override.if.negate = 1 } Flaechen = integer PreisTag = float PreisZeitraum = float PreisZeitraum { override = __UNSET override.if.isFalse.data = register:tx_mediaplaner_pi[dates] override.if.isFalse.listNum = 1 } PreisGesamt = float printMount = integer printMount { override = __UNSET override.if.value.data = register:tx_mediaplaner_pi[print] override.if.value.substring = 0,1 override.if.equals = 1 override.if.negate = 1 } printCosts = float printCosts.override < .printMount.override debug = array } city { EW = integer Stadt = string Gruppe = string } media { FlaechenGesamt = integer FlaechenGesamt { override = __UNSET override.if.value.data = register:tx_mediaplaner_pi[mode] override.if.equals = expert override.if.negate = 1 } Flaechen = integer PreisTag = float PreisZeitraum = float PreisZeitraum { override = __UNSET override.if.isFalse.data = register:tx_mediaplaner_pi[dates] override.if.isFalse.listNum = 1 } PreisGesamt = float Name = string } } marks { AJAX_URL = TEXT AJAX_URL.typolink.parameter.data = TSFE:id AJAX_URL.typolink.parameter.wrap = |,457 AJAX_URL.typolink.returnLast = url } locallang { descSelect.wrap =

    |

    descResult.wrap =

    |

    toggleAll { setContentToCurrent = 1 setCurrent { current = 1 split.token = | split.returnKey = 1 htmlSpecialChars = 1 } split.token = | split.returnKey = 0 dataWrap = | } decade.override = ###LL_decadeExpert### decade.override.if.value.data = register:tx_mediaplaner_pi[mode] decade.override.if.equals = expert headMountTotal.override = headMountTotal.override.if.value.data = register:tx_mediaplaner_pi[mode] headMountTotal.override.if.equals = expert headMountTotal.override.if.negate = 1 headPricePeriod.override = headPricePeriod.override.if.isTrue.data = register:tx_mediaplaner_pi[dates] headPricePeriod.override.if.isTrue.listNum = 1 headPricePeriod.override.if.negate = 1 printCosts.split { token = | cObjNum = 1 |*| 1 |*| 2 1 = TEXT 1.current = 1 1.wrap = | 2 = TEXT 2.current = 1 } hintQuote { if.value.data = register:tx_mediaplaner_pi[mode] if.equals = expert wrap =

    |

    } hintDays { if.value.data = register:tx_mediaplaner_pi[mode] if.equals = expert wrap =

    |

    } legalNote.wrap =

    |

    hintSource.parseFunc.constants = 1 hintSource.wrap =

    |

    hintSource.insertData = 1 downloadPDF { stdWrap.typolink.parameter = {$plugin.tx_mediaplaner_pi.pages.R} stdWrap.typolink.parameter.wrap = |,458 stdWrap.typolink.additionalParams = &tx_mediaplaner_pi6[hash]=###DATA_hash###&tx_mediaplaner_pi6[type]= stdWrap.typolink.additionalParams.wrap = |pdf #stdWrap.typolink.ATagParams = pdf #stdWrap.typolink.ATagParams.wrap = onclick="return tx_mediaplaner_pi6.download('load', '|', this);" stdWrap.typolink.ATagParams = class="download" split.token = %23%23%23DATA_hash%23%23%23 split.cObjNum = 1 |*| 1 |*| 2 split.1.current = 1 split.1.wrap = |###DATA_hash### split.2.current = 1 wrap = | } downloadXLS < .downloadPDF downloadXLS { stdWrap.typolink.additionalParams.wrap = |xlsx #stdWrap.typolink.ATagParams = xlsx } } stdWrap_EXT { split { token.char = 10 cObjNum = 1 1 = TEXT 1.current = 1 1.trim = 1 } preCObject = COA preCObject { 10 = TEXT 10 { data = LLL:EXT:mediaplaner/pi6/locallang.xml:back typolink.parameter = {$plugin.tx_mediaplaner_pi.pages.6} typolink.parameter.noTrimWrap = || - csc-mailform-cancel| wrap =
    |
    } 20 = TEXT 20 { data = LLL:EXT:mediaplaner/pi6/locallang.xml:save typolink.parameter = {$plugin.tx_mediaplaner_pi.pages.8} typolink.parameter.noTrimWrap = || - csc-mailform-button| typolink.ATagParams = onclick="tx_mediaplaner_pi6.displayLoader(true);" wrap =
    |
    } 30 = TEXT 30 { data = LLL:EXT:mediaplaner/pi6/locallang.xml:order typolink.parameter = {$plugin.tx_mediaplaner_pi.pages.8} typolink.parameter.noTrimWrap = || - "csc-mailform-submit"| typolink.additionalParams = &tx_mediaplaner_pi8[order]=1 wrap =
    |
    } wrap =
    |
    } postCObject = COA postCObject.10 < .preCObject.10 postCObject.10.wrap =
    |
    postCObject.20 < .preCObject.20 postCObject.20.wrap =
    |
    postCObject.30 < .preCObject.30 postCObject.30.wrap =
    |
    postCObject.wrap =
    |
    } _CSS_DEFAULT_STYLE ( .tx-mediaplaner-pi6 .width-50,.tx-mediaplaner-pi6 .width-60,.tx-mediaplaner-pi6 .width-85,.tx-mediaplaner-pi6 .width-95{width:auto}.tx-mediaplaner-pi6 .headCitizen{min-width:40%;max-width:49%}.tx-mediaplaner-pi6 .headMountTotal{min-width:0;max-width:20%}.tx-mediaplaner-pi6 .headMount{min-width:25%;max-width:30%}.tx-mediaplaner-pi6 .headPriceDay{min-width:30%;max-width:40%}.tx-mediaplaner-pi6 .headPricePeriod,.tx-mediaplaner-pi6 .headPriceTotal{min-width:50%}.tx-mediaplaner-pi6 .align-center{text-align:left}.tx-mediaplaner-pi6-tableFooter br,.tx-mediaplaner-pi6-tableHeader br{display:none}.tx-mediaplaner-pi6-cityItem dl,.tx-mediaplaner-pi6-tableFooter dl,.tx-mediaplaner-pi6-tableHeader dl{padding:0;margin:0 0 .3em;box-sizing:border-box}.tx-mediaplaner-pi6 .csc-mailform-submit-bottom.second,.tx-mediaplaner-pi6 .csc-mailform-submit-top.second{margin-top:1em}#tx-mediaplaner-pi6-loader{background-color:#000;height:100%;left:0;position:fixed;top:0;width:100%;z-index:456;-khtml-opacity:.8;-moz-opacity:.8;-webkit-opacity:.8;opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=80)";filter:alpha(opacity=80)}@media all and (min-width:0){#tx-mediaplaner-pi6-loader{-ms-filter:none \0/;filter:none \0/}}#tx-mediaplaner-pi6-loader .MacFFBGHack{background:url(../../typo3conf/ext/mediaplaner/res/pi6/macFFBgHack.png)}* html #tx-mediaplaner-pi6-loader{height:expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');position:absolute}#tx-mediaplaner-pi6-loaderImage{height:13px;left:50%;margin:-6px 0 0-104px;position:fixed;top:50%;width:208px;z-index:457}* html #tx-mediaplaner-pi6-loaderImage{margin-top:expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');position:absolute}@media print{#tx-mediaplaner-pi6-loader,#tx-mediaplaner-pi6-loaderImage{display:none}}.tx-mediaplaner-pi6 ul{padding-left:1.2em}.tx-mediaplaner-pi6 li{margin-bottom:.1em!important}.tx-mediaplaner-pi6 li>ul{margin-top:.1em!important}.tx-mediaplaner-pi6 li>span>a{margin-top:.1em;display:inline-block}#tx-mediaplaner-pi6-results{display:none;margin-top:25px}#tx-mediaplaner-pi6-results.visible{display:block;width:100%}.tx-mediaplaner-pi6-downloads{position:absolute;display:flex;width:100%;justify-content:flex-end;margin:0}.tx-mediaplaner-pi6-downloads .csc-uploads-fileName{width:20%}.tx-mediaplaner-pi6-cityItem .note.tooltip span,.tx-mediaplaner-pi6-downloads .csc-uploads-fileName a{text-align:center}.tx-mediaplaner-pi6-downloads .csc-uploads-fileName a[href$=".js"]:before{content:""}.tx-mediaplaner-pi6-toggleAll{float:right;padding:3px 0 8px}.tx-mediaplaner-pi6-tableFooter,.tx-mediaplaner-pi6-tableHeader{display:flex;flex-direction:column}.tx-mediaplaner-pi6-tableFooter .fixed.fixed-n1,.tx-mediaplaner-pi6-tableHeader .fixed.fixed-n1{order:1;justify-content:space-between}.tx-mediaplaner-pi6-tableFooter .variable.variable-n1,.tx-mediaplaner-pi6-tableHeader .variable.variable-n1{order:0}.tx-mediaplaner-pi6-tableFooter{border-top:1px dotted;margin-top:5px}.tx-mediaplaner-pi6-tableHeader.print{background:0 0;display:none}.tx-mediaplaner-pi6-tableFooter .variable,.tx-mediaplaner-pi6-tableHeader .variable{color:#000}.tx-mediaplaner-pi6-tableHeader .variable{padding-bottom:8px}@media print{.tx-mediaplaner-pi6-toggleAll{display:none}.tx-mediaplaner-pi6-tableFooter,.tx-mediaplaner-pi6-tableHeader{background:0 0;border-top:1px dotted #000}.tx-mediaplaner-pi6-tableHeader{page-break-after:avoid;page-break-inside:avoid}.tx-mediaplaner-pi6-tableHeader.print{border-top:none}.tx-mediaplaner-pi6-tableFooter{page-break-before:avoid;page-break-inside:avoid}}.tx-mediaplaner-pi6-tableHeader .fixed{padding-bottom:8px}.tx-mediaplaner-pi6 .fixed-n1{display:flex;flex-wrap:wrap}.tx-mediaplaner-pi6 .fixed-n2{width:95px}#tx-mediaplaner-pi6-items{position:relative}.tx-mediaplaner-pi6-cityItem{display:flex;flex-direction:column}.tx-mediaplaner-pi6-cityItem .inhabitantRow{order:1}.tx-mediaplaner-pi6-cityItem .cityRow{order:0}.tx-mediaplaner-pi6-cityItem .detailRow{order:2;margin-left:30%;margin-top:-6%}.tx-mediaplaner-pi6-cityItem .detailRow .fixed-n1{align-self:flex-end;width:100%}.tx-mediaplaner-pi6-cityItem .groupRow{order:3}.tx-mediaplaner-pi6-cityItem .align-right.headPricePeriod{text-align:left}.tx-mediaplaner-pi6-cityItem .clear{order:10}.tx-mediaplaner-pi6-cityItem.highlight{background:var(--tables-highlight)}.tx-mediaplaner-pi6-cityItem .fixed:first-child{color:#000}:first-child+html .tx-mediaplaner-pi6-cityItem .fixed dl{margin-bottom:0;padding-bottom:8px}@media print{#tx-mediaplaner-pi6-items{left:auto;position:static;width:auto}.tx-mediaplaner-pi6-cityItem{margin:0-15px 0-12px;page-break-inside:avoid}}.tx-mediaplaner-pi6-cityName{padding-bottom:8px}.tx-mediaplaner-pi6-tableHeader.print{display:flex;flex-direction:column;margin-top:.8em}.tx-mediaplaner-pi6-tableHeader.print .fixed.fixed-n2{order:1;width:100%}#tx-mediaplaner-pi6-printCosts{text-align:left}.tx-mediaplaner-pi6-tableHeader.print .variable.variable-n2{order:0;width:100%}@media only screen and (min-width:37.5em){.tx-mediaplaner-pi6 .csc-mailform-submit-bottom.second,.tx-mediaplaner-pi6 .csc-mailform-submit-top.second{width:100%}.tx-mediaplaner-pi6 .csc-mailform-submit-bottom.second a,.tx-mediaplaner-pi6 .csc-mailform-submit-top.second a{float:right}.tx-mediaplaner-pi6 .headPricePeriod{min-width:70%}.tx-mediaplaner-pi6-cityItem .headPricePeriod{min-width:60%}#tx-mediaplaner-pi6-printCosts,.tx-mediaplaner-pi6-cityItem .align-right.headPricePeriod,.tx-mediaplaner-pi6-tableHeader .align-center.headMount{text-align:right}.tx-mediaplaner-pi6 .headPriceTotal{min-width:30%}.tx-mediaplaner-pi6-cityItem .headPriceTotal{min-width:40%}.tx-mediaplaner-pi6 ul span a{display:block}.tx-mediaplaner-pi6-tableHeader.print{flex-direction:row}.tx-mediaplaner-pi6-tableHeader.print .fixed.fixed-n2{width:20%}.tx-mediaplaner-pi6-tableHeader.print .variable.variable-n2{width:80%}}@media only screen and (min-width:40.5em){.tx-mediaplaner-pi6 .headPriceDay{min-width:35%;max-width:40%}}@media only screen and (min-width:48em){.tx-mediaplaner-pi6-tableHeader .align-center.headMount{text-align:left}.tx-mediaplaner-pi6-cityItem .detailRow{margin-left:0;margin-top:0}.tx-mediaplaner-pi6 .headCitizen,.tx-mediaplaner-pi6 .headMountTotal{min-width:50%;max-width:50%}.tx-mediaplaner-pi6 .headMount,.tx-mediaplaner-pi6 .headPriceDay,.tx-mediaplaner-pi6 .headPricePeriod,.tx-mediaplaner-pi6 .headPriceTotal{min-width:25%;max-width:25%}}@media only screen and (min-width:60em){#tx-mediaplaner-pi6-results,.tx-mediaplaner-pi6-tableHeader.print{max-width:60em}.tx-mediaplaner-pi6-downloads{justify-content:flex-start;margin:0;padding-left:21em}.tx-mediaplaner-pi6-downloads .csc-uploads-fileName{width:10%}.tx-mediaplaner-pi6-cityItem,.tx-mediaplaner-pi6-tableFooter,.tx-mediaplaner-pi6-tableHeader,.tx-mediaplaner-pi6-tableHeader.print{padding-right:.3em}} ) } [globalVar = TSFE:id = {$plugin.tx_mediaplaner_pi.pages.R}] page.457 = COA page.457 { 10 = TEXT 10.value = 10.wrap =
    |
    20 = IMAGE 20.file = EXT:mediaplaner/res/pi6/loading.gif 20.wrap =
    |
    } [global] # Configuration for the page "mediaplaner_pi6->ajax" mediaplaner_pi6_json = PAGE mediaplaner_pi6_json { typeNum = 457 config { disableAllHeaderCode = 1 disableCharsetHeader = 1 xhtml_cleaning = 0 additionalHeaders.10.header = Content-Type: application/json; charset=utf-8 debug = 0 } 10 = ajax 10.templateFile = EXT:mediaplaner/res/pi6/ajax.htm } # Configuration for the page "mediaplaner_pi6->download" mediaplaner_pi6_save = PAGE mediaplaner_pi6_save { typeNum = 458 config { disableAllHeaderCode = 1 disableCharsetHeader = 1 tx_realurl_enable = 0 } 10 = download } [globalVar = TSFE:type = 458] && [globalVar = GP:tx_mediaplaner_pi6|type = pdf] mediaplaner_pi6_save.10 { templateFile = EXT:mediaplaner/res/pi6/pdf.htm results.city { highlight { cObject = LOAD_REGISTER cObject { tx_mediaplaner_pi6_highlight = 0 tx_mediaplaner_pi6_highlight.override = 1 tx_mediaplaner_pi6_highlight.override.if.isFalse.data = register:tx_mediaplaner_pi6_highlight } if.isTrue.data = register:tx_mediaplaner_pi6_highlight noTrimWrap = || class="highlight" } EW { numberFormat.decimals = 0 numberFormat.dec_point = numberFormat.thousands_sep = . } } results.Medien { FlaechenGesamt { setContentToCurrent = 1 setCurrent { current = 1 numberFormat.decimals = 0 numberFormat.dec_point = numberFormat.thousands_sep = . } current = 1 override =   override.if.value.data = register:tx_mediaplaner_pi[mode] override.if.equals = expert override.if.negate = 1 } Flaechen { numberFormat.decimals = 0 numberFormat.dec_point = numberFormat.thousands_sep = . } PreisTag { numberFormat.decimals = 2 numberFormat.dec_point = , numberFormat.thousands_sep = . noTrimWrap = || €| } PreisZeitraum { setContentToCurrent = 1 setCurrent { current = 1 numberFormat.decimals = 2 numberFormat.dec_point = , numberFormat.thousands_sep = . noTrimWrap = || €| } current = 1 override =   override.if.isTrue.data = register:tx_mediaplaner_pi[dates] override.if.isTrue.listNum = 1 override.if.negate = 1 } PreisGesamt { numberFormat.decimals = 2 numberFormat.dec_point = , numberFormat.thousands_sep = . noTrimWrap = || €| } } results.Gruppe.Name < .results.city results.Gruppe.Name.Stadt.wrap = | results.Gruppe.Medien < .results.Medien results.Gruppe.Medien { PreisTag { noTrimWrap = |ø | €| } } data { EW { numberFormat.decimals = 0 numberFormat.dec_point = numberFormat.thousands_sep = . } FlaechenGesamt { setContentToCurrent = 1 setCurrent { current = 1 numberFormat.decimals = 0 numberFormat.dec_point = numberFormat.thousands_sep = . } current = 1 override =   override.if.value.data = register:tx_mediaplaner_pi[mode] override.if.equals = expert override.if.negate = 1 } Flaechen { setContentToCurrent = 1 numberFormat.decimals = 0 numberFormat.dec_point = numberFormat.thousands_sep = . } PreisTag { numberFormat.decimals = 2 numberFormat.dec_point = , numberFormat.thousands_sep = . noTrimWrap = |ø | €| } PreisZeitraum { setContentToCurrent = 1 setCurrent { current = 1 numberFormat.decimals = 2 numberFormat.dec_point = , numberFormat.thousands_sep = . noTrimWrap = || €| } current = 1 override =   override.if.isTrue.data = register:tx_mediaplaner_pi[dates] override.if.isTrue.listNum = 1 override.if.negate = 1 } PreisGesamt { numberFormat.decimals = 2 numberFormat.dec_point = , numberFormat.thousands_sep = . noTrimWrap = || €| } printMount { numberFormat.decimals = 0 numberFormat.dec_point = numberFormat.thousands_sep = . } printCosts < .PreisTag printCosts { noTrimWrap = |ca. | €| } } locallang { descSelect.wrap = descResult.wrap = headMountTotal.override =   headPricePeriod.override =   printCosts.split.1.wrap = |###DATA_printMount### } } [global] [globalVar = TSFE:type = 458] && [globalVar = GP:tx_mediaplaner_pi6|type = xls, GP:tx_mediaplaner_pi6|type = xlsx] mediaplaner_pi6_save.10 { templateFile = EXT:mediaplaner/res/pi6/excel.htm parse { mode { htmlSpecialChars = 1 wrap = | } dates { setCurrent { current = 1 stdWrap.substring = 0,-3 split.token = |*| split.cObjNum = 1 |*| 2 |*| 2 split.1.current = 1 split.2.current = 1 split.2.outerWrap = | split.2.outerWrap.if.isTrue.data = register:SPLIT_COUNT split.wrap = } htmlSpecialChars = 1 noTrimWrap = ||:{current:1}| } planing.setCurrent < .dates.setCurrent planing { htmlSpecialChars = 1 noTrimWrap = ||:{current:1}| } region.setCurrent < .dates.setCurrent region { htmlSpecialChars = 1 noTrimWrap = ||:{current:1}| } citizen { setCurrent.numberFormat.thousands_sep = htmlSpecialChars = 1 noTrimWrap = ||:{current:1}| } optimization.setCurrent < .dates.setCurrent optimization { htmlSpecialChars = 1 noTrimWrap = ||:{current:1}| } optimization_own { noTrimWrap = ||:{current:1}| } print { htmlSpecialChars = 1 noTrimWrap = ||:{current:1}| } } kampagne { 1.label.wrap = | 1.desc.noTrimWrap = | (|)| 1.desc.append = TEXT 1.desc.append.value = |*| 2 < .1 3 < .1 4 < .1 } media { GF.label.wrap = | GF.quote { noTrimWrap = | || append = TEXT append.value = |*| } GV < .GF SP < .GF PF < .GF GZ < .GF VI < .GF } search < plugin.tx_mediaplaner_pi6.search search { city.results.name.wrap = | state.results.name.wrap = | state.results.name.prepend.noTrimWrap = ||: | state.results.name.outerWrap = | district.results.name.wrap = | district.results.name.prepend.noTrimWrap = ||: | district.results.name.outerWrap = | } optimization { 1.label.wrap = | 1.label.append = TEXT 1.label.append.value = |*| 2.label.wrap = | 2.label.append < .1.label.append 3.label.lang.de = Optimiert nach dem QSS® (Qualitäts-Selektions-System) 3.label.wrap = | 3.label.append < .1.label.append 4.label.wrap = | 4.label.append < .1.label.append 5.label.wrap = | 5.label.append < .1.label.append } print { 1.options.2.label.append { setCurrent.cObject = override.if.value.data = register:tx_mediaplaner_pi[mode] override.if.equals = expert override.if.negate = 1 outerWrap = | outerWrap.if < .override.if outerWrap.if.negate > } PreisZeitraum { override = override.if.isTrue.data = register:tx_mediaplaner_pi[dates] override.if.isTrue.listNum = 1 override.if.negate = 1 outerWrap = | outerWrap.if < .override.if outerWrap.if.negate > } } results.Gruppe.Name < .results.city results.Gruppe.Name { highlight { override = 5 override.override = 4 } } results.Gruppe.Medien < .results.Medien data { FlaechenGesamt { override = override.if.value.data = register:tx_mediaplaner_pi[mode] override.if.equals = expert override.if.negate = 1 outerWrap = | outerWrap.if < .override.if outerWrap.if.negate > } PreisTag { numberFormat.decimals = 2 numberFormat.dec_point = , numberFormat.thousands_sep = . noTrimWrap = |ø | €| } PreisZeitraum { override = override.if.isTrue.data = register:tx_mediaplaner_pi[dates] override.if.isTrue.listNum = 1 override.if.negate = 1 outerWrap = | outerWrap.if < .override.if outerWrap.if.negate > } printMount { numberFormat.decimals = 0 numberFormat.dec_point = numberFormat.thousands_sep = . } printCosts < .PreisTag printCosts { noTrimWrap = |ca. | €| } } locallang { descSelect.wrap = descResult.wrap = headCity { split.token =
    split.cObjNum = 1 |*| 1 |*| 2 split.1.current = 1 split.1.wrap = | split.2.current = 1 } headCitizen.split < .headCity.split headMountTotal.override = headMountTotal.split < .headCity.split headMount.split < .headCity.split headPriceDay.split < .headCity.split headPricePeriod.override = headPricePeriod.split < .headCity.split headPriceTotal.split < .headCity.split printCosts.split.1.wrap = |###DATA_printMount### legalNote.wrap = | hintQuote.wrap = | hintQuote.wrap2 = | hintDays.wrap = | hintDays.wrap2 = | hintSource.split < .headCity.split hintSource.wrap = | } marks { CREATED = TEXT CREATED.date = Y-m-d\TH:i:s\Z } } [global] # Configuration for the plugin "mediaplaner_pi8" plugin.tx_mediaplaner_pi8 { debug = 1 templateFile = EXT:mediaplaner/res/pi8/template.htm templateFile.override = EXT:mediaplaner/res/pi8/template_order.htm templateFile.override.if.isTrue.data = GP:tx_mediaplaner_pi8|order javascriptFile = EXT:mediaplaner/res/pi8/javascript.js prevPage = R nextPage = fileExt = fileExt.wrap < plugin.tx_mediaplaner_pi6.locallang.downloadXLS.stdWrap.typolink.additionalParams.wrap createFile < plugin.tx_mediaplaner_pi6.locallang.downloadXLS createFile { #stdWrap.typolink.forceAbsoluteUrl = 1 #stdWrap.typolink.forceAbsoluteUrl.scheme = http stdWrap.typolink.returnLast = url wrap = | } formular { type.typolink.additionalParams.data = GP:tx_mediaplaner_pi8|order type.typolink.additionalParams.if.isTrue.data = GP:tx_mediaplaner_pi8|order type.typolink.additionalParams.rawUrlEncode = 1 type.typolink.additionalParams.wrap = &tx_mediaplaner_pi8[order]=| } marks { AJAX_url = TEXT AJAX_url { typolink.parameter.data = TSFE:id typolink.parameter.wrap = |,459 typolink.returnLast = url } ORDER = TEXT ORDER { data = GP:tx_mediaplaner_pi8|order intval = 1 } TRACK_url = TEXT TRACK_url { value = --Planeranfrage-- override = --Planerbuchung-- override.if.isTrue.data = GP:tx_mediaplaner_pi8|order } } piVars { removeBadHTML = 1 htmlSpecialChars = 1 htmlSpecialChars.preserveEntities = 1 } data { firstname.data = register:tx_mediaplaner_pi8[firstname] name.data = register:tx_mediaplaner_pi8[name] company.data = register:tx_mediaplaner_pi8[company] address.data = register:tx_mediaplaner_pi8[address] zip.data = register:tx_mediaplaner_pi8[zip] city.data = register:tx_mediaplaner_pi8[city] telephone.data = register:tx_mediaplaner_pi8[telephone] fax.data = register:tx_mediaplaner_pi8[fax] email.data = register:tx_mediaplaner_pi8[email] comments.data = register:tx_mediaplaner_pi8[comments] } locallang { description { wrap =

    |

    } descriptionOrder < .description descriptionPay < .description title_fields { split.token = , split.cObjNum = 1 split.1 { current = 1 required = 1 split.token = = split.cObjNum = 1 |*| 1 |*| 2 split.1.current = 1 split.1.noTrimWrap = | value="|"| split.1.append = TEXT split.1.append { value = selected if.value.data = register:tx_mediaplaner_pi8[title] if.equals.current = 1 noTrimWrap = | selected="|"| } split.2.current = 1 split.2.wrap = >| wrap = } } country_fields < .title_fields country_fields { split.1 { split > override.setCurrent = selected override.setCurrent { if.value.data = register:tx_mediaplaner_pi8[country] if.value.ifEmpty.lang.de = Deutschland if.equals.current = 1 noTrimWrap = | selected="|"| } wrap > dataWrap = | } } confirmHeader.wrap =

    |

    confirmOrderHeader < .confirmHeader confirmText.brTag =
    confirmOrderText < .confirmText confirmButton { stdWrap.noTrimWrap = |» || typolink.parameter = {$plugin.tx_mediaplaner_pi.pages.R} typolink.parameter.noTrimWrap = || - csc-mailform-button } closeButton < .confirmButton closeButton { typolink.parameter = {$plugin.tx_mediaplaner_pi.pages.1} typolink.additionalParams = &clearQuery=1 wrap = |
    } descriptionOrder { parseFunc.constants = 1 } revocationDesc { parseFunc.constants = 1 } termsDesc { parseFunc.constants = 1 wrap =
      |
    } linkTerms { wrap =
  • |
  • } linkConclusion { wrap =
  • |
  • } } # Mail Constructor mail { subject { setCurrent { data = page:title override.lang.de = Bestellung override.if.isTrue.data = GP:tx_mediaplaner_pi8|order } data = TSFE:tmpl|sitetitle dataWrap = |: {current:1} } recipient { address.data = register:tx_mediaplaner_pi8[email] # name.data = register:tx_mediaplaner_pi8[name] # name.dataWrap = |, {register:tx_mediaplaner_pi8[firstname]} # name.prepend = TEXT # name.prepend { # data = register:tx_mediaplaner_pi8[company] # required = 1 # noTrimWrap = || - | # } } # cc.1 { # address = email@address.com # name = Recipient name # } bcc.1 { address = {$plugin.tx_mediaplaner_pi.mail.recipient} # name = Recipient name } } # HTML Template mailTemplate.html = TEMPLATE mailTemplate.html { template = FILE template.file = EXT:mediaplaner/res/pi8/mailTemplate.htm subparts.MENU = HMENU subparts.MENU { special = list special.value = includeNotInMenu = 1 1 = TMENU 1.NO.linkWrap = | |  |*| | |  |*| | 1.NO.ATagParams = style="color: #868686;" } subparts.LOGO = {$terms.tel} oder per E-Mail an {$terms.email}. Mit freundlichen Grüßen {$portal.salutation} ) override.lang.de ( Hallo ###USER_firstname### ###USER_name###, vielen Dank für Deine Bestellung. Die Plandaten mit Kosten, Standortliste und Deinen Kontaktdaten entnimm bitte dieser E-Mail bzw. den angehängten Dateien. Der Auftrag gilt als erteilt, jedoch noch nicht als bestätigt, da Deine Standort-Buchungen erst von den Eigentümern der Werbestandorte freigegeben werden müssen. Sobald die Freigaben vorliegen erhälst Du eine Auftragsbestätigung und Abrechnungsübersicht per E-Mail. Bei Rückfragen wende Dich bitte an unsere Hotline {$terms.tel} oder per E-Mail an {$terms.email}. Mit freundlichen Grüßen {$portal.salutation} ) override.if.isTrue.data = GP:tx_mediaplaner_pi8|order trim = 1 brTag =
    } marks.PERSONALDATA = TEXT marks.PERSONALDATA { lang.en = Personal information lang.de = Kontaktdaten } marks.PERSONALDATA_USER = COA marks.PERSONALDATA_USER { 10 = COA 10 { 10 = TEXT 10 { data = register:tx_mediaplaner_pi8[title] required = 1 noTrimWrap = |
    |
       | } stdWrap { required = 1 noTrimWrap = ||
    | } } 20 < .10 20 { 10.data = register:tx_mediaplaner_pi8[firstname] 20 < .10 20.data = register:tx_mediaplaner_pi8[name] } 30 < .10 30 { 10.data = register:tx_mediaplaner_pi8[address] } 40 < .20 40 { 10.data = register:tx_mediaplaner_pi8[zip] 20.data = register:tx_mediaplaner_pi8[city] } 50 < .10 50 { 10.data = register:tx_mediaplaner_pi8[country] } 60 < .20 60 { 10.override.lang.de = Telefon: 10.if.isTrue.data = register:tx_mediaplaner_pi8[telephone] 20.data = register:tx_mediaplaner_pi8[telephone] 30 < .10 30.override.lang.de = Fax: 30.if.isTrue.data = register:tx_mediaplaner_pi8[fax] 40 < .20 40.data = register:tx_mediaplaner_pi8[fax] } 70 < .20 70 { 10.override.lang.de = E-Mail Adresse: 10.if.isTrue.data = register:tx_mediaplaner_pi8[email] 20.data = register:tx_mediaplaner_pi8[email] 20.wrap = | 20.insertData = 1 } 80 < .20 80 { 10.override.lang.de = Bemerkungen: 10.if.isTrue.data = register:tx_mediaplaner_pi8[comments] 20.data = register:tx_mediaplaner_pi8[comments] } } subparts.HOTLINE = TEXT subparts.HOTLINE { lang.en ( Hotline: {$terms.tel} | E-Mail: {$terms.email} Monday to Fryday: 8:00 am - 05:00 pm ) lang.de ( Hotline: {$terms.tel} | E-Mail: {$terms.email} Montag bis Freitag: 8:00 - 17:00 Uhr ) trim = 1 brTag =
    } marks.ADDRESS = TEXT marks.ADDRESS { lang.en ( {$terms.company} {$terms.address} {$terms.zip} {$terms.city} Germany ) lang.de ( {$terms.company} {$terms.address} {$terms.zip} {$terms.city} Deutschland ) trim = 1 brTag =
    } marks.IMPRINT = TEXT marks.IMPRINT { lang.en ( {$imprint.legalinfo} Managing directors: {$imprint.directors} ) lang.de ( {$imprint.legalinfo} Geschäftsführer: {$imprint.directors} ) trim = 1 brTag =
    } stdWrap.split { token.char = 10 cObjNum = 1 1 = TEXT 1.current = 1 1.trim = 1 } } # Text template mailTemplate.text = TEMPLATE mailTemplate.text { template = FILE template.file = EXT:mediaplaner/res/pi8/mailTemplate.txt subparts.MENU = {current:1}| 10.insertData = ! 20 = TEXT 20.char = 10 } } 1.NO.linkWrap = | stdWrap.trim = 1 } marks.TITLE = } marks.ORDERTEXT = | } } stdWrap_EXT { split { token.char = 10 cObjNum = 1 1 = TEXT 1.current = 1 1.trim = 1 } preCObject = COA preCObject { 10 = TEXT 10 { data = LLL:EXT:mediaplaner/pi8/locallang.xml:back typolink.parameter = {$plugin.tx_mediaplaner_pi.pages.R} typolink.parameter.noTrimWrap = || - csc-mailform-cancel| wrap =
    |
    } 20 = TEXT 20 { data = LLL:EXT:mediaplaner/pi8/locallang.xml:save override.data = LLL:EXT:mediaplaner/pi8/locallang.xml:order override.if.isTrue.data = GP:tx_mediaplaner_pi8|order typolink.parameter.data = TSFE:id typolink.parameter.noTrimWrap = || - csc-mailform-button| typolink.ATagParams = tx_mediaplaner_pi8.submit(); typolink.ATagParams.noTrimWrap = |onclick="| return false;"| wrap =
    |
    } wrap =
    |
    } postCObject = COA postCObject.10 < .preCObject.10 postCObject.10.wrap =
    |
    postCObject.20 < .preCObject.20 postCObject.20.wrap =
    |
    postCObject.wrap =
    |
    } _CSS_DEFAULT_STYLE ( .tx-mediaplaner-pi8-groups{padding-bottom:.5em}.tx-mediaplaner-pi8-groups.highlight{background:#f4f4f4}.tx-mediaplaner-pi8-groupName{margin:0;padding:0 0 12px}.tx-mediaplaner-pi8-positions a{color:#002046}.tx-mediaplaner-pi8-positions input[type=checkbox]+label::before{margin-left:.25em!important}.tx-mediaplaner-pi8-positions .check label{margin-left:0}.tx-mediaplaner-pi8-positions .check label ul{margin:0;padding:0;list-style:none;text-indent:0}.tx-mediaplaner-pi8 li,.tx-mediaplaner-pi8-positions .check label ul li{margin:.7em 0 .7em 2em!important;list-style:none}.tx-mediaplaner-pi8 li:before,.tx-mediaplaner-pi8-positions .check label ul li:before,.tx-mediaplaner-pi8-require li::before{display:inline-block;position:absolute;content:"\f061";font-family:FontAwesome;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscaled;text-rendering:auto;font-size:1.1em;color:#0f1b5f;margin-left:-1.3em}ul.tx-mediaplaner-pi8-require{margin-left:-10px}.tx-mediaplaner-pi8-require span{color:#c33;font-weight:700}.tx-mediaplaner-pi8-require li::before{content:"\f071";-moz-osx-font-smoothing:grayscale;font-size:1.4em;color:#be1010;margin-left:-30px}.tx-mediaplaner-pi8 input.error-pattern,.tx-mediaplaner-pi8 input.error-required,.tx-mediaplaner-pi8 select.error-pattern,.tx-mediaplaner-pi8 select.error-required,.tx-mediaplaner-pi8 textarea.error-pattern,.tx-mediaplaner-pi8 textarea.error-required{border-color:#c33}.tx-mediaplaner-pi8-window{padding:30px 40px}.tx-mediaplaner-pi8-window h2{padding-bottom:0}.tx-mediaplaner-pi8-window p{margin-right:200px;padding-top:3px!important}.tx-mediaplaner-pi8-window p span label{display:block}#TB_window .tx-mediaplaner-pi8-window a.csc-mailform-button,.tx-mediaplaner-pi8-window a.csc-mailform-button{color:#fff;float:right}#TB_window .tx-mediaplaner-pi8-window a.csc-mailform-button.left,.tx-mediaplaner-pi8-window a.csc-mailform-button.left{float:left}.tx-mediaplaner-pi8-window .line{border-bottom:1px dashed #aca89c;clear:both;font-size:0;height:0;line-height:0;margin:20px 0}#txmediaplanerpi8-confirm{display:none} ) } # Configuration for the page "mediaplaner_pi8->ajax" mediaplaner_pi8_json = PAGE mediaplaner_pi8_json { typeNum = 459 config { disableCharsetHeader = 1 disableAllHeaderCode = 1 disableImgBorderAttr = 0 no_cache = 1 doctype = 0 xhtmlDoctype = 0 xhtml_cleaning = 0 additionalHeaders.10.header = Content-Type: application/json; charset=utf-8 additionalHeaders.10.header = Content-Type: application/json; charset=utf-8|Access-Control-Allow-Origin: {$config.protocol.off}{$config.hostname} noPageTitle = 1 baseURL = 0 absRefPrefix = {$config.baseurl} #absRefPrefix := replaceString(https:|http:) intTarget = _blank extTarget = _blank debug = 0 } 10 < plugin.tx_mediaplaner_pi8 10.stdWrap > 10.userFunc = tx_mediaplaner_pi8->ajax } # Configuration for the plugin "mediaplaner_menu" plugin.tx_mediaplaner_menu { templateFile = EXT:mediaplaner/res/menu/template.htm javascriptFile = EXT:mediaplaner/res/menu/javascript.js data.menu.cObject = HMENU data.menu.cObject { special = list special.value = {$plugin.tx_mediaplaner_pi.pages.1},{$plugin.tx_mediaplaner_pi.pages.2},{$plugin.tx_mediaplaner_pi.pages.3},{$plugin.tx_mediaplaner_pi.pages.4},{$plugin.tx_mediaplaner_pi.pages.5},{$plugin.tx_mediaplaner_pi.pages.6},{$plugin.tx_mediaplaner_pi.pages.R},{$plugin.tx_mediaplaner_pi.pages.8} includeNotInMenu = 1 1 = TMENU 1.NO { additionalParams { if.isTrue.data = register:tx_mediaplaner_pi[print] if.isTrue.if { value = {$plugin.tx_mediaplaner_pi.pages.R},{$plugin.tx_mediaplaner_pi.pages.8},{$plugin.tx_mediaplaner_pi.pages.9} isInList.field = uid negate = 1 } if.value.data = TSFE:id if.equals = {$plugin.tx_mediaplaner_pi.pages.R} stdWrap.typolink.parameter = {$plugin.tx_mediaplaner_pi.pages.R} stdWrap.typolink.returnLast = url rawUrlEncode = 1 wrap = &redirectUrl=| } stdWrap { innerWrap =

    |

    innerWrap2.dataWrap = {register:count_MENUOBJ}| insertData = 1 } stdWrap2 { setCurrent = ready setCurrent.if.isTrue.data = register:count_MENUOBJ setCurrent.if.isTrue.wrap = {register:tx_mediaplaner_menu[step|]} setCurrent.if.isTrue.insertData = 1 # innerWrap =

    |

    # innerWrap =

    |

    # innerWrap.if.value.field = uid # innerWrap.if.equals = {$plugin.tx_mediaplaner_pi.pages.R} # innerWrap.if.negate = 1 # outerWrap =

    |

    # outerWrap =

    |

    # outerWrap.if < .innerWrap.if # outerWrap.if.negate > innerWrap =
    |
    innerWrap.override =
    |
    innerWrap.override.if < .innerWrap.if innerWrap.override.if.value.field = uid innerWrap.override.if.equals = {$plugin.tx_mediaplaner_pi.pages.R} insertData = 1 } } } locallang { errorHeader.wrap =

    |

    errorButton { # stdWrap.noTrimWrap = |» || typolink.parameter.data = TSFE:id typolink.parameter.noTrimWrap = || - csc-mailform-button typolink.ATagParams = onclick="tx_mediaplaner_pi.errorWindow(false); return false;" # wrap = |
    } } stdWrap { split { token.char = 10 cObjNum = 1 1 = TEXT 1.current = 1 1.trim = 1 } } _CSS_DEFAULT_STYLE ( .tx-mediaplaner-menu{position:relative;display:flex;width:100%;padding:0 .5em;box-sizing:border-box;justify-content:space-between}.tx-mediaplaner-menu .tx-mediaplaner-menu-header{display:block;height:0}.tx-mediaplaner-menu .tx-mediaplaner-menu-header .header-number{-moz-box-shadow:inset 0 1px 0 0 var(--btn-select-box-shadow);-webkit-box-shadow:inset 0 1px 0 0 var(--btn-select-box-shadow);box-shadow:inset 0 1px 0 0 var(--btn-select-box-shadow);background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,var(--btn-select-background)),color-stop(1,var(--btn-select-background-to)));background:-moz-linear-gradient(top,var(--btn-select-background) 5%,var(--btn-select-background-to) 100%);background:-webkit-linear-gradient(top,var(--btn-select-background) 5%,var(--btn-select-background-to) 100%);background:-o-linear-gradient(top,var(--btn-select-background) 5%,var(--btn-select-background-to) 100%);background:-ms-linear-gradient(top,var(--btn-select-background) 5%,var(--btn-select-background-to) 100%);background:linear-gradient(to bottom,var(--btn-select-background) 5%,var(--btn-select-background-to) 100%);background-color:var(--btn-select-background);border:1px solid var(--btn-select-border);display:block;padding:.5em;font-size:1.5em;font-weight:700;color:var(--btn-select-color)}.tx-mediaplaner-menu .tx-mediaplaner-menu-header .header-number:hover{background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,var(--btn-select-background-to)),color-stop(1,var(--btn-select-background)));background:-moz-linear-gradient(top,var(--btn-select-background-to) 5%,var(--btn-select-background) 100%);background:-webkit-linear-gradient(top,var(--btn-select-background-to) 5%,var(--btn-select-background) 100%);background:-o-linear-gradient(top,var(--btn-select-background-to) 5%,var(--btn-select-background) 100%);background:-ms-linear-gradient(top,var(--btn-select-background-to) 5%,var(--btn-select-background) 100%);background:linear-gradient(to bottom,var(--btn-select-background-to) 5%,var(--btn-select-background) 100%);background-color:var(--btn-select-background-to)}.tx-mediaplaner-menu .tx-mediaplaner-menu-header.ready .header-number{-moz-box-shadow:inset 0 1px 0 0 var(--btn-select-selected-box-shadow);-webkit-box-shadow:inset 0 1px 0 0 var(--btn-select-selected-box-shadow);box-shadow:inset 0 1px 0 0 var(--btn-select-selected-box-shadow);background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,var(--btn-select-selected-background)),color-stop(1,var(--btn-select-selected-background-to)));background:-moz-linear-gradient(top,var(--btn-select-selected-background) 5%,var(--btn-select-selected-background-to) 100%);background:-webkit-linear-gradient(top,var(--btn-select-selected-background) 5%,var(--btn-select-selected-background-to) 100%);background:-o-linear-gradient(top,var(--btn-select-selected-background) 5%,var(--btn-select-selected-background-to) 100%);background:-ms-linear-gradient(top,var(--btn-select-selected-background) 5%,var(--btn-select-selected-background-to) 100%);background:linear-gradient(to bottom,var(--btn-select-selected-background) 5%,var(--btn-select-selected-background-to) 100%);background-color:var(--btn-select-selected-background);color:var(--btn-select-selected-color)}.tx-mediaplaner-menu .tx-mediaplaner-menu-header.ready .header-number:hover{background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,var(--btn-select-selected-background-to)),color-stop(1,var(--btn-select-selected-background)));background:-moz-linear-gradient(top,var(--btn-select-selected-background-to) 5%,var(--btn-select-selected-background) 100%);background:-webkit-linear-gradient(top,var(--btn-select-selected-background-to) 5%,var(--btn-select-selected-background) 100%);background:-o-linear-gradient(top,var(--btn-select-selected-background-to) 5%,var(--btn-select-selected-background) 100%);background:-ms-linear-gradient(top,var(--btn-select-selected-background-to) 5%,var(--btn-select-selected-background) 100%);background:linear-gradient(to bottom,var(--btn-select-selected-background-to) 5%,var(--btn-select-selected-background) 100%);background-color:var(--btn-select-selected-background-to)}.tx-mediaplaner-menu .tx-mediaplaner-menu-header a{text-decoration:none}.tx-mediaplaner-menu .tx-mediaplaner-menu-header.ready:after{position:relative;content:"";color:var(--btn-select-color);display:inline-block;font-family:FontAwesome;font-size:1.3em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;vertical-align:middle;pointer-events:none;top:-25px;left:15px}.tx-mediaplaner-menu .tx-mediaplaner-menu-header .header-text{display:none;padding-left:.5em}.tx-mediaplaner-menu .tx-mediaplaner-menu-header h3.header-text{margin:0}#tx-mediaplaner-menu-error{display:none}.tx-mediaplaner-menu-window{padding:1em}.tx-mediaplaner-menu-window h2{padding-bottom:0}.tx-mediaplaner-menu-window p{padding-top:3px!important}.tx-mediaplaner-menu-window p span label{display:block}#TB_window .tx-mediaplaner-menu-window a.csc-mailform-button,.tx-mediaplaner-menu-window a.csc-mailform-button{float:right}#TB_window .tx-mediaplaner-menu-window a.csc-mailform-button.left,.tx-mediaplaner-menu-window a.csc-mailform-button.left{float:left}.tx-mediaplaner-menu-window .line{border-bottom:1px dashed var(--border-top-color);clear:both;font-size:0;height:0;line-height:0;margin:20px 0}@media only screen and (min-width:37.5em){.tx-mediaplaner-menu{justify-content:start}.tx-mediaplaner-menu .tx-mediaplaner-menu-header{margin-right:1em}.tx-mediaplaner-menu .tx-mediaplaner-menu-header:last-of-type{margin-right:0}}@media only screen and (min-width:48em){.tx-mediaplaner-menu{flex-direction:row;width:auto;background-color:transparent;flex-wrap:wrap;padding:0;justify-content:normal}.tx-mediaplaner-menu .tx-mediaplaner-menu-header{display:flex;flex-direction:row;height:100%;margin:0;width:35%;padding:.2em;background-color:var(--background-color)}.tx-mediaplaner-menu .tx-mediaplaner-menu-header.ready:after{color:var(--btn-select-selected-basis);top:7px;left:3px}.tx-mediaplaner-menu .tx-mediaplaner-menu-header:first-of-type{margin-top:0}.tx-mediaplaner-menu-header.n1{order:0}.tx-mediaplaner-menu-header.n2{order:2}.tx-mediaplaner-menu-header.n3{order:4}.tx-mediaplaner-menu-header.n4{order:5}.tx-mediaplaner-menu-header.n5{order:1}.tx-mediaplaner-menu-header.n6{order:3}.tx-mediaplaner-menu-header.nR{order:4}.tx-mediaplaner-menu-header.n8{order:7}.tx-mediaplaner-menu .tx-mediaplaner-menu-header a{display:flex;flex-direction:row}.tx-mediaplaner-menu .tx-mediaplaner-menu-header .header-text{display:flex;align-self:center}.tx-mediaplaner-menu .tx-mediaplaner-menu-header .header-number,.tx-mediaplaner-menu .tx-mediaplaner-menu-header h3.header-text{font-size:1em}}@media only screen and (min-width:64em){.tx-mediaplaner-menu .tx-mediaplaner-menu-header .header-number,.tx-mediaplaner-menu .tx-mediaplaner-menu-header h3.header-text{font-size:1.2em}}@media only screen and (min-width:89em){.tx-mediaplaner-menu .tx-mediaplaner-menu-header .header-number,.tx-mediaplaner-menu .tx-mediaplaner-menu-header h3.header-text{font-size:1.4em}} ) }