src/Controller/FreePageController.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\FreePage;
  4. use App\Entity\User;
  5. use App\Repository\FreePageRepository;
  6. use App\Service\SiteConfig;
  7. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Entity;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. class FreePageController extends AbstractController
  13. {
  14.     public function __construct(
  15.         private FreePageRepository $freePageRepository,
  16.         private SiteConfig $siteConfig,
  17.     ) {}
  18.     #[Route('/page/{route}'name'free_page')]
  19.     public function freePage(string $route): Response
  20.     {
  21.         if (!$this->getUser() && !$this->siteConfig->isPublicFrontOffice())
  22.             return $this->redirectToRoute('app_login');
  23.         /** @var User|null $user */
  24.         $user $this->getUser();
  25.         $page $this->freePageRepository->findOneActiveByRoute($route$user);
  26.         return $this->render('page/index.html.twig', [
  27.             'page' => $page,
  28.         ]);
  29.     }
  30. }