#RapsysAir configuration
rapsys_air:
- #Contact
- contact:
- name: 'Raphaël Gertz'
- mail: 'airlibre@rapsys.eu'
- #Copyright
- copy:
- long: 'Raphaël Gertz all rights reserved'
- short: 'Copyright 2019'
#RapsysUser configuration
rapsys_user:
#Class replacement
class:
group: 'Rapsys\AirBundle\Entity\Group'
- title: 'Rapsys\AirBundle\Entity\Title'
+ civility: 'Rapsys\AirBundle\Entity\Civility'
user: 'Rapsys\AirBundle\Entity\User'
+ #Default replacement
+ default:
+ group: [ 'User' ]
+ civility: 'Mister'
#Route replacement
route:
index:
name: 'rapsys_air'
+ #Translate replacement
+ translate: [ 'title', 'password', 'site.title', 'copy.by', 'copy.long', 'copy.short', 'copy.title' ]
+ #Languages replacement
+ languages:
+ en_gb: 'English'
+ fr_fr: 'French'
#Contact replacement
contact:
- name: '%rapsys_air.contact.name%'
+ title: '%rapsys_air.contact.title%'
mail: '%rapsys_air.contact.mail%'
+ #Context replacement
+ context:
+ copy:
+ by: '%rapsys_air.copy.by%'
+ link: '%rapsys_air.copy.link%'
+ long: '%rapsys_air.copy.long%'
+ short: '%rapsys_air.copy.short%'
+ title: '%rapsys_air.copy.title%'
+ site:
+ ico: '%rapsys_air.site.ico%'
+ logo: '%rapsys_air.site.logo%'
+ png: '%rapsys_air.site.png%'
+ svg: '%rapsys_air.site.svg%'
+ title: '%rapsys_air.site.title%'
+ url: '%rapsys_air.site.url%'
+ #Edit replacement
+ edit:
+ route:
+ index: 'site.url'
+ view:
+ edit: 'Rapsys\AirBundle\Form\RegisterType'
+ name: '@RapsysAir/form/edit.html.twig'
+ context:
+ title: 'Modify account'
+ password: 'Modify password'
#Login replacement
login:
route:
- index: 'site_url'
+ index: 'site.url'
view:
name: '@RapsysAir/form/login.html.twig'
context:
title: 'Login'
- copy_long: '%rapsys_air.copy.long%'
- copy_short: '%rapsys_air.copy.short%'
- site_ico: '%rapsys_air.site.ico%'
- site_logo: '%rapsys_air.site.logo%'
- site_png: '%rapsys_air.site.png%'
- site_svg: '%rapsys_air.site.svg%'
- site_title: '%rapsys_air.site.title%'
#Recover replacement
recover:
route:
- index: 'site_url'
- recover_mail: 'recover_url'
+ index: 'site.url'
+ recover: 'recover_url'
view:
name: '@RapsysAir/form/recover.html.twig'
context:
title: 'Recover'
- copy_long: '%rapsys_air.copy.long%'
- copy_short: '%rapsys_air.copy.short%'
- site_ico: '%rapsys_air.site.ico%'
- site_logo: '%rapsys_air.site.logo%'
- site_png: '%rapsys_air.site.png%'
- site_svg: '%rapsys_air.site.svg%'
- site_title: '%rapsys_air.site.title%'
mail:
- subject: '%%recipient_name%% welcome back to %%site_title%%'
+ subject: 'Welcome back %%recipient_name%% to %%site.title%%'
html: '@RapsysAir/mail/recover.html.twig'
text: '@RapsysAir/mail/recover.text.twig'
context:
- #Mail recover replacement
- recover_mail:
- route:
- index: 'site_url'
- recover_mail: 'recover_url'
- view:
- name: '@RapsysAir/form/recover_mail.html.twig'
- context:
- title: 'Mail recover'
- copy_long: '%rapsys_air.copy.long%'
- copy_short: '%rapsys_air.copy.short%'
- site_ico: '%rapsys_air.site.ico%'
- site_logo: '%rapsys_air.site.logo%'
- site_png: '%rapsys_air.site.png%'
- site_svg: '%rapsys_air.site.svg%'
- site_title: '%rapsys_air.site.title%'
- mail:
- subject: '%%recipient_name%% welcome back to %%site_title%%'
- html: '@RapsysAir/mail/recover_mail.html.twig'
- text: '@RapsysAir/mail/recover_mail.text.twig'
- context:
#Register replacement
register:
route:
- index: 'site_url'
+ index: 'site.url'
+ confirm: 'confirm_url'
view:
form: 'Rapsys\AirBundle\Form\RegisterType'
name: '@RapsysAir/form/register.html.twig'
context:
title: 'Register'
- copy_long: '%rapsys_air.copy.long%'
- copy_short: '%rapsys_air.copy.short%'
- site_ico: '%rapsys_air.site.ico%'
- site_logo: '%rapsys_air.site.logo%'
- site_png: '%rapsys_air.site.png%'
- site_svg: '%rapsys_air.site.svg%'
- site_title: '%rapsys_air.site.title%'
mail:
- subject: '%%recipient_name%% welcome to %%site_title%%'
+ subject: 'Welcome %%recipient_name%% to %%site.title%%'
html: '@RapsysAir/mail/register.html.twig'
text: '@RapsysAir/mail/register.text.twig'
context:
#Doctrine configuration
doctrine:
+ #Dbal configuration
+ dbal:
+ mapping_types:
+ enum: string
#Orm configuration
orm:
#Force resolution of UserBundle entities to AirBundle one
#XXX: without these lines, relations are lookup in parent namespace ignoring AirBundle extension
resolve_target_entities:
Rapsys\UserBundle\Entity\Group: Rapsys\AirBundle\Entity\Group
- Rapsys\UserBundle\Entity\Title: Rapsys\AirBundle\Entity\Title
+ Rapsys\UserBundle\Entity\Civility: Rapsys\AirBundle\Entity\Civility
Rapsys\UserBundle\Entity\User: Rapsys\AirBundle\Entity\User
#Security configuration
#XXX: https://symfony.com/doc/current/security/form_login_setup.html
#TODO: https://symfony.com/doc/current/security/guard_authentication.html
form_login:
+ #Redirect to referer if different from login route
use_referer: true
+ #Login path
login_path: rapsys_user_login
+ #Check path
check_path: rapsys_user_login
+ #Username parameter
username_parameter: 'login[mail]'
+ #Password parameter
password_parameter: 'login[password]'
#Set logout route
logout:
+ #Logout route
path: rapsys_user_logout
- #XXX: see https://symfony.com/doc/current/security.html#logging-out
- success_handler: Rapsys\AirBundle\Security\LogoutSuccessHandler
- #target: /
+ #Logout default target
+ target: rapsys_air
#Set custom access denied handler
- access_denied_handler: Rapsys\AirBundle\Security\AccessDeniedHandler
+ access_denied_handler: Rapsys\AirBundle\Handler\AccessDeniedHandler
+
+ #Remember me
+ #XXX: see https://symfony.com/doc/current/security/remember_me.html
+ remember_me:
+ #Use APP_SECRET
+ secret: '%kernel.secret%'
+ #Always remember me
+ always_remember_me: true
#Set role hierarchy
role_hierarchy:
ROLE_ADMIN: [ 'ROLE_USER', 'ROLE_GUEST', 'ROLE_REGULAR', 'ROLE_SENIOR' ]
#Framework configuration
+framework:
+ default_locale: 'fr_fr'
+ #error_controller: 'Rapsys\AirBundle\Controller\ErrorController::show'
+ translator:
+ fallbacks: [ 'fr_fr', 'en_gb' ]
+ session:
+ enabled: true
+ handler_id: ~
+ cookie_secure: 'auto'
+ cookie_samesite: 'lax'
+ disallow_search_engine_index: false
+ secret: '%env(APP_SECRET)%'
#framework:
# error_controller: Rapsys\AirBundle\Controller\ErrorController::show
#
rapsys_air.twig.bb2html:
class: 'Rapsys\AirBundle\Twig\Bb2htmlExtension'
tags: [ 'twig.extension' ]
+ #Register twig intl extension
+ #XXX: https://www.php.net/manual/en/class.intldateformatter.php
+ #XXX: https://stackoverflow.com/questions/25948853/how-to-install-the-intl-extension-for-twig
+ rapsys_air.twig.intl:
+ class: 'Twig\Extensions\IntlExtension'
+ tags: [ 'twig.extension' ]
+ #new TwigFilter('markdown_to_html', ['Twig\\Extra\\Markdown\\MarkdownRuntime', 'convert'], ['is_safe' => ['all']]),
+ #new TwigFilter('html_to_markdown', 'Twig\\Extra\\Markdown\\twig_html_to_markdown', ['is_safe' => ['all']]),
+ #Register twig markdown_to_html extension
+ # #class: 'Twig\Extra\Markdown\DefaultMarkdown'
+ #rapsys_air.twig.markdown_eruse:
+ # class: 'Twig\Extra\Markdown\DefaultMarkdown'
+ #rapsys_air.twig.markdown_runtime:
+ # class: 'Twig\Extra\Markdown\MarkdownRuntime'
+ # arguments: [ '@rapsys_air.twig.markdown_eruse' ]
+ #rapsys_air.markdown:
+ # class: 'Twig\Extra\Markdown\MarkdownExtension'
+ # tags: [ 'twig.extension' ]
+ #Register twig pack extension
+ #rapsys_pack.pack_extension:
+ # class: 'Rapsys\PackBundle\Twig\PackExtension'
+ # arguments: [ '@file_locator', '@service_container', '@rapsys_pack.path_package' ]
+ # tags: [ 'twig.extension' ]
+ #Register application controller
+ Rapsys\AirBundle\Controller\ApplicationController:
+ arguments: [ '@service_container', '@router', '@translator' ]
+ tags: [ 'controller.service_arguments' ]
+ #Register calendar controller
+ Rapsys\AirBundle\Controller\CalendarController:
+ arguments: [ '@service_container', '@router', '@translator' ]
+ tags: [ 'controller.service_arguments' ]
#Register default controller
Rapsys\AirBundle\Controller\DefaultController:
- arguments: [ '@service_container', '@router', '@rapsys.slugger', '@translator' ]
+ arguments: [ '@service_container', '@router', '@translator' ]
tags: [ 'controller.service_arguments' ]
#Register location controller
Rapsys\AirBundle\Controller\LocationController:
- arguments: [ '@service_container', '@router', '@rapsys.slugger', '@translator' ]
- tags: [ 'controller.service_arguments' ]
- #Register application controller
- Rapsys\AirBundle\Controller\ApplicationController:
- arguments: [ '@service_container', '@router', '@rapsys.slugger', '@translator' ]
+ arguments: [ '@service_container', '@router', '@translator' ]
tags: [ 'controller.service_arguments' ]
#Register user controller
Rapsys\AirBundle\Controller\UserController:
- arguments: [ '@service_container', '@router', '@rapsys.slugger', '@translator' ]
+ arguments: [ '@service_container', '@router', '@translator' ]
+ tags: [ 'controller.service_arguments' ]
+ #Register session controller
+ Rapsys\AirBundle\Controller\SessionController:
+ arguments: [ '@service_container', '@router', '@translator' ]
+ tags: [ 'controller.service_arguments' ]
+ #Register snippet controller
+ Rapsys\AirBundle\Controller\SnippetController:
+ arguments: [ '@service_container', '@router', '@translator' ]
tags: [ 'controller.service_arguments' ]
#Register error controller
Rapsys\AirBundle\Controller\ErrorController:
- arguments: [ '@service_container', '@router', '@rapsys.slugger', '@translator' ]
+ arguments: [ '@service_container', '@router', '@translator' ]
tags: [ 'controller.service_arguments' ]
+ #Register locale event subscriber
+ #TODO: remove that shit now ???
+ #Rapsys\AirBundle\EventSubscriber\LocaleSubscriber:
+ # arguments: [ '@router', '%rapsys_air.locales%' ]
+ # tags: [ 'kernel.event_subscriber' ]
+ #Register facebook event subscriber
+ Rapsys\AirBundle\EventSubscriber\FacebookSubscriber:
+ arguments: [ '@router', '%rapsys_air.locales%' ]
+ tags: [ 'kernel.event_subscriber' ]
#Register access denied handler
- Rapsys\AirBundle\Security\AccessDeniedHandler:
- arguments: [ '@service_container', '@twig', '@router', '@translator' ]
- #Register logout success handler
- Rapsys\AirBundle\Security\LogoutSuccessHandler:
- arguments: [ '@router' ]
+ Rapsys\AirBundle\Handler\AccessDeniedHandler:
+ arguments: [ '@service_container', '@twig', '@router', '@request_stack', '@translator' ]
#Register air fixtures
Rapsys\AirBundle\DataFixtures\AirFixtures:
tags: [ 'doctrine.fixture.orm' ]
- #Replace assets packages
- assets.packages:
- class: 'Symfony\Component\Asset\Packages'
- arguments: [ '@rapsys.pack_package' ]
# #Set version strategy
# assets.static_version_strategy:
# class: Symfony\Component\Asset\VersionStrategy\StaticVersionStrategy
Rapsys\AirBundle\Form\ApplicationType:
arguments: [ '@doctrine', '@translator' ]
tags: [ 'form.type' ]
+ Rapsys\AirBundle\Form\LocationType:
+ tags: [ 'form.type' ]
+ Rapsys\AirBundle\Form\SessionType:
+ arguments: [ '@doctrine' ]
+ tags: [ 'form.type' ]
+ Rapsys\AirBundle\Form\Extension\Type\HiddenEntityType:
+ arguments: [ '@doctrine' ]
+ tags: [ 'form.type' ]
+ Rapsys\AirBundle\Command\AttributeCommand:
+ arguments: [ '@doctrine' ]
+ tags: [ 'console.command' ]
+ Rapsys\AirBundle\Command\CalendarCommand:
+ arguments: [ '@service_container', '@doctrine', '@router', '@translator' ]
+ tags: [ 'console.command' ]
+ Rapsys\AirBundle\Command\RekeyCommand:
+ arguments: [ '@doctrine' ]
+ tags: [ 'console.command' ]
+ Rapsys\AirBundle\Command\WeatherCommand:
+ arguments: [ '@doctrine' ]
+ tags: [ 'console.command' ]
#Twig Configuration
twig:
#Enforce debug
#debug: true
#auto_reload: ~
- #cache: false
+ #Disable cache
+ #XXX: enable forced regeneration of css and js at each page load
+ cache: false
#Fix form layout for css
#XXX: @RapsysAir is a shortcut to vendor/rapsys/airbundle/Resources/views directory here
form_theme: [ '@RapsysAir/form/form_div_layout.html.twig' ]