wallabag/app/config/services.yml

351 lines
12 KiB
YAML

imports:
- { resource: services_rabbit.yml }
- { resource: services_redis.yml }
- { resource: parameters_addons.yml }
parameters:
spiriit_form_filter.get_filter.doctrine_orm.class: Wallabag\Event\Subscriber\CustomDoctrineORMSubscriber
services:
_defaults:
autowire: true
autoconfigure: true
public: true
bind:
$projectDir: '%kernel.project_dir%'
$debug: '%kernel.debug%'
$defaultLocale: '%kernel.default_locale%'
$wallabagUrl: '%domain_name%'
$tablePrefix: "%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: 'web/img/appicon/apple-touch-icon-152.png'
$registrationEnabled: '%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'')'
$fonts: '%wallabag.fonts%'
Wallabag\:
resource: '../../src/*'
exclude: ['../../src/{Consumer,Controller,Entity,ExpressionLanguage,DataFixtures,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
Wallabag\Controller\:
resource: '../../src/Controller/'
tags: ['controller.service_arguments']
# inject alias service into controllers
Wallabag\Controller\Import\ChromeController:
arguments:
$rabbitMqProducer: '@old_sound_rabbit_mq.import_chrome_producer'
$redisProducer: '@wallabag.producer.redis.chrome'
Wallabag\Controller\Import\DeliciousController:
arguments:
$rabbitMqProducer: '@old_sound_rabbit_mq.import_delicious_producer'
$redisProducer: '@wallabag.producer.redis.delicious'
Wallabag\Controller\Import\ElcuratorController:
arguments:
$rabbitMqProducer: '@old_sound_rabbit_mq.import_elcurator_producer'
$redisProducer: '@wallabag.producer.redis.elcurator'
Wallabag\Controller\Import\FirefoxController:
arguments:
$rabbitMqProducer: '@old_sound_rabbit_mq.import_firefox_producer'
$redisProducer: '@wallabag.producer.redis.firefox'
Wallabag\Controller\Import\InstapaperController:
arguments:
$rabbitMqProducer: '@old_sound_rabbit_mq.import_instapaper_producer'
$redisProducer: '@wallabag.producer.redis.instapaper'
Wallabag\Controller\Import\PinboardController:
arguments:
$rabbitMqProducer: '@old_sound_rabbit_mq.import_pinboard_producer'
$redisProducer: '@wallabag.producer.redis.pinboard'
Wallabag\Controller\Import\PocketController:
arguments:
$rabbitMqProducer: '@old_sound_rabbit_mq.import_pocket_producer'
$redisProducer: '@wallabag.producer.redis.pocket'
Wallabag\Controller\Import\ReadabilityController:
arguments:
$rabbitMqProducer: '@old_sound_rabbit_mq.import_readability_producer'
$redisProducer: '@wallabag.producer.redis.readability'
Wallabag\Controller\Import\WallabagV1Controller:
arguments:
$rabbitMqProducer: '@old_sound_rabbit_mq.import_wallabag_v1_producer'
$redisProducer: '@wallabag.producer.redis.wallabag_v1'
Wallabag\Controller\Import\WallabagV2Controller:
arguments:
$rabbitMqProducer: '@old_sound_rabbit_mq.import_wallabag_v2_producer'
$redisProducer: '@wallabag.producer.redis.wallabag_v2'
Wallabag\Controller\Import\ShaarliController:
arguments:
$rabbitMqProducer: '@old_sound_rabbit_mq.import_shaarli_producer'
$redisProducer: '@wallabag.producer.redis.shaarli'
Wallabag\Controller\Import\PocketHtmlController:
arguments:
$rabbitMqProducer: '@old_sound_rabbit_mq.import_pocket_html_producer'
$redisProducer: '@wallabag.producer.redis.pocket_html'
Doctrine\DBAL\Connection:
alias: doctrine.dbal.default_connection
Doctrine\ORM\EntityManagerInterface:
alias: doctrine.orm.entity_manager
Doctrine\Migrations\Metadata\Storage\TableMetadataStorageConfiguration:
alias: doctrine.migrations.storage.table_storage
Doctrine\Persistence\ManagerRegistry:
alias: doctrine
Craue\ConfigBundle\Util\Config:
alias: craue_config
JMS\Serializer\SerializerInterface:
alias: jms_serializer
Spiriit\Bundle\FormFilterBundle\Filter\FilterBuilderUpdaterInterface:
alias: spiriit_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
ScssPhp\ScssPhp\Compiler:
public: false
Wallabag\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%'
Wallabag\ParamConverter\UsernameFeedTokenConverter:
tags:
- { name: request.param_converter, converter: username_feed_token_converter }
Wallabag\Event\Subscriber\TablePrefixSubscriber:
tags:
- { name: doctrine.event_subscriber }
Wallabag\Event\Subscriber\SchemaAdapterSubscriber:
arguments:
$databaseTablePrefix: "%database_table_prefix%"
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.http_client:
alias: 'httplug.client.wallabag'
Wallabag\SiteConfig\GrabySiteConfigBuilder:
tags:
- { name: monolog.logger, channel: graby }
# service alias override
Wallabag\SiteConfig\SiteConfigBuilder:
alias: Wallabag\SiteConfig\GrabySiteConfigBuilder
GuzzleHttp\Cookie\CookieJar:
alias: 'Wallabag\Helper\FileCookieJar'
Wallabag\Helper\HttpClientFactory:
calls:
- ['addSubscriber', ['@Wallabag\Guzzle\AuthenticatorSubscriber']]
- ['addSubscriber', ['@Wallabag\Guzzle\FixupMondeDiplomatiqueUriSubscriber']]
RulerZ\RulerZ:
alias: rulerz
Wallabag\Operator\PHP\Matches:
tags:
- { name: rulerz.operator, target: native, operator: matches }
Wallabag\Operator\Doctrine\Matches:
tags:
- { name: rulerz.operator, target: doctrine, operator: matches, inline: true }
Wallabag\Operator\PHP\NotMatches:
tags:
- { name: rulerz.operator, target: native, operator: notmatches }
Wallabag\Operator\Doctrine\NotMatches:
tags:
- { name: rulerz.operator, target: doctrine, operator: notmatches, inline: true }
Wallabag\Operator\PHP\PatternMatches:
tags:
- { name: rulerz.operator, target: native, operator: "~" }
Predis\Client:
arguments:
$parameters:
scheme: '%redis_scheme%'
host: '%redis_host%'
port: '%redis_port%'
path: '%redis_path%'
password: '%redis_password%'
Wallabag\Event\Subscriber\SQLiteCascadeDeleteSubscriber:
tags:
- { name: doctrine.event_subscriber }
Wallabag\Event\Subscriber\DownloadImagesSubscriber:
arguments:
$enabled: '@=service(''craue_config'').get(''download_images_enabled'')'
Wallabag\Helper\DownloadImages:
arguments:
$baseFolder: "%kernel.project_dir%/web/assets/images"
Wallabag\Command\InstallCommand:
arguments:
$databaseDriver: '%database_driver%'
$defaultSettings: '%wallabag.default_internal_settings%'
$defaultIgnoreOriginInstanceRules: '%wallabag.default_ignore_origin_instance_rules%'
Wallabag\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%'
Wallabag\Event\Listener\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%"
Wallabag\Event\Listener\AuthenticationFailureListener:
tags:
- { name: kernel.event_listener, event: security.authentication.failure, method: onAuthenticationFailure }
Wallabag\Import\PocketImport:
calls:
- [ setClient, [ '@Symfony\Contracts\HttpClient\HttpClientInterface $pocketClient' ] ]
tags:
- { name: wallabag.import, alias: pocket }
Wallabag\Import\WallabagV1Import:
tags:
- { name: wallabag.import, alias: wallabag_v1 }
Wallabag\Import\WallabagV2Import:
tags:
- { name: wallabag.import, alias: wallabag_v2 }
Wallabag\Import\ElcuratorImport:
tags:
- { name: wallabag.import, alias: elcurator }
Wallabag\Import\ReadabilityImport:
tags:
- { name: wallabag.import, alias: readability }
Wallabag\Import\InstapaperImport:
tags:
- { name: wallabag.import, alias: instapaper }
Wallabag\Import\PinboardImport:
tags:
- { name: wallabag.import, alias: pinboard }
Wallabag\Import\DeliciousImport:
tags:
- { name: wallabag.import, alias: delicious }
Wallabag\Import\FirefoxImport:
tags:
- { name: wallabag.import, alias: firefox }
Wallabag\Import\ChromeImport:
tags:
- { name: wallabag.import, alias: chrome }
Wallabag\Import\ShaarliImport:
tags:
- { name: wallabag.import, alias: shaarli }
Wallabag\Import\PocketHtmlImport:
tags:
- { name: wallabag.import, alias: pocket_html }
# 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 }