src/Controller/HomeController.php line 29

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\ListeEvenements;
  4. use App\Entity\Parametres;
  5. use App\Entity\Voyage;
  6. use App\Entity\ListeMenu;
  7. use App\Entity\ListeMenuTranslation;
  8. use App\Entity\ListeVideos;
  9. use App\Entity\Etapes;
  10. use App\Entity\ListePays;
  11. use App\Entity\ListePaysTranslation;
  12. use App\Services\MenuFetcher;
  13. use App\Services\MessageReponse;
  14. use Symfony\Component\Routing\Annotation\Route;
  15. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  16. use Doctrine\ORM\EntityManagerInterface;
  17. use Doctrine\ORM\Query;
  18. use Doctrine\ORM\Query\ResultSetMapping;
  19. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  20. use Symfony\Component\HttpFoundation\Request;
  21. class HomeController extends Controller
  22. {
  23.     /**
  24.      * @Route("/home", name="home")
  25.      */
  26.     public function index(SessionInterface $sessionMenuFetcher $menuFetcherMessageReponse $msgReponse)
  27.     {
  28.       
  29.         $user $session->get('user',null);
  30.         // si pas de connexion on est visiteur
  31.         if ($user == null)
  32.         {
  33.           $user $this->getDoctrine()
  34.             ->getRepository(Parametres::class)
  35.             ->find(469);
  36.             $session->set('user'$user);
  37.             $session->set('last_activity_time'time());
  38.         }
  39.         
  40.         
  41.         
  42.         $last_activity $session->get('last_activity_time',null);
  43.         $langue ='fr';
  44.         if ($user && $last_activity && (time() - $last_activity) > 86400)//24h d'inactivité = expiration de la session
  45.         {
  46.             $user null;
  47.             $session->clear();
  48.             $session->invalidate();
  49.         }
  50.         
  51.         if($user)
  52.             $langue $user->getLangue();
  53.         
  54.         
  55.         $travelpublic $this->getDoctrine()
  56.             ->getRepository(Voyage::class)
  57.             //->findAll();
  58.             
  59.             ->findBy([],array('dateMaj'=>'DESC','idVoyageServeur' => 'DESC'));    
  60.         /*    
  61.         echo '<pre>';
  62.             var_dump($travelpublic);
  63.             echo '</pre>';
  64.             die();
  65.         */
  66.             
  67.         /* donnees utilisateurs */    
  68.         $utilisateur = array();
  69.         
  70.         if ($user==null)
  71.         {
  72.             
  73.             $credentiel=3;
  74.             $utilisateur['nom'] = 'Visitor';
  75.             $utilisateur['photo'] = 'avatar.jpg';
  76.             $utilisateur['pseudo'] = 'Visitor';
  77.             $utilisateur['prenom'] = 'Visitor';
  78.         }
  79.         else
  80.         {
  81.             $utilisateur['iduser'] = $user->getIdParametres();
  82.             $utilisateur['nom'] = $user->getNom();
  83.             $utilisateur['prenom'] = $user->getPrenom();
  84.                 $utilisateur['langue'] = $user->getLangue();     
  85.                    $utilisateur['credentiel'] =    $user->getIdCredentiel(); 
  86.                    $credentiel $user->getIdCredentiel();               
  87.             $utilisateur['pseudo'] = $user->getPseudo();
  88.             $session->set('iduser'$user->getIdParametres());
  89.             $session->set('pseudo'$user->getPseudo());
  90.             if ($user->getPhoto() =='' || $user->getPhoto() == null)
  91.                 $utilisateur['photo'] = 'avatar.jpg';
  92.             else
  93.                 $utilisateur['photo'] = $user->getPhoto();
  94.         }
  95.             
  96.         $em $this->getDoctrine()->getManager();    
  97.         
  98.         
  99.         $ListeEvenements_stmt $em->getConnection()->prepare('SELECT * FROM `liste_evenements` `e` WHERE TO_DAYS(`e`.`date`) + `e`.`nbre_de_jour` >= TO_DAYS(NOW()) ORDER BY `e`.`date` ASC');
  100.         $ListeEvenements_stmt->execute();
  101.         $ListeEvenements $ListeEvenements_stmt->fetchAll();
  102.         
  103.         $j=0;
  104.         $pays_lev = array();
  105.         foreach($ListeEvenements as $lev)
  106.         {
  107.             $pays_lev_stmt $em->getConnection()->prepare("SELECT `pays` FROM `liste_pays_translation` WHERE `liste_pays_translation`.`lang` = 'fr' AND `liste_pays_translation`.`id_liste_pays` = ".$lev['id_liste_pays']);
  108.             $pays_lev_stmt->execute();
  109.             foreach($pays_lev_stmt->fetchAll() as $pays)
  110.             {
  111.                 $pays_lev[] = $pays['pays'];
  112.             }
  113.         }
  114.             
  115.         $name="";
  116.         $listeMenu $this->getDoctrine()
  117.             ->getRepository(ListeMenu::class)
  118.             ->findAll();
  119.         $listeMenu    $menuFetcher->menu('en'$em->getConnection());
  120.         
  121.         $videos $em->createQueryBuilder('vid')->select('v')->from('App\Entity\ListeVideos''v')->where('v.publier = 0')->getQuery()->getResult();
  122.         $travel_pays = array();
  123.         $likes = array();
  124.          
  125.         foreach($travelpublic as $travel
  126.         {
  127.             $statement_pays $em->getConnection()->prepare('SELECT `liste_pays_translation`.`pays` FROM `liste_pays_translation` INNER JOIN `etapes` ON `etapes`.`id_liste_pays` = `liste_pays_translation`.`id_liste_pays` WHERE `etapes`.`id_voyage_serveur` = '.$travel->getIdVoyageServeur().' AND `etapes`.`num_etape` = 1');
  128.             $statement_pays->execute();
  129.             $result_pays $statement_pays->fetchAll();
  130.             if(empty($result_pays)) 
  131.             {
  132.                 $travel_pays[] = 'Non renseigné';
  133.             }
  134.             else
  135.             {
  136.                 $travel_pays[] = $result_pays[0]['pays'];
  137.             }
  138.             
  139.             $statement_like $em->getConnection()
  140.             ->prepare('SELECT COUNT(*) FROM `jaime` WHERE `jaime`.`id_voyage_serveur` = '.$travel->getIdVoyageServeur());
  141.             $statement_like->execute();
  142.             $result_like $statement_like->fetchAll();
  143.             if(empty($result_like)) 
  144.             {
  145.                 $likes[] = 0;
  146.             }
  147.             else
  148.             {
  149.                 $likes[] = $result_like[0]['COUNT(*)'];
  150.             }
  151.         }
  152.         
  153.         $events $em->createQueryBuilder("evt")
  154.                 ->select("e")
  155.                 ->from("App\Entity\ListeEvenements""e")
  156.                 ->where("DATE_ADD(e.date, e.nbreDeJour, 'DAY') BETWEEN CURRENT_DATE() AND DATE_ADD(CURRENT_DATE() ,5 , 'DAY')"
  157.                 ->orWhere("e.date BETWEEN CURRENT_DATE() AND DATE_ADD(CURRENT_DATE(), 5, 'DAY')")
  158.                 ->orWhere("e.date = CURRENT_DATE()")                                                                                                                            
  159.                 ->orderBy("e.date")
  160.                 ->getQuery()
  161.                 ->getResult();
  162.         
  163.         $pays_events = array();
  164.         $flag_events = array();
  165.         $i 0;
  166.         
  167.         foreach($events as $event
  168.         {
  169.             $stmt_p $em->getConnection()->prepare("SELECT `pays` FROM `liste_pays_translation` WHERE `liste_pays_translation`.`lang` = '".$langue."' AND `id_liste_pays` = ".$event->getIdListePays());
  170.             $stmt_p->execute();
  171.             $pays_events[$i] = $stmt_p->fetchAll()[0]['pays'];
  172.             
  173.             $stmt_f $em->getConnection()->prepare('SELECT `flag` FROM `liste_pays` WHERE `id_liste_pays` ='.$event->getIdListePays());
  174.             $stmt_f->execute();
  175.             $flag_events[$i] = $stmt_f->fetchAll()[0]['flag'];
  176.             
  177.             $i++;
  178.         }
  179.         
  180.         $messages $em->createQueryBuilder('mess')->select('m')->from('App\Entity\MessageParametre''m')->orderBy('m.id''DESC')->getQuery()->getResult();
  181.         $messages_pseudo = array();
  182.         $nbrReponses = array();
  183.         $conn $em->getConnection();
  184.         foreach($messages as $message
  185.         {
  186.             $sender $em->createQueryBuilder('pseudo')->select('u')->from('App\Entity\Parametres''u')->where('u.idParametres ='.$message->getIdParametre())->getQuery()->getResult();
  187.             if(empty($sender))
  188.             {
  189.                 $messages_pseudo[] = "Non renseigné";
  190.             }
  191.             else 
  192.             {
  193.                 $messages_pseudo[] = $sender[0]->getPseudo();
  194.             }
  195.             $nbrReponses[] = $msgReponse->getNombreReponses($message$conn);
  196.         }
  197.            
  198.         
  199.         /*
  200. ->select('lp.id_liste_pays')
  201.                 ->from('ListePays lp')
  202.                 ->where('lp.id_liste_pays = ?', $Idpays);        
  203.         */
  204.         if($user == null)
  205.         {
  206.             $info = array("Devenez membre, c'est gratuit, et profitez de toutes les fonctionnalités du portail");
  207.             $session->set('last_activity_time'time());
  208.             return $this->render('home/index.html.php', array(
  209.             'listeEvenements' => $ListeEvenements,
  210.             'credentiel' =>$credentiel,
  211.             'listeMenu'=>$listeMenu,
  212.             'utilisateur'=>$utilisateur,
  213.             'travelpublic'=>$travelpublic,
  214.             'travel_pays'=>$travel_pays,
  215.             'likes'=>$likes,
  216.             'langue'=>$langue,
  217.             'videos'=>$videos,
  218.             'events'=>$events,
  219.             'pays_events'=>$pays_events,
  220.             'flag_events'=>$flag_events,
  221.             'messages'=>$messages,
  222.             'messages_pseudo'=>$messages_pseudo,
  223.             'nbrReponses'=>$nbrReponses,
  224.             'informations'=>$info));
  225.         }
  226.         else 
  227.         {
  228.             $informations $em->createQueryBuilder('info')->select('i')->from('App\Entity\InformationTranslation''i')->getQuery()->getResult();
  229.             $info = array();
  230.             foreach($informations as $inf) {
  231.                 $info[] = $this->format_info($inf->getContenu());
  232.             }
  233.             $session->set('last_activity_time'time());
  234.             return $this->render('home/index.html.php', array(
  235.             'listeEvenements' => $ListeEvenements,
  236.             'pays_lev'=> $pays_lev,
  237.             'credentiel' =>$credentiel,
  238.             'listeMenu'=>$listeMenu,
  239.             'utilisateur'=>$utilisateur,
  240.             'travelpublic'=>$travelpublic,
  241.             'travel_pays'=>$travel_pays,
  242.             'likes'=>$likes,
  243.             'langue'=>$langue,
  244.             'idParemetre'=>$user->getIdParametres(),
  245.             'videos'=>$videos,
  246.             'events'=>$events,
  247.             'pays_events'=>$pays_events,
  248.             'flag_events'=>$flag_events,
  249.             'messages'=>$messages,
  250.             'messages_pseudo'=>$messages_pseudo,
  251.             'nbrReponses'=>$nbrReponses,
  252.             'informations'=>$info));
  253.         }
  254.     }
  255.     
  256.     
  257.     public function findEventByPays($idPays)
  258.     { 
  259.         
  260.     }
  261.     
  262. /* methode pour recuperer les donnees utilisateurs ! pseudo*/
  263. public function format_info($texte) {
  264.     $reg_exUrl "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
  265. // The Text you want to filter for urls
  266. //$text = "The text you want to filter goes here. http://google.com";
  267. // Check if there is a url in the text
  268.     if(preg_match($reg_exUrl$texte$url)) {
  269.         // make the urls hyper links
  270.         //return preg_replace($reg_exUrl, "<a href="{$url[0]}">{$url[0]}</a> ", $texte);
  271.         $tmp0 preg_replace($reg_exUrl'<a class="lien" href="'.$url[0].'" rel="nofollow">'.$url[0].'</a>'$texte);
  272.     } else {
  273.         // if no urls in the text just return the text
  274.         $tmp0 $texte;
  275.     }
  276.     
  277.     $tmp get_html_translation_table(HTML_ENTITIES);
  278.     $tmp array_flip ($tmp);
  279.     $texteTmp strtr ($tmp0$tmp);
  280.     return $texteTmp;
  281. }
  282. public function recherche(request $request,SessionInterface $session,MenuFetcher $menuFetcher)
  283. {
  284.         $user $session->get('user',null);
  285.         
  286.         $last_activity $session->get('last_activity_time',null);
  287.         if ($user == null)
  288.         {
  289.           $user $this->getDoctrine()
  290.             ->getRepository(Parametres::class)
  291.             ->find(469);
  292.             $session->set('user'$user);
  293.             $session->set('last_activity_time'time());
  294.         }
  295.         $em $this->getDoctrine()->getManager();    
  296.         //$ListeEvenements_stmt = $em->getConnection()->prepare('SELECT * FROM `liste_evenements` `e` WHERE TO_DAYS(`e`.`date`) + `e`.`nbre_de_jour` >= TO_DAYS(NOW()) ORDER BY `e`.`date` ASC');
  297.     //    $ListeEvenements_stmt->execute();
  298.     //    $ListeEvenements = $ListeEvenements_stmt->fetchAll();
  299.     
  300.     $listeMenu    $menuFetcher->menu('en'$em->getConnection());
  301.     /*echo '<pre>';
  302.     var_dump($listeMenu);
  303.     echo '</pre>';
  304.     die();*/
  305.     // par defaut la langue est le français
  306.     $langue "fr";
  307.     $locale "fr_FR";
  308.     if (isset($user))
  309.     {
  310.         $idParametres $user->getIdParametres();
  311.         $langue $user->getLangue();
  312.         $credentiel $user->getIdCredentiel();
  313.     }
  314.   
  315.         
  316.         
  317.         $travelpublic $this->getDoctrine()
  318.             ->getRepository(Voyage::class)
  319.             //->findAll();
  320.             
  321.             ->findBy([],array('dateMaj'=>'DESC','idVoyageServeur' => 'DESC'));    
  322.             
  323.             
  324.             
  325.         /*    
  326.         echo '<pre>';
  327.             var_dump($travelpublic);
  328.             echo '</pre>';
  329.             die();
  330.         */
  331.             
  332.         /* donnees utilisateurs */    
  333.         $utilisateur = array();
  334.         
  335.         if ($user==null)
  336.         {
  337.             $credentiel=3;
  338.             $utilisateur['nom'] = 'Visitor';
  339.             $utilisateur['photo'] = 'avatar.jpg';
  340.             $utilisateur['pseudo'] = 'Visitor';
  341.             $utilisateur['prenom'] = 'Visitor';
  342.         }
  343.         else
  344.         {
  345.             $utilisateur['iduser'] = $user->getIdParametres();
  346.             $utilisateur['nom'] = $user->getNom();
  347.             $utilisateur['prenom'] = $user->getPrenom();
  348.             $utilisateur['langue'] = $user->getLangue();     
  349.             $utilisateur['credentiel'] =    $user->getIdCredentiel(); 
  350.             $credentiel $user->getIdCredentiel();               
  351.             $utilisateur['pseudo'] = $user->getPseudo();
  352.             $session->set('iduser'$user->getIdParametres());
  353.             $session->set('pseudo'$user->getPseudo());
  354.             if ($user->getPhoto() =='' || $user->getPhoto() == null)
  355.                 $utilisateur['photo'] = 'avatar.jpg';
  356.             else
  357.                 $utilisateur['photo'] = $user->getPhoto();
  358.         }
  359.     // récupération du mot clé saisi
  360.      $motcle $_POST['motcle'];
  361.          
  362.     // partie à revoir EM 18/01/2012     
  363.      $exlure = array("LE""LA""LES""ET""OU""DE""DES""D�");
  364.      $clean_value str_ireplace($exlure"%"$motcle);
  365.      //$clean_value = str_ireplace(" ", "", $motcle);
  366.      $this->mc $clean_value;
  367.      $now date('Y-m-d');
  368.      // traitement des évènements 
  369.         $qb=$em->createQueryBuilder('l');
  370.         $qb->select('l')
  371.         ->from('App\Entity\ListeEvenements''l')
  372.         ->leftJoin('App\Entity\ListePays''p','WITH','l.idListePays = p.idListePays')
  373.         ->leftJoin('App\Entity\ListePaysTranslation','t','WITH','p.idListePays = t.idListePays')
  374.         ->add('where'$qb->expr()->andX(
  375.         $qb->expr()->lt('l.date','?1'),$qb->expr()->orX(
  376.         $qb->expr()->like('l.titre''?2'),
  377.         $qb->expr()->like('l.descriptions''?2'),
  378.         $qb->expr()->like('l.lieu''?2'),
  379.         $qb->expr()->like('t.pays''?2')
  380.         )))
  381.         ->orderBy('l.date','ASC')
  382.         ->setParameters(array(1=>$now,2=>'%'.$motcle.'%'));
  383.         $query $qb->getQuery();
  384.         
  385.         $listeEvenements $query->getResult();
  386.         //->add('orderBy', new Expr\OrderBy('l.date', 'ASC'));
  387.         
  388.         
  389.         
  390.       //  $this->listeEvenements = $listeEvenements ;
  391.         $j=0;
  392.         $pays_lev = array();
  393.         foreach($listeEvenements as $lev)
  394.         {
  395.             $pays_lev_stmt $em->getConnection()->prepare("SELECT `id_liste_pays` , `pays` FROM `liste_pays_translation` WHERE `liste_pays_translation`.`lang` = '$langue' AND `liste_pays_translation`.`id_liste_pays` = ".$lev->getIdListePays());
  396.             $pays_lev_stmt->execute();
  397.             foreach($pays_lev_stmt->fetchAll() as $pays)
  398.             {
  399.                     
  400.                 $pays_lev[$pays['id_liste_pays']] = $pays['pays'];
  401.             }
  402.         }
  403.         $pays_lev = array();
  404.         foreach($listeEvenements as $lev)
  405.         {
  406.             $pays_lev_stmt $em->getConnection()->prepare("SELECT `pays` FROM `liste_pays_translation` WHERE `liste_pays_translation`.`lang` = 'fr' AND `liste_pays_translation`.`id_liste_pays` = ".$lev->getIdListePays());
  407.             $pays_lev_stmt->execute();
  408.             foreach($pays_lev_stmt->fetchAll() as $pays)
  409.             {
  410.                 $pays_lev[] = $pays['pays'];
  411.             }
  412.         }
  413.         
  414.   //
  415.  // herche dans groupes
  416.  //       $query = Doctrine_Query::create()
  417.  //           //->select('l.saison, v.detail_voyage')
  418.  //           ->from('ListePays p')
  419.  //           ->Where('p.pays LIKE ?', '%'.$motcle.'%');
  420.           
  421.      //      $pays = $query->execute();
  422.   // recherche dans voyage etape
  423.        // $query = Doctrine_Query::create()
  424.         /*$qb->select('l')
  425.             //->select('l.saison, v.detail_voyage')
  426.             ->from('groupes g')
  427.             ->leftJoin('g.Parametres p')
  428.             //rem loic le 26-06-2012
  429.             ->innerjoin('g.GroupesMembres gm')
  430.             ->where('gm.id_groupes =?',36)
  431.             //fin rem 
  432.             ->Where('g.groupe LIKE ?', '%'.$motcle.'%')
  433.             ->orWhere('g.description LIKE ?', '%'.$motcle.'%');
  434.            $Groupes = $query->execute();
  435.           $listeGroupes = Groupes::getMesGroupes($idParametres);
  436.         if (isset($ownerName))
  437.            $this->ownerName = $ownerName;
  438.         $this->listeGroupes = $listeGroupes;
  439.         $this->Groupes = $Groupes;*/
  440.   //
  441.         
  442.   // $query = Doctrine_Query::create()
  443.             //->select('l.saison, v.detail_voyage')
  444.             $qb=$em->createQueryBuilder();
  445.             $qb->select('v')
  446.             ->from('App\Entity\Voyage','v')
  447.             ->leftJoin('App\Entity\ListeSaison','l','WITH','v.idListeSaison = l.idListeSaison')
  448.             ->leftJoin('App\Entity\Etapes''e','WITH''e.idVoyageServeur = v.idVoyageServeur')
  449.           //  ->leftJoin('l.Translation t WITH t.lang = ?', $culture)
  450.            // ->leftJoin('v.GroupesVoyages g')
  451.            // ->leftJoin('g.Groupes j')
  452.             //->where('v.id_parametres = ?', $idParametres)
  453.             ->add('where'$qb->expr()->orX(
  454.             $qb->expr()->like('v.detailVoyage''?1'),
  455.             $qb->expr()->like('v.nomVoyage','?1'),
  456.             $qb->expr()->like('e.hebergement ','?1'),
  457.             $qb->expr()->like('e.particulariteEtape','?1'),
  458.           
  459.             $qb->expr()->like('e.aVoir','?1'),
  460.             $qb->expr()->like('e.aFaire','?1'),
  461.             $qb->expr()->like('e.remarque','?1')
  462.             ))
  463.            // $qb->expr()->like('t.saison LIKE ?', '%'.$motcle.'%')
  464.            // ->orWhere('j.groupe LIKE ?', '%'.$motcle.'%')
  465.            // ->orWhere('j.description LIKE ?', '%'.$motcle.'%')
  466.            // ->orWhere('g.notification LIKE ?', '%'.$motcle.'%')
  467.             //rem loic le 27-06-2012
  468.             ->orderBy('v.idVoyageServeur''DESC')
  469.             ->setParameter(1,'%'.$motcle.'%');
  470.             $query $qb->getQuery();
  471.             $travelpublic=$query->getResult();
  472.             /*echo '<pre>';
  473.             print_r($travelpublic);
  474.             echo '</pre>';
  475.             die();*/
  476.            $travel_pays=array();
  477.            $likes=array();
  478.            foreach($travelpublic as $travel
  479.         {
  480.             $statement_pays $em->getConnection()->prepare('SELECT `liste_pays_translation`.`pays` FROM `liste_pays_translation` INNER JOIN `etapes` ON `etapes`.`id_liste_pays` = `liste_pays_translation`.`id_liste_pays` WHERE `etapes`.`id_voyage_serveur` = '.$travel->getIdVoyageServeur().' AND `etapes`.`num_etape` = 1');
  481.             $statement_pays->execute();
  482.             $result_pays $statement_pays->fetchAll();
  483.             if(empty($result_pays)) 
  484.             {
  485.                 $travel_pays[] = 'Non renseigné';
  486.             }
  487.             else
  488.             {
  489.                 $travel_pays[] = $result_pays[0]['pays'];
  490.             }
  491.             
  492.             $statement_like $em->getConnection()
  493.             ->prepare('SELECT COUNT(*) FROM `jaime` WHERE `jaime`.`id_voyage_serveur` = '.$travel->getIdVoyageServeur());
  494.             $statement_like->execute();
  495.             $result_like $statement_like->fetchAll();
  496.             if(empty($result_like)) 
  497.             {
  498.                 $likes[] = 0;
  499.             }
  500.             else
  501.             {
  502.                 $likes[] = $result_like[0]['COUNT(*)'];
  503.             }
  504.         }
  505.           
  506.          
  507.    //         ->andWhere('v.id_liste_type_voyage = ?',1);
  508.   // recherche les projets de voyages   
  509.   /*     $query = Doctrine_Query::create()
  510.             //->select('l.saison, v.detail_voyage')
  511.             ->from('Voyage v')
  512.             ->leftJoin('v.ListeSaison l')
  513.             ->where('v.id_parametres = ?', $idParametres)
  514.             ->andWhere('v.detail_voyage LIKE ?', '%'.$motcle.'%')
  515.             ->andWhere('v.id_liste_type_voyage = ?',1)
  516.             //rem loic le 27-06-2012
  517.             ->orderBy('v.id_voyage_serveur DESC');
  518.             //fin rem loic 
  519.         $mesProjets = $query->execute();
  520.         $this->mesProjets = $mesProjets;*/
  521.    // recherche dans mon voyage     
  522.        
  523.             $qb=$em->createQueryBuilder();
  524.             $qb->select('v')
  525.             ->from('App\Entity\Voyage','v')
  526.             ->leftJoin('App\Entity\ListeSaison','l','WITH','v.idListeSaison = l.idListeSaison')
  527.             ->add('where'$qb->expr()->orX(
  528.              $qb->expr()->eq('v.idParametres''?1'),
  529.              $qb->expr()->eq('v.detailVoyage''?1'),
  530.              $qb->expr()->eq('v.idListeTypeVoyage''?2')
  531.              ))
  532.           ->setParameters(array(1=>'%'.$motcle.'%',2=>'2'));
  533.           $query $qb->getQuery();
  534.           $monVoyage=$query->getResult();
  535.          
  536.   ////////
  537.   $events $em->createQueryBuilder("evt")
  538.                 ->select("e")
  539.                 ->from("App\Entity\ListeEvenements""e")
  540.                 ->where("DATE_ADD(e.date, e.nbreDeJour, 'DAY') BETWEEN CURRENT_DATE() AND DATE_ADD(CURRENT_DATE() ,5 , 'DAY')"
  541.                 ->orWhere("e.date BETWEEN CURRENT_DATE() AND DATE_ADD(CURRENT_DATE(), 5, 'DAY')")
  542.                 ->orWhere("e.date = CURRENT_DATE()"
  543.                             
  544.                 ->orderBy("e.date")
  545.                 ->getQuery()
  546.                 ->getResult();
  547.         
  548.         $pays_events = array();
  549.         $flag_events = array();
  550.         $i 0;
  551.     /*    echo '<pre>';
  552.         var_dump($events);
  553.         echo '</pre>';
  554.         die();*/
  555.         
  556.         foreach($events as $event
  557.         {
  558.             $stmt_p $em->getConnection()->prepare("SELECT `pays` FROM `liste_pays_translation` WHERE `liste_pays_translation`.`lang` = '".$langue."' AND `id_liste_pays` = ".$event->getIdListePays());
  559.             $stmt_p->execute();
  560.             $pays_events[$i] = $stmt_p->fetchAll()[0]['pays'];
  561.             
  562.             $stmt_f $em->getConnection()->prepare('SELECT `flag` FROM `liste_pays` WHERE `id_liste_pays` ='.$event->getIdListePays());
  563.             $stmt_f->execute();
  564.             $flag_events[$i] = $stmt_f->fetchAll()[0]['flag'];
  565.             
  566.             $i++;
  567.         }
  568.         
  569.    // recherche dans mes anciens voyages
  570.        
  571.     /*      $query = Doctrine_Query::create()
  572.             //->select('l.saison, v.detail_voyage')
  573.             ->from('Voyage v')
  574.             ->where('v.id_parametres = ?', $idParametres)
  575.             ->andWhere('v.id_liste_type_voyage = ?',3)
  576.             ->andWhere('v.detail_voyage LIKE ?', '%'.$motcle.'%');
  577.                $mesAnciensVoyages = $query->execute();
  578.               $this->mesAnciensVoyages = $mesAnciensVoyages;*/
  579.         
  580.     //$travelpublic=array();
  581.     //$travel_pays=array();
  582.     //$likes=array();
  583.     $langue="fr";
  584.     $locale="fr_FR";   
  585.     return $this->render('home/search.html.php', array(
  586.             'listeEvenements' => $listeEvenements,
  587.             'monVoyage' => array(),
  588.             'pays_lev'=> $pays_lev,
  589.             'travelpublic'=>$travelpublic,
  590.             'travel_pays'=>$travel_pays,
  591.             'credentiel' =>$credentiel,
  592.             'likes'=>$likes,
  593.             'langue'=>$langue,
  594.             'locale'=>$locale,
  595.             'idParemetre'=>$user->getIdParametres(),
  596.             'listeMenu'=>$listeMenu,
  597.             'utilisateur'=>$utilisateur
  598.             ));
  599.         //}
  600. }
  601. }
  602. ?>