# 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 = ||: |
insertData = 1
}
planing < .dates
planing {
setCurrent >
lang.de = Werbedruck
noTrimWrap = ||: |
}
region < .dates
region {
setCurrent >
lang.de = Orte & Regionen
noTrimWrap = ||: |
}
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 = ||: |
}
print < .citizen
print {
setCurrent >
lang.de = Plakatproduktion
noTrimWrap = ||: |
}
}
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 = |
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}}
)
}