src/JuridicusBundle/Controller/KontaktController.php line 24

Open in your IDE?
  1. <?php
  2. namespace JF\JuridicusBundle\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
  5. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  6. use Symfony\Component\Form\Extension\Core\Type\TextType;
  7. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  8. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  9. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  10. use Symfony\Component\HttpFoundation\Request;
  11. /**
  12.  * Preise controller.
  13.  *
  14.  */
  15. class KontaktController extends AbstractController
  16. {
  17.     /**
  18.      * @Route("/contact", name="contact")
  19.      */
  20.     public function indexAction(Request $request)
  21.     {
  22.         $success false;
  23.         
  24.         $form $this->createFormBuilder()
  25.             ->add('name'TextType::class,[
  26.                     'required' => true,
  27.                     'label' => false,
  28.                     'attr' => array(
  29.                          'placeholder' => 'Mein Name'
  30.                      )
  31.             ])
  32.             ->add('email'EmailType::class,[
  33.                     'required' => true,
  34.                     'label' => false,
  35.                     'attr' => array(
  36.                          'placeholder' => 'Deine E-Mail'
  37.                      )
  38.             ])
  39.             ->add('message'TextareaType::class,[
  40.                     'required' => true,
  41.                     'label' => false,
  42.                     'attr' => array(
  43.                          'placeholder' => 'Deine Nachricht'
  44.                      )
  45.             ])
  46.             ->add('send'SubmitType::class, [
  47.                 'label' => "Einreichen",
  48.                 'attr'=> [
  49.                     'class'=>'btn btn-danger'
  50.                 ]    
  51.             ])
  52.             ->getForm();
  53.         $form->handleRequest($request);
  54.         if ($form->isSubmitted() && $form->isValid()) {
  55.             // data is an array with "name", "email", and "message" keys
  56.             $data $form->getData();
  57.             $emailBody "Neue Kontaktanfrage: ".PHP_EOL."
  58. Name: $data[name] ".PHP_EOL."
  59. Email: $data[email] ".PHP_EOL."
  60. Nachricht: $data[message] ".PHP_EOL."
  61.             ";
  62.             $mailer_user $this->container->getParameter('mailer_user');
  63.             $mailer $this->get('mailer');
  64.             $message \Swift_Message::newInstance()
  65.                     ->setSubject("Juridicus: Kontaktanfrage")
  66.                     ->setFrom(array($mailer_user => 'Juridicus'))
  67.                     ->setReplyTo('info@juridicus.de')
  68.                     ->setTo("info@juridicus.de")
  69.                     ->setBody($emailBody'text/plain')
  70.             ;
  71.             if ($mailer->send($message)) {
  72.                 $success true;
  73.             } 
  74.             
  75.         }
  76.         // ... render the form
  77.         
  78.         return $this->render("@JFJuridicusBundle/Kontakt/index.html.twig", array(
  79.                 'form'         => $form->createView(),
  80.                 'success'     => $success
  81.             )
  82.         );
  83.     }
  84. }