<?php
namespace Cofondateur\SocleTechniqueBundle\Controller;
use Cofondateur\SocleTechniqueBundle\Sitemap\SitemapService;
use Cofondateur\SocleTechniqueBundle\Sitemap\SitemapLinkGroup;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class FrontController extends AbstractController
{
/**
* @Route({
* "fr": "/mentions-legales",
* "en": "/terms-and-conditions"
* }, name="app_legal_terms")
*/
public function legalTerms(): Response
{
return $this->render('@SocleTechnique/front/legalTerms.html.twig');
}
/**
* @Route({
* "fr": "/confidentialite",
* "en": "/confidentiality"
* }, name="app_confidentiality")
*/
public function confidentiality(): Response
{
return $this->render(
'@SocleTechnique/front/confidentiality.html.twig',
array(
'siteName' => $_ENV['SITENAME']
)
);
}
/**
* @Route("/sitemap.{_format}", name="app_sitemap", format="html")
*/
public function sitemap(Request $request, SitemapService $sitemapService): Response
{
$format = $request->getRequestFormat();
$links = $sitemapService->generateSitemap();
$template = '@SocleTechnique/';
if ($format === 'xml') {
$template .= 'sitemap/index.xml.twig';
} else {
$template .= 'sitemap/index.html.twig';
}
return $this->render($template, [
'sitemapLinkGroups' => $links
]);
}
/**
* @Route("/robots.txt", name="app_robots_txt", format="txt")
*/
public function robotsDotTxt(Request $request): Response
{
$result = "User-agent: *\nSitemap: ".$request->getSchemeAndHttpHost()."/sitemap.xml";
return new Response($result);
}
}