vendor/score/cms/src/Controller/Event/PublicController.php line 47

Open in your IDE?
  1. <?php
  2. namespace  Score\CmsBundle\Controller\Event;
  3. use Score\BaseBundle\Services\Pager;
  4. use Score\CmsBundle\Entity\Event\Event;
  5. use Doctrine\ORM\EntityManagerInterface;
  6. use Score\CmsBundle\Services\StatManager;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  11. /**
  12.  * @Route("/udalosti")
  13.  */
  14. class PublicController extends AbstractController
  15. {
  16.     /**
  17.      * @Route("/", name="score_public_event_list", methods={"GET"})
  18.      */
  19.     public function listAction(Request $request,EntityManagerInterface $entityManager,StatManager $statManager,Pager $pager): Response
  20.     {
  21.         $repo $entityManager->getRepository(Event::class);
  22.         $page $request->get('p'1);
  23.         $pageSize $request->get('size'6);
  24.         $events $repo->findEventsByPage(array('page' => $page'pageSize' => $pageSize),['visible' => true]);
  25.         $eventList array_chunk($events['list'],3);
  26.         $pager->setUrl($request->getUri());
  27.         $pager->setItemsPerPage($pageSize);
  28.         $pager->setCount($events['total']);
  29.         $pager->setPage($page);
  30.         $pager->getPages();
  31.         return $this->render('@ScoreCms/Public/default/event_list.html.twig', [
  32.             'eventList' => $eventList,
  33.             'pager' => $pager,
  34.         ]);
  35.     }
  36.     /**
  37.      * @Route("/{slug}", name="score_public_events_detail", methods={"GET"})
  38.      */
  39.     public function detailAction(EntityManagerInterface $entityManager,StatManager $statManager,$slug null): Response
  40.     {
  41.         $repo $entityManager->getRepository(Event::class);
  42.         $event $repo->findOneBy(['slug' => $slug]);
  43.         $responseCode 200;
  44.         if(null == $event)
  45.         {
  46.                $event = new Event();
  47.                $event->setName('404');
  48.                $event->setContent('Táto udalosť sa tu nenachádza');
  49.                $responseCode 404;
  50.         }
  51.         $topEvents $repo->findSidebarEvents($event);
  52.         return new Response($this->renderView('@ScoreCms/Public/default/event_detail.html.twig', [
  53.             'event' => $event,
  54.             'events' => $topEvents,
  55.         ]), $responseCode);
  56.     }
  57. }