# TODO: reprendre les formulaires custom
# TODO: prévoir les fallbacks no-script (menu, donors)
# TODO: viewhelpers - intégrer une gestion d'erreur, en particulier pour ce qui touche aux appels à l'api

# -- MODERN template
# TODO: corriger pbm quand pas de carrousel (les menus ne se voient plus)
# TODO: corriger pbm quand trop d'élément dans le menu

# -- 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.auth = USER
lib.auth {
    userFunc = Opentalent\OtConnect\OtAuthenticationService->logout
}

# Overrides fluid_styled_content contents (builtin contents)
#lib.contentElement.templateRootPaths.10 = EXT:ot_templating/Resources/Private/Templates/Ext/fluid_styled_content/Default/Templates/


# **** Page: configuration générale de la page courante ****
page = PAGE
page {
    typeNum = 0
    5 = USER
    5 {
        userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
        extensionName = Flux
        vendorName = FluidTYPO3
        pluginName = Page
    }
    10 >
}

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

# **** Configuration des extensions ****
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 = 0
}

plugin.tx_ottemplating {
    view {
        templateRootPaths.0 = {$templateRootPath}
        partialRootPaths.0 = {$partialRootPath}
        layoutRootPaths.0 = {$layoutRootPath}
    }
    settings {
        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}
        cmfUrl = {$plugin.tx_ottemplating.settings.network.cmfUrl}

        # aliases
        organizationId = {$plugin.tx_ottemplating.settings.organization.id}
        organizationIsNetwork = {$plugin.tx_ottemplating.settings.organization.is_network}

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

        # Default values for flux parameters
        template = Classic
        themeColor = light-blue
        displayCarousel = 1
        staticDonors = 0
        eventsLimit = 3
        eventsPeriod = 12
    }
}

# * 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}
                        }
                    }
                }
            }
        }
    }
}


