src\Controller\Routes.php line 172
<?phpnamespace App\Controller;use LogicException;use App\Objects\User\User;use App\Objects\Redirection;use Klio\KlioBundle\Security\Hash;use Klio\KlioBundle\Security\Sanitizer;use Klio\KlioBundle\Symfony\Controller;use Klio\KlioBundle\Symfony\RouteController;use Psr\Container\NotFoundExceptionInterface;use Symfony\Component\HttpFoundation\Request;use Psr\Container\ContainerExceptionInterface;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;use Symfony\Component\HtmlSanitizer\HtmlSanitizerConfig;use Symfony\Component\HtmlSanitizer\HtmlSanitizerInterface;class Routes extends RouteController{/*** @param HtmlSanitizerInterface $htmlSanitizer* @param Request $request* @return Response* @throws LogicException* @throws NotFoundExceptionInterface* @throws ContainerExceptionInterface*/#[Route('/FW7/{subpath}',name: 'FW7',methods: ['GET', 'HEAD', 'POST'],requirements: ['subpath' => '.*'])]public function FW7(Request $request, HtmlSanitizerInterface $sanitizer): Response{ob_clean();// initialize l'object RouteController// defini les constantes avec un fichier de config en option$this->init(); // $this->init("/private/Config.php");//$Sanitizer = new Sanitizer("body");global $FW;require_once($_ENV['PACKAGES_FOLDER'] . '/frameworks/FW7/prepend_FW7.php');/* === la logique propre à ce groupe de routes === */// on force toutes ces routes à utiliser le même controller spécifique$this->setController('/FW7/Controller7.php');/* === la logique propre à ce groupe de routes === */// On renvoie le résultatreturn new Response($this->getResponse(), $this->getStatus());}/*** @param HtmlSanitizerInterface $htmlSanitizer* @param Request $request* @return Response* @throws LogicException* @throws NotFoundExceptionInterface* @throws ContainerExceptionInterface*/#[Route('/admin{subpath}',name: 'admin',methods: ['GET', 'HEAD', 'POST'],requirements: ['subpath' => '^.{0}|/.*$'])]public function admin(Request $request, HtmlSanitizerInterface $sanitizer): Response{// les varaibales de base$this->init();// authentifictionglobal $USER;$USER = new User();if (!$USER->auth()) $this->setController('/_login/Controller.php');//$this->setController('/FW7/admin/Controller7.php');/* === la logique propre à ce groupe de routes === */// On renvoie le résultatreturn new Response($this->getResponse(), $this->getStatus());}/*** @param Request $request* @return Response* @throws LogicException* @throws NotFoundExceptionInterface* @throws ContainerExceptionInterface*/#[Route('/actualites/{subpath}',name: 'actualites',methods: ['GET', 'HEAD', 'POST'],requirements: ['subpath' => '.+$'])]public function actualites(HtmlSanitizerInterface $sanitizer, Request $request): Response{// initialize l'object RouteController$this->init(); // $this->init("/private/Config.php");// RedirectionRedirection::verifHost();/* === la logique propre à ce groupe de routes === */// on force toutes ces routes à utiliser le même controller spécifique$this->setController('/actualites/Controller.php');// On renvoie le résultatreturn new Response($this->getResponse(), $this->getStatus());}/*** @param Request $request* @return Response* @throws LogicException* @throws NotFoundExceptionInterface* @throws ContainerExceptionInterface*/#[Route('/{subpath}',name: 'page',methods: ['GET', 'HEAD', 'POST'],requirements: ['subpath' => "(?:formation|paie|conseil|cooperative|mediation|bureau_danse|mentions_legales)\b(\/.*|.{0})"],)]public function page(Request $request, HtmlSanitizerInterface $sanitizer): Response{// initialize l'object RouteController// defini les constantes avec un fichier de config en option$this->init(); // $this->init("/private/Config.php");// RedirectionRedirection::verifHost();/* === la logique propre à ce groupe de routes === */// on ajoute un controller au controller /path/Controller.php$this->setController('/page/Controller.php');/* === la logique propre à ce groupe de routes === */// On renvoie le résultatreturn new Response($this->getResponse(), $this->getStatus());}/*** @param Request $request* @return Response* @throws LogicException* @throws NotFoundExceptionInterface* @throws ContainerExceptionInterface*/#[Route('/{subpath}',name: 'formations',methods: ['GET', 'HEAD', 'POST'],requirements: ['subpath' => "formations"],)]public function formations(Request $request, HtmlSanitizerInterface $sanitizer): Response{// initialize l'object RouteController// defini les constantes avec un fichier de config en option$this->init(); // $this->init("/private/Config.php");// RedirectionRedirection::verifHost();/* === la logique propre à ce groupe de routes === */// on ajoute un controller au controller /path/Controller.php$this->setController('/formations/Controller.php');/* === la logique propre à ce groupe de routes === */// On renvoie le résultatreturn new Response($this->getResponse(), $this->getStatus());}/*** @param Request $request* @return Response* @throws LogicException* @throws NotFoundExceptionInterface* @throws ContainerExceptionInterface*/#[Route('/formations/{subpath}',name: 'formation',methods: ['GET', 'HEAD', 'POST'],requirements: ['subpath' => ".+$"],)]public function formation(Request $request, HtmlSanitizerInterface $sanitizer): Response{// initialize l'object RouteController// defini les constantes avec un fichier de config en option$this->init(); // $this->init("/private/Config.php");// RedirectionRedirection::verifHost();/* === la logique propre à ce groupe de routes === */// on ajoute un controller au controller /path/Controller.phpif (isset($_GET["id"]))$this->setController('/formations/detail/Controller.php');else$this->setController('/formations/formation/Controller.php');/* === la logique propre à ce groupe de routes === */// On renvoie le résultatreturn new Response($this->getResponse(), $this->getStatus());}/*** @param Request $request* @return Response* @throws LogicException* @throws NotFoundExceptionInterface* @throws ContainerExceptionInterface*/#[Route('/formations_partenaires/{subpath}',name: 'formation-partenaire',methods: ['GET', 'HEAD', 'POST'],requirements: ['subpath' => ".+$"],)]public function formationPartenaire(Request $request, HtmlSanitizerInterface $sanitizer): Response{$subpath = $request->attributes->get('_route_params')["subpath"];// initialize l'object RouteController// defini les constantes avec un fichier de config en option$this->init(); // $this->init("/private/Config.php");// RedirectionRedirection::verifHost();/* === la logique propre à ce groupe de routes === */// on ajoute un controller au controller /path/Controller.phpif ($subpath === "detail")$this->setController('/formations_partenaires/detail/Controller.php');else$this->setController('/formations_partenaires/formation/Controller.php');/* === la logique propre à ce groupe de routes === */// On renvoie le résultatreturn new Response($this->getResponse(), $this->getStatus());}/*** @param Request $request* @return Response* @throws LogicException* @throws NotFoundExceptionInterface* @throws ContainerExceptionInterface*/#[Route('/{subpath}',name: 'all',methods: ['GET', 'HEAD', 'POST'],requirements: ['subpath' => ".*"],)]public function all(Request $request, HtmlSanitizerInterface $sanitizer): Response{// initialize l'object RouteController// defini les constantes avec un fichier de config en option$this->init(); // $this->init("/private/Config.php");// RedirectionRedirection::verifHost();/* === la logique propre à ce groupe de routes === */// on ajoute un controller au controller /path/Controller.php//$this->setController('/page/Controller.php');/* === la logique propre à ce groupe de routes === */// On renvoie le résultatreturn new Response($this->getResponse(), $this->getStatus());}/*** Routes::notFound(Controller) défini le comportement du site en cas de d'erreur 404* on peut renvoyer certaines infos, choisir d'inclure un Template404.twig spécifique, ou inclure une ogique pour des 404 différenciés* on renvoyer en général un $CONTROLLER->setTemplate(string) (on peut ajouter des variables twig $CONTROLLER->setTwig(array)) et un $CONTROLLER->setStatus(404)* Mais on peut aussi renvoyer un $CONTROLLER->setResponse(string) pour certaines routes de type API** @param Controller $CONTROLLER* @return void*/public static function notFound(Controller &$CONTROLLER){$CONTROLLER->setStatus(404);if (str_contains(__URL__, "/formations/") || str_contains(__URL__, "/formations_partenaires/"))$CONTROLLER->setTemplate('/404formation.twig');else$CONTROLLER->setTemplate('/404.twig');}}