src/Admin/EventSubscriber/FileManagerSubscriber.php line 27

Open in your IDE?
  1. <?php
  2. namespace App\Admin\EventSubscriber;
  3. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  4. use Symfony\Component\EventDispatcher\GenericEvent;
  5. use Liip\ImagineBundle\Imagine\Cache\CacheManager;
  6. use Artgris\Bundle\FileManagerBundle\Event\FileManagerEvents;
  7. class FileManagerSubscriber implements EventSubscriberInterface
  8. {
  9.     protected $cacheManager;
  10.     public function __construct(CacheManager $cacheManager)
  11.     {
  12.         $this->cacheManager $cacheManager;
  13.     }
  14.     public static function getSubscribedEvents(): array
  15.     {
  16.         // return the subscribed events, their methods and priorities
  17.         return [
  18.             FileManagerEvents::POST_UPDATE => [
  19.                 ['postUpdate'0]
  20.             ],
  21.         ];
  22.     }
  23.     public function postUpdate(\Symfony\Component\EventDispatcher\GenericEvent $event)
  24.     {
  25.         $response=$event->getArgument("response");
  26.         foreach ($response["files"] as $file) {
  27.             if(isset($file->url)){
  28.                 $this->cacheManager->remove(urldecode($file->url));
  29.             }
  30.         }
  31.     }
  32. }
  33. ?>