<?php
namespace App\Controller;
use App\Entity\Parameters;
use Doctrine\ORM\EntityManagerInterface;
use RtfHtmlPhp\Document;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use RtfHtmlPhp\Html\HtmlFormatter;
class RulesController extends AbstractController
{
private EntityManagerInterface $entityManager;
public function __construct(EntityManagerInterface $entityManager)
{
$this->entityManager = $entityManager;
}
/**
* @Route("/rules", name="rules")
*/
public function rules(Request $request): Response
{
$lang = $request->getLocale();
$parameters = $this->entityManager->getRepository(Parameters::class)->findAll();
if($parameters[0]->getLegalInformationFr() && $parameters[0]->getGeneralTermsFr()){
$legalInformation = null;
$generalTerms = null;
$formatter = new HtmlFormatter();
if ($parameters) {
switch ($lang) {
case "fr":
$legalInformation = $parameters[0]->getLegalInformationFr();
$generalTerms = $parameters[0]->getGeneralTermsFr();
break;
case "en":
$legalInformation = $parameters[0]->getLegalInformationEn();
$generalTerms = $parameters[0]->getGeneralTermsEn();
break;
case "de":
$legalInformation = $parameters[0]->getLegalInformationDe();
$generalTerms = $parameters[0]->getGeneralTermsDe();
break;
case "nl":
$legalInformation = $parameters[0]->getLegalInformationNl();
$generalTerms = $parameters[0]->getGeneralTermsNl();
break;
default:
$legalInformation = $parameters[0]->getLegalInformationFr();
$generalTerms = $parameters[0]->getGeneralTermsFr();
}
}
$documentLi = new Document($legalInformation);
$documenGt = new Document($generalTerms);
$legalInformation = $formatter->Format($documentLi);
$generalTerms = $formatter->Format($documenGt);
return $this->render('rules/rules.html.twig', [
"legalInformation" => $legalInformation,
"generalTerms" => $generalTerms
]);
} else {
return $this->redirectToRoute('home');
}
}
}