<?phpnamespace App\Controller;use App\Service\Internal\CmsService;use App\Service\Internal\HomePageService;use App\Utils\DeviceInfo;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpFoundation\Response;class PageController extends AbstractController{ public function index( $id, HomePageService $newsPageService, CmsService $cmsService ): Response { $parameters = $newsPageService->getRenderParameters(); $parameters['isXmlHttpMode'] = true; $cmsPages = $cmsService->getPages(); $menuPages = []; $footerPages = []; $subPages = []; foreach ($cmsPages as $page) { if ($page->hook == 'MENU') { $menuPages[$page->id] = $page; } if ($page->hook == 'FOOTER') { $footerPages[$page->id] = $page; } if ($page->hook == 'NONE') { $subPages[$page->id] = $page; } } if (!isset($menuPages[$id]) && !isset($footerPages[$id]) && !isset($subPages[$id])) { return $this->redirectToRoute('homepage'); } $pages = $menuPages + $footerPages + $subPages; $parameters['menuPages'] = $menuPages; $parameters['footerPages'] = $footerPages; $parameters['id'] = $id; $parameters['pages'] = $pages; return $this->render('pages/sim/page.html.twig', $parameters); } /** * Cookies page */ public function cookies(Request $request, HomePageService $newsPageService, CmsService $cmsService): Response { $parameters = $newsPageService->getRenderParameters(); $cmsPages = $cmsService->getPages(); $menuPages = []; $footerPages = []; foreach ($cmsPages as $page) { if ($page->hook == 'MENU') { $menuPages[$page->id] = $page; } if ($page->hook == 'FOOTER') { $footerPages[$page->id] = $page; } } $pages = $menuPages + $footerPages; $parameters['menuPages'] = $menuPages; $parameters['footerPages'] = $footerPages; $parameters['pages'] = $pages; $locale = $request->getLocale(); return $this->render('pages/' . $locale . '/cookies.html.twig', $parameters); } /** * Get footer menu */ public function getFooterAction( CmsService $cmsService, $filigree = false ): Response { $parameters = []; $parameters = DeviceInfo::addDeviceParameters($parameters); $menu = $cmsService->getMenu(); $parameters['menuPages'] = $menu['menuPages']; $parameters['footerPages'] = $menu['footerPages']; $parameters['items'] = $menu['items']; $parameters['externalContactUrl'] = $this->getParameter('global.external_contact_url'); $viewsPath = $this->getParameter('kernel.project_dir') . '/templates/'; $customFooterView = 'includes/custom/' . $this->getParameter('network_id') . '/default-footer.html.twig'; if(file_exists($viewsPath . $customFooterView)){ return $this->render('' . $customFooterView, $parameters); } $parameters['filigree'] = $filigree; return $this->render('includes/common/default-footer.html.twig', $parameters); }}