src/PortalBundle/Controller/FoundersController.php line 36

Open in your IDE?
  1. <?php
  2. namespace PortalBundle\Controller;
  3. use CoreBundle\Component\CoreFormFactory;
  4. use CoreBundle\Model\Vehicles\Repository;
  5. use CoreBundle\Services\MediaExtensionVidi;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use PortalBundle\Entity\Founders;
  8. use PortalBundle\Entity\FoundersBiography;
  9. use PortalBundle\Entity\FoundersNews;
  10. use PortalBundle\Entity\FoundersPhoto;
  11. use PortalBundle\Entity\FoundersPublications;
  12. use PortalBundle\Entity\FoundersVideo;
  13. use PortalBundle\Services\ServiceService;
  14. use Symfony\Component\HttpFoundation\Request;
  15. use Symfony\Component\HttpFoundation\RequestStack;
  16. use Symfony\Component\HttpFoundation\Response;
  17. use Symfony\Component\Routing\RouterInterface;
  18. class FoundersController extends BaseController
  19. {
  20.     public function __construct(CoreFormFactory $coreFormFactoryRequestStack $requestStackRouterInterface $router,
  21.                                 Repository      $vehicleRepositoryServiceService $serviceService)
  22.     {
  23.         parent::__construct($coreFormFactory$requestStack$router$vehicleRepository$serviceService);
  24.     }
  25.     private $perPage 9;
  26.     /**
  27.      * Засновники
  28.      *
  29.      * @param Request $request
  30.      * @return Response
  31.      */
  32.     public function founders(Request $requestEntityManagerInterface $emMediaExtensionVidi $mediaExtensionVidi): Response
  33.     {
  34.         $founders $em->getRepository(Founders::class)
  35.             ->setLocale($request->getLocale())
  36.             ->getFounders();
  37.         $founders array_map(function($row) use ($mediaExtensionVidi) {
  38.             $row['media']['image'] = $mediaExtensionVidi->getPath($row['media']['image'], 'reference');
  39.             $row['media']['image_mobile'] = $mediaExtensionVidi->getPath($row['media']['image_mobile'], 'reference');
  40.             return $row;
  41.         }, $founders);
  42.         if (empty($founders)) {
  43.             return $this->redirectToRoute('portal_404');
  44.         }
  45.         return $this->basePortalRender('@Portal/About/founders.html.twig', ['founders' => $founders[0]]);
  46.     }
  47.     public function foundersBiography(Request $requestEntityManagerInterface $emMediaExtensionVidi $mediaExtensionVidi): Response
  48.     {
  49.         $foundersBiography $em->getRepository(FoundersBiography::class)
  50.             ->setLocale($request->getLocale())
  51.             ->getFoundersBiography();
  52.         $foundersBiography array_map(function($row) use ($mediaExtensionVidi) {
  53.             $row['media']['image'] = $mediaExtensionVidi->getPath($row['media']['image'], 'reference');
  54.             return $row;
  55.         }, $foundersBiography);
  56.         return $this->basePortalRender('@Portal/About/foundersBiography.html.twig', ['foundersBiography' => $foundersBiography]);
  57.     }
  58.     /**
  59.      * Біографія по засновнику
  60.      *
  61.      * @param int $id
  62.      * @param Request $request
  63.      * @return Response
  64.      */
  65.     public function foundersBiographySingle(int $idRequest $requestEntityManagerInterface $emMediaExtensionVidi $mediaExtensionVidi): Response
  66.     {
  67.         $foundersBiographySingle $em->getRepository(FoundersBiography::class)
  68.             ->setLocale($request->getLocale())
  69.             ->getFoundersBiographyById($id);
  70.         $foundersBiographySingle array_map(function($row) use ($mediaExtensionVidi) {
  71.             $row['media']['image'] = $mediaExtensionVidi->getPath($row['media']['image'], 'reference');
  72.             return $row;
  73.         }, $foundersBiographySingle);
  74.         if (empty($foundersBiographySingle)) {
  75.             return $this->redirectToRoute('portal_404');
  76.         }
  77.         return $this->basePortalRender('@Portal/About/foundersBiographySingle.html.twig', ['foundersBiographySingle' => $foundersBiographySingle[0]]);
  78.     }
  79.     /**
  80.      * Новина
  81.      *
  82.      * @param int $id
  83.      * @param Request $request
  84.      * @return Response
  85.      */
  86.     public function foundersNewsSingle(int $idRequest $requestEntityManagerInterface $emMediaExtensionVidi $mediaExtensionVidi): Response
  87.     {
  88.         $foundersNews $em
  89.             ->getRepository(FoundersNews::class)
  90.             ->setLocale($request->getLocale())
  91.             ->getFoundersNewsLast($id);
  92.         $foundersNewsSingle $em
  93.             ->getRepository(FoundersNews::class)
  94.             ->setLocale($request->getLocale())
  95.             ->getFoundersNewsById($id);
  96.         $foundersNewsSingle array_map(function($row) use ($mediaExtensionVidi) {
  97.             $row['media']['image_preview'] = $mediaExtensionVidi->getPath($row['media']['image_preview'], 'reference');
  98.             $row['media']['image'] = $mediaExtensionVidi->getPath($row['media']['image'], 'reference');
  99.             return $row;
  100.         }, $foundersNewsSingle);
  101.         if (empty($foundersNewsSingle)) {
  102.             return $this->redirectToRoute('portal_404');
  103.         }
  104.         return $this->basePortalRender('@Portal/About/foundersNewsSingle.html.twig', [
  105.             'foundersNews' => $foundersNews,
  106.             'foundersNewsSingle' => $foundersNewsSingle[0]
  107.         ]);
  108.     }
  109.     /**
  110.      * Публікація
  111.      *
  112.      * @param int $id
  113.      * @param Request $request
  114.      * @return Response
  115.      */
  116.     public function foundersPublicationsSingle(int $idRequest $requestEntityManagerInterface $emMediaExtensionVidi $mediaExtensionVidi): Response
  117.     {
  118.         $foundersPublications $em->getRepository(FoundersPublications::class)
  119.             ->setLocale($request->getLocale())
  120.             ->getFoundersPublicationsLast($id);
  121.         $foundersPublicationsSingle $em->getRepository(FoundersPublications::class)
  122.             ->setLocale($request->getLocale())
  123.             ->getFoundersPublicationsById($id);
  124.         $foundersPublicationsSingle array_map(function($row) use ($mediaExtensionVidi) {
  125.             $row['media']['image_preview'] = $mediaExtensionVidi->getPath($row['media']['image_preview'], 'reference');
  126.             $row['media']['image'] = $mediaExtensionVidi->getPath($row['media']['image'], 'reference');
  127.             return $row;
  128.         }, $foundersPublicationsSingle);
  129.         if (empty($foundersPublicationsSingle)) {
  130.             return $this->redirectToRoute('portal_404');
  131.         }
  132.         return $this->basePortalRender('@Portal/About/foundersPublicationsSingle.html.twig', [
  133.             'foundersPublications' => $foundersPublications,
  134.             'foundersPublicationsSingle' => $foundersPublicationsSingle[0]
  135.         ]);
  136.     }
  137.     /**
  138.      * Фото
  139.      *
  140.      * @param Request $request
  141.      * @return Response
  142.      */
  143.     public function foundersPhoto(Request $requestEntityManagerInterface $emMediaExtensionVidi $mediaExtensionVidi): Response
  144.     {
  145.         $foundersPhoto $em->getRepository(FoundersPhoto::class)
  146.             ->setLocale($request->getLocale())
  147.             ->getFoundersPhoto($request->get('page''1'), $this->perPage);
  148.         $foundersPhoto['rows'] = array_map(function($row) use ($mediaExtensionVidi) {
  149.             $row['media']['image'] = $mediaExtensionVidi->getPath($row['media']['image'], 'reference');
  150.             return $row;
  151.         }, $foundersPhoto['rows']);
  152.         return $this->basePortalRender('@Portal/About/foundersPhoto.html.twig'$foundersPhoto);
  153.     }
  154.     /**
  155.      * Відео
  156.      *
  157.      * @param Request $request
  158.      * @return Response
  159.      */
  160.     public function foundersVideo(Request $requestEntityManagerInterface $emMediaExtensionVidi $mediaExtensionVidi): Response
  161.     {
  162.         $foundersVideo $em->getRepository(FoundersVideo::class)
  163.             ->setLocale($request->getLocale())
  164.             ->getFoundersVideo($request->get('page''1'), $this->perPage);
  165.         $foundersVideo['rows'] = array_map(function($row) use ($mediaExtensionVidi) {
  166.             $row['media']['image_preview'] = $mediaExtensionVidi->getPath($row['media']['image_preview'], 'reference');
  167.             return $row;
  168.         }, $foundersVideo['rows']);
  169.         return $this->basePortalRender('@Portal/About/foundersVideo.html.twig'$foundersVideo);
  170.     }
  171. }