Exemplo n.º 1
0
 /**
  * 
  * @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;
 }
Exemplo n.º 2
0
 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();
 }