public function afficherListe($criteres = array())
 {
     $html = "";
     $evenement = new archiEvenement();
     $arrayListeEvenements = $evenement->getIdEvenementsFromRecherche($criteres);
     $arrayListeEvenements = array_unique($arrayListeEvenements);
     $adresse = new archiAdresse();
     $arrayListeGroupesEvenementsParents = array();
     foreach ($arrayListeEvenements as $idEvenementFils) {
         $arrayListeGroupesEvenementsParents[] = $evenement->getParent($idEvenementFils);
     }
     $retour = $adresse->afficherListe(array('groupesAdressesSupplementairesExternes' => $arrayListeGroupesEvenementsParents), 'personnalite');
     $html .= $retour['html'];
     return $html;
 }
 public function rechercheAvanceeEvenement($ordres = array())
 {
     $html = '';
     $tabFormulaire = array();
     $criteres = array();
     $modeAffichage = '';
     if (isset($this->variablesGet['modeAffichage'])) {
         $modeAffichage = $this->variablesGet['modeAffichage'];
     }
     if (isset($ordres['modeAffichage'])) {
         $modeAffichage = $ordres['modeAffichage'];
     }
     $formulaire = new formGenerator();
     if (isset($this->variablesGet['submit'])) {
         $tabFormulaire = array('motcle' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'text'), 'courant' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'multiple', 'checkExist' => array('table' => 'courantArchitectural', 'primaryKey' => 'idCourantArchitectural')), 'typeStructure' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'typeStructure', 'primaryKey' => 'idTypeStructure')), 'typeEvenement' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'typeEvenement', 'primaryKey' => 'idTypeEvenement')), 'source' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'source', 'primaryKey' => 'idSource')), 'personnes' => array('default' => 'aucune', 'value' => '', 'required' => false, 'error' => '', 'type' => 'multiple', 'checkExist' => array('table' => 'personne', 'primaryKey' => 'idPersonne')), 'anneeDebut' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric'), 'anneeFin' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric'), 'MH' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'checkbox'), 'ISMH' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'checkbox'));
         $erreur = $formulaire->getArrayFromPost($tabFormulaire, $_GET);
         if (count($erreur) == 0) {
             foreach ($tabFormulaire as $nom => $valeur) {
                 $criteres['recherche_' . $nom] = $valeur['value'];
             }
             $evenement = new archiEvenement();
             $arrayListeEvenements = $evenement->getIdEvenementsFromRecherche($criteres, 'listeEvenement.tpl', $modeAffichage);
             $arrayListeEvenements = array_unique($arrayListeEvenements);
             $adresse = new archiAdresse();
             $arrayListeEvenementsParents = array();
             foreach ($arrayListeEvenements as $idEvenementFils) {
                 //$resAdresse = $adresse->getAdressesFromEvenementGroupeAdresses($evenement->getParent($idEvenementFils));
                 //$fetchAdresse = mysql_fetch_assoc($resAdresse);
                 //$html .= "<a href=\"".$this->creerUrl('','adresseDetail',array('archiIdAdresse'=>$fetchAdresse['idAdresse']))."\">".stripslashes($adresse->getIntituleAdresse($fetchAdresse))."</a><br><br>";
                 $arrayListeEvenementsParents[] = $evenement->getParent($idEvenementFils);
             }
             // dans le cas de l'affichage des sources du site , on va rajouter la liste des adresses ou les photos sont concernées aussi par la source courante
             if (isset($this->variablesGet['archiAffichage']) && $this->variablesGet['archiAffichage'] == "listeAdressesFromSource" && isset($this->variablesGet['source']) && $this->variablesGet['source'] != '') {
                 $reqImages = "\n\t\t\t\t\t\t\tSELECT distinct ae.idEvenement as idEvenementGA\n\t\t\t\t\t\t\tFROM _adresseEvenement ae\n\t\t\t\t\t\t\tLEFT JOIN historiqueImage hi1 ON hi1.idSource = '" . $this->variablesGet['source'] . "'\n\t\t\t\t\t\t\t\t\tLEFT JOIN historiqueImage hi2 ON hi2.idImage = hi1.idImage\n\t\t\t\t\t\t\t\t\tLEFT JOIN _evenementImage ei ON ei.idImage = hi1.idImage\n\t\t\t\t\t\t\t\t\tLEFT JOIN _evenementEvenement ee ON ee.idEvenementAssocie = ei.idEvenement\n\t\t\t\t\t\t\t\t\tWHERE 1=1\n\t\t\t\t\t\t\t\t\tAND ae.idEvenement = ee.idEvenement\n\t\t\t\t\t\t\t\t\tGROUP BY hi1.idImage, hi1.idHistoriqueImage\n\t\t\t\t\t\t\t\t\tHAVING hi1.idHistoriqueImage = max(hi2.idHistoriqueImage)\n\n\t\t\t\t\t\t\t\t\t";
                 $resImages = $this->connexionBdd->requete($reqImages);
                 while ($fetchImages = mysql_fetch_assoc($resImages)) {
                     $arrayListeEvenementsParents[] = $fetchImages['idEvenementGA'];
                 }
                 $arrayListeEvenementsParents = array_unique($arrayListeEvenementsParents);
                 if (isset($this->variablesGet['source']) && $this->variablesGet['source'] == '24') {
                     // on comptabilise les images avec un numero d'archive sans idSource (comptabilisé avec la source "archives municipales"
                     $reqImagesAvecNumeroArchiveSansIdSource = "\n\t\t\t\t\t\t\t\tSELECT distinct ae.idEvenement as idEvenementGA\n\t\t\t\t\t\t\t\tFROM _adresseEvenement ae\n\t\t\t\t\t\t\t\tLEFT JOIN historiqueImage hi1 ON hi1.numeroArchive<>''\n\t\t\t\t\t\t\t\tLEFT JOIN historiqueImage hi2 ON hi2.idImage = hi1.idImage\n\t\t\t\t\t\t\t\tLEFT JOIN _evenementImage ei ON ei.idImage = hi1.idImage\n\t\t\t\t\t\t\t\tLEFT JOIN _evenementEvenement ee ON ee.idEvenementAssocie = ei.idEvenement\n\t\t\t\t\t\t\t\tWHERE 1=1\n\t\t\t\t\t\t\t\tAND (hi1.idSource='0' OR hi1.idSource='')\n\t\t\t\t\t\t\t\tAND ae.idEvenement = ee.idEvenement\n\t\t\t\t\t\t\t\tGROUP BY hi1.idImage, hi1.idHistoriqueImage\n\t\t\t\t\t\t\t\tHAVING hi1.idHistoriqueImage = max(hi2.idHistoriqueImage)\n\t\t\t\t\t\t\t\t";
                     $resImagesAvecNumeroArchiveSansIdSource = $this->connexionBdd->requete($reqImagesAvecNumeroArchiveSansIdSource);
                     while ($fetchImagesAvecNumeroArchiveSansIdSource = mysql_fetch_assoc($resImagesAvecNumeroArchiveSansIdSource)) {
                         $arrayListeEvenementsParents[] = $fetchImagesAvecNumeroArchiveSansIdSource['idEvenementGA'];
                     }
                     $arrayListeEvenementsParents = array_unique($arrayListeEvenementsParents);
                 }
                 if (isset($this->variablesGet['source']) && $this->variablesGet['source'] == '24') {
                     // on comptabilise les evenements  avec un numero d'archive sans idSource (comptabilisé avec la source "archives municipales"
                     $reqEvenementAvecNumeroArchiveSansIdSource = "\n\t\t\t\t\t\t\t\tSELECT distinct ae.idEvenement as idEvenementGA\n\t\t\t\t\t\t\t\tFROM _adresseEvenement ae\n\t\t\t\t\t\t\t\tLEFT JOIN evenements he1 ON he1.numeroArchive<>''\n\t\t\t\t\t\t\t\tLEFT JOIN evenements he2 ON he2.idEvenement = he1.idEvenement\n\t\t\t\t\t\t\t\tLEFT JOIN _evenementEvenement ee ON ee.idEvenementAssocie = he1.idEvenement\n\t\t\t\t\t\t\t\tWHERE 1=1\n\t\t\t\t\t\t\t\tAND (he1.idSource='0' OR he1.idSource='')\n\t\t\t\t\t\t\t\tAND ae.idEvenement = ee.idEvenement\n\t\t\t\t\t\t\t\tGROUP BY he1.idEvenement\n\t\t\t\t\t\t\t\t";
                     $resEvenementAvecNumeroArchiveSansIdSource = $this->connexionBdd->requete($reqEvenementAvecNumeroArchiveSansIdSource);
                     while ($fetchEvenementAvecNumeroArchiveSansIdSource = mysql_fetch_assoc($resEvenementAvecNumeroArchiveSansIdSource)) {
                         $arrayListeEvenementsParents[] = $fetchEvenementAvecNumeroArchiveSansIdSource['idEvenementGA'];
                     }
                     $arrayListeEvenementsParents = array_unique($arrayListeEvenementsParents);
                 }
             }
             $retourAdresses = $adresse->afficherListe(array('groupesAdressesSupplementairesExternes' => $arrayListeEvenementsParents), $modeAffichage);
             $html .= $retourAdresses['html'];
         }
     }
     if (!isset($ordres['sansFormulaire'])) {
         $html .= $this->afficheFormulaireEvenement($tabFormulaire, $ordres);
     }
     return $html;
 }