# Dev log configuration #TODO: set mail, calendar and facebook app id as env variables ??? rapsys_blog: contact: address: 'blog@rapsys.eu' name: 'Raphaël Gertz' copy: by: 'Rapsys' link: 'https://rapsys.eu' long: 'All rights reserved' short: 'Copyright 2019-2023' title: 'By Raphaël' donate: 'https://paypal.me/milongaraphael' facebook: #TODO: set this as env variables ??? apps: [ 3728770287223690 ] height: 630 width: 1200 icon: ico: '@RapsysBlog/ico/icon.ico' png: # Default 256: '@RapsysBlog/png/icon.256.png' # For google # Chrome for Android home screen icon 196: '@RapsysBlog/png/icon.196.png' # Google Developer Web App Manifest Recommendation 192: '@RapsysBlog/png/icon.192.png' # Chrome Web Store icon 128: '@RapsysBlog/png/icon.128.png' # Fallback 32: '@RapsysBlog/png/icon.32.png' # For apple # XXX: old obsolete format: [57, 72, 76, 114, 120, 144] # XXX: see https://webhint.io/docs/user-guide/hints/hint-apple-touch-icons/ # XXX: see https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html # iPhone Retina 180: '@RapsysBlog/png/icon.180.png' # iPad Retina touch icon 167: '@RapsysBlog/png/icon.167.png' # iPad touch icon 152: '@RapsysBlog/png/icon.152.png' # iOS7 120: '@RapsysBlog/png/icon.120.png' # For windows # XXX: see https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/dn255024(v=vs.85) 310: '@RapsysBlog/png/icon.310.png' 150: '@RapsysBlog/png/icon.150.png' 70: '@RapsysBlog/png/icon.70.png' svg: '@RapsysBlog/svg/icon.svg' languages: en_gb: 'English' fr_fr: 'French' locale: 'fr_fr' locales: [ 'fr_fr', 'en_gb' ] logo: alt: 'Rapsys'' dev log logo' png: '@RapsysBlog/png/logo.png' svg: '@RapsysBlog/svg/logo.svg' root: 'rapsys_blog' title: 'Rapsys'' dev log' #RapsysUser configuration rapsys_user: #Class replacement class: group: 'Rapsys\BlogBundle\Entity\Group' civility: 'Rapsys\BlogBundle\Entity\Civility' user: 'Rapsys\BlogBundle\Entity\User' #Default replacement default: admin: 'ROLE_ADMIN' civility: 'Mister' group: [ 'User' ] #Route replacement route: index: name: 'rapsys_blog' register: name: 'rapsys_user_register' #Translate replacement translate: [ 'title', 'password', 'copy.by', 'copy.long', 'copy.short', 'copy.title', 'head.logo.alt', 'head.site' ] #Languages replacement languages: '%rapsys_blog.languages%' #Contact replacement contact: '%rapsys_blog.contact%' #Context replacement context: copy: '%rapsys_blog.copy%' head: icon: '%rapsys_blog.icon%' logo: '%rapsys_blog.logo%' root: '%rapsys_blog.root%' site: '%rapsys_blog.title%' #Edit replacement edit: admin: mail: true slug: true route: index: 'root' view: edit: 'Rapsys\BlogBundle\Form\EditType' name: '@RapsysBlog/form/edit.html.twig' context: title: 'Modify account' password: 'Modify password' #Index replacement index: route: index: 'root' view: name: '@RapsysBlog/user/index.html.twig' context: title: 'User list' #Login replacement login: route: index: 'root' view: name: '@RapsysBlog/form/login.html.twig' context: title: 'Login' #Recover replacement recover: route: index: 'root' recover: 'recover_url' view: name: '@RapsysBlog/form/recover.html.twig' context: title: 'Recover' mail: subject: 'Welcome back %%recipient_name%% to %%head.site%%' html: '@RapsysBlog/mail/recover.html.twig' text: '@RapsysBlog/mail/recover.text.twig' context: #Register replacement register: field: pseudonym: false slug: false route: index: 'root' confirm: 'confirm_url' view: form: 'Rapsys\BlogBundle\Form\RegisterType' name: '@RapsysBlog/form/register.html.twig' context: title: 'Register' mail: subject: 'Welcome %%recipient_name%% to %%head.site%%' html: '@RapsysBlog/mail/register.html.twig' text: '@RapsysBlog/mail/register.text.twig' context: # Doctrine configuration doctrine: # Dbal configuration dbal: charset: 'utf8mb4' default_table_options: charset: 'utf8mb4' collate: 'utf8mb4_unicode_ci' # Orm configuration orm: # Replace repository factory repository_factory: 'Rapsys\BlogBundle\Factory\RepositoryFactory' #Force resolution of UserBundle entities to BlogBundle one #XXX: without these lines, relations are lookup in parent namespace ignoring BlogBundle extension resolve_target_entities: Rapsys\UserBundle\Entity\Group: 'Rapsys\BlogBundle\Entity\Group' Rapsys\UserBundle\Entity\Civility: 'Rapsys\BlogBundle\Entity\Civility' Rapsys\UserBundle\Entity\User: 'Rapsys\BlogBundle\Entity\User' # Framework configuration framework: default_locale: '%rapsys_blog.locale%' disallow_search_engine_index: false #error_controller: 'Rapsys\BlogBundle\Controller\ErrorController::show' mailer: headers: X-Originating-IP: '%env(REMOTE_ADDR)%' secret: '%env(APP_SECRET)%' csrf_protection: true session: enabled: true handler_id: ~ storage_factory_id: 'session.storage.factory.native' cookie_secure: 'auto' cookie_samesite: 'lax' translator: fallbacks: '%rapsys_blog.locales%' # Security configuration security: # Set password hashers password_hashers: #XXX: comment this key in config/security.yaml to prevent users_in_memory induced failures #TODO: see https://symfony.com/doc/current/security/passwords.html (sodium ? + upgrade) Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: #Rapsys\BlogBundle\Entity\User: algorithm: 'sodium' migrate_from: - 'bcrypt' - 'plaintext' # Set providers providers: database: entity: class: Rapsys\BlogBundle\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 #XXX: comment this key in config/security.yaml to prevent users_in_memory induced failures provider: database # Activate user checker user_checker: 'security.user_checker' #XXX: https://symfony.com/doc/current/security.html#a-configuring-how-your-users-will-authenticate #http_basic: ~ # Set form login #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]' # Enable login csrf protection enable_csrf: false # Csrf parameter csrf_parameter: 'login[_token]' # Csrf id csrf_token_id: 'login' # Set logout route logout: # Logout route path: rapsys_user_logout # Logout default target target: rapsys_blog # Set custom access denied handler #access_denied_handler: Rapsys\BlogBundle\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_USER: [ 'ROLE_GUEST' ] ROLE_ADMIN: [ 'ROLE_GUEST', 'ROLE_USER' ] #Service configuration services: #Register abstract controller Rapsys\BlogBundle\Controller\AbstractController: arguments: [ '@security.authorization_checker', '@service_container', '@rapsys_user.access_decision_manager', '@doctrine', '@rapsys_pack.facebook_util', '@form.factory', '@rapsys_pack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsys_pack.path_package', '@router', '@rapsys_pack.slugger_util', '@security.helper', '@request_stack', '@translator', '@twig' ] tags: [ 'controller.service_arguments' ] #Register article controller Rapsys\BlogBundle\Controller\ArticleController: arguments: [ '@security.authorization_checker', '@service_container', '@rapsys_user.access_decision_manager', '@doctrine', '@rapsys_pack.facebook_util', '@form.factory', '@rapsys_pack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsys_pack.path_package', '@router', '@rapsys_pack.slugger_util', '@security.helper', '@request_stack', '@translator', '@twig' ] tags: [ 'controller.service_arguments' ] #Register default controller Rapsys\BlogBundle\Controller\DefaultController: arguments: [ '@security.authorization_checker', '@service_container', '@rapsys_user.access_decision_manager', '@doctrine', '@rapsys_pack.facebook_util', '@form.factory', '@rapsys_pack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsys_pack.path_package', '@router', '@rapsys_pack.slugger_util', '@security.helper', '@request_stack', '@translator', '@twig' ] tags: [ 'controller.service_arguments' ] #Register keyword controller Rapsys\BlogBundle\Controller\KeywordController: arguments: [ '@security.authorization_checker', '@service_container', '@rapsys_user.access_decision_manager', '@doctrine', '@rapsys_pack.facebook_util', '@form.factory', '@rapsys_pack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsys_pack.path_package', '@router', '@rapsys_pack.slugger_util', '@security.helper', '@request_stack', '@translator', '@twig' ] tags: [ 'controller.service_arguments' ] #Register user controller Rapsys\BlogBundle\Controller\UserController: arguments: [ '@security.authorization_checker', '@service_container', '@rapsys_user.access_decision_manager', '@doctrine', '@rapsys_pack.facebook_util', '@form.factory', '@rapsys_pack.image_util', '@mailer.mailer', '@doctrine.orm.default_entity_manager', '@rapsys_pack.path_package', '@router', '@rapsys_pack.slugger_util', '@security.helper', '@request_stack', '@translator', '@twig' ] tags: [ 'controller.service_arguments' ] Rapsys\BlogBundle\Factory\RepositoryFactory: arguments: [ '@request_stack', '@router', '@rapsys_pack.slugger_util', '@translator', '%rapsys_blog.languages%', '%rapsys_blog.locale%' ] #Register blog fixture Rapsys\BlogBundle\Fixture\BlogFixture: arguments: [ '@rapsys_pack.slugger_util' ] tags: [ 'doctrine.fixture.orm' ] #Register form factory as public form.factory: class: 'Symfony\Component\Form\FormFactory' arguments: [ '@form.registry' ] public: true #Register facebook event subscriber Rapsys\PackBundle\Subscriber\FacebookSubscriber: arguments: [ '@router', '%rapsys_blog.locales%' ] tags: [ 'kernel.event_subscriber' ] #Register facebook util service rapsys_blog.facebook_util: class: 'Rapsys\PackBundle\Util\FacebookUtil' #TODO: create the facebook.png file and add the fonts #TODO: add a default font arguments: [ '@router', '%kernel.project_dir%/var/cache', '%rapsys_pack.path%', 'facebook', '%rapsys_blog.path%/png/facebook.png', { irishgrover: '%rapsys_blog.path%/ttf/irishgrover.v10.ttf', labelleaurore: '%rapsys_blog.path%/ttf/labelleaurore.v10.ttf', dejavusans: '%rapsys_blog.path%/ttf/dejavusans.2.37.ttf', droidsans: '%rapsys_blog.path%/ttf/droidsans.regular.ttf' } ] public: true #Register contact form type Rapsys\BlogBundle\Form\ContactType: arguments: [ '@rapsys_pack.image_util', '@rapsys_pack.slugger_util', '@translator' ] tags: [ 'form.type' ] # Twig configuration twig: #Enforce debug debug: true #auto_reload: ~ #Disable cache #XXX: enable forced regeneration of css and js at each page load cache: false #Fix form layout for css #XXX: @RapsysBlog is a shortcut to vendor/rapsys/blogbundle/Resources/views directory here form_theme: [ '@RapsysBlog/form/form_div_layout.html.twig' ] #Set twig paths paths: #Required by email.image(site_logo) directive #XXX: Allow twig to resolve @RapsysBlog/png/logo.png in vendor/rapsys/blogbundle/Resources/public/png/logo.png '%kernel.project_dir%/vendor/rapsys/blogbundle/Resources/public': 'RapsysBlog'