public function appAction() { if(!$this->container->get('security.context')->isGranted('IS_AUTHENTICATED_FULLY') ){ return $this->redirectToRoute('fos_user_security_login'); } $categories=$this->getDoctrine() ->getRepository("AdsmanagerBundle:AdsmanagerCategories"); $query = $categories->createQueryBuilder('a') ->addOrderBy('a.ordering', 'ASC') ->getQuery(); $categories = $query->getResult(); $cities=new AdsmanagerCities(); $adCities=$cities->getAllCities($this->getDoctrine()->getEntityManager()); $userLocation = $this->get('security.context')->getToken()->getUser()->getLocation(); $locationCity=$cities->getAdCity($this->getDoctrine()->getEntityManager(),$userLocation,$this); $em = $this->getDoctrine()->getManager(); $query = $em->createQuery( 'SELECT a FROM AdsmanagerBundle:AdsmanagerAds a WHERE a.published = 1 AND a.expirationDate >= :date AND a.adLocation = :location' )->setParameter('date',new DateTime())->setParameter('location',$locationCity->getTitle()); $ads = $query->getResult(); return $this->render('AdsmanagerBundle:Map:ads.html.twig',array("categories"=>$categories,"ads"=>$ads,"location"=>$locationCity,"cities"=>$adCities)); }
public function showMapAction($idAd,$idCity,Request $request) { if(!$this->container->get('security.context')->isGranted('IS_AUTHENTICATED_FULLY') ){ return $this->redirectToRoute('fos_user_security_login'); } $city=$this->getDoctrine() ->getRepository("AdsmanagerBundle:AdsmanagerCities")->findOneById($idCity); $em = $this->getDoctrine()->getManager(); $query = $em->createQuery( 'SELECT a FROM AdsmanagerBundle:AdsmanagerAds a INNER JOIN a.catid c INNER JOIN AdsmanagerBundle:AdsmanagerCategories b WHERE a.published = 1 AND a.expirationDate >= :date AND a.adLocation = :location AND a.id =:id AND b.id = c.id ORDER BY a.adHeadline ASC ' )->setParameter('date',new DateTime())->setParameter('location',$city->getTitle()) ->setParameter('id',$idAd); $ads = $query->getResult(); $cities=new AdsmanagerCities(); $adCities=$cities->getAllCities($this->getDoctrine()->getEntityManager()); $locationCity=$cities->getAdCity($this->getDoctrine()->getEntityManager(),$city->getTitle(),$this); $categories=$this->getDoctrine() ->getRepository("AdsmanagerBundle:AdsmanagerCategories"); $query = $categories->createQueryBuilder('a') ->addOrderBy('a.ordering', 'ASC') ->getQuery(); $categories = $query->getResult(); if(!$ads){ return $this->render('AdsmanagerBundle:Ads:dontExits.html.twig',array("categories"=>$categories,"cities"=>$adCities,"location"=>$locationCity,"latitude"=>0,"longitude"=>0)); } return $this->render('AdsmanagerBundle:Map:ads.html.twig',array("categories"=>$categories,"ads"=>$ads,"location"=>$locationCity,"cities"=>$adCities)); }
public function searchCategoryAction($idCategory,$idCity,$range,Request $request) { if(!$this->container->get('security.context')->isGranted('IS_AUTHENTICATED_FULLY') ){ return $this->redirectToRoute('fos_user_security_login'); } $category=$this->getDoctrine() ->getRepository("AdsmanagerBundle:AdsmanagerCategories")->findOneById($idCategory); if($category->getParent() == '0'){ return $this->forward('AdsmanagerBundle:AdsCategories:show',array('idCategory' => $idCategory, 'idCity' => $idCity, 'range' => $range)); } $city=$this->getDoctrine() ->getRepository("AdsmanagerBundle:AdsmanagerCities")->findOneById($idCity); $ads = $this->getAdsCategory ($city,$idCategory,$range); $cities=new AdsmanagerCities(); $adCities=$cities->getAllCities($this->getDoctrine()->getEntityManager()); $locationCity=$cities->getAdCity($this->getDoctrine()->getEntityManager(),$city->getTitle(),$this); $categories=$this->getDoctrine() ->getRepository("AdsmanagerBundle:AdsmanagerCategories"); $query = $categories->createQueryBuilder('a') ->addOrderBy('a.ordering', 'ASC') ->getQuery(); $categories = $query->getResult(); if(!$ads){ return $this->render('AdsmanagerBundle:Categories:dontExits.html.twig',array("categories"=>$categories,"cities"=>$adCities,"location"=>$locationCity)); } $adsFullData = array(); foreach ($ads as $ad){ array_push($ad,$this->getRatedAds($ad['0'])); array_push($adsFullData,$ad); } return $this->render('AdsmanagerBundle:Categories:show.html.twig', array("categories"=>$categories,"cities"=>$adCities,"location"=>$locationCity,"ads"=>$adsFullData,"category"=>$category,"city"=>$city,"range"=>$range)); }