vendor/die-leoparden/cookie-consent/EventSubscriber/DataObjectSubscriber.php line 41

Open in your IDE?
  1. <?php
  2. /**
  3.  * CookieConsentBundle
  4.  * Copyright (c) Die Leoparden GmbH
  5.  */
  6. namespace DieLeoparden\CookieConsentBundle\EventSubscriber;
  7. use DieLeoparden\CookieConsentBundle\Traits\CacheIdentifierTrait;
  8. use Pimcore\Cache;
  9. use Pimcore\Event\DataObjectEvents;
  10. use Pimcore\Event\Model\DataObjectEvent;
  11. use Pimcore\Model\DataObject;
  12. use Pimcore\Model\DataObject\CookieConsentEntry;
  13. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  14. /**
  15.  * Class DataObjectSubscriber
  16.  */
  17. class DataObjectSubscriber implements EventSubscriberInterface
  18. {
  19.     use CacheIdentifierTrait;
  20.     /**
  21.      * {@inheritdoc}
  22.      */
  23.     public static function getSubscribedEvents()
  24.     {
  25.         return [
  26.             DataObjectEvents::POST_UPDATE => [
  27.                 [
  28.                     'onPostUpdate',
  29.                 ],
  30.             ],
  31.         ];
  32.     }
  33.     /**
  34.      * @param DataObjectEvent $event
  35.      */
  36.     public function onPostUpdate(DataObjectEvent $event)
  37.     {
  38.         /** @var DataObject $object */
  39.         $object $event->getObject();
  40.         if (!$object instanceof CookieConsentEntry) {
  41.             return;
  42.         }
  43.         Cache::remove($this->getScriptCacheIdentifier($object->getApiToken()));
  44.         Cache::remove($this->getStylesheetCacheIdentifier($object->getApiToken()));
  45.         Cache::remove($this->getLanguageScriptCacheIdentifier($object->getApiToken()));
  46.         Cache::remove($this->getServiceScriptCacheIdentifier($object->getApiToken()));
  47.     }
  48. }