src/Package/Block/Tools/ThumbGeneratorSubscriber/ThumbGeneratorSubscriber.php line 40

Open in your IDE?
  1. <?php
  2. namespace App\Package\Block\Tools\ThumbGeneratorSubscriber;
  3. use App\Package\MediaThumbable\Tools\ThumbGenerator\ThumbGeneratorSubscriber as OriginalThumbGeneratorSubscriber;
  4. use App\Package\Admin\Main\Event\EntityUpdateEvent;
  5. /**
  6.  * ThumbGeneratorSubscriber
  7.  * 
  8.  * Subscriber which listens for parent entity update event (created or updated)
  9.  * - if parent entity has blocks then execute "processGenerateThumbs" for each one
  10.  *   of blocks (if block has thumbs then either generates, removes thumbs or calls
  11.  *   "generateThumbs" from block)
  12.  * 
  13.  * @author     Daniel Balowski <d.balowski@openform.pl> (_creator)
  14.  * @copyright  Openform
  15.  * @since      03.2019
  16.  */
  17. class ThumbGeneratorSubscriber extends OriginalThumbGeneratorSubscriber
  18. {
  19.     /**
  20.      * @return array
  21.      */
  22.     public static function getSubscribedEvents() : array
  23.     {
  24.         return [
  25.             EntityUpdateEvent::NAME => [
  26.                 [ 'onEntityUpdate'400 ],
  27.             ]
  28.         ];
  29.     }
  30.     /**
  31.      * On entity update event
  32.      *
  33.      * @param EntityUpdateEvent  $event
  34.      * 
  35.      * @return void
  36.      */
  37.     public function onEntityUpdate(EntityUpdateEvent $event) : void
  38.     {
  39.         $updatedEntity $event->getUpdatedEntity();
  40.         if (! method_exists($updatedEntity'getBlock')) {
  41.             return;
  42.         }
  43.         foreach($updatedEntity->getBlock() as $block) {
  44.             $this->processGenerateThumbs($block);
  45.         }
  46.         
  47.         return;
  48.     }
  49. }