X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FResources%2Fconfig%2Fservices.yml;h=e09b0f1859ceb972a6e3561c9e79de5a96c3d81a;hb=906424c1b6fd884bf2081bfe6dd0b1f9651c2801;hp=540d21f12e09f68142322d68748540718bf46e27;hpb=191564b7f71d01fb4c597c9b9641e23db564278d;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml index 540d21f1..e09b0f18 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: @@ -40,33 +40,65 @@ services: class: Graby\Graby arguments: - - error_message: "wallabag can't retrieve contents for this article. Please report this issue to us." - 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: '%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" - - "@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,37 +121,45 @@ services: arguments: - WallabagCoreBundle:Tag - wallabag_core.listener.registration_confirmed: - class: Wallabag\CoreBundle\EventListener\RegistrationConfirmedListener + wallabag_core.site_credential_repository: + class: Wallabag\CoreBundle\Repository\SiteCredentialRepository + factory: [ "@doctrine.orm.default_entity_manager", getRepository ] arguments: - - "@doctrine.orm.entity_manager" - - "%wallabag_core.theme%" - - "%wallabag_core.items_on_page%" - - "%wallabag_core.rss_limit%" - - "%wallabag_core.language%" - tags: - - { name: kernel.event_subscriber } + - WallabagCoreBundle:SiteCredential + calls: + - [ setCrypto, [ "@wallabag_core.helper.crypto_proxy" ] ] 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 @@ -134,6 +175,7 @@ services: host: '%redis_host%' port: '%redis_port%' path: '%redis_path%' + password: '%redis_password%' wallabag_core.exception_controller: class: Wallabag\CoreBundle\Controller\ExceptionController @@ -142,8 +184,35 @@ services: - '%kernel.debug%' wallabag_core.subscriber.sqlite_cascade_delete: - class: Wallabag\CoreBundle\Subscriber\SQLiteCascadeDeleteSubscriber + 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 + + wallabag_core.helper.crypto_proxy: + class: Wallabag\CoreBundle\Helper\CryptoProxy + arguments: + - "%wallabag_core.site_credentials.encryption_key_path%" + - "@logger"