X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FResources%2Fconfig%2Fservices.yml;h=614488a64fd92596243a19ba5bea04d81c989c1a;hb=8a21985474c2daae9f84ac52463fe7d297aae3ae;hp=08eae32748f7cd27bb6c6456973c622d7cb02d21;hpb=545b852f4694d1d9821bb4d13d6a1f3e0e7634fb;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml index 08eae327..85306276 100644 --- a/src/Wallabag/CoreBundle/Resources/config/services.yml +++ b/src/Wallabag/CoreBundle/Resources/config/services.yml @@ -2,31 +2,219 @@ services: wallabag_core.helper.detect_active_theme: class: Wallabag\CoreBundle\Helper\DetectActiveTheme arguments: - - @security.context - - %theme% # default theme from parameters.yml + - "@security.token_storage" + - "%wallabag_core.theme%" # custom form type wallabag_core.form.type.config: class: Wallabag\CoreBundle\Form\Type\ConfigType arguments: - - %liip_theme.themes% + - "%liip_theme.themes%" + - "%wallabag_core.languages%" tags: - - { name: form.type, alias: config } + - { name: form.type } - wallabag_core.form.type.forgot_password: - class: Wallabag\CoreBundle\Form\Type\ForgotPasswordType + wallabag_core.filter.type.entry: + class: Wallabag\CoreBundle\Form\Type\EntryFilterType arguments: - - @doctrine + - "@wallabag_core.entry_repository" + - "@security.token_storage" tags: - - { name: form.type, alias: forgot_password } + - { name: form.type } wallabag_core.param_converter.username_rsstoken_converter: class: Wallabag\CoreBundle\ParamConverter\UsernameRssTokenConverter tags: - { name: request.param_converter, converter: username_rsstoken_converter } arguments: - - @doctrine + - "@doctrine" - wallabag_core.doctrine.prefixed_naming_strategy: - class: Wallabag\CoreBundle\Doctrine\Mapping\PrefixedNamingStrategy - arguments: [%database_table_prefix%] + wallabag_core.subscriber.table_prefix: + class: Wallabag\CoreBundle\Event\Subscriber\TablePrefixSubscriber + arguments: + - "%database_table_prefix%" + tags: + - { name: doctrine.event_subscriber } + + wallabag_core.graby: + class: Graby\Graby + arguments: + - + error_message: '%wallabag_core.fetching_error_message%' + error_message_title: '%wallabag_core.fetching_error_message_title%' + - "@wallabag_core.guzzle.http_client" + - "@wallabag_core.graby.config_builder" + calls: + - [ setLogger, [ "@logger" ] ] + tags: + - { name: monolog.logger, channel: graby } + + wallabag_core.graby.config_builder: + class: Graby\SiteConfig\ConfigBuilder + arguments: + - {} + - "@logger" + + wallabag_core.guzzle.http_client: + class: GuzzleHttp\ClientInterface + factory: ["@wallabag_core.guzzle.http_client_factory", buildHttpClient] + + wallabag_core.guzzle_authenticator.config_builder: + class: Wallabag\CoreBundle\GuzzleSiteAuthenticator\GrabySiteConfigBuilder + arguments: + - "@wallabag_core.graby.config_builder" + - "@security.token_storage" + - "@wallabag_core.site_credential_repository" + - '@logger' + tags: + - { name: monolog.logger, channel: graby } + + # service alias override + bd_guzzle_site_authenticator.site_config_builder: + alias: wallabag_core.guzzle_authenticator.config_builder + + wallabag_core.guzzle.http_client_factory: + class: Wallabag\CoreBundle\Helper\HttpClientFactory + arguments: + - "@wallabag_core.guzzle.cookie_jar" + - '@=service(''craue_config'').get(''restricted_access'')' + - '@logger' + calls: + - ["addSubscriber", ["@bd_guzzle_site_authenticator.authenticator_subscriber"]] + + wallabag_core.guzzle.cookie_jar: + class: GuzzleHttp\Cookie\FileCookieJar + arguments: ["%kernel.cache_dir%/cookiejar.json"] + + wallabag_core.content_proxy: + class: Wallabag\CoreBundle\Helper\ContentProxy + arguments: + - "@wallabag_core.graby" + - "@wallabag_core.rule_based_tagger" + - "@validator" + - "@logger" + - '%wallabag_core.fetching_error_message%' + - '@=service(''craue_config'').get(''store_article_headers'')' + + wallabag_core.tags_assigner: + class: Wallabag\CoreBundle\Helper\TagsAssigner + arguments: + - "@wallabag_core.tag_repository" + + wallabag_core.rule_based_tagger: + class: Wallabag\CoreBundle\Helper\RuleBasedTagger + arguments: + - "@rulerz" + - "@wallabag_core.tag_repository" + - "@wallabag_core.entry_repository" + - "@logger" + + # repository as a service + wallabag_core.entry_repository: + class: Wallabag\CoreBundle\Repository\EntryRepository + factory: [ "@doctrine.orm.default_entity_manager", getRepository ] + arguments: + - WallabagCoreBundle:Entry + + wallabag_core.tag_repository: + class: Wallabag\CoreBundle\Repository\TagRepository + factory: [ "@doctrine.orm.default_entity_manager", getRepository ] + arguments: + - WallabagCoreBundle:Tag + + wallabag_core.site_credential_repository: + class: Wallabag\CoreBundle\Repository\SiteCredentialRepository + factory: [ "@doctrine.orm.default_entity_manager", getRepository ] + arguments: + - WallabagCoreBundle:SiteCredential + calls: + - [ setCrypto, [ "@wallabag_core.helper.crypto_proxy" ] ] + + wallabag_core.helper.entries_export: + class: Wallabag\CoreBundle\Helper\EntriesExport + arguments: + - "@translator" + - '%domain_name%' + - src/Wallabag/CoreBundle/Resources/public/themes/_global/img/appicon/apple-touch-icon-152.png + + wallabag.operator.array.matches: + class: Wallabag\CoreBundle\Operator\PHP\Matches + tags: + - { name: rulerz.operator, target: native, operator: matches } + + wallabag.operator.doctrine.matches: + class: Wallabag\CoreBundle\Operator\Doctrine\Matches + tags: + - { name: rulerz.operator, target: doctrine, operator: matches, inline: true } + + wallabag.operator.array.notmatches: + class: Wallabag\CoreBundle\Operator\PHP\NotMatches + tags: + - { name: rulerz.operator, target: native, operator: notmatches } + + wallabag.operator.doctrine.notmatches: + class: Wallabag\CoreBundle\Operator\Doctrine\NotMatches + tags: + - { name: rulerz.operator, target: doctrine, operator: notmatches, inline: true } + + wallabag_core.helper.redirect: + class: Wallabag\CoreBundle\Helper\Redirect + arguments: + - "@router" + - "@security.token_storage" + + wallabag_core.helper.prepare_pager_for_entries: + class: Wallabag\CoreBundle\Helper\PreparePagerForEntries + arguments: + - "@security.token_storage" + - "@router" + + wallabag_core.redis.client: + class: Predis\Client + arguments: + - + scheme: '%redis_scheme%' + host: '%redis_host%' + port: '%redis_port%' + path: '%redis_path%' + password: '%redis_password%' + + wallabag_core.exception_controller: + class: Wallabag\CoreBundle\Controller\ExceptionController + arguments: + - '@twig' + - '%kernel.debug%' + + wallabag_core.subscriber.sqlite_cascade_delete: + class: Wallabag\CoreBundle\Event\Subscriber\SQLiteCascadeDeleteSubscriber + arguments: + - "@doctrine" + tags: + - { name: doctrine.event_subscriber } + + wallabag_core.subscriber.download_images: + class: Wallabag\CoreBundle\Event\Subscriber\DownloadImagesSubscriber + arguments: + - "@doctrine.orm.default_entity_manager" + - "@wallabag_core.entry.download_images" + - '@=service(''craue_config'').get(''download_images_enabled'')' + - "@logger" + tags: + - { name: kernel.event_subscriber } + + wallabag_core.entry.download_images: + class: Wallabag\CoreBundle\Helper\DownloadImages + arguments: + - "@wallabag_core.entry.download_images.client" + - "%kernel.project_dir%/web/assets/images" + - '%domain_name%' + - "@logger" + + wallabag_core.entry.download_images.client: + class: GuzzleHttp\Client + + wallabag_core.helper.crypto_proxy: + class: Wallabag\CoreBundle\Helper\CryptoProxy + arguments: + - "%wallabag_core.site_credentials.encryption_key_path%" + - "@logger"