<?php
namespace App\Modules\Pages\Controller;
use App\Modules\Pages\Service\PagesService;
use App\Service\BootService;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class PagesController extends AbstractController
{
private BootService $bootService;
private PagesService $pagesService;
public function __construct(BootService $bootService, PagesService $pagesService)
{
$this->bootService = $bootService;
$pagesService->configService["entityManager"] = $bootService->entityManager;
$pagesService->configService["router"] = $bootService->router;
$pagesService->configService["bootService"] = $bootService;
$this->pagesService = $pagesService;
}
public function indexPagesRoot(Request $request):Response
{
$pages=$this->pagesService->getPages($request, ["value"=>1,"type"=>"id","home"=>true]);
if(!isset($pages["item"])){
if(isset($pages["method"])){
if(isset($pages["param"])){
return $this->bootService->{$pages["method"]}($pages["param"]);
}
return $this->bootService->{$pages["method"]}();
}
}
return $this->render(BootService::getParamsRoot("Pages") . "/index.html.twig", ["page" => $pages["item"]]);
}
#[Route("/pages/{rewrite}", name:"pages_detail", methods:["GET","HEAD"], requirements:["char"=>".+"])]
public function indexPages(Request $request, $rewrite):Response
{
$pages=$this->pagesService->getPages($request, ["value"=>$rewrite,"type"=>"rewrite"," lightMode"=>true]);
if(!isset($pages["item"])){
if(isset($pages["method"])){
if(isset($pages["param"])){
return $this->bootService->{$pages["method"]}($pages["param"]);
}
return $this->bootService->{$pages["method"]}();
}
}
return $this->render(BootService::getParamsRoot("Pages") . "index.html.twig",[
"page"=>$pages["item"]
]);
}
}