src/Core/Framework/App/Subscriber/AppScriptConditionConstraintsSubscriber.php line 23

  1. <?php declare(strict_types=1);
  2. namespace Shopware\Core\Framework\App\Subscriber;
  3. use Shopware\Core\Framework\App\Aggregate\AppScriptCondition\AppScriptConditionEntity;
  4. use Shopware\Core\Framework\DataAbstractionLayer\Event\EntityLoadedEvent;
  5. use Shopware\Core\Framework\Log\Package;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. /**
  8.  * @internal
  9.  */
  10. #[Package('core')]
  11. class AppScriptConditionConstraintsSubscriber implements EventSubscriberInterface
  12. {
  13.     public static function getSubscribedEvents(): array
  14.     {
  15.         return [
  16.             'app_script_condition.loaded' => 'unserialize',
  17.         ];
  18.     }
  19.     public function unserialize(EntityLoadedEvent $event): void
  20.     {
  21.         /** @var AppScriptConditionEntity $entity */
  22.         foreach ($event->getEntities() as $entity) {
  23.             $constraints $entity->getConstraints();
  24.             if ($constraints === null || !\is_string($constraints)) {
  25.                 continue;
  26.             }
  27.             $entity->setConstraints(unserialize($constraints));
  28.         }
  29.     }
  30. }