# TODO: reprendre les formulaires custom
# TODO: prévoir les fallbacks no-script (menu, donors)

# -- après déploiement beta
# TODO: DEPRECATION V10 corriger les appels ` $this->forward('...');`, `\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(` et `\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(`
# TODO: Placer tous les mots utilisés dans le fichier de traduction
# TODO: obtenir les infos suivantes via l'API: is_network, email, name, twitter, logo, network_logo, network_name, network_url
# TODO: créer deux ou trois layouts supplémentaires
# TODO: filtrer les pages sans contenu (en option dans les constants?)
# TODO: rédiger une doc dev
# TODO: Rédiger une doc utilisateurs
# TODO: permettre de mettre en avant des évènements (appraissent plus longtemps à l'avance)
# TODO: tester les widgets
# TODO: ajouter un plugin "réseaux sociaux"
# TODO: tester l'intégration matomo
# TODO: permettre d'ajouter du contenu de type fichier
# TODO: permettre d'ajouter du contenu de type vidéos
# TODO: carroussel: ne pas redimensionner les photos mais les rogner
# TODO: ajouter une recherche fulltext sur le site
# TODO: créer un module de personnalisation du site
# TODO: Faire des sites de demo / de test pour chaque thème avec un compte bidon mais représentatif
# TODO: trouver un système pour garder à jour les mentions légales
# TODO: Réflechir à un système pour pouvoir afficher un message sur tous les minisites, type 'Maintenance prévue le...' ou autre

## DEBUG MODE: tout commenter pour la prod ##
config.debug = 1
config.contentObjectExceptionHandler = 0
config.no_cache = 1
config.admPanel = 0

plugin.tx_vhs.settings.debug = 0
plugin.tx_vhs.settings.asset.debug = 0
####

# **** Configuration générale ****

config.language = fr
config.locale_all = fr_FR.utf-8
config.concatenateCss = 1
config.compressCss = 1
config.compressJs = 1

# Déclaration des plugins

lib.allEvents = USER
lib.allEvents {
    userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
    extensionName = OtWidgets
    pluginName = AllEvents
    vendorName = Opentalent
    settings < plugin.tx_otwidgets_allevents.settings
}

lib.auth = USER
lib.auth {
    userFunc = Opentalent\OtConnect\OtAuthenticationService->logout
}


# **** Settings: récupère les variables utilisateur *****




# **** Page: configuration générale de la page courante ****

# **** Templating : configuration du template Flux ****
page = PAGE
page {
    typeNum = 0
    5 = USER
    5 {
        userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
        extensionName = Flux
        vendorName = FluidTYPO3
        pluginName = Page
    }
    10 >
}
plugin.tx_flux {
#    Allow pages which have is_siteroot = 1 to inherit chosen template from parent.
#    Disable this to prevent subsites in a multisite environment from using the same template as the immediate parent of that site root.
    siteRootInheritance = 1
}

page.config.doctype=html5
page.meta {
     keywords.field = keywords
     description.field = description
     author.field = author
     robots = index,follow,archive
     viewport = width=device-width
}

page.includeCSS {
    fontAwesome = {$publicRootPath}assets/style/ext/font-awesome/css/all.css
    slick = {$publicRootPath}assets/style/ext/slick.css
    datepicker = {$publicRootPath}assets/style/ext/jquery-ui.css
    leaflet = {$publicRootPath}assets/style/ext/leaflet.css
}

page.includeJS {
    jquery = {$publicRootPath}assets/script/jquery-3.4.1.min.js
    slick = {$publicRootPath}assets/script/slick.min.js
    datepicker = {$publicRootPath}assets/script/jquery-ui.js
    leaflet = {$publicRootPath}assets/script/leaflet.js
    main = {$publicRootPath}assets/script/main.js
}

page.includeJSFooter {
}

plugin.tx_ottemplating {
    view {
        templateRootPaths.0 = {$templateRootPath}
        partialRootPaths.0 = {$partialRootPath}
        layoutRootPaths.0 = {$layoutRootPath}
    }
    settings {
        # constantsnpm install -g node-sass
        opentalentWebsite = {$plugin.tx_ottemplating.settings.opentalent.website}
        opentalentLogoPath = {$plugin.tx_ottemplating.settings.opentalent.logoPath}
        opentalentFileStorageUrl = {$plugin.tx_ottemplating.settings.opentalent.fileStorageUrl}
        opentalentDashboardUrl = {$plugin.tx_ottemplating.settings.opentalent.dashboardUrl}
        opentalentLogoutUrl = {$plugin.tx_ottemplating.settings.opentalent.logoutUrl}
        structureId = {$plugin.tx_ottemplating.settings.organization.id}
        structureLogoId = {$plugin.tx_ottemplating.settings.organization.logoid}
        structureName = {$plugin.tx_ottemplating.settings.organization.name}
        structureEmail = {$plugin.tx_ottemplating.settings.organization.email}
        structureIsNetwork = {$plugin.tx_ottemplating.settings.organization.is_network}
        networkLogo = {$plugin.tx_ottemplating.settings.network.logo}
        networkName = {$plugin.tx_ottemplating.settings.network.name}
        networkUrl = {$plugin.tx_ottemplating.settings.network.url}

        # computed
        structureLogoUrl = {$plugin.tx_ottemplating.settings.opentalent.fileStorageUrl}{$plugin.tx_ottemplating.settings.organization.logoid}/0x60
        networkLogoUrl = /typo3conf/ext/ot_templating/Resources/Public/assets/media/{$plugin.tx_ottemplating.settings.network.logo}

        # Default values for flux parameters
        themeColor = blue
        displayCarousel = 1
        staticDonors = 0
        eventsLimit = 5
        eventsPeriod = 8
    }
}


# **** Form extension ****
# @see https://docs.typo3.org/c/typo3/cms-form/9.5/en-us/Introduction/Index.html

module.tx_form {
    settings {
        yamlConfigurations {
            100 = EXT:ot_templating/Configuration/Form/CustomFormSetup.yaml
        }
    }
}
plugin.tx_form {
    settings {
        yamlConfigurations {
            100 = EXT:ot_templating/Configuration/Form/CustomFormSetup.yaml
        }
        formDefinitionOverrides {
            Contact {
                finishers {
                    0 {
                        options {
                            recipientAddress = {$plugin.tx_ottemplating.settings.organization.email}
                        }
                    }
                }
            }
        }
    }
}


