src/Controller/Core/BaseFrontController.php line 48

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Core;
  3. use App\Entity\BaseForm;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\Form\FormInterface;
  6. use Symfony\Component\Form\FormView;
  7. use Symfony\Component\HttpFoundation\RequestStack;
  8. class BaseFrontController extends AbstractController
  9. {
  10.     protected array $locals = [];
  11.     protected RequestStack $requestStack;
  12.     /**
  13.      * @param RequestStack $requestStack
  14.      */
  15.     public function __construct(RequestStack $requestStack)
  16.     {
  17.         $this->requestStack $requestStack;
  18.         $this->locals['menu_active'] = '';
  19.     }
  20.     protected function getForm(string $typeBaseForm $entitystring $route, array $parameters = []): FormInterface
  21.     {
  22.         return $this->createForm($type$entity, [
  23.             'action' => $this->generateUrl($route$parameters),
  24.             'method' => 'POST',
  25.         ]);
  26.     }
  27.     protected function getFormView(string $typeBaseForm $entitystring $route, array $parameters = []): FormView
  28.     {
  29.         return $this->getForm($type$entity$route$parameters)->createView();
  30.     }
  31.     protected function saveFormSession(string $keyBaseForm $value)
  32.     {
  33.         $session $this->requestStack->getSession();
  34.         $session->set($key$value);
  35.     }
  36.     protected function getFormSession(string $key$default null): ?BaseForm
  37.     {
  38.         $session $this->requestStack->getSession();
  39.         $form $session->get($key$default);
  40.         $session->remove($key);
  41.         return $form;
  42.     }
  43.     function getRecaptchaToken(): string
  44.     {
  45.         $request $this->requestStack->getCurrentRequest();
  46.         return (string) $request->request->get('recaptcha_token');
  47.     }
  48.     function getClientIp(): string
  49.     {
  50.         $request $this->requestStack->getCurrentRequest();
  51.         return $request->getClientIp();
  52.     }
  53. }