###
# This is the default TS-setup for metaseo
#
# (see Section Reference in the manual for more options & parameters)
#
###

## title tag changer
config.titleTagFunction = Metaseo\Metaseo\Page\Part\PagetitlePart->main

page {
    # MetaSEO: Metatags
    headerData.84113002 = USER
    headerData.84113002 {
        userFunc = Metaseo\Metaseo\Page\Part\MetatagPart->main
    }

    # MetaSEO: Pager Footer
    84113002 = USER
    84113002 {
        userFunc = Metaseo\Metaseo\Page\Part\FooterPart->main
    }
}

# TypoScript added by extension "metaseo"
plugin.metaseo =
plugin.metaseo {

    # extensibility options
    extensibility =
    extensibility {
        allowedDoktypes = {$plugin.metaseo.extensibility.allowedDoktypes}
    }

    # Page title generator
    pageTitle =
    pageTitle {
        applySitetitleToPagetitle = {$plugin.metaseo.pageTitle.applySitetitleToPagetitle}
        applySitetitleToPrefixSuffix = {$plugin.metaseo.pageTitle.applySitetitleToPrefixSuffix}
        sitetitleGlue = {$plugin.metaseo.pageTitle.sitetitleGlue}
        sitetitleGlueSpaceBefore = {$plugin.metaseo.pageTitle.sitetitleGlueSpaceBefore}
        sitetitleGlueSpaceAfter = {$plugin.metaseo.pageTitle.sitetitleGlueSpaceAfter}
        sitetitlePosition = {$plugin.metaseo.pageTitle.sitetitlePosition}
        sitetitle = {$plugin.metaseo.pageTitle.sitetitle}

        # Caching of page title
        caching = {$plugin.metaseo.pageTitle.caching}

        # list of stdWraps for advanced page title manipulations
        stdWrap =
        stdWrap {
            # stdWrap for raw page title (before processing)
            before =
            before {

            }

            # stdWrap for sitetitle (the title from the template, not from the page)
            sitetitle =
            sitetitle {

            }

            # stdWrap for processed page title (after processing)
            after =
            after {

            }
        }
    }

    # Page metatag generator
    metaTags =
    metaTags {
        enableDC = {$plugin.metaseo.metaTags.enableDC}
        description = {$plugin.metaseo.metaTags.description}
        keywords = {$plugin.metaseo.metaTags.keywords}
        copyright = {$plugin.metaseo.metaTags.copyright}
        email = {$plugin.metaseo.metaTags.email}
        author = {$plugin.metaseo.metaTags.author}
        publisher = {$plugin.metaseo.metaTags.publisher}
        language = {$plugin.metaseo.metaTags.language}
        distribution = {$plugin.metaseo.metaTags.distribution}
        rating = {$plugin.metaseo.metaTags.rating}
        revisit = {$plugin.metaseo.metaTags.revisit}

        p3pCP = {$plugin.metaseo.metaTags.p3pCP}
        p3pPolicyUrl = {$plugin.metaseo.metaTags.p3pPolicyUrl}

        linkGeneration = {$plugin.metaseo.metaTags.linkGeneration}

        robotsEnable = {$plugin.metaseo.metaTags.robotsEnable}
        robotsIndex = {$plugin.metaseo.metaTags.robotsIndex}

        robotsIndex {
            # blacklist (RegExp, eg /typo3/)
            blacklist {

            }
        }

        robotsFollow = {$plugin.metaseo.metaTags.robotsFollow}
        robotsArchive = {$plugin.metaseo.metaTags.robotsArchive}
        robotsSnippet = {$plugin.metaseo.metaTags.robotsSnippet}
        robotsNoImageindex = {$plugin.metaseo.metaTags.robotsNoImageindex}
        robotsNoTranslate = {$plugin.metaseo.metaTags.robotsNoTranslate}
        robotsOdp = {$plugin.metaseo.metaTags.robotsOdp}
        robotsYdir = {$plugin.metaseo.metaTags.robotsYdir}

        geoPositionLatitude = {$plugin.metaseo.metaTags.geoPositionLatitude}
        geoPositionLongitude = {$plugin.metaseo.metaTags.geoPositionLongitude}
        geoRegion = {$plugin.metaseo.metaTags.geoRegion}
        geoPlacename = {$plugin.metaseo.metaTags.geoPlacename}

        googleVerification = {$plugin.metaseo.metaTags.googleVerification}
        msnVerification = {$plugin.metaseo.metaTags.msnVerification}
        yahooVerification = {$plugin.metaseo.metaTags.yahooVerification}
        wotVerification = {$plugin.metaseo.metaTags.wotVerification}

        picsLabel = {$plugin.metaseo.metaTags.picsLabel}

        useLastUpdate = {$plugin.metaseo.metaTags.useLastUpdate}

        # canonical tag generator settings
        canonicalUrl = {$plugin.metaseo.metaTags.canonicalUrl}
        canonicalUrl {
            fallbackProtocol = {$plugin.metaseo.metaTags.canonicalUrl.fallbackProtocol}
            strict = {$plugin.metaseo.metaTags.canonicalUrl.strict}
            noMP = {$plugin.metaseo.metaTags.canonicalUrl.noMP}

            # Default typolink configuration for canonical link
            typolink {

            }

            # blacklist (RegExp, eg /typo3/)
            blacklist {

            }
        }

        # OpenGraph metatags
        opengraph = {$plugin.metaseo.metaTags.opengraph}
        opengraph {
            site_name = TEXT
            site_name {
                data = TSFE:tmpl|sitetitle
            }

            title = TEXT
            title {
                field = title
            }

            image {
                url = FILES
                url {
                    references {
                        table = pages
                        uid.data = page:uid
                        fieldName = tx_metaseo_opengraph_image
                    }
                    renderObj = TEXT
                    renderObj {
                        typolink {
                            parameter {
                                stdWrap.cObject = IMG_RESOURCE
                                stdWrap.cObject {
                                    file {
                                        import.data = file:current:uid
                                        treatIdAsReference = 1
                                        width = {$plugin.metaseo.metaTags.opengraphImageWidth}
                                        height = {$plugin.metaseo.metaTags.opengraphImageHeight}
                                    }
                                }
                            }
                            returnLast = url
                            forceAbsoluteUrl = 1
                        }
                    }
                }

                width = TEXT
                width {
                    data = TSFE:lastImgResourceInfo|0
                }

                height = TEXT
                height {
                    data = TSFE:lastImgResourceInfo|1
                }

                type = TEXT
                type {
                    wrap = image/|
                    data = TSFE:lastImgResourceInfo|2
                    required = 1
                }
            }

            type = article
            admins = 
            email = {$plugin.metaseo.metaTags.email}
            phone_number =
            fax_number =
            latitude = {$plugin.metaseo.metaTags.geoPositionLatitude}
            longitude = {$plugin.metaseo.metaTags.geoPositionLongitude}
            street-address =
            locality = {$plugin.metaseo.metaTags.geoPlacename}
            region = {$plugin.metaseo.metaTags.geoRegion}
            postal-code =
            country-name =
        }

        useExpire = {$plugin.metaseo.metaTags.useExpire}

        ieCompatibilityMode = {$plugin.metaseo.userAgent.ieCompatibilityMode}

        # basic configuration for metatag information
        conf =
        conf {
            description_page.field = description
            keywords_page.field = keywords
            title_page.field = title
            author_page.field = author
            email_page.field = author_email

            tx_metaseo_geo_lat.field = tx_metaseo_geo_lat
            tx_metaseo_geo_long.field = tx_metaseo_geo_long
            tx_metaseo_geo_place.field = tx_metaseo_geo_place
            tx_metaseo_geo_region.field = tx_metaseo_geo_region

            lastUpdate_page = TEXT
            lastUpdate_page {
                data = page:lastUpdated
                stdWrap.ifEmpty.data = register : SYS_LASTCHANGED
                date = c
            }
        }

        # section links (start, up, next, prev)
        sectionLinks =
        sectionLinks {

            start = HMENU
            start {
                special = browse
                special {
                    items = first
                    first.fields.title =
                    first.fields.nav_title =
                }

                1 = TMENU
                1.NO {
                    wrapItemAndSub = {field:uid}
                    wrapItemAndSub.insertData = 1
                    doNotLinkIt = 1
                }
            }

            prev = HMENU
            prev {
                special = browse
                special {
                    items = prev
                    prev.fields.title =
                    prev.fields.nav_title =
                }

                1 = TMENU
                1.NO {
                    wrapItemAndSub = {field:uid}
                    wrapItemAndSub.insertData = 1
                    doNotLinkIt = 1
                }
            }

            next = HMENU
            next {
                special = browse
                special {
                    items = next
                    next.fields.title =
                    next.fields.nav_title =
                }

                1 = TMENU
                1.NO {
                    wrapItemAndSub = {field:uid}
                    wrapItemAndSub.insertData = 1
                    doNotLinkIt = 1
                }
            }
        }

        # list of stdWraps for advanced metatag manipulations
        stdWrap =
        stdWrap {
            # stdWrap for title
            title =
            title {

            }

            # stdWrap for description
            description =
            description {

            }

            # stdWrap for keywords
            keywords =
            keywords {

            }

            # stdWrap for copyright
            copyright =
            copyright {

            }

            # stdWrap for language
            language =
            language {

            }

            # stdWrap for email
            email =
            email {

            }

            # stdWrap for author
            author =
            author {

            }

            # stdWrap for publisher
            publisher =
            publisher {

            }

            # stdWrap for distribution
            distribution =
            distribution {

            }

            # stdWrap for rating
            rating =
            rating {

            }

            # stdWrap for lastUpdate
            lastUpdate =
            lastUpdate {

            }
        }
    }

    # Advanced services (google analytics, piwik ...)
    services =
    services {
        # Google Analytics configuration
        googleAnalytics = {$plugin.metaseo.services.googleAnalytics}
        googleAnalytics {
            # show google analytics if user is logged in be (default is disable, we don't want to track be-users)
            showIfBeLogin = 0

            anonymizeIp = {$plugin.metaseo.services.googleAnalytics.anonymizeIp}
            domainName = {$plugin.metaseo.services.googleAnalytics.domainName}

            trackDownloads = {$plugin.metaseo.services.googleAnalytics.trackDownloads}
            trackDownloadsScript = EXT:metaseo/Resources/Public/Frontend/JavaScript/GoogleAnalyticsTrackDownload.js

            customizationCode =
            enableIfHeaderIsDisabled = {$plugin.metaseo.services.enableIfHeaderIsDisabled}

            ## google analytics template code
            template = COA
            template {
                10 = FLUIDTEMPLATE
                10 {
                    file = EXT:metaseo/Resources/Private/Templates/PageParts/ServiceGoogleAnalytics.html
                    variables {
                        gaCode = TEXT
                        gaCode.field = gaCode

                        gaCustomizationCode = TEXT
                        gaCustomizationCode.field = gaCustomizationCode

                        gaIsAnonymize = TEXT
                        gaIsAnonymize.field = gaIsAnonymize

                        gaDomainName = TEXT
                        gaDomainName.field = gaDomainName

                        gaUseUniversalAnalytics = TEXT
                        gaUseUniversalAnalytics.field = gaUseUniversalAnalytics
                    }
                }
            }
        }

        # Piwik configuration
        piwik =
        piwik {
            # show piwik if user is logged in be (default is disable, we don't want to track be-users)
            showIfBeLogin = 0
            url = {$plugin.metaseo.services.piwik.url}
            id = {$plugin.metaseo.services.piwik.id}

            domainName = {$plugin.metaseo.services.piwik.domainName}
            cookieDomainName = {$plugin.metaseo.services.piwik.cookieDomainName}
            doNotTrack = {$plugin.metaseo.services.piwik.doNotTrack}
            customizationCode =

            enableIfHeaderIsDisabled = {$plugin.metaseo.services.enableIfHeaderIsDisabled}

            ## piwik template code
            template = COA
            template {
                10 = FLUIDTEMPLATE
                10 {
                    file = EXT:metaseo/Resources/Private/Templates/PageParts/ServicePiwik.html
                    variables {
                        piwikUrl = TEXT
                        piwikUrl.field = piwikUrl

                        piwikId = TEXT
                        piwikId.field = piwikId

                        piwikCustomizationCode = TEXT
                        piwikCustomizationCode.field = piwikCustomizationCode

                        piwikDomainName = TEXT
                        piwikDomainName.field = piwikDomainName

                        piwikCookieDomainName = TEXT
                        piwikCookieDomainName.field = piwikCookieDomainName

                        piwikDoNotTrack = TEXT
                        piwikDoNotTrack.field = piwikDoNotTrack
                    }
                }
            }
        }
    }

    # Social services (Google+,...)
    social =
    social {
        googlePlus =
        googlePlus {
            profilePageId = {$plugin.metaseo.social.googleplus.profilePageId}
        }
    }

    # Sitemap indexer and generator
    sitemap =
    sitemap {
        pagePriority = {$plugin.metaseo.sitemap.pagePriority}
        changeFrequency = {$plugin.metaseo.sitemap.changeFrequency}
        expiration = {$plugin.metaseo.sitemap.expiration}
        enablePriority = {$plugin.metaseo.sitemap.enablePriority}
        enableLastMod = {$plugin.metaseo.sitemap.enableLastMod}

        # indexer settings
        index {
            # blacklist (RegExp, eg /typo3/)
            blacklist {

            }

            # Blacklist for SetupTS PAGE object typeNums
            pageTypeBlacklist =

            allowNoStaticCachable = {$plugin.metaseo.sitemap.index.allowNoStaticCachable}
            allowNoCache = {$plugin.metaseo.sitemap.index.allowNoCache}

            # Whitelist of allowed file extensions
            fileExtension {
                # PDF
                1 = pdf

                # Microsoft Office
                2 = doc,docx,xls,xlsx,ppt,pptx

                # OpenOffice
                3 = odt,odp,ods,odg
            }
        }
    }

    # Robots.txt configuration
    robotsTxt =
    robotsTxt {
        # Default robots.txt if no config is found
        default = COA
        default {
            10 = TEXT
            10 {
                value (
User-agent: *
Disallow: /fileadmin/_temp_/
Disallow: /t3lib/
Disallow: /typo3/
Disallow: /typo3_src/
Disallow: /typo3conf/
Disallow: /clear.gif
Allow: /typo3/sysext/frontend/Resources/Public/*

                )
            }

            90 = TEXT
            90 {
                value (
Sitemap: %sitemap%

                )
            }
        }

        # Extra robots.txt, will added even if robots.txt is found
        extra = COA
        extra {

        }

        # Robots.txt marker (search/replace, eg. %name%)
        marker =
        marker {
            sitemap = TEXT
            sitemap {
                typolink {
                    parameter.data = leveluid:0
                    parameter.wrap = |,841132
                    returnLast = url
                }
            }
        }
    }
}

# MetaSEO TXT Sitemap
metaSeoSitemapTxt = PAGE
metaSeoSitemapTxt {
    typeNum = 841131

    config {
        linkVars < config.linkVars
        linkVars := removeFromList(type)
    }

    10 = USER_INT
    10 {
        userFunc = Metaseo\Metaseo\Page\SitemapTxtPage->main
    }

    config {
        disableAllHeaderCode = 1
        additionalHeaders = Content-type:text/plain;charset=UTF-8 | X-Robots-Tag: noindex
        xhtml_cleaning = 0

        ## disable static documents and stuff
        simulateStaticDocuments = 0
        tx_realurl_enable = 0
        tx_cooluri_enable = 0
        sourceopt.enabled = 0

        ## disable indexed search
        index_enable = 0

        ## disable features
        insertDmailerBoundaries = 0
        admPanel = 0
        stat = 0
        jumpurl_enable = 0
        debug = 0
        message_preview = #
    }
}

# MetaSEO XML Sitemap
metaSeoSitemapXml = PAGE
metaSeoSitemapXml {
    typeNum = 841132

    config {
        linkVars < config.linkVars
        linkVars := removeFromList(type)
    }

    10 = USER_INT
    10 {
        userFunc = Metaseo\Metaseo\Page\SitemapXmlPage->main
    }

    config {
        disableAllHeaderCode = 1
        additionalHeaders = Content-type: application/xml;charset=UTF-8 | X-Robots-Tag: noindex
        xhtml_cleaning = 0

        ## disable static documents and stuff
        simulateStaticDocuments = 0
        tx_realurl_enable = 0
        tx_cooluri_enable = 0
        sourceopt.enabled = 0

        ## disable indexed search
        index_enable = 0

        ## disable features
        insertDmailerBoundaries = 0
        admPanel = 0
        stat = 0
        jumpurl_enable = 0
        debug = 0
        message_preview = <!-- -->
    }
}

# MetaSEO Robots.txt
metaSeoRobotsTxt = PAGE
metaSeoRobotsTxt {
    typeNum = 841133

    10 = USER_INT
    10 {
        userFunc = Metaseo\Metaseo\Page\RobotsTxtPage->main
    }

    config {
        disableAllHeaderCode = 1
        additionalHeaders = Content-type:text/plain;charset=UTF-8 | X-Robots-Tag: noindex
        xhtml_cleaning = 0

        ## disable static documents and stuff
        simulateStaticDocuments = 0
        tx_realurl_enable = 0
        tx_cooluri_enable = 0
        sourceopt.enabled = 0

        ## disable indexed search
        index_enable = 0

        ## disable features
        insertDmailerBoundaries = 0
        admPanel = 0
        stat = 0
        jumpurl_enable = 0
        debug = 0
        message_preview = #
    }
}

#####
# Ext: news
####

plugin.tx_news.settings.detail.registerProperties := addToList(keywords,title,teaser,authoremail)
