/** * @param LifecycleEventArgs $args */ public function prePersist(LifeCycleEventArgs $args) { /** @var AdvancedUserInterface $object */ $object = $args->getDocument(); 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'))); } }
/** * postPersist * * @param LifecycleEventArgs $args */ public function postPersist(LifeCycleEventArgs $args) { /** @var Node $parent */ /** @var Node $object */ $dm = $args->getDocumentManager(); $object = $args->getDocument(); if ($object instanceof NodeInterface) { if ($parent = $object->getParent()) { $parent->addChild($object); $dm->persist($parent); $dm->flush(); } } }
/** * @param LifecycleEventArgs $args */ public function prePersist(LifeCycleEventArgs $args) { /** @var UrlInterface $object */ $object = $args->getDocument(); if ($object instanceof UrlInterface) { $urlUtility = new UrlUtility(); $processedUrl = $urlUtility->process($object->getMetaUrl()); $found = $args->getDocumentManager()->getRepository(get_class($object))->findOneBy(['metaUrl' => $processedUrl]); if ($found) { throw new \LogicException('Given URL already exists'); } $object->setMetaUrl($processedUrl); } }
/** * @param LifecycleEventArgs $args */ private function updateChildren(LifeCycleEventArgs $args) { $dm = $args->getDocumentManager(); /** @var NodeInterface $object */ /** @var Category $parent */ /** @var Category $child */ $object = $args->getDocument(); if ($object instanceof NodeInterface) { // var_dump($object->getParent()); if ($parent = $object->getParent()) { foreach ($parent->getChildren() as $child) { if ($child->getId() == $object->getId()) { $parent->removeChild($child); } } $parent->addChild($object); $dm->persist($parent); $dm->flush(); } } }