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 afficheResultatsRechercheAvancee($params = array()) { $html = ""; $modeAffichage = 'recherche'; $formulaire = new formGenerator(); if (isset($this->variablesGet['submitRechercheAvancee'])) { $adresses = new archiAdresse(); $tabForm = array('motcle' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'text'), 'pays' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'pays', 'primaryKey' => 'idPays')), 'ville' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'ville', 'primaryKey' => 'idVille')), 'quartier' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'quartier', 'primaryKey' => 'idQuartier')), 'sousQuartier' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'sousQuartier', 'primaryKey' => 'idSousQuartier')), 'rue' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'multiple', 'checkExist' => array('table' => 'rue', 'primaryKey' => 'idRue')), '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($tabForm, $_GET); if (count($erreur) == 0) { foreach ($tabForm as $nom => $valeur) { $criteres['recherche_' . $nom] = $valeur['value']; } if (isset($this->variablesGet['afficheResultatsSurCarte']) && $this->variablesGet['afficheResultatsSurCarte'] == '1') { $checkedCheckBox = true; $adresses = new archiAdresse(); $retourAdresses = $adresses->afficherListe($criteres, $modeAffichage, array('sqlLimitExterne' => "150")); // on limite les resultats a 150 pour avoir au moins 100 groupes d'adresses différents //$arrayIdAdresses = $retourAdresses['arrayIdAdresses']; $arrayIdEvenementsGA = $retourAdresses['arrayIdEvenementsGroupeAdresse']; $gm = new googleMap(array('googleMapKey' => $this->googleMapKey, 'width' => 700, 'height' => 500, 'zoom' => 13)); $this->addToJsHeader($gm->getJsFunctions()); // ajout des fonctions de google map dans le header // on affiche uniquement les 100 premieres coordonnées // preparation du tableau de liste de coordonnées a transmettre a la classe googlemap $listeCoordonnees = array(); $arrayIdEvenementGroupeAdressesConfigGMap = array(); for ($i = 0; $i < 100 && isset($arrayIdEvenementsGA[$i]); $i++) { $reqCoordonnees = "\n\t\t\t\t\t\t\t\tSELECT IF(ae.latitudeGroupeAdresse<>'0',ae.latitudeGroupeAdresse,ha1.latitude) as latitude,\n\t\t\t\t\t\t\t\tIF(ae.longitudeGroupeAdresse<>'0', ae.longitudeGroupeAdresse,ha1.longitude) as longitude\n\t\t\t\t\t\t\t\tFROM historiqueAdresse ha2, historiqueAdresse ha1\n\t\t\t\t\t\t\t\tLEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse\n\t\t\t\t\t\t\t\tWHERE ha2.idAdresse = ha1.idAdresse\n\t\t\t\t\t\t\t\tAND ha1.longitude!=''\n\t\t\t\t\t\t\t\tAND ha1.latitude!=''\n\t\t\t\t\t\t\t\tAND ha1.longitude!='0'\n\t\t\t\t\t\t\t\tAND ha1.latitude!='0'\n\t\t\t\t\t\t\t\tAND ha1.longitude IS NOT NULL\n\t\t\t\t\t\t\t\tAND ha1.latitude IS NOT NULL\n\t\t\t\t\t\t\t\tAND ae.idEvenement = '" . $arrayIdEvenementsGA[$i] . "'\n\t\t\t\t\t\t\t\t\t\tGROUP BY ha1.idAdresse,ha1.idHistoriqueAdresse\n\t\t\t\t\t\t\t\t\t\tHAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)\n\n\t\t\t\t\t\t\t\t\t\t"; $resCoordonnees = $this->connexionBdd->requete($reqCoordonnees); $arrayIdEvenementGroupeAdressesConfigGMap[$i]['idEvenementGroupeAdresse'] = $arrayIdEvenementsGA[$i]; if (mysql_num_rows($resCoordonnees) > 0) { $fetchCoordonnees = mysql_fetch_assoc($resCoordonnees); $arrayIdEvenementGroupeAdressesConfigGMap[$i]['longitude'] = $fetchCoordonnees['longitude']; $arrayIdEvenementGroupeAdressesConfigGMap[$i]['latitude'] = $fetchCoordonnees['latitude']; } else { $arrayIdEvenementGroupeAdressesConfigGMap[$i]['longitude'] = 0; $arrayIdEvenementGroupeAdressesConfigGMap[$i]['latitude'] = 0; } } $retourConfig = $adresses->getArrayGoogleMapConfigCoordonneesFromCenter(array('arrayIdEvenementsGroupeAdresse' => $arrayIdEvenementGroupeAdressesConfigGMap)); $html = "<h1>" . _("Résultats de la recherche avancée :") . "</h1>"; if ($retourAdresses['nbAdresses'] == 0) { $html .= _("aucun résultat.") . "<br><br>"; } else { $html .= "<br>" . $retourAdresses['nbAdresses'] . " " . _("résultats.") . "<br>"; } $html .= $gm->getMap(array('listeCoordonnees' => $retourConfig['arrayConfigCoordonnees'], 'urlImageIcon' => $this->urlImages . "pointGM.png", 'pathImageIcon' => $this->getCheminPhysique() . "images/pointGM.png", 'setAutomaticCentering' => true)); } else { $retourAdresses = $adresses->afficherListe($criteres, $modeAffichage); if ($retourAdresses['nbAdresses'] == 0) { $html = "<h1>" . _("Adresses :") . "</h1>"; $html .= _("Aucun résultat."); } else { $html = $retourAdresses['html']; } } } } return $html; }