src/Controller/ContactController.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Main\Contact;
  4. use ContainerC2aw7aC\getMessenger_Transport_AsyncService;
  5. use Doctrine\ORM\EntityManagerInterface;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use Symfony\Contracts\Translation\TranslatorInterface;
  11. class ContactController extends AbstractController
  12. {
  13.     /**
  14.      * @Route("/iletisim", name="contact", methods={"GET","POST"})
  15.      */
  16.     public function index(Request $requestTranslatorInterface $translatorEntityManagerInterface $manager): Response
  17.     {
  18.         $errorMessage null;
  19.         $successMessage null;
  20.         $fullName null;
  21.         $email null;
  22.         $subject null;
  23.         $message null;
  24.         $content null;
  25.         if ($request->getMethod() == 'POST') {
  26.             parse_str($request->getContent(), $content);
  27.             if (!isset($content['full_name']) || !$content['full_name']) {
  28.                 $fullName $translator->trans('THIS_VALUE_NOT_BE_BLANK');
  29.             }
  30.             if (!isset($content['email']) || !$content['email']) {
  31.                 $email $translator->trans('THIS_VALUE_NOT_BE_BLANK');
  32.             } else if (!is_numeric(strpos($content['email'], '@'))) {
  33.                 $email $translator->trans('THIS_VALUE_IS_NOT_CORRECT_EMAIL_ADDRESS');
  34.             }
  35.             if (!isset($content['subject']) || !$content['subject']) {
  36.                 $subject $translator->trans('THIS_VALUE_NOT_BE_BLANK');
  37.             }
  38.             if (!isset($content['message']) || !$content['message']) {
  39.                 $message $translator->trans('THIS_VALUE_NOT_BE_BLANK');
  40.             }
  41.             if (!$fullName && !$email && !$subject && !$message) {
  42.                 $contact = new Contact();
  43.                 $contact->setMessage($content['message'])
  44.                     ->setEmail($content['email'])
  45.                     ->setFullName($content['full_name'])
  46.                     ->setSubject($content['subject']);
  47.                 $manager->persist($contact);
  48.                 $manager->flush();
  49.                 $successMessage $translator->trans('YOUR_REQUEST_HAS_BEEN_SUCCESSFULLY_SUBMITTED');
  50.                 $content null;
  51.             } else {
  52.                 $errorMessage $translator->trans('CHECK_INFORMATION_AND_TRY_AGAIN');
  53.             }
  54.         }
  55.         return $this->render('contact/index.html.twig', [
  56.             'fullName' => $fullName,
  57.             'email' => $email,
  58.             'subject' => $subject,
  59.             'message' => $message,
  60.             'errorMessage' => $errorMessage,
  61.             'successMessage' => $successMessage,
  62.             'values' => $content,
  63.         ]);
  64.     }
  65. }