Completed
Push — master ( e2e5d3...075ad7 )
by Paweł
96:55 queued 86:21
created

ImagesRemoveListener::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 4
nc 1
nop 3
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Sylius\Bundle\CoreBundle\EventListener;
6
7
use Doctrine\ORM\Event\LifecycleEventArgs;
8
use Liip\ImagineBundle\Imagine\Cache\CacheManager;
9
use Liip\ImagineBundle\Imagine\Filter\FilterManager;
10
use Sylius\Component\Core\Model\ImageInterface;
11
use Sylius\Component\Core\Uploader\ImageUploaderInterface;
12
13
final class ImagesRemoveListener
14
{
15
    /** @var ImageUploaderInterface */
16
    private $imageUploader;
17
18
    /** @var CacheManager */
19
    private $cacheManager;
20
21
    /** @var FilterManager */
22
    private $filterManager;
23
24
    public function __construct(ImageUploaderInterface $imageUploader, CacheManager $cacheManager, FilterManager $filterManager)
25
    {
26
        $this->imageUploader = $imageUploader;
27
        $this->cacheManager = $cacheManager;
28
        $this->filterManager = $filterManager;
29
    }
30
31
    public function postRemove(LifecycleEventArgs $event): void
32
    {
33
        $image = $event->getEntity();
34
35
        if ($image instanceof ImageInterface) {
36
            $this->imageUploader->remove($image->getPath());
37
            $this->cacheManager->remove($image->getPath(), array_keys($this->filterManager->getFilterConfiguration()->all()));
38
        }
39
    }
40
}
41