src/Controller/AppController.php line 38

Open in your IDE?
  1. <?php
  2. /**
  3.  * AppController.php.
  4.  */
  5. namespace App\Controller;
  6. use App\Utils\MediaManager;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\RedirectResponse;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. /**
  13.  * Default app controller.
  14.  */
  15. class AppController extends AbstractController
  16. {
  17.     /**
  18.      * Render homepage or redirect to authentication.
  19.      */
  20.     #[Route(path'/fr/login'name'retrocompat_old_login_fr')]
  21.     public function retrocompatOldLoginFr(Request $request): Response
  22.     {
  23.         return new Response(
  24.             '',
  25.             Response::HTTP_OK,
  26.             ['content-type' => 'text/html']
  27.         );
  28.     }
  29.     /**
  30.      * Render homepage or redirect to authentication.
  31.      */
  32.     #[Route(path'/'name'front_homepage')]
  33.     public function index(Request $request): RedirectResponse|Response
  34.     {
  35.         if ($this->getUser()->hasGroup('GROUP_ADMIN')) {
  36.             return $this->redirect($this->generateUrl('app_defaultback_index'));
  37.         } else {
  38.             return $this->forward('App\Controller\DefaultController::index');
  39.         }
  40.     }
  41.     /**
  42.      * Render information privacy front page.
  43.      */
  44.     #[Route(path'/informations-confidentialite')]
  45.     public function informationsPrivacy(): Response
  46.     {
  47.         return $this->render('front/Default/informations-privacy.html.twig');
  48.     }
  49.     /**
  50.      * Render information legal notice front page.
  51.      */
  52.     public function legalNotice(): Response
  53.     {
  54.         return $this->render('front/Default/legal-notice.html.twig');
  55.     }
  56.     /**
  57.      * Render information privacy front page.
  58.      */
  59.     #[Route(path'/medias/{containerName}/{name}')]
  60.     public function getUploadedMedia(Request $requestMediaManager $mediaManager$containerName 'default'$name null): Response
  61.     {
  62.         if ($containerName && !$name) {
  63.             $name $containerName;
  64.             $containerName null;
  65.         }
  66.         return $mediaManager->generateObjectResponse($name$containerName$request);
  67.     }
  68. }