# 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: # 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. # # 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/' # - '../src/Entity/' # - '../src/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'] # # add more service definitions when explicit configuration is needed # # please note that last definitions always *replace* previous ones imports: - { resource: services_rabbit.yaml } - { resource: services_redis.yaml } parameters: # Allows to use the live reload feature for changes in assets use_webpack_dev_server: false craue_config.cache_adapter.class: Craue\ConfigBundle\CacheAdapter\SymfonyCacheComponentAdapter lexik_form_filter.get_filter.doctrine_orm.class: App\Event\Subscriber\CustomDoctrineORMSubscriber addons_url: firefox: https://addons.mozilla.org/firefox/addon/wallabagger/ chrome: https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacjlj opera: https://addons.opera.com/en/extensions/details/wallabagger/?display=en f_droid: https://f-droid.org/app/fr.gaulupeau.apps.InThePoche google_play: https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche ios: https://itunes.apple.com/app/wallabag-2/id1170800946?mt=8 windows: https://www.microsoft.com/store/apps/wallabag/9nblggh11646 twofactor_auth: '%env(TWOFACTOR_AUTH)%' domain_name: '%env(DOMAIN_NAME)%' database_table_prefix: '%env(DATABASE_TABLE_PREFIX)%' fosuser_registration: '%env(FOSUSER_REGISTRATION)%' services: _defaults: autowire: true autoconfigure: true public: true bind: $rootDir: '%kernel.root_dir%' $debug: '%kernel.debug%' $defaultLocale: '%kernel.default_locale%' $wallabagUrl: '%env(DOMAIN_NAME)%' $tablePrefix: "%env(DATABASE_TABLE_PREFIX)%" $encryptionKeyPath: "%wallabag.site_credentials.encryption_key_path%" $fetchingErrorMessageTitle: "%wallabag.fetching_error_message_title%" $fetchingErrorMessage: '%wallabag.fetching_error_message%' $languages: '%wallabag.languages%' $lifeTime: '%wallabag.cache_lifetime%' $cookieFile: "%kernel.cache_dir%/cookiejar.json" $logoPath: 'public/img/appicon/apple-touch-icon-152.png' $registrationEnabled: '%env(bool:FOSUSER_REGISTRATION)%' $restrictedAccess: '@=service(''craue_config'').get(''restricted_access'')' $senderEmail: "%scheb_two_factor.email.sender_email%" $senderName: "%scheb_two_factor.email.sender_name%" $storeArticleHeaders: '@=service(''craue_config'').get(''store_article_headers'')' $supportUrl: '@=service(''craue_config'').get(''wallabag_support_url'')' App\: resource: '../src/' exclude: - '../src/DependencyInjection/' - '../src/Entity/' - '../src/DataFixtures/' - '../src/Kernel.php' - '../src/Consumer/' - '../src/Redis/' - '../src/Event/*Event.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'] # inject alias service into controllers App\Controller\Import\ChromeController: arguments: $rabbitMqProducer: '@old_sound_rabbit_mq.import_chrome_producer' $redisProducer: '@wallabag_import.producer.redis.chrome' App\Controller\Import\DeliciousController: arguments: $rabbitMqProducer: '@old_sound_rabbit_mq.import_delicious_producer' $redisProducer: '@wallabag_import.producer.redis.delicious' App\Controller\Import\ElcuratorController: arguments: $rabbitMqProducer: '@old_sound_rabbit_mq.import_elcurator_producer' $redisProducer: '@wallabag_import.producer.redis.elcurator' App\Controller\Import\FirefoxController: arguments: $rabbitMqProducer: '@old_sound_rabbit_mq.import_firefox_producer' $redisProducer: '@wallabag_import.producer.redis.firefox' App\Controller\Import\InstapaperController: arguments: $rabbitMqProducer: '@old_sound_rabbit_mq.import_instapaper_producer' $redisProducer: '@wallabag_import.producer.redis.instapaper' App\Controller\Import\PinboardController: arguments: $rabbitMqProducer: '@old_sound_rabbit_mq.import_pinboard_producer' $redisProducer: '@wallabag_import.producer.redis.pinboard' App\Controller\Import\PocketController: arguments: $rabbitMqProducer: '@old_sound_rabbit_mq.import_pocket_producer' $redisProducer: '@wallabag_import.producer.redis.pocket' App\Controller\Import\ReadabilityController: arguments: $rabbitMqProducer: '@old_sound_rabbit_mq.import_readability_producer' $redisProducer: '@wallabag_import.producer.redis.readability' App\Controller\Import\WallabagV1Controller: arguments: $rabbitMqProducer: '@old_sound_rabbit_mq.import_wallabag_v1_producer' $redisProducer: '@wallabag_import.producer.redis.wallabag_v1' App\Controller\Import\WallabagV2Controller: arguments: $rabbitMqProducer: '@old_sound_rabbit_mq.import_wallabag_v2_producer' $redisProducer: '@wallabag_import.producer.redis.wallabag_v2' Doctrine\DBAL\Connection: alias: doctrine.dbal.default_connection Doctrine\ORM\EntityManagerInterface: alias: doctrine.orm.entity_manager Doctrine\Persistence\ManagerRegistry: alias: doctrine Craue\ConfigBundle\Util\Config: alias: craue_config JMS\Serializer\SerializerInterface: alias: jms_serializer Lexik\Bundle\FormFilterBundle\Filter\FilterBuilderUpdaterInterface: alias: lexik_form_filter.query_builder_updater Scheb\TwoFactorBundle\Security\TwoFactor\Provider\Google\GoogleAuthenticatorInterface: alias: scheb_two_factor.security.google_authenticator Symfony\Component\HttpFoundation\Session\SessionInterface: alias: session Symfony\Component\EventDispatcher\EventDispatcherInterface: alias: event_dispatcher Symfony\Component\Form\FormFactoryInterface: alias: form.factory Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface: alias: security.token_storage Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface: alias: security.authorization_checker Symfony\Component\Translation\TranslatorInterface: alias: translator Symfony\Component\Validator\Validator\ValidatorInterface: alias: validator FOS\UserBundle\Model\UserManagerInterface: alias: fos_user.user_manager MatomoTwigExtension\MatomoTwigExtension: public: false App\Event\Listener\UserLocaleListener: tags: - { name: kernel.event_listener, event: security.interactive_login, method: onInteractiveLogin } craue_config_cache_provider: class: Symfony\Component\Cache\Adapter\FilesystemAdapter public: false arguments: $namespace: 'craue_config' $defaultLifetime: 0 $directory: '%kernel.cache_dir%' App\ParamConverter\UsernameFeedTokenConverter: tags: - { name: request.param_converter, converter: username_feed_token_converter } App\Event\Subscriber\TablePrefixSubscriber: tags: - { name: doctrine.event_subscriber } Graby\Graby: arguments: $config: error_message: '%wallabag.fetching_error_message%' error_message_title: '%wallabag.fetching_error_message_title%' calls: - [ setLogger, [ "@logger" ] ] tags: - { name: monolog.logger, channel: graby } Graby\SiteConfig\ConfigBuilder: arguments: $config: {} wallabag_core.http_client: alias: 'httplug.client.wallabag_core' App\GuzzleSiteAuthenticator\GrabySiteConfigBuilder: tags: - { name: monolog.logger, channel: graby } # service alias override bd_guzzle_site_authenticator.site_config_builder: alias: App\GuzzleSiteAuthenticator\GrabySiteConfigBuilder GuzzleHttp\Cookie\CookieJar: alias: 'App\Helper\FileCookieJar' App\Helper\HttpClientFactory: calls: - ["addSubscriber", ["@bd_guzzle_site_authenticator.authenticator_subscriber"]] RulerZ\RulerZ: alias: rulerz App\Operator\PHP\Matches: tags: - { name: rulerz.operator, target: native, operator: matches } App\Operator\Doctrine\Matches: tags: - { name: rulerz.operator, target: doctrine, operator: matches, inline: true } App\Operator\PHP\NotMatches: tags: - { name: rulerz.operator, target: native, operator: notmatches } App\Operator\Doctrine\NotMatches: tags: - { name: rulerz.operator, target: doctrine, operator: notmatches, inline: true } App\Operator\PHP\PatternMatches: tags: - { name: rulerz.operator, target: native, operator: "~" } Predis\Client: arguments: $parameters: scheme: '%env(REDIS_SCHEME)%' host: '%env(REDIS_HOST)%' port: '%env(REDIS_PORT)%' path: '%env(REDIS_PATH)%' password: '%env(REDIS_PASSWORD)%' App\Event\Subscriber\SQLiteCascadeDeleteSubscriber: tags: - { name: doctrine.event_subscriber } App\Event\Subscriber\DownloadImagesSubscriber: arguments: $enabled: '@=service(''craue_config'').get(''download_images_enabled'')' App\Helper\DownloadImages: arguments: $baseFolder: "%kernel.project_dir%/public/assets/images" App\Command\ExportCommand: arguments: $projectDir: '%kernel.project_dir%' App\Command\InstallCommand: arguments: $defaultSettings: '%wallabag.default_internal_settings%' $defaultIgnoreOriginInstanceRules: '%wallabag.default_ignore_origin_instance_rules%' wallabag_core.entry.download_images.client: alias: 'httplug.client.wallabag_core.entry.download_images' App\Mailer\UserMailer: arguments: $parameters: template: confirmation: '%fos_user.registration.confirmation.template%' resetting: '%fos_user.resetting.email.template%' from_email: confirmation: '%fos_user.registration.confirmation.from_email%' resetting: '%fos_user.resetting.email.from_email%' App\EventListener\CreateConfigListener: arguments: $itemsOnPage: "%wallabag.items_on_page%" $feedLimit: "%wallabag.feed_limit%" $language: "%wallabag.language%" $readingSpeed: "%wallabag.reading_speed%" $actionMarkAsRead: "%wallabag.action_mark_as_read%" $listMode: "%wallabag.list_mode%" $displayThumbnails: "%wallabag.display_thumbnails%" App\EventListener\AuthenticationFailureListener: tags: - { name: kernel.event_listener, event: security.authentication.failure, method: onAuthenticationFailure } wallabag_import.pocket.client: alias: 'httplug.client.wallabag_import.pocket.client' App\Import\PocketImport: calls: - [ setClient, [ "@wallabag_import.pocket.client" ] ] tags: - { name: wallabag_import.import, alias: pocket } App\Import\WallabagV1Import: tags: - { name: wallabag_import.import, alias: wallabag_v1 } App\Import\WallabagV2Import: tags: - { name: wallabag_import.import, alias: wallabag_v2 } App\Import\ElcuratorImport: tags: - { name: wallabag_import.import, alias: elcurator } App\Import\ReadabilityImport: tags: - { name: wallabag_import.import, alias: readability } App\Import\InstapaperImport: tags: - { name: wallabag_import.import, alias: instapaper } App\Import\PinboardImport: tags: - { name: wallabag_import.import, alias: pinboard } App\Import\DeliciousImport: tags: - { name: wallabag_import.import, alias: delicious } App\Import\FirefoxImport: tags: - { name: wallabag_import.import, alias: firefox } App\Import\ChromeImport: tags: - { name: wallabag_import.import, alias: chrome } # to factorize the proximity and bypass translation for prev & next pagerfanta.view.default_wallabag: class: Pagerfanta\View\OptionableView arguments: - '@pagerfanta.view.twitter_bootstrap' - { proximity: 1, prev_message: "<", next_message: ">" } public: false tags: - { name: pagerfanta.view, alias: default_wallabag }