vendor/cofondateur/socle-technique/src/Controller/FrontController.php line 65

Open in your IDE?
  1. <?php
  2. namespace Cofondateur\SocleTechniqueBundle\Controller;
  3. use Cofondateur\SocleTechniqueBundle\Sitemap\SitemapService;
  4. use Cofondateur\SocleTechniqueBundle\Sitemap\SitemapLinkGroup;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. class FrontController extends AbstractController
  10. {
  11.     /**
  12.      * @Route({
  13.      *     "fr": "/mentions-legales",
  14.      *     "en": "/terms-and-conditions"
  15.      * }, name="app_legal_terms")
  16.      */
  17.     public function legalTerms(): Response
  18.     {
  19.         return $this->render('@SocleTechnique/front/legalTerms.html.twig');
  20.     }
  21.     /**
  22.      * @Route({
  23.      *     "fr": "/confidentialite",
  24.      *     "en": "/confidentiality"
  25.      * }, name="app_confidentiality")
  26.      */
  27.     public function confidentiality(): Response
  28.     {
  29.         return $this->render(
  30.             '@SocleTechnique/front/confidentiality.html.twig',
  31.             array(
  32.                 'siteName' => $_ENV['SITENAME']
  33.             )
  34.         );
  35.     }
  36.     /**
  37.      * @Route("/sitemap.{_format}", name="app_sitemap", format="html")
  38.      */
  39.     public function sitemap(Request $requestSitemapService $sitemapService): Response
  40.     {
  41.         $format $request->getRequestFormat();
  42.         $links $sitemapService->generateSitemap();
  43.         $template '@SocleTechnique/';
  44.         if ($format === 'xml') {
  45.             $template .= 'sitemap/index.xml.twig';
  46.         } else {
  47.             $template .= 'sitemap/index.html.twig';
  48.         }
  49.         return $this->render($template, [
  50.             'sitemapLinkGroups' => $links
  51.         ]);
  52.     }
  53.     /**
  54.      * @Route("/robots.txt", name="app_robots_txt", format="txt")
  55.      */
  56.     public function robotsDotTxt(Request $request): Response
  57.     {
  58.         $result "User-agent: *\nSitemap: ".$request->getSchemeAndHttpHost()."/sitemap.xml";
  59.         return new Response($result);
  60.     }
  61. }