// Page ID for Fluid Tracking
lib.pageid = TEXT
lib.pageid.data = page:uid
lib.currentURL= TEXT
lib.currentURL.data = getIndpEnv:TYPO3_REQUEST_URL

lib.contentElement {
    templateName = Default
    templateRootPaths {
        100 = EXT:drk_template/Resources/Private/Templates/Content/
    }

    partialRootPaths {
        100 = EXT:drk_template/Resources/Private/Partials/
    }

    layoutRootPaths {
        100 = EXT:drk_template/Resources/Private/Layouts/
    }

    settings {
        dateFormat = d.m.Y
        newsletterPageID = {$pages.newsletter}
        searchPageID = {$pages.search}
        dateFormat = d.m.Y
        germanIndexPageID = {$pages.germanIndex}
		historyID = null
        sysLanguageUid = 0
        reloaded = null
    }
}

# insert DCTERMS metadata
lib.dcTerms = COA
lib.dcTerms {
    30 = TEXT
    30.field = subtitle // title
    30.noTrimWrap = |<meta name="DCTERMS.title" content="| - DRK e.V.">|

    50 = TEXT
    50 {
        field = abstract
        ifEmpty = {$pages.default.description}
        noTrimWrap = |<meta name="DCTERMS.description" content="|">|
    }
    60 = TEXT
    60 {
        field = keywords
        ifEmpty = {$pages.default.keyword}
        noTrimWrap = |<meta name="DCTERMS.subject" content="|">|
    }
    70 = TEXT
    70.value = {$pages.default.title}
    70.wrap = <meta name="DCTERMS.rights" content="|">
    80 = TEXT
    80 {
        field = author
        ifEmpty = {$pages.default.author}
        noTrimWrap = |<meta name="DCTERMS.creator" content="|">|
    }
    90 = TEXT
    90 {
        data = page : SYS_LASTCHANGED
        date = c
        wrap = <meta name="DCTERMS.date" content="|">
    }
    100 < .90
    100.wrap = <meta name="date" content="|">
}

#insert schema.org
lib.schemaOrg = COA
lib.schemaOrg {
	wrap = <div class="h-hide" style="display:none; visibility:hidden; width:0 !important; height:0 !important;">|</div>
	5 = TEXT
	5.typolink {
			parameter = {page:uid}
			forceAbsoluteUrl = 1
			forceAbsoluteUrl.scheme = https
			parameter.insertData = 1
			returnLast = url
		}
	5.insertData = 1
	5.noTrimWrap = |<div style="display:none;"><a href="|" itemprop="url">Link</a></div>|
	6 = TEXT
    6.value (
        <div style="display:none;"><link itemprop="additionalType" href="http://schema.org/NGO" /><link itemprop="additionalType" href="http://schema.org/Website" /></div>
    )
	10 = TEXT
	10.value (
	<div style="display:none;">
		<span itemprop="name">Deutsches Rotes Kreuz</span>
		<span itemprop="legalName">Deutsches Rotes Kreuz e.V.</span>
		<span itemprop="telephone">+49 30 85 40 40</span>
		<span itemprop="faxNumber">+49 30 85 40 44 50</span>
		<span itemprop="email">drk@drk.de</span>
		<span itemprop="brand" itemscope itemtype="https://schema.org/Organization"><span itemprop="name">DRK</span></span>
		<span itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
            <span itemprop="addressLocality">Berlin</span>
            <span itemprop="addressRegion">DE</span>
            <span itemprop="postalCode">12205</span>
            <span itemprop="streetAddress">Carstennstraße 58</span>
        </span>
		<span itemprop="FoundingLocation">Genf</span>
		<span itemprop="FoundingDate">1863-10-26</span>
		<span itemprop="memberOf" itemscope itemtype="https://schema.org/Organization"><span itemprop="name">Internationale Rotkreuz- und Rothalbmondbewegung</span></span>
		<img itemprop="logo" src="https://www.drk.de/typo3conf/ext/drk_template/Resources/Public/Images/png/favicon.png" alt="DRK Logo" width="128" height="128" />
		<span itemprop="potentialAction" itemscope itemtype="https://schema.org/SearchAction">
            <span itemprop="target">https://www.drk.de/suche/?drk[q]={search_term_string}</span>
            <span itemprop="query-input">required name=search_term_string</span>
        </span>
	</div>
	)
    15 = TEXT
    15.value (
    <div style="display:none">
        <span itemprop="sameAs">https://www.facebook.com/roteskreuz/</span>
        <span itemprop="sameAs">https://twitter.com/roteskreuz_de</span>
        <span itemprop="sameAs">https://www.instagram.com/drkbundesverband/</span>
        <span itemprop="sameAs">https://www.xing.com/company/drk</span>
    </div>
    )

	20 = TEXT
	20.field = abstract
	20.ifEmpty = Erfahren Sie hier alles rund um die Aufgaben des DRK, unsere Projekte und unsere Angebote. Wir freuen uns, wenn Sie unsere Arbeit mit einer Spende unterstützen.
	20.noTrimWrap = |<div style="display:none;"><span itemprop="description">|</span></div>|

}


# partial used for displaying search input in mobile view
lib.searchButton = FLUIDTEMPLATE
lib.searchButton.file = EXT:drk_template/Resources/Private/Partials/SearchButtonMobile.html
lib.searchButton.settings {
    searchPageID = {$pages.search}
}

# partial used for displaying lightspeaking link in mobile view
lib.lightSpeaking = FLUIDTEMPLATE
lib.lightSpeaking.file = EXT:drk_template/Resources/Private/Partials/LightSpeakingLink.html
lib.lightSpeaking.settings {
    lightSpeakingPageID = {$pages.lightSpeakingLink}
    amp = {$pages.amp}
}

# partial used for displaying newsletter subscribe
lib.newsletterSubscribe = FLUIDTEMPLATE
lib.newsletterSubscribe.file = EXT:drk_template/Resources/Private/Partials/NewsletterSubscribe.html
lib.newsletterSubscribe.settings {
    kontaktPageID = {$pages.kontaktPage}
}

lib.donationLink = FLUIDTEMPLATE
lib.donationLink.file = EXT:drk_template/Resources/Private/Partials/DonationLink.html
lib.donationLink.settings {
    donationPageID = {$pages.donate}
}

# headerImage
lib.headerImage = IMAGE
lib.headerImage {
    file {
        import.data = levelmedia:-1,slide
        treatIdAsReference = 1
        import.listNum = 0
    }

    params = class="c-main-stage__image o-stage__image"
}

# subHeader
lib.subHeader = TEXT
lib.subHeader {
    field = subtitle
    required = 1
    dataWrap = <h2 class="c-main-stage__title">|</h2>
    htmlSpecialChars = 1
    stdWrap.br = 1
}

# Helper image for teaser
lib.teaserHelperImage = FILES
lib.teaserHelperImage {
    references {
        table = pages
        uid.data = TSFE:id
        data = levelmedia:-1,slide
        fieldName = media
    }

    maxItems = 1
    renderObj = IMAGE
    renderObj {
        file {
            import.data = file:current:publicUrl
            width = 1400c
            height = 500c
        }

        required = 1
    }

    stdWrap.required = 1
}

# PLZ
lib.membershipApplicationPlz = COA
lib.membershipApplicationPlz {
    10 = FLUIDTEMPLATE
    10 {
        file = EXT:drk_template/Resources/Private/Partials/Extensions/Powermail/MembershipApplication/Plz.html
        settings {
            kvUrl = /index.php?eID=membership_application&zip=
            associationUrlUid = {$var.powermail.membershipApplication.associationUrlUid}
            associationMailUid = {$var.powermail.membershipApplication.associationMailUid}
        }
    }
}

# Kreisverband
lib.membershipApplicationChapter = COA
lib.membershipApplicationChapter {
    10 = FLUIDTEMPLATE
    10 {
        file = EXT:drk_template/Resources/Private/Partials/Extensions/Powermail/MembershipApplication/Chapter.html
        settings {
            kvUrl = /index.php?eID=membership_application&zip=
            associationUrlUid = {$var.powermail.membershipApplication.associationUrlUid}
            associationMailUid = {$var.powermail.membershipApplication.associationMailUid}
        }
    }
}
# page sitemap
lib.sitemap = COA
lib.sitemap {
    stdWrap.prefixComment = 2 | lib.sitemap
    wrap = |
    10 = COA
    10 {
        5 = HMENU
        5 {
            special = list
            special.value = {$pages.germanMenuIndex}
            1 = TMENU
            1 {
                wrap = <ul class="c-sitemap__list">|
                expAll = 1
                NO {
                    wrapItemAndSub = <li class="c-sitemap__item">|
                    ATagTitle.field = title
                    ATagParams = class="c-sitemap__link"
					stdWrap.override.cObject = CASE
					stdWrap.override.cObject {
						key.field = uid
						6006 = TEXT
						6006 {
							value = Start
							typolink {
								title = Start
								parameter = https://www.drk.de/
							}
							wrap = |
						}
					}
                }
            }
        }

        10 = HMENU
        10 {
            special = list
            special.value = {$pages.sitemapList}
            # Dokumenttypen die nicht vorkommen sollen
            excludeDoktypes =
            # Seiten (ID) die nicht aufgeführt werden sollen
            excludeUidList =
            includeNotInMenu = 1
            1 = TMENU
            1 {
                wrap = <ul class="c-sitemap__list">|</ul>
                expAll = 1
                NO {
                    wrapItemAndSub = <li class="c-sitemap__item">|</li>
                    ATagTitle.field = title
                    ATagParams = class="c-sitemap__link"
                }
            }

            2 < .1
            2 {
                wrap = <ul class="c-sitemap__list">|</ul>
                NO.wrapItemAndSub = <li class="c-sitemap__item">|</li> |*||*| <li class="c-sitemap__item">|</li>
            }

            3 < .2
            4 < .2
            5 < .2
        }

        20 = TEXT
        20.wrap = |</li></ul>
    }
}

# set powermail contact form receiver mails through user function
lib.changeContactFormReceiver = USER
lib.changeContactFormReceiver {
    userFunc = Drk\Template\Powermail\ContactForm->changeReceiver
}

# Read Speaker
lib.readSpeakerUrl = TEXT
lib.readSpeakerUrl.data = getIndpEnv:TYPO3_REQUEST_URL
lib.readSpeakerUrl.stdWrap.rawUrlEncode = 1

# Short Newsletter
lib.NewsletterRegister = COA
lib.NewsletterRegister {
    10 = USER
    10 {
        userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
        pluginName = Optin
        extensionName = DrkNewsletter
        controller = Optin
        action = shortsubscribe
		switchableControllerActions {
			Optin {
				1 = shortsubscribe
				2 = create
				3 = handDataToAPI
			}
		}
    }
}

# Json string for voice search on schema.org
lib.voicesearch = COA
lib.voicesearch {
    1.insertData = 1
    5 = TEXT
    5.value (
	<script type="application/ld+json">
		{
			"@context": "http://schema.org",
			"@type": "WebPage",
    )
    10 = TEXT
    10 {
        stdWrap.noTrimWrap = |"name": "|",|
        data = page:title
    }
    20 = TEXT
    20 {
        stdWrap.noTrimWrap = |"description": "|",|
        data = page:description
    }
    25 = COA
    25 {
        5 = TEXT
        5.value (
			"speakable": {
				"@type": "SpeakableSpecification",
        )
        10 = TEXT
        10.stdWrap.noTrimWrap = |"cssSelector": "#c|"|
        10.value.current = 1
        10.value.dataWrap = {field:cUid}
        15 = TEXT
        15.value (
			},
        )
    }
    30 = TEXT
    30 {
        wrap = "url": "|"
        typolink {
            parameter.data = page:uid
            forceAbsoluteUrl = 1
            forceAbsoluteUrl.scheme = https
            returnLast = url
        }
    }
    55 = TEXT
    55.value (
		}
		</script>
    )
}

lib.meta = COA
lib.meta {
    # Hinweis: Bilder kommen aus "Classes/MetaTag/MetaTagGenerator.php"
    10 = TEXT
    10 {
        if.isFalse.field = og_title
        field = title
        ifEmpty = {$pages.default.title}
        noTrimWrap = |<meta property="og:title" content="|">|
    }

    20 = TEXT
    20 {
        if.isFalse.field = og_description
        field = abstract
        ifEmpty = {$pages.default.description}
        noTrimWrap = |<meta property="og:description" content="|">|
    }
    25 = TEXT
    25.typolink {
        parameter = {page:uid}
        forceAbsoluteUrl = 1
        forceAbsoluteUrl.scheme = https
        parameter.insertData = 1
        returnLast = url
    }
    25.insertData = 1
    25.noTrimWrap = |<meta property="og:url" content="|">|

    30 = TEXT
    30 {
        if.isFalse.field = twitter_title
        field = title
        ifEmpty = {$pages.default.title}
        noTrimWrap = |<meta property="twitter:title" content="|">|
    }

    40 = TEXT
    40 {
        if.isFalse.field = twitter_description
        field = abstract
        ifEmpty = {$pages.default.description}
        noTrimWrap = |<meta property="twitter:description" content="|">|
    }
}
