# This file is the entry point to configure your own services. # Files in the packages/ subdirectory configure your dependencies. # Put parameters here that don't need to change on each machine where the app is deployed # https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration parameters: locale: 'en' # Set the default language to use her timezone: 'Europe/Berlin' partdb_title: 'Part-DB' # The title shown inside of Part-DB (e.g. in the navbar and on homepage) banner: '%env(trim:string:BANNER)%' # The info text shown in the homepage, if empty config/banner.md is used use_gravatar: true # Set to false, if no Gravatar images should be used for user profiles. default_currency: 'EUR' # The currency that should be used media_directory: 'public/media/' # The folder where uploaded attachment files are saved secure_media_directory: 'uploads/' # The folder where secured attachment files are saved (must not be in public/) global_theme: '' # The theme to use globally (see public/build/themes/ for choices). Set to '' for default bootstrap theme # Allow users to download attachments to server. Warning: This can be dangerous, because via that feature attackers maybe can access ressources on your intranet! allow_attachments_downloads: false demo_mode: '%env(bool:DEMO_MODE)%' # If set to true, all potentially dangerous things are disabled (like changing passwords of the own user) sender_email: 'noreply@partdb.changeme' # The email address from which all emails are sent from sender_name: 'Part-DB Mailer' # The name that will be used for all mails sent by Part-DB allow_email_pw_reset: '%env(validMailDSN:MAILER_DSN)%' # Config if users are able, to reset their password by email. By default this enabled, when a mail server is configured. locale_menu: ['en', 'de', 'fr', 'ru'] # The languages that are shown in user drop down menu # If this option is activated, IP addresses are anonymized to be GPDR compliant gpdr_compliance: true services: # default configuration for services in *this* file _defaults: autowire: true # Automatically injects dependencies in your services. autoconfigure: true # Automatically registers your services as commands, event subscribers, etc. bind: bool $demo_mode: '%demo_mode%' bool $gpdr_compliance : '%gpdr_compliance%' # makes classes in src/ available to be used as services # this creates a service per class whose id is the fully-qualified class name App\: resource: '../src/*' exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}' # controllers are imported separately to make sure services can be injected # as action arguments even if you don't extend any base controller class App\Controller\: resource: '../src/Controller' tags: ['controller.service_arguments'] App\EventSubscriber\MailFromListener: tags: ['kernel.event_subscriber'] arguments: $email: '%sender_email%' $name: '%sender_name%' App\Services\LogSystem\EventLogger: arguments: # By default only log events which has minimum info level (debug levels are not logged) # 7 is lowest level (debug), 0 highest (emergency $minimum_log_level: 6 # Event classes specified here are not saved to DB $blacklist: [] # Only the event classes specified here are saved to DB (set to []) to log all events $whitelist: [] Liip\ImagineBundle\Service\FilterService: alias: 'liip_imagine.service.filter' app.doctrine.elementListener: class: App\Security\EntityListeners\ElementPermissionListener public: false autowire: true tags: - { name: "doctrine.orm.entity_listener" } App\EventSubscriber\EventLoggerSubscriber: tags: - { name: 'doctrine.event_subscriber' } App\EventSubscriber\MigrationListener: tags: - { name: 'doctrine.event_subscriber' } tree_invalidation_listener: class: App\EntityListeners\TreeCacheInvalidationListener tags: - { name: doctrine.orm.entity_listener } attachment_delete_listener: class: App\EntityListeners\AttachmentDeleteListener tags: - name: doctrine.orm.entity_listener # Dont use JSONSerializable Interface, serializer.normalizer.json_serializable: class: Symfony\Component\Serializer\Normalizer\JsonSerializableNormalizer tags: - {name: serializer.normalizer, priority: -9000} App\Controller\RedirectController: arguments: $default_locale: '%locale%' $enforce_index_php: '%env(bool:NO_URL_REWRITE_AVAILABLE)%' App\Command\UpdateExchangeRatesCommand: arguments: $base_current: '%default_currency%' App\Form\Type\CurrencyEntityType: arguments: $base_currency: '%default_currency%' App\Services\PricedetailHelper: arguments: $base_currency: '%default_currency%' App\Services\MoneyFormatter: arguments: $base_currency: '%default_currency%' App\Form\AttachmentFormType: arguments: $allow_attachments_downloads: '%allow_attachments_downloads%' App\Services\Attachments\AttachmentSubmitHandler: arguments: $allow_attachments_downloads: '%allow_attachments_downloads%' $mimeTypes: '@mime_types' App\Form\UserSettingsType: arguments: $demo_mode: '%demo_mode%' App\EventSubscriber\TimezoneListener: arguments: $timezone: '%timezone%' App\Controller\SecurityController: arguments: $allow_email_pw_reset: '%allow_email_pw_reset%' App\Services\Attachments\AttachmentPathResolver: arguments: $project_dir: '%kernel.project_dir%' $media_path: '%media_directory%' $secure_path: '%secure_media_directory%' $footprints_path: 'public/img/footprints' $models_path: null App\Services\Attachments\FileTypeFilterTools: arguments: $mimeTypes: '@mime_types' App\Services\TFA\BackupCodeGenerator: arguments: $code_length: 8 $code_count: 15 App\Services\TranslationExtractor\PermissionExtractor: tags: - { name: 'translation.extractor', alias: 'permissionExtractor'}