src/Controller/RulesController.php line 27

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Parameters;
  4. use Doctrine\ORM\EntityManagerInterface;
  5. use RtfHtmlPhp\Document;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use RtfHtmlPhp\Html\HtmlFormatter;
  11. class RulesController extends AbstractController
  12. {
  13.     private EntityManagerInterface $entityManager;
  14.     public function __construct(EntityManagerInterface $entityManager)
  15.     {
  16.         $this->entityManager $entityManager;
  17.     }
  18.     /**
  19.      * @Route("/rules", name="rules")
  20.      */
  21.     public function rules(Request $request): Response
  22.     {
  23.         $lang $request->getLocale();
  24.         $parameters $this->entityManager->getRepository(Parameters::class)->findAll();
  25.         if($parameters[0]->getLegalInformationFr() && $parameters[0]->getGeneralTermsFr()){
  26.             $legalInformation null;
  27.             $generalTerms null;
  28.             $formatter = new HtmlFormatter();
  29.             if ($parameters) {
  30.                 switch ($lang) {
  31.                     case "fr":
  32.                         $legalInformation $parameters[0]->getLegalInformationFr();
  33.                         $generalTerms $parameters[0]->getGeneralTermsFr();
  34.                         break;
  35.                     case "en":
  36.                         $legalInformation $parameters[0]->getLegalInformationEn();
  37.                         $generalTerms $parameters[0]->getGeneralTermsEn();
  38.                         break;
  39.                     case "de":
  40.                         $legalInformation $parameters[0]->getLegalInformationDe();
  41.                         $generalTerms $parameters[0]->getGeneralTermsDe();
  42.                         break;
  43.                     case "nl":
  44.                         $legalInformation $parameters[0]->getLegalInformationNl();
  45.                         $generalTerms $parameters[0]->getGeneralTermsNl();
  46.                         break;
  47.                     default:
  48.                         $legalInformation $parameters[0]->getLegalInformationFr();
  49.                         $generalTerms $parameters[0]->getGeneralTermsFr();
  50.                 }
  51.             }
  52.             $documentLi = new Document($legalInformation);
  53.             $documenGt = new Document($generalTerms);
  54.             $legalInformation $formatter->Format($documentLi);
  55.             $generalTerms $formatter->Format($documenGt);
  56.             return $this->render('rules/rules.html.twig', [
  57.                 "legalInformation" => $legalInformation,
  58.                 "generalTerms" => $generalTerms
  59.             ]);
  60.         } else {
  61.             return $this->redirectToRoute('home');
  62.         }
  63.     }
  64. }