src/AppBundle/Controller/Site/AdviceController.php line 57

Open in your IDE?
  1. <?php
  2. namespace AppBundle\Controller\Site;
  3. use AppBundle\Entity\Site\Advice;
  4. use AppBundle\Entity\Site\AdviceSearch;
  5. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  6. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
  7. use Symfony\Component\Config\Definition\Exception\Exception;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. /**
  11.  * @Route("/porady", name="advice")
  12.  */
  13. class AdviceController extends Controller
  14. {
  15.     /**
  16.      * @Route("", name="advice_tips")
  17.      */
  18.     public function tipsAction(Request $request)
  19.     {
  20.         $advicesPerPage 12;
  21.         $em $this->getDoctrine()->getManager();
  22.         $ar $em->getRepository(Advice::class);
  23.         $page $request->get('page'1);
  24.         $search $request->get('search''');
  25.         $pages ceil($ar->getAdvicesCount($search) / $advicesPerPage);
  26.         $advices $ar->getByOffset(($page-1) * $advicesPerPage$advicesPerPage$search);
  27.         $searchQuery '';
  28.         if($search) {
  29.             $searchQuery '&search=' $search;
  30.             $adviceSearch = new AdviceSearch();
  31.             $adviceSearch->setSearchQuery($search);
  32.             $em $this->getDoctrine()->getManager();
  33.             try {
  34.                 $em->persist($adviceSearch);
  35.                 $em->flush();
  36.             } catch (\Exception $e) {
  37.             }
  38.         }
  39.         return $this->render('Site/Advice/advices.html.twig', [
  40.                 'advices' => $advices,
  41.                 'page' => $page,
  42.                 'pages' => $pages,
  43.                 'searchString' => $search,
  44.                 'searchQuery' => $searchQuery
  45.             ]);
  46.     }
  47.     /**
  48.      * @Route("/wszystkie-porady", name="all_advice_tips")
  49.      */
  50.     public function allTipsAction(Request $request)
  51.     {
  52.         $em $this->getDoctrine()->getManager();
  53.         $ar $em->getRepository(Advice::class);
  54.         //WHERE a.active = 1 ORDER BY a.hierarchy ASC, a.contentDate DESC
  55.         $advices $ar->findBy(['active' => 1], ['hierarchy' => 'ASC''contentDate' => 'DESC']);
  56.         return $this->render('Site/Advice/advices.html.twig', [
  57.             'advices' => $advices,
  58.             'page' => 1,
  59.             'pages' => 1,
  60.             'searchString' => '',
  61.             'searchQuery' => ''
  62.         ]);
  63.     }
  64.     /**
  65.      * @Route("/ubezpieczenie")
  66.      * @Route("/oc")
  67.      * @Route("/ac")
  68.      * @Route("/szkoda")
  69.      * @Route("/ubezpieczenia")
  70.      */
  71.     public function redirectAction(){
  72.         return $this->redirectToRoute('adviceadvice_tips', [], 301);
  73.     }
  74.     /**
  75.      * @Route("/historia-pojazdu")
  76.      */
  77.     public function vehHistoryAction(){
  78.         return $this->redirect('/porady/historia-pojazdu%E2%80%93jak-ja-sprawdzic'301);
  79.     }
  80.     /**
  81.      * @Route("/przerejestrowanie-samochodu")
  82.      */
  83.     public function przerejestrowanieAction(){
  84.         return $this->redirect('/porady/przerejestrowanie-samochodu%E2%80%93co-trzeba-wiedziec'301);
  85.     }
  86.     /**
  87.      * @Route("/{link}", name="advice_tip")
  88.      * @param Advice $advice
  89.      * @return Response
  90.      */
  91.     public function tipAction(Advice $advice null)
  92.     {
  93.         if($advice != null) {
  94.             $advices $this->getDoctrine()->getRepository(Advice::class)->getSimilarTo($advice3);
  95.             return $this->render('Site/Advice/advice.html.twig', [
  96.                     'advice' => $advice,
  97.                     'advices' => $advices
  98.                 ]);
  99.         } else {
  100.             return new Response($this->renderView('Site/Error/error.html.twig'), Response::HTTP_NOT_FOUND);
  101.         }
  102.     }
  103. }