src/Controller/PageController.php line 86

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Page\Page;
  4. use App\Repository\ArrayJsonRepository;
  5. use App\Repository\ConfigurationRepository;
  6. use App\Repository\Page\PageRepository;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use Symfony\Component\Security\Core\Security;
  11. class PageController extends AbstractController
  12. {
  13.     #[Route('/page/{urlAccess}'name'app_page_show')]
  14.     public function page(Page $pageConfigurationRepository $configurationRepositorySecurity $securityArrayJsonRepository $arrayJsonRepository): Response
  15.     {
  16.         $config $configurationRepository->findOneBy([]);
  17.         $skeleton $arrayJsonRepository->findOneBy(['name' => 'skeleton_template']);
  18.         $dynamicLinkArray $arrayJsonRepository->findOneBy(['name' => 'dynamic_link']);
  19.         if ($dynamicLinkArray == null) {
  20.             $dynamicLink null;
  21.         } else {
  22.             $dynamicLink $dynamicLinkArray->getContent() ?? null;
  23.         }
  24.         $is_online $config->isIsOnline();
  25.         if ($is_online == true) {
  26.             if ($security->isGranted('ROLE_ADMIN')) {
  27.             } else {
  28.                 return $this->redirectToRoute('app_maintenance');
  29.             }
  30.         }
  31.         $metaDescription $page->getMetaDescription();
  32.         $metaImg $page->getMetaImg();
  33.         if ($metaImg == null) {
  34.             $metaImg $config->getMetaImgDefault();
  35.         }
  36.         return $this->render('page/index.html.twig', [
  37.             'page' => $page,
  38.             'noIndex' => $page->isIsNoIndex(),
  39.             'title' => $page->getName(),
  40.             'metaDescription' => $metaDescription,
  41.             'metaImg' => $metaImg,
  42.             'isHeaderComponent' => $page->isIsHeaderComponent(),
  43.             'skeleton' => $skeleton,
  44.             'dynamicLink' => $dynamicLink,
  45.         ]);
  46.     }
  47.     #[Route('/t/{prefix}/{slug}'name'app_page_show_typed')]
  48.     public function pageTyped(string $prefixstring $slugConfigurationRepository $configurationRepositorySecurity $securityArrayJsonRepository $arrayJsonRepositoryPageRepository $pageRepository): Response
  49.     {
  50.         $page $pageRepository->findOneByPrefixAndSlug($prefix$slug);
  51.         $config $configurationRepository->findOneBy([]);
  52.         $skeleton $arrayJsonRepository->findOneBy(['name' => 'skeleton_template']);
  53.         $dynamicLinkArray $arrayJsonRepository->findOneBy(['name' => 'dynamic_link']);
  54.         if ($dynamicLinkArray == null) {
  55.             $dynamicLink null;
  56.         } else {
  57.             $dynamicLink $dynamicLinkArray->getContent() ?? null;
  58.         }
  59.         $is_online $config->isIsOnline();
  60.         if ($is_online == true) {
  61.             if ($security->isGranted('ROLE_ADMIN')) {
  62.             } else {
  63.                 return $this->redirectToRoute('app_maintenance');
  64.             }
  65.         }
  66.         $metaDescription $page->getMetaDescription();
  67.         $metaImg $page->getMetaImg();
  68.         if ($metaImg == null) {
  69.             $metaImg $config->getMetaImgDefault();
  70.         }
  71.         return $this->render('page/index.html.twig', [
  72.             'page' => $page,
  73.             'noIndex' => $page->isIsNoIndex(),
  74.             'title' => $page->getName(),
  75.             'metaDescription' => $metaDescription,
  76.             'metaImg' => $metaImg,
  77.             'isHeaderComponent' => $page->isIsHeaderComponent(),
  78.             'skeleton' => $skeleton,
  79.             'dynamicLink' => $dynamicLink,
  80.         ]);
  81.     }
  82.     #[Route('/mentions-legal'name'app_mentions')]
  83.     public function mentions(PageRepository $pageRepositoryArrayJsonRepository $arrayJsonRepository): Response
  84.     {
  85.         $skeleton $arrayJsonRepository->findOneBy(['name' => 'skeleton_template']);
  86.         $page $pageRepository->findOneBy(['id' => 2]);
  87.         $dynamicLinkArray $arrayJsonRepository->findOneBy(['name' => 'dynamic_link']);
  88.         if ($dynamicLinkArray == null) {
  89.             $dynamicLink null;
  90.         } else {
  91.             $dynamicLink $dynamicLinkArray->getContent() ?? null;
  92.         }
  93.         return $this->render('page/index.html.twig', [
  94.             'page' => $page,
  95.             'title' => "Mentions Légales",
  96.             'isHeaderComponent' => $page->isIsHeaderComponent(),
  97.             'skeleton' => $skeleton,
  98.             'dynamicLink' => $dynamicLink,
  99.         ]);
  100.     }
  101. }