forked from wallabag/wallabag
The structure changed completely. Bundles are gone. Everything is flatten in the folder `src`. I separated import & api controllers to avoid _pollution_ in the main controller folder.
381 lines
14 KiB
YAML
381 lines
14 KiB
YAML
# 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 }
|