Пример #1
0
 /**
  * Remove empty values after persisting, to avoid null 'Value' values in
  * the database.
  *
  * @param LifeCycleEventArgs $args
  *
  * @return void
  */
 public function postPersist(LifeCycleEventArgs $args)
 {
     $entity = $args->getEntity();
     $entityManager = $args->getEntityManager();
     if ($entity instanceof ValueInterface && $entity->isEmpty()) {
         $entityManager->remove($entity);
     }
 }
Пример #2
0
 /**
  * setRole
  *
  * @param LifecycleEventArgs $args
  */
 public function setRole(LifeCycleEventArgs $args)
 {
     /** @var User $object */
     $object = $args->getEntity();
     if ($object instanceof AdvancedUserInterface) {
         $object->setRoles(User::ROLE_USER);
     }
 }
Пример #3
0
 /**
  * @param LifecycleEventArgs $args
  */
 public function prePersist(LifeCycleEventArgs $args)
 {
     /** @var AdvancedUserInterface $object */
     $object = $args->getEntity();
     if ($object instanceof AdvancedUserInterface) {
         $salt = md5(uniqid(null, true));
         $object->setSalt($salt);
         $encoder = $this->encoder->getEncoder($object);
         $encodedPassword = $encoder->encodePassword($object->getPlainPassword(), $object->getSalt());
         $object->setPassword($encodedPassword);
         $object->setLastLogin(new \DateTime(date('Y-m-d H:i:s')));
     }
 }
Пример #4
0
 /**
  * @param LifecycleEventArgs $args
  */
 public function prePersist(LifeCycleEventArgs $args)
 {
     /** @var UrlInterface $object */
     $object = $args->getEntity();
     if ($object instanceof UrlInterface) {
         $urlUtility = new UrlUtility();
         $processedUrl = $urlUtility->process($object->getMetaUrl());
         $found = $args->getEntityManager()->getRepository(get_class($object))->findOneBy(['metaUrl' => $processedUrl]);
         if ($found) {
             throw new \LogicException('Given URL already exists');
         }
         $object->setMetaUrl($processedUrl);
     }
 }
Пример #5
0
 public function prePersist(LifeCycleEventArgs $args)
 {
     $entity = $args->getEntity();
     if ($entity instanceof Post || $entity instanceof Comment) {
         // is authentication information available?
         if (null !== $this->tokenStorage->getToken()) {
             // get User
             $user = $this->tokenStorage->getToken()->getUser();
             if (is_object($user)) {
                 $entity->setAuthorEmail($user->getEmail());
             }
         }
     }
 }
Пример #6
0
 /**
  * PreUpdate
  */
 public function preUpdate(LifeCycleEventArgs $args)
 {
     $entity = $args->getEntity();
     $entity->doPreUpdate();
 }