示例#1
0
 /**
  * @throws EntityNotFoundException
  *
  * @return RedirectResponse
  *
  * @Route("/lead/lead_capture_form", name="lead_capture_form")
  * @Template()
  */
 public function leadCaptureFormAction(Request $request)
 {
     if ($request->getMethod() == 'POST' || $request->getMethod() == 'GET') {
         $lead = new Lead();
         if ($request->get('userId')) {
             $lead->setFirstName($request->get('name'));
             $lead->setEmail($request->get('email'));
             $lead->setEvent($request->get('event'));
             $lead->setMobilePhone($request->get('phone1') . $request->get('phone2') . $request->get('phone3'));
             $user = $this->getDoctrine()->getRepository('AppBundle:User')->find($request->get('userId'));
             if ($user) {
                 $lead->setUser($user);
             } else {
                 throw new EntityNotFoundException();
             }
             $em = $this->getDoctrine()->getManager();
             $em->persist($lead);
             $em->flush();
             //                // MailerLite adding subscriber
             $mailerLite = new \MailerLiteApi\MailerLite('d4d847245983c24a7400a97546d12b40');
             $groupsApi = $mailerLite->groups();
             $subscriber = ['email' => $request->get('email'), 'fields' => ['name' => $request->get('name')]];
             // Fixed hardcode GROUP_ID
             if ($request->get('event') == 'healthmarketing') {
                 $groupsApi->addSubscriber('4336713', $subscriber);
             } else {
                 $groupsApi->addSubscriber('4284365', $subscriber);
             }
             if ($request->get('redirectUrl')) {
                 return new RedirectResponse($request->get('redirectUrl'));
             } else {
                 return new JsonResponse(true);
             }
         }
     }
 }