src/Controller/PageController.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Email\DefaultTemplatedEmail;
  4. use App\Entity\Newsletter;
  5. use App\Form\NewsletterType;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\RedirectResponse;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Mailer\Exception\TransportExceptionInterface;
  11. use Symfony\Component\Mailer\MailerInterface;
  12. use Symfony\Component\Mime\Address;
  13. use Symfony\Component\Routing\Annotation\Route;
  14. use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
  15. class PageController extends AbstractController
  16. {
  17.     #[Route('/'name'homepage')]
  18.     public function homeAction(): RedirectResponse
  19.     {
  20.         if ($this->getUser()) {
  21.             return $this->redirectToRoute('user_homepage');
  22.         }
  23.         return $this->redirectToRoute('login_register');
  24.     }
  25.     #[Route('/home-mobile'name'homepage_mobile')]
  26.     public function homeMobileAction()
  27.     {
  28.         return $this->render('Nav/navApp.html.twig');
  29.     }
  30.     #[Route('/portal'name'portal')]
  31.     public function portalAction(Request $request): RedirectResponse
  32.     {
  33.         $request->getSession()->clear();
  34.         return $this->redirect($this->getParameter('portal_url'));
  35.     }
  36.     #[Route('/page/{folder}/{page}'name'page_display')]
  37.     public function display(?string $folder nullstring $page 'index'): Response
  38.     {
  39.         $fileName str_replace('-''_'$page);
  40.         if ($folder !== null) {
  41.             $folder implode(''array_map(fn($item) => ucfirst(strtolower($item)), explode('-'$folder)));
  42.             $fileName "$folder/$fileName";
  43.         }
  44.         return $this->render("Page/$fileName.html.twig");
  45.     }
  46. }