/** * * @param \calavera\customerBundle\DTO\CustomerDTO $customer */ public function registerNewsletter(\calavera\customerBundle\DTO\NewsletterDTO $newsletter) { $subscription = new NewsletterSubscription(); $gender = new CatGender(); $status = new CatNewsletterStatus(); $gender->setGender($newsletter->getGender()); $dql = "select s from \\calavera\\customerBundle\\Entity\\CatNewsletterStatus s where s.status = 'subscribed'"; try { $query = $this->em->createQuery($dql); $status = $query->getOneOrNullResult(); } catch (\Doctrine\ORM\ORMException $orme) { echo $orme->getTraceAsString(); } catch (\Doctrine\ORM\NoResultException $nre) { } catch (\Doctrine\ORM\ORMInvalidArgumentException $ormiae) { } $subscription->setIdNewsletterStatus($status); $subscription->setEmail($newsletter->getEmail()); $subscription->getGener(); $dql = ""; try { $this->em->persist($subscription); $this->em->flush(); $status = "Ha sido registrado en nuestro newsletter"; } catch (\Doctrine\ORM\ORMException $orme) { echo $orme->getTraceAsString(); $status = "No pudo ser registrado en nuestro newsletter."; } catch (\Doctrine\ORM\NoResultException $nre) { $status = "No pudo ser registrado en nuestro newsletter."; } catch (\Doctrine\ORM\ORMInvalidArgumentException $ormiae) { $status = "No pudo ser registrado en nuestro newsletter."; } catch (\Exception $e) { $status = "No pudo ser registrado en nuestro newsletter."; } return $status; }
public function registerMailInNewsletter(\calavera\customerBundle\DTO\NewsletterDTO $newsletter) { $regex = '/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$/'; $messaje = new ArrayObject(array(), ArrayObject::STD_PROP_LIST); switch (preg_match($regex, $newsletter->getEmail())) { case 0: $newsletter->setStatus("El correo electronico es invalido"); break; case 1: $newsletter->setStatus($this->nldao->registerNewsletter($newsletter)); break; } $messaje->offsetSet("success", array("messaje", $newsletter->getStatus())); return $messaje->getArrayCopy(); }