]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Resources/config/services.yml
Validate language & preview picture fields
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Resources / config / services.yml
index d11398469757c4a60957a2a37c98adeca5b0dfd6..2ae5d27f2fbd2166ab9d5913b5e7a79163e8250e 100644 (file)
@@ -29,8 +29,8 @@ services:
         arguments:
             - "@doctrine"
 
-    wallabag_core.table_prefix_subscriber:
-        class: Wallabag\CoreBundle\Subscriber\TablePrefixSubscriber
+    wallabag_core.subscriber.table_prefix:
+        class: Wallabag\CoreBundle\Event\Subscriber\TablePrefixSubscriber
         arguments:
             - "%database_table_prefix%"
         tags:
@@ -40,33 +40,64 @@ 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"
+            - "%sites_credentials%"
+            - '@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 +105,7 @@ services:
             - "@rulerz"
             - "@wallabag_core.tag_repository"
             - "@wallabag_core.entry_repository"
+            - "@logger"
 
     # repository as a service
     wallabag_core.entry_repository:
@@ -91,23 +123,34 @@ services:
     wallabag_core.helper.entries_export:
         class: Wallabag\CoreBundle\Helper\EntriesExport
         arguments:
-            - "@craue_config"
+            - '@=service(''craue_config'').get(''wallabag_url'')'
             - 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
@@ -119,12 +162,42 @@ services:
         class: Predis\Client
         arguments:
             -
+                scheme: '%redis_scheme%'
                 host: '%redis_host%'
                 port: '%redis_port%'
-                schema: tcp
+                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"
+            - '@=service(''craue_config'').get(''wallabag_url'')'
+            - "@logger"
+
+    wallabag_core.entry.download_images.client:
+        class: GuzzleHttp\Client