X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FResources%2Fconfig%2Fservices.yml;h=09bc77fe9be2506aa354410f14839b026ae3c04b;hb=b8427f22f06cab58383ec3080f09715c712c65ef;hp=614488a64fd92596243a19ba5bea04d81c989c1a;hpb=49dee2d2de63af36248e92ce740da2692358280e;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml index 614488a6..09bc77fe 100644 --- a/src/Wallabag/CoreBundle/Resources/config/services.yml +++ b/src/Wallabag/CoreBundle/Resources/config/services.yml @@ -30,7 +30,7 @@ services: - "@doctrine" wallabag_core.subscriber.table_prefix: - class: Wallabag\CoreBundle\Subscriber\TablePrefixSubscriber + class: Wallabag\CoreBundle\Event\Subscriber\TablePrefixSubscriber arguments: - "%database_table_prefix%" tags: @@ -41,32 +41,64 @@ services: arguments: - error_message: '%wallabag_core.fetching_error_message%' - http_client: - user_agents: - 'lifehacker.com': 'PHP/5.2' - 'gawker.com': 'PHP/5.2' - 'deadspin.com': 'PHP/5.2' - 'kotaku.com': 'PHP/5.2' - 'jezebel.com': 'PHP/5.2' - 'io9.com': 'PHP/5.2' - 'jalopnik.com': 'PHP/5.2' - 'gizmodo.com': 'PHP/5.2' - '.wikipedia.org': 'Mozilla/5.2' - '.fok.nl': 'Googlebot/2.1' - 'getpocket.com': 'PHP/5.2' - 'iansommerville.com': 'PHP/5.2' + 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" - - "@wallabag_core.tag_repository" + - "@validator" - "@logger" + - '%wallabag_core.fetching_error_message%' + + wallabag_core.tags_assigner: + class: Wallabag\CoreBundle\Helper\TagsAssigner + arguments: + - "@wallabag_core.tag_repository" wallabag_core.rule_based_tagger: class: Wallabag\CoreBundle\Helper\RuleBasedTagger @@ -74,6 +106,7 @@ services: - "@rulerz" - "@wallabag_core.tag_repository" - "@wallabag_core.entry_repository" + - "@logger" # repository as a service wallabag_core.entry_repository: @@ -88,26 +121,43 @@ services: arguments: - WallabagCoreBundle:Tag + wallabag_core.site_credential_repository: + class: Wallabag\CoreBundle\Repository\SiteCredentialRepository + factory: [ "@doctrine.orm.default_entity_manager", getRepository ] + arguments: + - WallabagCoreBundle:SiteCredential + wallabag_core.helper.entries_export: class: Wallabag\CoreBundle\Helper\EntriesExport arguments: - - "@craue_config" + - '%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, executor: rulerz.executor.array, operator: matches } + - { name: rulerz.operator, target: native, operator: matches } wallabag.operator.doctrine.matches: class: Wallabag\CoreBundle\Operator\Doctrine\Matches tags: - - { name: rulerz.operator, executor: rulerz.executor.doctrine, operator: matches, inline: true } + - { 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 @@ -123,9 +173,38 @@ services: 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.root_dir%/../web/assets/images" + - '%domain_name%' + - "@logger" + + wallabag_core.entry.download_images.client: + class: GuzzleHttp\Client