src/Controller/DefaultController.php line 77

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\User;
  4. use Maris\CmsBundle\Entity\Post;
  5. use Maris\CmsBundle\Helper\PostMetaHelper;
  6. use Maris\CmsBundle\Repository\ModuleRepository;
  7. use Maris\CmsBundle\Repository\PostMetaRepository;
  8. use Maris\CmsBundle\Repository\PostRepository;
  9. use Maris\CmsBundle\Service\FileService;
  10. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  11. use Symfony\Component\HttpFoundation\Request;
  12. use Symfony\Component\HttpFoundation\Response;
  13. use Symfony\Component\Routing\Annotation\Route;
  14. use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
  15. class DefaultController extends AbstractController
  16. {
  17.     private PostRepository $post;
  18.     private PostMetaHelper $postMetaHelper;
  19.     private PostMetaRepository $postMeta;
  20.     private ModuleRepository $module;
  21.     private FileService $fileService;
  22.     private array $pageHeaders;
  23.     private array $menuBottom;
  24.     private $passwordEncoder;
  25.     /**
  26.      * DefaultController constructor.
  27.      * @param PostRepository $post
  28.      * @param PostMetaHelper $postMetaHelper;
  29.      * @param PostMetaRepository $postMeta
  30.      * @param ModuleRepository $module
  31.      * @param FileService $fileService
  32.      */
  33.     public function __construct(PostRepository $postPostMetaRepository $postMetaPostMetaHelper $postMetaHelperModuleRepository $moduleFileService $fileService,UserPasswordEncoderInterface $passwordEncoder)
  34.     {
  35.         $this->passwordEncoder $passwordEncoder;
  36.         $this->post $post;
  37.         $this->postMetaHelper $postMetaHelper;
  38.         $this->postMeta $postMeta;
  39.         $this->module $module;
  40.         $this->fileService $fileService;
  41.         $pagehead = array('pagetitle' => '','description' => '','keywords' =>'');
  42.         $ph $this->post ->findBy(['id' => '1']);
  43.         $ph =current($ph);
  44.         $pagehead['mainLogo'] = $this -> fileService -> getFileByPostAndFieldName($ph'mpPartners''true');
  45.         $k key($pagehead['mainLogo']);
  46.         $pagehead['mainLogo'] = current($pagehead['mainLogo']);
  47.         $pagehead['mainLogos'] = $this -> fileService -> getFileByPostAndFieldName($ph'mpPartners');
  48.         $galret = array();
  49.         foreach ($pagehead['mainLogos'] as $key => $g) {
  50.             if($key != $k) {
  51.                 $galret[] = $g;
  52.             }
  53.         }
  54.         $pagehead['mainLogos'] = $galret;
  55.         $ph1 $this->postMeta->findby(['post' => '1']);
  56.         foreach ($ph1 as $p$pagehead[$p->getFieldName()] = $p->getContent();
  57.         $menuTop 0;
  58.         if($pagehead['mtShowFcb'] == 'Tak' && !empty($pagehead['mtFcbLink']) && $pagehead['mtFcbLink'] != '') {
  59.             $menuTop 1;
  60.         }
  61.         if($pagehead['mtShowInsta'] == 'Tak' && !empty($pagehead['mtInstaLink']) && $pagehead['mtInstaLink'] != '') {
  62.             $menuTop 1;
  63.         }
  64.         if($pagehead['mtShowYT'] == 'Tak' && !empty($pagehead['mtYTLink']) && $pagehead['mtYTLink'] != '') {
  65.             $menuTop 1;
  66.         }
  67.         $pagehead['menuTopVisible'] = $menuTop;
  68.         $this -> pageHeaders $pagehead;
  69.         $this->siteURL $_ENV['SITE_URL'];
  70.         $trescModule $this -> module ->find(['id' => '2']);
  71.         $this -> menuBottom $this -> post -> findBy(['module' => $trescModule'status' => 'A'],['position' => 'DESC']);
  72.     }
  73.     #[Route('/'name'root')]
  74.     public function index(): Response
  75.     {
  76.         $sliderModule $this->module->find(['id' => '3']);
  77.         $slider $this -> post -> findBy(['module' => $sliderModule'status' => 'A'],['position' => 'DESC']);
  78.         $sliderRet = array();
  79.         foreach ($slider as $s) {
  80.             $tmp['post'] = $s;
  81.             $tmp['meta'] = $this -> postMetaHelper -> parsePost($s);
  82.             $tmp['slide'] = $this -> fileService -> getFileByPostAndFieldName($s'slideImage'true);
  83.             $tmp['slide'] = current($tmp['slide']);
  84.             $sliderRet[] = $tmp;
  85.             unset($tmp);
  86.         }
  87.         $newsModule $this->module->findBy(['id' => '4']);
  88.         $news $this -> post -> findBy(['module' => $newsModule'status'=>'A'],['position'=>'DESC'],4);
  89.         $newsRetMain '';
  90.         $newsRet = array();
  91.         foreach ($news as $key => $n) {
  92.             $tmp['post'] = $n;
  93.             $tmp['meta'] = $this -> postMetaHelper -> parsePost($n);
  94.             $tmp['galeriaMain'] = $this -> fileService->getFileByPostAndFieldName($n'galery'true);
  95.             $tmp['galeriaMain'] = current($tmp['galeriaMain']);
  96.             $tmp['galeria'] = $this -> fileService -> getFileByPostAndFieldName($n'galery');
  97.             if ($key === array_key_first($news)) {
  98.                 $newsRetMain $tmp;
  99.             } else {
  100.                 $newsRet[] = $tmp;
  101.             }
  102.             unset($tmp);
  103.         }
  104.         return $this -> render('site/index.html.twig',[
  105.             'pagehead' => $this -> pageHeaders,
  106.             'siteURL' => $this -> siteURL,
  107.             'menuBottom' => $this -> menuBottom,
  108.             'slider' => $sliderRet,
  109.             'newsMain' => $newsRetMain,
  110.             'news' => $newsRet
  111.         ]);
  112.     }
  113.     #[Route('/read/{slug}'name'post')]
  114.     public function singlepost(?Post $postRequest $request): Response
  115.     {
  116.         $meta $this->postMetaHelper->parsePost($post);
  117.         $mp $this->fileService->getFileByPostAndFieldName($post'galery'true);
  118.         $k key($mp);
  119.         $mp current($mp);
  120.         $galery $this->fileService->getFileByPostAndFieldName($post'galery');
  121.         $galret = array();
  122.         foreach ($galery as $key => $g) {
  123.             if($key != $k) {
  124.                 $galret[] = $g;
  125.             }
  126.         }
  127.         $galret = (!empty($galret) && $galret !='') ? $galret '';
  128.      return $this->render('site/singlepost.html.twig', [
  129.          'pagehead' => $this -> pageHeaders,
  130.          'siteURL' => $this -> siteURL,
  131.          'menuBottom' => $this -> menuBottom,
  132.          'mainphoto' => $mp,
  133.          'galery' => $galret,
  134.          'meta' => $meta,
  135.          'post' => $post
  136.      ]);
  137.     }
  138.     #[Route('/news/{slug}'name'news')]
  139.     public function singlenews(?Post $postRequest $request): Response
  140.     {
  141.         $meta $this->postMetaHelper->parsePost($post);
  142.         $mp $this->fileService->getFileByPostAndFieldName($post'galery'true);
  143.         $k key($mp);
  144.         $mp current($mp);
  145.         $galery $this->fileService->getFileByPostAndFieldName($post'galery');
  146.         $galret = array();
  147.         foreach ($galery as $key => $g) {
  148.             if($key != $k) {
  149.                 $galret[] = $g;
  150.             }
  151.         }
  152.         $galret = (!empty($galret) && $galret !='') ? $galret '';
  153.         return $this->render('site/singlenews.html.twig', [
  154.             'pagehead' => $this -> pageHeaders,
  155.             'siteURL' => $this -> siteURL,
  156.             'menuBottom' => $this -> menuBottom,
  157.             'mainphoto' => $mp,
  158.             'galery' => $galret,
  159.             'meta' => $meta,
  160.             'post' => $post
  161.         ]);
  162.     }
  163. }