PATH:
home
/
lab2454c
/
caimegroup.com
/
wp-content
/
plugins
/
mailpoet
/
lib
/
Doctrine
/
EventListeners
<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing namespace MailPoet\Doctrine\EventListeners; if (!defined('ABSPATH')) exit; use MailPoet\Doctrine\Validator\ValidationException; use MailPoetVendor\Doctrine\ORM\Event\OnFlushEventArgs; use MailPoetVendor\Symfony\Component\Validator\Validator\ValidatorInterface; class ValidationListener { /** @var ValidatorInterface */ private $validator; public function __construct( ValidatorInterface $validator ) { $this->validator = $validator; } public function onFlush(OnFlushEventArgs $eventArgs) { $unitOfWork = $eventArgs->getEntityManager()->getUnitOfWork(); foreach ($unitOfWork->getScheduledEntityInsertions() as $entity) { $this->validate($entity); } foreach ($unitOfWork->getScheduledEntityUpdates() as $entity) { $this->validate($entity); } } private function validate($entity) { $groups = $this->getValidationGroups($entity); $violations = $this->validator->validate($entity, null, $groups); if ($violations->count() > 0) { throw new ValidationException(get_class($entity), $violations); } } private function getValidationGroups($entity) { if (is_object($entity) && method_exists($entity, 'getValidationGroups')) { return $entity->getValidationGroups(); } return null; } }
[-] ValidationListener.php
[edit]
[-] EmojiEncodingListener.php
[edit]
[-] index.php
[edit]
[+]
..
[-] SubscriberListener.php
[edit]
[-] LastSubscribedAtListener.php
[edit]
[-] NewsletterListener.php
[edit]
[-] TimestampListener.php
[edit]