From a816f00cc401bad2a5072e24d20638c9895a9ed7 Mon Sep 17 00:00:00 2001 From: Jeroen Thora Date: Thu, 6 Sep 2018 13:24:36 +0200 Subject: [PATCH] [MediaBundle] Upgrade liip/imagine-bundle to v2 and port our custom overrides --- composer.json | 2 +- .../Compiler/MediaHandlerCompilerPass.php | 9 +++++ .../KunstmaanMediaExtension.php | 8 ++-- .../MediaBundle/Resources/config/services.yml | 37 +++++++++++++++++++ 4 files changed, 52 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index eef57c89bd..3ccd9fe2fe 100644 --- a/composer.json +++ b/composer.json @@ -38,7 +38,7 @@ "gedmo/doctrine-extensions": "^2.4.34", "doctrine/doctrine-fixtures-bundle": "~2.2", "stof/doctrine-extensions-bundle": "~1.1", - "liip/imagine-bundle": "~1.7", + "liip/imagine-bundle": "^2.0", "imagine/imagine": "~0.6", "knplabs/knp-gaufrette-bundle": "~0.1", "symfony-cmf/routing-bundle": "~2.0", diff --git a/src/Kunstmaan/MediaBundle/DependencyInjection/Compiler/MediaHandlerCompilerPass.php b/src/Kunstmaan/MediaBundle/DependencyInjection/Compiler/MediaHandlerCompilerPass.php index a1e3b20dbd..7c1bf9f1d1 100644 --- a/src/Kunstmaan/MediaBundle/DependencyInjection/Compiler/MediaHandlerCompilerPass.php +++ b/src/Kunstmaan/MediaBundle/DependencyInjection/Compiler/MediaHandlerCompilerPass.php @@ -33,5 +33,14 @@ public function process(ContainerBuilder $container) $definition->addMethodCall('addLoader', array(new Reference($id), $id)); } } + + // Inject the tagged resolvers into our cache manager override + if ($container->hasDefinition('kunstmaan_media.imagine.cache.manager')) { + $manager = $container->getDefinition('kunstmaan_media.imagine.cache.manager'); + + foreach ($container->findTaggedServiceIds('liip_imagine.cache.resolver') as $id => $tag) { + $manager->addMethodCall('addResolver', [$tag[0]['resolver'], new Reference($id)]); + } + } } } diff --git a/src/Kunstmaan/MediaBundle/DependencyInjection/KunstmaanMediaExtension.php b/src/Kunstmaan/MediaBundle/DependencyInjection/KunstmaanMediaExtension.php index c854fe9852..62b0e1d448 100644 --- a/src/Kunstmaan/MediaBundle/DependencyInjection/KunstmaanMediaExtension.php +++ b/src/Kunstmaan/MediaBundle/DependencyInjection/KunstmaanMediaExtension.php @@ -50,12 +50,14 @@ public function load(array $configs, ContainerBuilder $container) } $container->setParameter('liip_imagine.filter.loader.background.class', 'Kunstmaan\MediaBundle\Helper\Imagine\BackgroundFilterLoader'); - $container->setParameter('liip_imagine.cache.manager.class', 'Kunstmaan\MediaBundle\Helper\Imagine\CacheManager'); - $container->setParameter('liip_imagine.cache.resolver.web_path.class', 'Kunstmaan\MediaBundle\Helper\Imagine\WebPathResolver'); - $container->setParameter('liip_imagine.controller.class', 'Kunstmaan\MediaBundle\Helper\Imagine\ImagineController'); $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); $loader->load('imagine.xml'); + + $container->setAlias('liip_imagine.controller', 'kunstmaan_media.imagine.controller.imagine')->setPublic(true); + $container->setAlias('liip_imagine.cache.resolver.prototype.web_path', 'kunstmaan_media.imagine.resolver.web_path'); + $container->setAlias('liip_imagine.cache.manager', 'kunstmaan_media.imagine.cache.manager')->setPublic(true); + $container->setAlias('liip_imagine.filter.loader.background', 'kunstmaan_media.imagine.filter.loader.background')->setPublic(true); } public function prepend(ContainerBuilder $container) diff --git a/src/Kunstmaan/MediaBundle/Resources/config/services.yml b/src/Kunstmaan/MediaBundle/Resources/config/services.yml index 81a72e33cc..bee1850828 100644 --- a/src/Kunstmaan/MediaBundle/Resources/config/services.yml +++ b/src/Kunstmaan/MediaBundle/Resources/config/services.yml @@ -125,3 +125,40 @@ services: calls: - [setMimeTypeGuesser, ['@kunstmaan_media.mimetype_guesser.factory']] - [setExtensionGuesser, ['@kunstmaan_media.extension_guesser.factory']] + + kunstmaan_media.imagine.filter.loader.background: + class: '%liip_imagine.filter.loader.background.class%' + arguments: + - '@liip_imagine' + tags: + - { name: 'liip_imagine.filter.loader', loader: 'background' } + + kunstmaan_media.imagine.controller.imagine: + class: Kunstmaan\MediaBundle\Helper\Imagine\ImagineController + arguments: + - '@liip_imagine.service.filter' + - '@liip_imagine.data.manager' + - '@liip_imagine.cache.signer' + tags: + - { name: 'controller.service_arguments' } + public: true + + kunstmaan_media.imagine.resolver.web_path: + class: Kunstmaan\MediaBundle\Helper\Imagine\WebPathResolver + arguments: + - '@filesystem' + - '@router.request_context' + - ~ # will be injected by WebPathResolverFactory + - ~ # will be injected by WebPathResolverFactory + - '@liip_imagine.filter.configuration' + public: true + abstract: true + + kunstmaan_media.imagine.cache.manager: + class: Kunstmaan\MediaBundle\Helper\Imagine\CacheManager + arguments: + - '@liip_imagine.filter.configuration' + - '@router' + - '@liip_imagine.cache.signer' + - '@event_dispatcher' + - '%liip_imagine.cache.resolver.default%'