# Parameters configuration parameters: # Google project env(RAPSYSAIR_GOOGLE_PROJECT): "Ch4ng3m3!" # Hostname env(RAPSYSAIR_HOSTNAME): "Ch4ng3m3!" # Scheme env(RAPSYSAIR_SCHEME): "https" # RapsysAir configuration rapsysair: languages: en_gb: 'English' fr_fr: 'French' locale: 'fr_fr' locales: [ 'fr_fr', 'en_gb' ] logo: alt: 'Libre Air logo' title: 'Libre Air' # RapsysUser configuration rapsysuser: # Class replacement class: civility: 'Rapsys\AirBundle\Entity\Civility' country: 'Rapsys\AirBundle\Entity\Country' dance: 'Rapsys\AirBundle\Entity\Dance' group: 'Rapsys\AirBundle\Entity\Group' user: 'Rapsys\AirBundle\Entity\User' # Default replacement default: group: [ 'User' ] civility: 'Mister' languages: '%rapsysair.languages%' locales: '%rapsysair.locales%' country: 'France' country_favorites: [ 'France', 'Belgium', 'Germany', 'Italy', 'Luxembourg', 'Portugal', 'Spain', 'Switzerland' ] dance_favorites: [ 'Argentine Tango Ball', 'Argentine Tango Ball and class', 'Argentine Tango Ball and concert' ] subscription_favorites: [ 'Milonga Raphaƫl' ] # Route replacement route: index: name: 'rapsysair' # Translate replacement translate: [ 'title.page', 'title.section', 'title.site', 'password', 'copy.by', 'copy.long', 'copy.short', 'copy.title', 'logo.alt' ] # Contact replacement contact: address: '%rapsysair.contact.address%' name: '%rapsysair.contact.name%' # Context replacement context: copy: '%rapsysair.copy%' icon: '%rapsysair.icon%' logo: '%rapsysair.logo%' root: '%rapsysair.root%' title: section: 'User' site: '%rapsysair.title%' # Edit replacement edit: field: pseudonym: false route: index: 'root' view: edit: 'Rapsys\AirBundle\Form\RegisterType' name: '@RapsysAir/form/edit.html.twig' context: title: page: 'Modify account' password: 'Modify password' # Login replacement login: route: index: 'root' view: name: '@RapsysAir/form/login.html.twig' context: title: page: 'Login' # Recover replacement recover: route: index: 'root' recover: 'recover_url' view: name: '@RapsysAir/form/recover.html.twig' context: title: page: 'Recover' mail: subject: 'Welcome back %%recipient_name%% to %%title.site%%' html: '@RapsysAir/mail/recover.html.twig' text: '@RapsysAir/mail/recover.text.twig' context: # Register replacement register: field: city: false country: false phone: false pseudonym: false zipcode: false route: index: 'root' confirm: 'confirm_url' view: form: 'Rapsys\AirBundle\Form\RegisterType' name: '@RapsysAir/form/register.html.twig' context: title: page: 'Register' mail: subject: 'Welcome %%recipient_name%% to %%title.site%%' html: '@RapsysAir/mail/register.html.twig' text: '@RapsysAir/mail/register.text.twig' context: # Doctrine configuration doctrine: # Dbal configuration dbal: charset: 'utf8mb4' default_table_options: charset: 'utf8mb4' collation: 'utf8mb4_unicode_ci' # Orm configuration orm: # Controller resolver controller_resolver: # Disable auto mapping auto_mapping: false # Replace repository factory repository_factory: 'Rapsys\AirBundle\Factory' # 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\Civility: 'Rapsys\AirBundle\Entity\Civility' Rapsys\UserBundle\Entity\User: 'Rapsys\AirBundle\Entity\User' # Force mappings mappings: # Map entities # XXX: Entity short syntax was removed # XXX: see https://github.com/doctrine/orm/issues/8818 RapsysAirBundle: type: 'yml' is_bundle: true dir: 'Resources/config/doctrine' prefix: 'Rapsys\AirBundle\Entity' alias: 'RapsysAirBundle' # Security configuration security: # Set password hashers password_hashers: # Rapsys\AirBundle\Entity\User: plaintext Rapsys\AirBundle\Entity\User: algorithm: 'bcrypt' # Set providers providers: database: entity: class: 'Rapsys\AirBundle\Entity\User' property: 'mail' # Set firewall firewalls: # Disables authentication for assets and the profiler, adapt it according to your needs dev: pattern: '^/(_(profiler|wdt)|css|images|js)/' security: false main: # Allow anonymous access #anonymous: ~ #lazy: true # Activate database provider provider: 'database' # XXX: https://symfony.com/doc/current/security.html#a-configuring-how-your-users-will-authenticate #http_basic: ~ # Set form login # XXX: see https://symfony.com/doc/current/security/form_login_setup.html # XXX: see https://symfony.com/doc/current/security/custom_authenticator.html form_login: # Redirect to referer if different from login route use_referer: true # Login path login_path: 'rapsysuser_login' # Check path check_path: 'rapsysuser_login' # Username parameter username_parameter: 'login[mail]' # Password parameter password_parameter: 'login[password]' # Set logout route logout: # Logout route path: 'rapsysuser_logout' # Logout default target target: 'rapsysair' # Set custom access denied handler 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_GUEST: [ 'ROLE_USER' ] ROLE_REGULAR: [ 'ROLE_USER', 'ROLE_GUEST' ] ROLE_SENIOR: [ 'ROLE_USER', 'ROLE_GUEST', 'ROLE_REGULAR' ] ROLE_ADMIN: [ 'ROLE_USER', 'ROLE_GUEST', 'ROLE_REGULAR', 'ROLE_SENIOR' ] # Framework configuration framework: # Cache cache: # Memcache server default_memcached_provider: 'memcached://localhost:11211' # Cache pool pools: # Air cache air.cache: adapter: 'cache.adapter.memcached' # User cache user.cache: adapter: 'cache.adapter.memcached' default_locale: '%rapsysair.locale%' disallow_search_engine_index: false #error_controller: 'Rapsys\AirBundle\Controller\ErrorController::show' # Append ip to mail headers mailer: headers: X-Originating-IP: '%env(string:REMOTE_ADDR)%' secret: '%env(string:APP_SECRET)%' # Native session session: enabled: true handler_id: ~ storage_factory_id: 'session.storage.factory.native' cookie_secure: 'auto' cookie_samesite: 'lax' translator: fallbacks: '%rapsysair.locales%' validation: email_validation_mode: 'html5' # Service configuration services: # Register google client service Google\Client: alias: 'google.client' # Register google client service alias google.client: arguments: [ { application_name: '%env(string:RAPSYSAIR_GOOGLE_PROJECT)%', client_id: '%env(string:GOOGLE_CLIENT_ID)%', client_secret: '%env(string:GOOGLE_CLIENT_SECRET)%', #redirect_uri: '%env(string:RAPSYSAIR_SCHEME)%://%env(string:RAPSYSAIR_HOSTNAME)%/google/callback', redirect_uri: 'rapsysair_google_callback', scopes: [ !php/const '\Google\Service\Calendar::CALENDAR_EVENTS', !php/const '\Google\Service\Calendar::CALENDAR', !php/const '\Google\Service\Oauth2::USERINFO_EMAIL' ], access_type: 'offline', #//XXX: see https://stackoverflow.com/questions/10827920/not-receiving-google-oauth-refresh-token #'approval_prompt' => 'force', prompt: 'consent' } ] class: 'Google\Client' public: true # Register application controller Rapsys\AirBundle\Controller\ApplicationController: arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ] tags: [ 'controller.service_arguments' ] # Register calendar controller Rapsys\AirBundle\Controller\CalendarController: arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ] tags: [ 'controller.service_arguments' ] # Register default controller Rapsys\AirBundle\Controller\DefaultController: arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ] tags: [ 'controller.service_arguments' ] # Register dance controller Rapsys\AirBundle\Controller\DanceController: arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ] tags: [ 'controller.service_arguments' ] # Register location controller Rapsys\AirBundle\Controller\LocationController: arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ] tags: [ 'controller.service_arguments' ] # Register user controller Rapsys\AirBundle\Controller\UserController: arguments: [ '@user.cache', '@security.authorization_checker', '@service_container', '@doctrine', '@form.factory', '@security.user_password_hasher', '@logger', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig', '@google.client' ] tags: [ 'controller.service_arguments' ] # Register session controller Rapsys\AirBundle\Controller\SessionController: arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ] tags: [ 'controller.service_arguments' ] # Register snippet controller Rapsys\AirBundle\Controller\SnippetController: arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ] tags: [ 'controller.service_arguments' ] # Register error controller Rapsys\AirBundle\Controller\ErrorController: arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ] #arguments: [ '@service_container', '@router', '@translator' ] tags: [ 'controller.service_arguments' ] # Register access denied handler Rapsys\AirBundle\Handler\AccessDeniedHandler: arguments: [ '@security.authorization_checker', '@service_container', '@rapsysuser.access_decision_manager', '@doctrine', '@rapsysair.facebook_util', '@form.factory', '@rapsyspack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsyspack.map_util', '@rapsyspack.path_package', '@router', '@security.helper', '@rapsyspack.slugger_util', '@request_stack', '@translator', '@twig' ] # Register air fixtures Rapsys\AirBundle\DataFixtures\AirFixtures: arguments: [ '@service_container', '@security.user_password_hasher' ] tags: [ 'doctrine.fixture.orm' ] # Register application form Rapsys\AirBundle\Form\ApplicationType: arguments: [ '@doctrine', '@translator' ] tags: [ 'form.type' ] # Register location form Rapsys\AirBundle\Form\LocationType: tags: [ 'form.type' ] # Register session form Rapsys\AirBundle\Form\SessionType: arguments: [ '@doctrine' ] tags: [ 'form.type' ] # Register hidden entity form type Rapsys\AirBundle\Form\Extension\Type\HiddenEntityType: arguments: [ '@doctrine' ] tags: [ 'form.type' ] # Register contact form Rapsys\AirBundle\Form\ContactType: arguments: [ '@rapsyspack.image_util', '@rapsyspack.slugger_util', '@translator' ] tags: [ 'form.type' ] # Register register form Rapsys\AirBundle\Form\RegisterType: arguments: [ '@doctrine.orm.entity_manager', '@rapsyspack.image_util', '@rapsyspack.slugger_util', '@translator' ] tags: [ 'form.type' ] # Register attribute command Rapsys\AirBundle\Command\AttributeCommand: arguments: [ '@doctrine' ] tags: [ 'console.command' ] # Register calendar command Rapsys\AirBundle\Command\CalendarCommand: arguments: [ '@doctrine', '%kernel.default_locale%', '@router', '@rapsyspack.slugger_util', '@translator', '@user.cache', '@google.client', '@twig.markdown.default' ] tags: [ 'console.command' ] # Register rekey command Rapsys\AirBundle\Command\RekeyCommand: arguments: [ '@doctrine' ] tags: [ 'console.command' ] # Register weather command Rapsys\AirBundle\Command\WeatherCommand: arguments: [ '@doctrine', '@filesystem' ] tags: [ 'console.command' ] # Register repository factory Rapsys\AirBundle\Factory: arguments: [ '@request_stack', '@router', '@rapsyspack.slugger_util', '@translator', '%kernel.default_locale%', '%rapsysair.languages%' ] # Register facebook event subscriber Rapsys\PackBundle\Subscriber\FacebookSubscriber: arguments: [ '@router', '%rapsysair.locales%' ] tags: [ 'kernel.event_subscriber' ] # Register dotenv:dump command Symfony\Component\Dotenv\Command\DotenvDumpCommand: ~ # Register facebook util service rapsysair.facebook_util: class: 'Rapsys\PackBundle\Util\FacebookUtil' arguments: [ '@router', '%kernel.project_dir%/var/cache', '%rapsyspack.path%', 'facebook', '%rapsysair.path%/png/facebook.png', { irishgrover: '%rapsysair.path%/ttf/irishgrover.v10.ttf', labelleaurore: '%rapsysair.path%/ttf/labelleaurore.v10.ttf', dejavusans: '%rapsysair.path%/ttf/dejavusans.2.37.ttf', droidsans: '%rapsysair.path%/ttf/droidsans.regular.ttf' } ] public: true # Register security password_hasher_factory as public # XXX: required for command `php bin/console doctrine:` security.password_hasher_factory: class: 'Symfony\Component\PasswordHasher\Hasher\PasswordHasherFactory' arguments: [ { 'Rapsys\AirBundle\Entity\User': { class: 'Symfony\Component\PasswordHasher\Hasher\NativePasswordHasher', arguments: [ ~, ~, ~, '2y'] } } ] public: true # Twig Configuration twig: # Enforce debug #auto_reload: ~ debug: '%kernel.debug%' #strict_variables: '%kernel.debug%' # 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' ] # Set twig paths paths: # Required by email.image(site_logo) directive # XXX: Allow twig to resolve @RapsysAir/png/logo.png in vendor/rapsys/airbundle/Resources/public/png/logo.png '%kernel.project_dir%/vendor/rapsys/airbundle/Resources/public': 'RapsysAir' # Override default exception controller #exception_controller: Rapsys\AirBundle\Controller\ErrorController::preview