/** * @Route("/sendbestwishesbykoba", name="app_sendbestwishes") */ public function indexAction(Request $request) { $em = $this->getDoctrine()->getManager(); $form_message = ""; $VoeuxPropose = new VoeuxPropose(); $form = $this->createForm(new VoeuxProposeType(), $VoeuxPropose); $form->handleRequest($request); if ($form->isValid()) { //Creation token present dans le lien du mail pour retrouver l'utilisateurs $tokenmail = md5(uniqid(null, true) . date("YmdHis")); $VoeuxPropose->setTokenmail($tokenmail); $em->persist($VoeuxPropose); //Preparation contenu mail if ($VoeuxPropose->getPeople()->getIsmale()) { $civilité = "Cher " . $VoeuxPropose->getPeople()->getPrenom(); } else { $civilité = "Chère " . $VoeuxPropose->getPeople()->getPrenom(); } $link = $this->container->get('router')->generate('app_front_form', array('tokenmail' => $tokenmail), true); $mailcontent = array('link' => $link, 'token' => $tokenmail, 'civilite' => $civilité, 'mailtexte' => $VoeuxPropose->getContenuMail()->getContenuTxt()); if (preg_match('/@(freetouch\\.fr|visibleo\\.fr|koba\\.com){1}$/', $VoeuxPropose->getEnvoyeurEmail())) { $to = $VoeuxPropose->getPeople()->getEmail(); if (!$this->get('mail_to_user')->sendBestWishesEmail($to, $mailcontent, $VoeuxPropose->getEnvoyeurEmail())) { throw $this->createNotFoundException('Unable to send Best Wishes mail.'); } else { $em->flush(); $form_message = "Voeux envoyées à " . $to; //Nettoyage du form unset($form); $newVoeux = new VoeuxPropose(); $newVoeux->setEnvoyeurEmail($VoeuxPropose->getEnvoyeurEmail()); $form = $this->createForm(new VoeuxProposeType(), $newVoeux); } } else { $form->get('envoyeurEmail')->addError(new FormError('Cette adresse mail n\'est pas autorisé')); } } return $this->render('AppBundle:Admin:index.html.twig', array('form' => $form->createView(), 'form_message' => $form_message)); }
/** * Converti une ligne de cellule en objet VoeuxPropose */ private function CsvRowToVoeuxObject($cellIterator) { //$em = $this->getDoctrine()->getManager(); $row = array(); foreach ($cellIterator as $cell) { if (!is_null($cell) && !is_null($cell->getCalculatedValue())) { if (is_numeric($cell->getCalculatedValue())) { $row[] = (int) $cell->getCalculatedValue(); } else { $row[] = trim($cell->getCalculatedValue()); } } } if (count($row) == 0) { return false; } if (count($row) != 11) { return "Bad cell count"; } if ($row[0] == "Raison Sociale") { return false; } $VoeuxPropose = new VoeuxPropose(); $Questionnaire = new Questionnaire(); $People = new People(); $ContenuMail = new ContenuMail(); $People->setSociete($row[0]); $People->setAdresse($row[1]); $People->setCodepostal($row[2]); $People->setVille($row[3]); $People->setNom($row[4]); $People->setPrenom($row[5]); $People->setEmail($row[6]); $People->setIsmale($row[7]); //$em->persist($People); $contenumail = $this->listContenu[$row[8] - 1]; $questionnaire = $this->listQuestionnaire[$row[9] - 1]; $VoeuxPropose->setQuestionnaire($questionnaire); $VoeuxPropose->setPeople($People); $VoeuxPropose->setContenuMail($contenumail); $VoeuxPropose->setEnvoyeurEmail($row[10]); //$em->persist($VoeuxPropose); return $VoeuxPropose; }