public function getParcoursListe($params = array())
 {
     $html = "";
     $page = new archiPage(9, LANG);
     // liste des parcours
     $html .= '<h2>' . $page->title . '</h2>';
     $resParcours = $this->getMysqlParcours(array('sqlOrderBy' => 'ORDER BY dateAjoutParcours DESC, idParcours DESC'));
     $t = new tableau();
     if (mysql_num_rows($resParcours) == 0) {
         $html .= "Aucun parcours n'est disponible pour le moment.";
     }
     $s = new stringObject();
     $html .= stripcslashes($page->content);
     $i = 0;
     while ($fetchParcours = mysql_fetch_assoc($resParcours)) {
         $photoTrouvee = false;
         $photo = "&nbsp;";
         $urlParcours = $this->creerUrl('', 'detailParcours', array('archiIdParcours' => $fetchParcours['idParcours']));
         //if($i==0)
         //{
         // recuperation des etapes pour afficher la premiere photo rencontree
         $reqEtapes = "SELECT idEtape, commentaireEtape FROM etapesParcoursArt WHERE idParcours='" . $fetchParcours['idParcours'] . "'";
         $resEtapes = $this->connexionBdd->requete($reqEtapes);
         $commentaire = "";
         $isCommentaire = false;
         if (mysql_num_rows($resEtapes) > 0) {
             while (!$photoTrouvee && ($fetchEtapes = mysql_fetch_assoc($resEtapes))) {
                 $arrayPhoto = $this->getPhotoFromEtape(array('idEtape' => $fetchEtapes['idEtape']));
                 if ($arrayPhoto['trouve'] == true) {
                     $photoTrouvee = true;
                     $photo = "<a href='" . $urlParcours . "'><img src='" . $arrayPhoto['url'] . "' border=0></a>";
                 }
                 if (!$isCommentaire) {
                     if ($fetchEtapes['commentaireEtape'] != '') {
                         $commentaire = $fetchEtapes['commentaireEtape'];
                         $isCommentaire = true;
                     }
                 }
             }
         }
         //}
         $t->addValue($photo);
         $t->addValue("<a href='" . $urlParcours . "'>" . stripslashes($fetchParcours['libelleParcours']) . "</a><br>" . $s->coupureTexte($s->sansBalisesHtml(stripslashes($commentaire)), 10) . "<br>" . mysql_num_rows($resEtapes) . " étapes");
         $i++;
     }
     $html .= $t->createHtmlTableFromArray(2);
     return $html;
 }
Example #2
0
 * @author   Pierre Rudloff <contact@rudloff.pro>
 * @license  GNU GPL v3 https://www.gnu.org/licenses/gpl.html
 * @link     http://archi-wiki.org/
 * 
 * */
$t = new Template('modules/header/templates/');
$t->set_filenames(array('header' => 'header.tpl'));
$authentification = new archiAuthentification();
$recherche = new archiRecherche();
$config = new ArchiConfig();
$adresse = new archiAdresse();
$evenement = new archiEvenement();
$image = new archiImage();
$ajax = new ajaxObject();
$calque = new calqueObject();
$string = new stringObject();
$utilisateur = new archiUtilisateur();
$session = new objetSession();
$i = new imageObject();
if (!isset($jsHeader)) {
    // variables récupérée de chaque fonction des classes du site permettant de mettre du javascript recupéré , dans le header , plutot qu'en plein milieu de la page ou dans le bas de page s'il faut qu'il soit executé a la fin
    $jsHeader = "";
}
if (!isset($jsFooter)) {
    $jsFooter = "";
}
$titreSite = $config->titreSite;
$titre = _("Archi-Wiki. Tous architectes ! Partageons la ville, ses bâtiments, ses lieux.");
$description = $config->descSite;
$motsCle = "";
if ($session->isInSession('archiIdVilleGeneral') && $session->getFromSession('archiIdVilleGeneral') != '' && $session->getFromSession('archiIdVilleGeneral') != '1' && !empty($_SESSION["archiIdVilleGeneral"])) {
 /**
  * Get the last news
  * @param unknown $params
  * @return string html of the last news encarts
  */
 public function getActualites($params = array())
 {
     $tActualites = new Template($this->getCheminPhysique() . $this->cheminTemplates);
     $tActualites->set_filenames(array('encartActualites' => 'encartAccueil.tpl'));
     $tActualites->assign_vars(array('titre' => _("Actualités"), "type" => "actualites"));
     $i = 0;
     if (count($params['actualites']) > 0) {
         $tActualites->assign_vars(array('lienVersTout' => "<a href='" . $this->creerUrl('', 'toutesLesActualites', array()) . "'>" . _("Toutes les actualités") . "</a>"));
     }
     // s'il y a un parcours plus récent que la derniere actu ,  on affiche le parcours comme une actualité ( ...je sais mais bon ,  va comprendre....)
     $reqDateDerniereActualite = "SELECT max(date) as maxDate FROM actualites WHERE desactive<>'1'";
     $resDateDerniereActualite = $this->connexionBdd->requete($reqDateDerniereActualite);
     $indiceGlobalNbActu = 0;
     $isParcoursToDisplay = false;
     // est ce que l'on va afficher un parcours plutot qu'une actu en place principale sur l'encars des actus
     if (mysql_num_rows($resDateDerniereActualite) > 0) {
         $fetchDateDerniereActualite = mysql_fetch_assoc($resDateDerniereActualite);
         $dateActu = $fetchDateDerniereActualite['maxDate'];
         // voyons maintenant s'il y a un parcours ajouté actif plus recent
         $reqParcoursActif = "SELECT idParcours,  dateAjoutParcours, libelleParcours, commentaireParcours FROM parcoursArt WHERE dateAjoutParcours>'" . $dateActu . "' AND isActif='1' ORDER BY dateAjoutParcours DESC,  idParcours DESC LIMIT 1";
         $resParcoursActif = $this->connexionBdd->requete($reqParcoursActif);
         if (mysql_num_rows($resParcoursActif) > 0) {
             $isParcoursToDisplay = true;
             $fetchParcoursActif = mysql_fetch_assoc($resParcoursActif);
             // recuperation d'une photo appartenant a une adresse du parcours (en principe dans le meilleur des cas la premiere photo de la premiere etape)
             $reqEtapes = "SELECT idEtape, commentaireEtape FROM etapesParcoursArt WHERE idParcours = '" . $fetchParcoursActif['idParcours'] . "'";
             $resEtapes = $this->connexionBdd->requete($reqEtapes);
             if (mysql_num_rows($resEtapes) > 0) {
                 $trouvePhoto = false;
                 while (!$trouvePhoto && ($fetchEtape = mysql_fetch_assoc($resEtapes))) {
                     $arrayPhoto = $adresse->getPhotoFromEtape(array('idEtape' => $fetchEtape['idEtape'], 'format' => 'moyen'));
                     $trouvePhoto = $arrayPhoto['trouve'];
                 }
                 mysql_data_seek($resEtapes, 0);
                 $commentaire = "";
                 if ($fetchParcoursActif['commentaireParcours'] != '') {
                     $bbCode = new bbCodeObject();
                     $trouveCommentaire = true;
                     $commentaire = $bbCode->convertToDisplay(array('text' => $fetchParcoursActif['commentaireParcours']));
                 } else {
                     $trouveCommentaire = false;
                 }
                 while (!$trouveCommentaire && ($fetchEtape = mysql_fetch_assoc($resEtapes))) {
                     if ($fetchEtape['commentaireEtape'] != '') {
                         $trouveCommentaire = true;
                         $commentaire = $fetchEtape['commentaireEtape'];
                     }
                 }
                 if ($trouvePhoto) {
                     $s = new stringObject();
                     // si une photo pour le dernier parcours a ete trouvee ,  alors on affiche le parcours en actu principale
                     $i = 1;
                     // pour que la boucle des actus commence a 1 et ne remplace pas l'actu principale
                     $indiceGlobalNbActu = 1;
                     // pour que l'on affiche pas la derniere actu ramenee par la fonction sinon il y en aurait une de plus que dans les autres encars
                     $urlImage = $arrayPhoto['url'];
                     $url = $this->creerUrl('', 'detailParcours', array('archiIdParcours' => $fetchParcoursActif['idParcours']));
                     $dimensionImage = "";
                     $tActualites->assign_block_vars("premiereAdresseAvecPhoto", array());
                     $tActualites->assign_vars(array("photoAdresse1" => "<a href='" . $url . "'><img alt='' style='border:1px #000000 solid;margin-right:2px;float:left;'  src='" . $urlImage . "' {$dimensionImage} ></a>", "descriptionAdresse1" => "<a href='" . $url . "'>" . $d->toFrenchAffichage($fetchParcoursActif['dateAjoutParcours']) . " " . stripslashes($fetchParcoursActif['libelleParcours']) . "</a><br>" . $s->coupureTexte($s->sansBalisesHtml(stripslashes($commentaire)), 10) . "<br>" . mysql_num_rows($resEtapes) . " étapes... <a href='" . $url . "' style='font-size:11px;'>lire la suite</a>"));
                 }
             }
         }
     }
     foreach ($params['actualites'] as $indice => $value) {
         if ($indiceGlobalNbActu < 5) {
             if ($i == 0) {
                 // premiere actualite
                 @(list($w, $h) = getimagesize($this->getCheminPhysique() . "images/actualites/" . $value['idActualite'] . "/" . $value['photoIllustration']));
                 if ($w > $h) {
                     $dimensionImage = "width=130";
                     // modif par fabien pour que l'image soit au même format que les autres rubriques (01/02/2013)
                 } else {
                     $dimensionImage = "height=130";
                 }
                 $urlImage = $this->getUrlRacine() . "images/actualites/" . $value['idActualite'] . "/" . $value['photoIllustration'];
                 if ($value['urlFichier'] != '') {
                     $url = $value['urlFichier'];
                 } else {
                     $url = $this->creerUrl('', 'afficherActualite', array('archiIdActualite' => $value['idActualite']));
                 }
                 $tActualites->assign_block_vars("premiereAdresseAvecPhoto", array());
                 $tActualites->assign_vars(array("photoAdresse1" => "<a href='" . $url . "'><img alt='' style='border:1px #000000 solid;margin-right:2px;float:left;' src='" . $urlImage . "' {$dimensionImage}></a>", "descriptionAdresse1" => "<a href='" . $url . "'>" . $d->toFrenchAffichage($value['date']) . " " . stripslashes($value['titre']) . "</a><br>" . stripslashes($string->coupureTexte($string->sansBalisesHtml($value['texte']), 20)) . " <a href='" . $url . "' style='font-size:11px;'>lire la suite</a>"));
             } else {
                 if ($value['urlFichier'] != '') {
                     $url = $value['urlFichier'];
                 } else {
                     $url = $this->creerUrl('', 'afficherActualite', array('archiIdActualite' => $value['idActualite']));
                 }
                 // by fabien le 23/03/2012 : ajout de stripslashes pour virer les \ sur la page d'acceuil
                 $tActualites->assign_block_vars('listeAdressesSuivantes', array('lien' => "<a style='font-size:12px;' href='" . $url . "'><span class='date'>" . $d->toFrenchAffichage($value['date']) . "</span> " . stripslashes($value['titre']) . "</a>"));
             }
             $i++;
         }
         $indiceGlobalNbActu++;
     }
     ob_start();
     $tActualites->pparse('encartActualites');
     $htmlActualites = ob_get_contents();
     ob_end_clean();
     return $htmlActualites;
 }
Example #4
0
 public function creerUrl($action = null, $affichage = null, $autre = array(), $keep = false, $clean = true)
 {
     $string = new stringObject();
     $amp = $clean ? "&amp;" : "&";
     if ($keep) {
         $url = "?" . htmlentities($_SERVER["QUERY_STRING"]) . $amp;
         $url_existe = true;
     } else {
         $url = '?';
         $url_existe = false;
     }
     if (!empty($action)) {
         $url .= 'archiAction=' . $action;
         $url_existe = true;
     }
     if (!empty($affichage)) {
         if ($url_existe == true) {
             $url .= $amp;
         }
         $url .= 'archiAffichage=' . $affichage;
         $url_existe = true;
     }
     if (is_array($autre) && count($autre) > 0) {
         $i = 0;
         foreach ($autre as $nom => $val) {
             if (is_array($val)) {
                 foreach ($val as $case) {
                     if ($url_existe == true) {
                         $url .= $amp;
                     }
                     $url .= $nom . '%5B%5D=' . urlencode($case);
                 }
             } else {
                 if ($url_existe == true || $i > 0) {
                     $url .= $amp;
                 }
                 $url .= $nom . '=' . urlencode($val);
             }
             $i++;
         }
         if ($url_existe == false) {
             $url = '?' . pia_substr($url, 1);
         }
     }
     if (isset($affichage) && $affichage == 'afficheAccueil' && isset($autre['archiNomVilleGeneral']) && $autre['archiNomVilleGeneral'] != '') {
         $url = $autre['archiNomVilleGeneral'] . "/";
     }
     /* Si l'url est un appel simple a l'affichage d'une adresse,
      * comme sur la page d'accueil par exemple, on rewrite
      * */
     if (isset($affichage) && $affichage == 'adresseDetail' && isset($autre['archiIdAdresse']) && count($autre) == 1) {
         // rewriting
         $adresse = new archiAdresse();
         $fetchAdresse = $adresse->getArrayAdresseFromIdAdresse($autre['archiIdAdresse']);
         $intitule = $adresse->getIntituleAdresse($fetchAdresse);
         $intitule = $string->convertStringToUrlRewrite($intitule);
         $url = 'adresse-' . $intitule . "-" . $autre['archiIdAdresse'] . ".html";
     }
     if (isset($affichage) && $affichage == 'detailProfilPublique' && isset($autre['archiIdUtilisateur']) && count($autre) == 1) {
         $url = 'profil-' . $autre['archiIdUtilisateur'] . '.html';
     }
     if (isset($affichage) && $affichage == 'detailProfilPublique' && isset($autre['archiIdUtilisateur']) && isset($autre['archiIdEvenementGroupeAdresseOrigine']) && count($autre) == 2) {
         $url = 'profil-' . $autre['archiIdUtilisateur'] . '-' . $autre['archiIdEvenementGroupeAdresseOrigine'] . '.html';
     }
     if (isset($autre['archiAffichage']) && $autre['archiAffichage'] == 'adresseDetail' && isset($autre['archiIdAdresse']) && count($autre) > 2) {
         // rewriting
         $adresse = new archiAdresse();
         $fetchAdresse = $adresse->getArrayAdresseFromIdAdresse($autre['archiIdAdresse']);
         $intitule = $adresse->getIntituleAdresse($fetchAdresse);
         $intitule = $string->convertStringToUrlRewrite($intitule);
         $url = 'adresse-' . $intitule . "-" . $autre['archiIdAdresse'] . ".html?check=1";
         $urlComplement = "";
         foreach ($autre as $intitule => $valeur) {
             if ($intitule != 'archiAffichage' || $intitule != 'archiIdAdresse') {
                 $urlComplement .= $amp . $intitule . "=" . $valeur;
             }
         }
         $url .= $urlComplement;
     }
     if (isset($affichage) && $affichage == 'evenementListe' && isset($autre['selection']) && $autre['selection'] == 'personne' && isset($autre['id'])) {
         $personne = new archiPersonne();
         $nomPrenom = $personne->getPersonneLibelle($autre['id']);
         $url = "personnalite-" . $string->convertStringToUrlRewrite($nomPrenom) . "-" . $autre['id'] . ".html";
     }
     if (isset($affichage) && $affichage == 'adresseListe' && isset($autre['recherche_rue']) && $autre['recherche_rue'] != '') {
         $adresse = new archiAdresse();
         $intituleRue = $adresse->getIntituleAdresseFrom($autre['recherche_rue'], 'idRue');
         $url = "rue-" . $string->convertStringToUrlRewrite(trim($intituleRue)) . "-" . $autre['recherche_rue'] . ".html";
     }
     if (isset($affichage) && $affichage == 'listeDossiers' && isset($autre['archiIdQuartier']) && $autre['archiIdQuartier'] != '' && isset($autre['modeAffichageListe']) && $autre['modeAffichageListe'] == 'parRuesDeQuartier' && isset($autre['archiPageRuesQuartier']) && $autre['archiPageRuesQuartier'] != '') {
         $adresse = new archiAdresse();
         $intituleRue = $adresse->getIntituleAdresseFrom($autre['archiIdQuartier'], 'idQuartier');
         $url = "quartier-" . $string->convertStringToUrlRewrite(trim($intituleRue)) . "-" . $autre['archiIdQuartier'] . "-page" . $autre['archiPageRuesQuartier'] . ".html";
     }
     if (isset($affichage) && $affichage == 'adresseListe' && isset($autre['recherche_quartier']) && $autre['recherche_quartier'] != '') {
         $adresse = new archiAdresse();
         $intituleRue = $adresse->getIntituleAdresseFrom($autre['recherche_quartier'], 'idQuartier');
         $url = "quartier-" . $string->convertStringToUrlRewrite(trim($intituleRue)) . "-" . $autre['recherche_quartier'] . ".html";
     }
     if (isset($affichage) && $affichage == 'adresseListe' && isset($autre['recherche_ville']) && $autre['recherche_ville'] != '') {
         $adresse = new archiAdresse();
         $intituleRue = $adresse->getIntituleAdresseFrom($autre['recherche_ville'], 'idVille');
         $url = "ville-" . $string->convertStringToUrlRewrite(trim($intituleRue)) . "-" . $autre['recherche_ville'] . ".html";
     }
     if (isset($affichage) && $affichage == 'listeAdressesFromRue' && isset($autre['recherche_rue']) && $autre['recherche_rue'] != '' && isset($autre['noAdresseSansNumero']) && $autre['noAdresseSansNumero'] == 1) {
         $adresse = new archiAdresse();
         $intituleRue = $adresse->getIntituleAdresseFrom($autre['recherche_rue'], 'idRue');
         $url = "rue-adresses-" . $string->convertStringToUrlRewrite(trim($intituleRue)) . "-" . $autre['recherche_rue'] . ".html";
     }
     if (isset($affichage) && $affichage == 'listeAdressesFromRue' && isset($autre['recherche_rue']) && $autre['recherche_rue'] != '' && !isset($autre['noAdresseSansNumero'])) {
         $adresse = new archiAdresse();
         $intituleRue = $adresse->getIntituleAdresseFrom($autre['recherche_rue'], 'idRue');
         $url = "rue-" . $string->convertStringToUrlRewrite(trim($intituleRue)) . "-" . $autre['recherche_rue'] . ".html";
     }
     if (isset($affichage) && $affichage == 'statistiquesAccueil' && count($autre) == 0) {
         $url = "statistiques-adresses-photos-architectes-strasbourg.html";
     }
     // *************************************************************
     /* Ceci ne sert qu'au copier coller de lien,
      * vu que l'information est de toute facon passée en session
      * */
     if (isset($affichage) && $affichage == 'listeDossiers' && isset($autre['archiIdVilleGeneral']) && !isset($autre['modeAffichageListe']) && !isset($autre['archiPageCouranteVille'])) {
         $adresse = new archiAdresse();
         $stringObj = new stringObject();
         $fetchInfosVille = $adresse->getInfosVille($autre['archiIdVilleGeneral'], array('fieldList' => 'v.nom as nomVille'));
         $nomVilleGeneral = $stringObj->convertStringToUrlRewrite($fetchInfosVille['nomVille']);
         $url = "dossiers-rues-quartiers-adresses-photos-" . $nomVilleGeneral . "-" . $autre['archiIdVilleGeneral'] . ".html";
     }
     if (isset($autre['archiAffichage']) && $autre['archiAffichage'] == 'listeDossiers' && isset($autre['archiPageCouranteVille']) && $autre['archiPageCouranteVille'] != '' && !isset($autre['modeAffichageListe']) && isset($autre['archiIdVilleGeneral']) && !isset($autre['lettreCourante'])) {
         $adresse = new archiAdresse();
         $stringObj = new stringObject();
         $fetchInfosVille = $adresse->getInfosVille($autre['archiIdVilleGeneral'], array('fieldList' => 'v.nom as nomVille'));
         $nomVilleGeneral = $stringObj->convertStringToUrlRewrite($fetchInfosVille['nomVille']);
         $url = "dossiers-rues-quartiers-adresses-photos-" . $nomVilleGeneral . "-" . $autre['archiIdVilleGeneral'] . "-page" . $autre['archiPageCouranteVille'] . ".html";
     }
     if (isset($autre['archiAffichage']) && $autre['archiAffichage'] == 'listeDossiers' && isset($autre['archiPageCouranteVille']) && $autre['archiPageCouranteVille'] != '' && isset($autre['modeAffichageListe']) && isset($autre['archiIdVilleGeneral']) && !isset($autre['lettreCourante'])) {
         $adresse = new archiAdresse();
         $stringObj = new stringObject();
         $fetchInfosVille = $adresse->getInfosVille($autre['archiIdVilleGeneral'], array('fieldList' => 'v.nom as nomVille'));
         $nomVilleGeneral = $stringObj->convertStringToUrlRewrite($fetchInfosVille['nomVille']);
         $url = "dossiers-rues-quartiers-adresses-photos-" . $nomVilleGeneral . "-" . $autre['archiIdVilleGeneral'] . "-page" . $autre['archiPageCouranteVille'] . "-" . $autre['modeAffichageListe'] . ".html";
     }
     // modif lettre courante
     if (isset($autre['archiAffichage']) && $autre['archiAffichage'] == 'listeDossiers' && isset($autre['archiPageCouranteVille']) && $autre['archiPageCouranteVille'] != '' && isset($autre['modeAffichageListe']) && isset($autre['archiIdVilleGeneral']) && isset($autre['lettreCourante']) && $autre['lettreCourante'] != '') {
         $adresse = new archiAdresse();
         $stringObj = new stringObject();
         $fetchInfosVille = $adresse->getInfosVille($autre['archiIdVilleGeneral'], array('fieldList' => 'v.nom as nomVille'));
         $nomVilleGeneral = $stringObj->convertStringToUrlRewrite($fetchInfosVille['nomVille']);
         $url = "dossiers-rues-quartiers-adresses-photos-" . $nomVilleGeneral . "-" . $autre['archiIdVilleGeneral'] . "-page" . $autre['archiPageCouranteVille'] . "-" . $autre['modeAffichageListe'] . "-lettre" . $autre['lettreCourante'] . ".html";
     }
     if (isset($autre['archiAffichage']) && $autre['archiAffichage'] == 'listeDossiers' && !isset($autre['archiPageCouranteVille']) && isset($autre['modeAffichageListe']) && $autre['modeAffichageListe'] != '' && isset($autre['archiIdVilleGeneral']) && isset($autre['lettreCourante'])) {
         $adresse = new archiAdresse();
         $stringObj = new stringObject();
         $fetchInfosVille = $adresse->getInfosVille($autre['archiIdVilleGeneral'], array('fieldList' => 'v.nom as nomVille'));
         $nomVilleGeneral = $stringObj->convertStringToUrlRewrite($fetchInfosVille['nomVille']);
         $url = "dossiers-rues-quartiers-adresses-photos-ville-" . $nomVilleGeneral . "-" . $autre['archiIdVilleGeneral'] . "-" . $autre['modeAffichageListe'] . "-lettre" . $autre['lettreCourante'] . ".html";
     }
     if (isset($affichage) && $affichage == 'listeDossiers' && !isset($autre['archiPageCouranteVille']) && isset($autre['modeAffichageListe']) && $autre['modeAffichageListe'] != '' && isset($autre['archiIdVilleGeneral']) && !isset($autre['lettreCourante'])) {
         $adresse = new archiAdresse();
         $stringObj = new stringObject();
         $fetchInfosVille = $adresse->getInfosVille($autre['archiIdVilleGeneral'], array('fieldList' => 'v.nom as nomVille'));
         $nomVilleGeneral = $stringObj->convertStringToUrlRewrite($fetchInfosVille['nomVille']);
         $url = "dossiers-rues-quartiers-adresses-photos-ville-" . $nomVilleGeneral . "-" . $autre['archiIdVilleGeneral'] . "-" . $autre['modeAffichageListe'] . ".html";
     }
     // ************************************************************
     if (count($autre) == 2 && isset($autre['lettreCourante']) && $autre['lettreCourante'] != '' && isset($autre['archiAffichage']) && $autre['archiAffichage'] == 'listeDossiers') {
         $url = "dossiers-rues-quartiers-adresses-photos-strasbourg-lettre" . $autre['lettreCourante'] . ".html";
     }
     if (isset($affichage) && $affichage == 'listeDossiers' && count($autre) == 0) {
         $url = "dossiers-rues-quartiers-adresses-photos-strasbourg.html";
     }
     if (isset($autre['archiAffichage']) && $autre['archiAffichage'] == 'listeDossiers' && isset($autre['archiPageCouranteVille']) && $autre['archiPageCouranteVille'] != '' && !isset($autre['modeAffichageListe']) && !isset($autre['archiIdVilleGeneral']) && isset($autre['lettreCourante']) && $autre['lettreCourante'] != '') {
         $url = "dossiers-rues-quartiers-adresses-photos-strasbourg-page" . $autre['archiPageCouranteVille'] . "-lettre" . $autre['lettreCourante'] . ".html";
     }
     if (isset($autre['archiAffichage']) && $autre['archiAffichage'] == 'listeDossiers' && isset($autre['archiPageCouranteVille']) && $autre['archiPageCouranteVille'] != '' && !isset($autre['modeAffichageListe']) && !isset($autre['archiIdVilleGeneral']) && !isset($autre['lettreCourante'])) {
         $url = "dossiers-rues-quartiers-adresses-photos-strasbourg-page" . $autre['archiPageCouranteVille'] . ".html";
     }
     if (isset($autre['archiAffichage']) && $autre['archiAffichage'] == 'listeDossiers' && isset($autre['archiPageCouranteVille']) && $autre['archiPageCouranteVille'] != '' && isset($autre['modeAffichageListe']) && !isset($autre['archiIdVilleGeneral'])) {
         $url = "dossiers-rues-quartiers-adresses-photos-strasbourg-page" . $autre['archiPageCouranteVille'] . "-" . $autre['modeAffichageListe'] . ".html";
     }
     if (isset($affichage) && $affichage == 'listeDossiers' && !isset($autre['archiPageCouranteVille']) && isset($autre['modeAffichageListe']) && $autre['modeAffichageListe'] != '' && !isset($autre['archiIdVilleGeneral']) && !isset($autre['archiPageRuesQuartier']) && !isset($autre['lettreCourante'])) {
         $url = "dossiers-rues-quartiers-adresses-photos-strasbourg-ville-" . $autre['modeAffichageListe'] . ".html";
     }
     if (isset($affichage) && $affichage == 'toutesLesDemolitions' && count($autre) == 0) {
         $url = "demolitions-toutes-adresses-strasbourg-archi.html";
     }
     if (isset($affichage) && $affichage == 'toutesLesDemolitions' && isset($autre['archiIdVilleGeneral']) && $autre['archiIdVilleGeneral'] != '' && isset($autre['archiIdPaysGeneral']) && $autre['archiIdPaysGeneral'] != '') {
         $url = "demolitions-toutes-adresses-strasbourg-archi-" . $autre['archiIdVilleGeneral'] . "-" . $autre['archiIdPaysGeneral'] . ".html";
     }
     if (isset($affichage) && $affichage == 'tousLesTravaux' && isset($autre['archiIdVilleGeneral']) && $autre['archiIdVilleGeneral'] != '' && isset($autre['archiIdPaysGeneral']) && $autre['archiIdPaysGeneral'] != '') {
         $url = "travaux-tous-adresses-strasbourg-archi-" . $autre['archiIdVilleGeneral'] . "-" . $autre['archiIdPaysGeneral'] . ".html";
     }
     if (isset($affichage) && $affichage == 'tousLesTravaux' && count($autre) == 0) {
         $url = "travaux-tous-adresses-strasbourg-archi.html";
     }
     if (isset($affichage) && $affichage == 'tousLesEvenementsCulturels' && isset($autre['archiIdVilleGeneral']) && $autre['archiIdVilleGeneral'] != '' && isset($autre['archiIdPaysGeneral']) && $autre['archiIdPaysGeneral'] != '') {
         $url = "culture-evenements-culturels-adresses-strasbourg-archi-" . $autre['archiIdVilleGeneral'] . "-" . $autre['archiIdPaysGeneral'] . ".html";
     }
     if (isset($affichage) && $affichage == 'tousLesEvenementsCulturels' && count($autre) == 0) {
         $url = "culture-evenements-culturels-adresses-strasbourg-archi.html";
     }
     if (isset($affichage) && $affichage == 'recherche' && isset($autre['archiIdVilleGeneral']) && $autre['archiIdVilleGeneral'] != '' && isset($autre['archiIdPaysGeneral']) && $autre['archiIdPaysGeneral'] != '' && isset($autre['motcle']) && $autre['motcle'] == '' && isset($autre['submit']) && $autre['submit'] == 'Rechercher') {
         $url = "adresses-nouvelles-toutes-rues-villes-quartiers" . "-strasbourg-archi-" . $autre['archiIdVilleGeneral'] . "-" . $autre['archiIdPaysGeneral'] . ".html";
     }
     if (isset($affichage) && $affichage == 'recherche' && !isset($autre['archiIdVilleGeneral']) && !isset($autre['archiIdPaysGeneral']) && isset($autre['motcle']) && $autre['motcle'] == '' && isset($autre['submit']) && $autre['submit'] == 'Rechercher') {
         $url = "adresses-nouvelles-toutes-rues-villes-quartiers" . "-strasbourg-archi.html";
     }
     if (isset($affichage) && $affichage == 'tousLesArchitectesClasses' && count($autre) == 0) {
         $url = "architectes-strasbourg-photos-classes.html";
     }
     if (isset($affichage) && $affichage == 'toutesLesRuesCompletesClassees' && count($autre) == 0) {
         $url = "rues-strasbourg-photos-classees.html";
     }
     if (isset($autre['archiAffichage']) && $autre['archiAffichage'] == 'toutesLesRuesCompletesClassees' && isset($autre['archiPageCouranteRue'])) {
         $url = "rues-strasbourg-photos-classees-" . $autre['archiPageCouranteRue'] . ".html";
     }
     if (isset($autre['archiAffichage']) && $autre['archiAffichage'] == 'tousLesArchitectesClasses' && isset($autre['archiPageCouranteArchitectes'])) {
         $url = "architectes-strasbourg-photos-classes-" . $autre['archiPageCouranteArchitectes'] . ".html";
     }
     if (isset($affichage) && $affichage == 'imageDetail' && isset($autre['archiIdImage']) && isset($autre['archiRetourAffichage']) && isset($autre['archiRetourIdName']) && isset($autre['archiRetourIdValue']) && !isset($autre['archiSelectionZone']) && !isset($action)) {
         $url = "photo-detail-strasbourg-" . $autre['archiIdImage'] . "-" . $autre['archiRetourAffichage'] . "-" . $autre['archiRetourIdName'] . "-" . $autre['archiRetourIdValue'] . ".html";
     }
     if (isset($affichage) && $affichage == 'imageDetail' && isset($autre['archiIdImage']) && isset($autre['archiRetourAffichage']) && isset($autre['archiRetourIdName']) && isset($autre['archiRetourIdValue']) && isset($autre['formatPhoto']) && !isset($autre['archiSelectionZone']) && !isset($action)) {
         $url = "photo-detail-strasbourg-" . $autre['archiIdImage'] . "-" . $autre['archiRetourAffichage'] . "-" . $autre['archiRetourIdName'] . "-" . $autre['archiRetourIdValue'] . "-" . $autre['formatPhoto'] . ".html";
     }
     if (isset($affichage) && $affichage == 'imageDetail' && isset($autre['archiIdImage']) && isset($autre['archiRetourAffichage']) && isset($autre['archiRetourIdName']) && isset($autre['archiIdAdresse'])) {
         $url = "photo-detail-strasbourg-" . $autre['archiIdImage'] . "-" . $autre['archiRetourAffichage'] . "-" . $autre['archiRetourIdName'] . "-" . $autre['archiRetourIdValue'] . "-adresse" . $autre['archiIdAdresse'] . ".html";
     }
     if (isset($affichage) && $affichage == 'imageDetail' && isset($autre['archiIdImage']) && isset($autre['archiRetourAffichage']) && isset($autre['archiRetourIdName']) && isset($autre['archiIdAdresse'])) {
         $libelleAdresse = "";
         if ($autre['archiIdAdresse'] != '') {
             $adresse = new archiAdresse();
             $fetchAdresse = $adresse->getArrayAdresseFromIdAdresse($autre['archiIdAdresse']);
             $libelleAdresse = $adresse->getIntituleAdresse($fetchAdresse);
             $libelleAdresse = $string->convertStringToUrlRewrite($libelleAdresse);
         }
         if ($libelleAdresse != '') {
             $url = "photo-detail-" . $libelleAdresse . "-" . $autre['archiIdImage'] . "-" . $autre['archiRetourAffichage'] . "-" . $autre['archiRetourIdName'] . "-" . $autre['archiRetourIdValue'] . "-adresse" . $autre['archiIdAdresse'] . ".html";
         } else {
             $url = "photo-detail-strasbourg-" . $autre['archiIdImage'] . "-" . $autre['archiRetourAffichage'] . "-" . $autre['archiRetourIdName'] . "-" . $autre['archiRetourIdValue'] . "-adresse" . $autre['archiIdAdresse'] . ".html";
         }
     }
     if (isset($affichage) && $affichage == 'tousLesCommentaires' && count($autre) == 0) {
         $url = "commentaires-archi-strasbourg.html";
     }
     if (isset($affichage) && $affichage == 'tousLesCommentaires' && isset($autre['pageCourante'])) {
         $url = "commentaires-archi-strasbourg-" . $autre['pageCourante'] . ".html";
     }
     if (isset($affichage) && $affichage == 'publiciteArticlesPresse' && count($autre) == 0) {
         $url = "archi-strasbourg-media-presse-publicite.html";
     }
     if (isset($affichage) && $affichage == "afficheAccueil" && isset($autre['archiIdVilleGeneral']) && isset($autre['archiIdPaysGeneral'])) {
         $adresse = new archiAdresse();
         $infosVille = $adresse->getInfosVille($autre['archiIdVilleGeneral'], array("fieldList" => "v.nom as nomVille"));
         $url = "accueil-ville-photos-immeubles-" . $infosVille['nomVille'] . "-" . $autre['archiIdVilleGeneral'] . "-" . $autre['archiIdPaysGeneral'] . ".html";
     }
     if (isset($affichage) && $affichage == "afficheSondageGrand" && count($autre) == 0) {
         $url = "sondage-financement-archi-strasbourg.html";
     }
     if (isset($affichage) && $affichage == "afficheSondageResultatGrand" && count($autre) == 0) {
         $url = "sondage-financement-archi-strasbourg-statistiques.html";
     }
     if (isset($affichage) && $affichage == "afficherActualite" && isset($autre['archiIdActualite'])) {
         $url = "actualites-archi-strasbourg-" . $autre['archiIdActualite'] . ".html";
     }
     if (isset($affichage) && $affichage == "toutesLesActualites" && count($autre) == 0) {
         $url = "actualites-archi-strasbourg-liste.html";
     }
     if (isset($affichage) && $affichage == "toutesLesVues" && count($autre) == 0) {
         $url = "vues-photos-archi-strasbourg.html";
     }
     if (isset($affichage) && $affichage == "adresseListe" && isset($autre['recherche_sousQuartier']) && $autre['recherche_sousQuartier'] != '') {
         $adresse = new archiAdresse();
         $reqSousQuartier = "SELECT idSousQuartier, nom as nomSousQuartier " . "FROM sousQuartier WHERE idSousQuartier='" . $autre['recherche_sousQuartier'] . "'";
         $resSousQuartier = $this->connexionBdd->requete($reqSousQuartier);
         $fetchSousQuartier = mysql_fetch_assoc($resSousQuartier);
         if ($fetchSousQuartier['nomSousQuartier'] != '' && $fetchSousQuartier['nomSousQuartier'] != 'autre') {
             $url = "sous-quartier-" . $string->convertStringToUrlRewrite(trim($fetchSousQuartier['nomSousQuartier'])) . "-" . $autre['recherche_sousQuartier'] . ".html";
         }
     }
     return $this->getUrlRacine() . $url;
 }
 public function afficheComparateur($criteres = array())
 {
     $html = "";
     $t = new Template('modules/archi/templates/');
     //$t->set_filenames((array('evl'=>'evenementFormulaire.tpl')));
     $t->set_filenames(array('comparaison' => 'comparaisonEvenements.tpl'));
     $s = new stringObject();
     // *****************************************************************************************************************
     // recuperation des parametres  , idHistoriqueEvenementAncien et idHistoriqueEvenementNouveau
     $idHistoriqueEvenementAncien = 0;
     $idHistoriqueEvenementNouveau = 0;
     // post
     if (isset($this->variablesGet['idHistoriqueEvenementAncien']) && $this->variablesGet['idHistoriqueEvenementAncien'] != '' && $this->variablesGet['idHistoriqueEvenementAncien'] != '0') {
         $idHistoriqueEvenementAncien = $this->variablesGet['idHistoriqueEvenementAncien'];
     }
     if (isset($this->variablesGet['idHistoriqueEvenementNouveau']) && $this->variablesGet['idHistoriqueEvenementNouveau'] != '' && $this->variablesGet['idHistoriqueEvenementNouveau'] != '0') {
         $idHistoriqueEvenementNouveau = $this->variablesGet['idHistoriqueEvenementNouveau'];
     }
     // ou criteres
     if (isset($criteres['idHistoriqueEvenementAncien']) && $criteres['idHistoriqueEvenementAncien'] != '' && $criteres['idHistoriqueEvenementAncien'] != '0') {
         $idHistoriqueEvenementAncien = $criteres['idHistoriqueEvenementAncien'];
     }
     if (isset($criteres['idHistoriqueEvenementNouveau']) && $criteres['idHistoriqueEvenementNouveau'] != '' && $criteres['idHistoriqueEvenementNouveau'] != '0') {
         $idHistoriqueEvenementNouveau = $criteres['idHistoriqueEvenementNouveau'];
     }
     // *****************************************************************************************************************
     // affichage de la page courante ( donc avec le nouvel idHistoriqueEvenement )
     $evenement = new archiEvenement();
     // on recupere l'idEvenement
     $query = "select idEvenement from historiqueEvenement where idHistoriqueEvenement = '" . $idHistoriqueEvenementNouveau . "'";
     $res = $this->connexionBdd->requete($query);
     $fetch = mysql_fetch_assoc($res);
     $retourCourant = "";
     if (isset($fetch['idEvenement'])) {
         $retourCourant = $this->afficher($fetch['idEvenement']);
         $retourNouveau = $evenement->afficherFromIdHistoriqueEvenement($idHistoriqueEvenementNouveau);
         $retourAncien = $evenement->afficherFromIdHistoriqueEvenement($idHistoriqueEvenementAncien);
         // en dessous nous affichons le tableau de comparaison
         $t->assign_vars(array('evenementCourant' => $retourCourant['html'], 'versionAvant' => $retourAncien, 'versionMaintenant' => $retourNouveau, 'lienVersionPrecedente' => "location.href='" . $this->creerUrl('supprimerHistoriqueEvenement', '', array('archiIdHistoriqueEvenement' => $idHistoriqueEvenementNouveau)) . "';"));
         $html .= "<b>Différences dans la description : </b><br>";
         $arrayDiffHtml = $s->getTexteDifferences(array('nouveau' => stripslashes($evenement->afficherFromIdHistoriqueEvenement($idHistoriqueEvenementNouveau, array('returnDescriptionOnly' => true))), 'ancien' => stripslashes($evenement->afficherFromIdHistoriqueEvenement($idHistoriqueEvenementAncien, array('returnDescriptionOnly' => true)))));
         $html .= $arrayDiffHtml['html'];
         //$html.= $s->getTxtDiffByPEAR(array('nouveau'=>stripslashes($evenement->afficherFromIdHistoriqueEvenement($idHistoriqueEvenementNouveau,array('returnDescriptionOnly'=>true))),'ancien'=>stripslashes($evenement->afficherFromIdHistoriqueEvenement($idHistoriqueEvenementAncien,array('returnDescriptionOnly'=>true)))));
         // => ok mais a mettre en forme
         ob_start();
         $t->pparse('comparaison');
         $html .= ob_get_contents();
         ob_end_clean();
     } else {
         $erreurObject = new objetErreur();
         $erreurObject->ajouter("L'événement ne peut pas être affiché. Celui-ci a été effacé.");
         $html .= $erreurObject->afficher();
     }
     return $html;
 }
 /**
  * Affiche la liste des sources avec des miniatures
  * 
  * @param array $params Paramètres
  * 
  * @return string HTML
  * */
 public function afficherListeSourcesAvecLogos($params = array())
 {
     $s = new stringObject();
     $bbCode = new bbCodeObject();
     $html = "<h1>" . _("Nos sources") . "</h1><br>";
     $html .= "<br>" . _("Pour assurer la crédibilité des informations renseignées par chaque internaute, nous vous livrons ici, de façon exhaustive et en toute transparence l'ensemble des sources qui sont consultées pour enrichir le site :") . "<br><br>";
     $reqCount = "SELECT 0 FROM source";
     $resCount = $this->connexionBdd->requete($reqCount);
     $nbSourcesTotal = mysql_num_rows($resCount);
     $nbEnregistrementsParPage = 15;
     $pagination = new paginationObject();
     $arrayPagination = $pagination->pagination(array('nomParamPageCourante' => 'archiPageNosSources', 'nbEnregistrementsParPage' => $nbEnregistrementsParPage, 'nbEnregistrementsTotaux' => $nbSourcesTotal, 'typeLiens' => 'noformulaire'));
     $reqArchivesMunicipalesSansIdSourceEvenement = "\n                SELECT distinct he.idEvenement FROM historiqueEvenement he, historiqueEvenement he2 WHERE he2.idEvenement=he.idEvenement AND he.numeroArchive<>'' AND (he.idSource = '0' OR he.idSource = '')\n                GROUP BY he.idEvenement,  he.idHistoriqueEvenement\n                HAVING he.idHistoriqueEvenement = max(he2.idHistoriqueEvenement)\n                ";
     $resArchivesMunicipalesSansIdSourceEvenement = $this->connexionBdd->requete($reqArchivesMunicipalesSansIdSourceEvenement);
     $nbEvenementsSansIdSourceANDArchivesMunicipales = mysql_num_rows($resArchivesMunicipalesSansIdSourceEvenement);
     $reqArchivesMunicipalesSansIdSourceImage = "\n                SELECT distinct hi.idImage FROM historiqueImage hi,  historiqueImage hi2 WHERE hi2.idImage = hi.idImage AND hi.numeroArchive<>'' AND (hi.idSource='0' OR hi.idSource='')\n                GROUP BY hi.idImage ,  hi.idHistoriqueImage\n                HAVING hi.idHistoriqueImage = max(hi2.idHistoriqueImage)\n                ";
     $resArchivesMunicipalesSansIdSourceImage = $this->connexionBdd->requete($reqArchivesMunicipalesSansIdSourceImage);
     $nbImagesSansIdSourceANDArchivesMunicipales = mysql_num_rows($resArchivesMunicipalesSansIdSourceImage);
     $nbArchivesMunicipalesSansIdSource = $nbEvenementsSansIdSourceANDArchivesMunicipales + $nbImagesSansIdSourceANDArchivesMunicipales;
     $req = "\n            SELECT idSource ,  \n            (\n                (SELECT count(distinct he.idEvenement)  FROM historiqueEvenement he WHERE he.idSource = s.idSource )\n            + \n                (SELECT count(distinct hi.idImage) FROM historiqueImage hi WHERE hi.idSource = s.idSource)\n            + if (idSource=24, {$nbArchivesMunicipalesSansIdSource}, 0)\n            ) \n            as sumnb\n            FROM source s\n            ORDER BY sumnb DESC\n        ";
     $req = $pagination->addLimitToQuery($req);
     $res = $this->connexionBdd->requete($req);
     $t = new tableau();
     $t->addValue("");
     $t->addValue("<b>" . _("Sources") . "</b>");
     $t->addValue("<b><span style='font-size:12px;'>" . _("Nombre de liaisons (articles ou photos)") . "</span></b>");
     while ($fetch = mysql_fetch_assoc($res)) {
         $reqSource = "\n                    SELECT s.idSource as idSource,  s.nom as nomSource ,  ts.nom as nomTypeSource,  s.description as description\n                    FROM source s\n                    LEFT JOIN typeSource ts ON ts.idTypeSource = s.idTypeSource\n                    WHERE idSource = '" . $fetch['idSource'] . "'\n                    ";
         $resSource = $this->connexionBdd->requete($reqSource);
         $fetchSource = mysql_fetch_assoc($resSource);
         $image = "&nbsp;";
         $url = $this->creerUrl('', 'listeAdressesFromSource', array('source' => $fetch['idSource'], 'submit' => 'Rechercher'));
         if (file_exists($this->getCheminPhysique() . "images/logosSources/" . $fetch['idSource'] . ".jpg")) {
             $image = "<a href='" . $url . "'><img src='" . $this->getUrlImage() . "logosSources/" . $fetch['idSource'] . ".jpg' border=0></a>";
         }
         $nomTypeSource = "";
         if (isset($fetchSource['nomTypeSource']) && $fetchSource['nomTypeSource'] != '') {
             $nomTypeSource = " (" . $fetchSource['nomTypeSource'] . ")";
         }
         $description = $s->coupureTexte(strip_tags($bbCode->convertToDisplay(array('text' => stripslashes($fetchSource['description'])))), 10);
         $t->addValue($image, "style='width:200px;'");
         $t->addValue("<a href='" . $url . "'>" . stripslashes($fetchSource['nomSource']) . $nomTypeSource . "</a><br>" . $description);
         $t->addValue($fetch['sumnb']);
     }
     $html .= $arrayPagination['html'];
     $html .= $t->createHtmlTableFromArray(3);
     $html .= $arrayPagination['html'];
     return $html;
 }
    function getEventInfosMiscImage($idVueSur, $idAdresseCible, $label)
    {
        $adresse = new archiAdresse();
        $string = new stringObject();
        $imageHTML = "";
        foreach ($idVueSur as $idImage) {
            //Requete SQL sur l'id de l'image pour récupérer les infos relatives a l'image (description, id, date upload)
            $requeteInfoImage = "\n    \t\t\t\tSELECT hi1.idHistoriqueImage , hi1.description,hi1.dateUpload\n    \t\t\t\tFROM historiqueImage hi1 , historiqueImage hi2\n    \t\t\t\tWHERE hi1.idImage = {$idImage}\n    \t\t\t\tAND hi2.idImage = hi1.idImage\n    \t\t\t\tGROUP BY hi1.idImage,  hi1.idHistoriqueImage\n    \t\t\t\tHAVING hi1.idHistoriqueImage = max(hi2.idHistoriqueImage)\n    \t\t\t\t";
            $resultInfoImage = $this->connexionBdd->requete($requeteInfoImage);
            $valuesImage = mysql_fetch_assoc($resultInfoImage);
            $idEvenementGroupeAdresse = $this->variablesGet['archiIdEvenementGroupeAdresse'];
            $hrefImage = $this->creerUrl('', 'imageDetail', array('archiIdImage' => $idImage, 'archiRetourAffichage' => 'evenement', 'archiRetourIdName' => 'idEvenement', 'archiRetourIdValue' => $idEvenementGroupeAdresse)) . "'";
            //OnClickImage
            //divePAramIdGroupeAdresseAffiche
            //alt
            $reqAdresse = "    SELECT ha1.numero as numero,\n                                    r.nom as nomRue,\n                                    sq.nom as nomSousQuartier,\n                                    q.nom as nomQuartier,\n                                    v.nom as nomVille,\n                                    p.nom as nomPays,\n                                    ha1.numero as numeroAdresse,\n                                    ha1.idRue,\n                                    r.prefixe as prefixeRue,\n                                    IF (ha1.idSousQuartier != 0,  ha1.idSousQuartier,  r.idSousQuartier) AS idSousQuartier,\n                                    IF (ha1.idQuartier != 0,  ha1.idQuartier,  sq.idQuartier) AS idQuartier,\n                                    IF (ha1.idVille != 0,  ha1.idVille,  q.idVille) AS idVille,\n                                    IF (ha1.idPays != 0,  ha1.idPays,  v.idPays) AS idPays\n\n\n                            FROM historiqueAdresse ha2,  historiqueAdresse ha1\n\n                            LEFT JOIN _evenementImage ei ON ei.idImage = '" . $idImage . "'\n                            LEFT JOIN _evenementEvenement ee ON ee.idEvenementAssocie = ei.idEvenement\n                            LEFT JOIN _adresseEvenement ae ON ae.idEvenement = ee.idEvenement\n\n\n\n                            LEFT JOIN rue r ON r.idRue = ha1.idRue\n                            LEFT JOIN sousQuartier sq ON sq.idSousQuartier = if (ha1.idRue='0' and ha1.idSousQuartier!='0' , ha1.idSousQuartier , r.idSousQuartier )\n                            LEFT JOIN quartier q ON q.idQuartier = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier!='0' , ha1.idQuartier , sq.idQuartier )\n                            LEFT JOIN ville v ON v.idVille = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille!='0' , ha1.idVille , q.idVille )\n                            LEFT JOIN pays p ON p.idPays = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille='0' and ha1.idPays!='0' , ha1.idPays , v.idPays )\n\n\n                            WHERE ha2.idAdresse = ha1.idAdresse\n\n                            AND ha1.idAdresse = ae.idAdresse\n                            GROUP BY ha1.idAdresse,  ha1.idHistoriqueAdresse\n                            HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)\n                            LIMIT 1\n            ";
            $resAdresse = $this->connexionBdd->requete($reqAdresse);
            $fetchAdresse = mysql_fetch_assoc($resAdresse);
            $intituleAdresse = trim($adresse->getIntituleAdresse($fetchAdresse));
            $intituleAdresseAlt = trim(strip_tags(str_replace("'", " ", $intituleAdresse)));
            $title = trim($string->sansBalises(strip_tags(stripslashes($valuesImage['description']))) . ' ' . $intituleAdresseAlt);
            $alt = trim($string->sansBalises(strip_tags(stripslashes($valuesImage['description']))) . ' ' . $intituleAdresseAlt);
            //bbcode init
            $bbCode = new bbCodeObject();
            $imageHTML .= '
    				<div class="inline-div">
	    				<a class="imgResultGrp"
	    					href=\' ' . $hrefImage . '\'>
		    				<div class="imgResultHover">
			    				<img
			    						itemprop="image"
			    						onclick="' . $onClickImage . '"
			    						id="image' . $valuesImage['idHistoriqueImage'] . $divParamIdGroupeAdresseAffiche . '"
			    						alt="' . htmlspecialchars($alt) . '"
			    						src="' . 'photos--' . $valuesImage['dateUpload'] . '-' . $valuesImage['idHistoriqueImage'] . '-moyen.jpg' . '"
			    						class="eventImage" />
			    				<p>' . strip_tags($bbCode->convertToDisplay(array('text' => $valuesImage['description']))) . '</p>
			    			</div>
	    				</a>
	    				<div class="imgDesc">' . $bbCode->convertToDisplay(array('text' => $valuesImage['description'])) . '</div>
    				</div>
    						';
        }
        return array('titre' => $label . " " . $adresse->getIntituleAdresseFrom($idAdresseCible, 'idAdresse'), 'imagesLiees' => $imageHTML);
    }
 /**
  * Afficher la gestion des étapes d'un parcours
  * 
  * @param array $params Paramètres
  * 
  * @return string HTML
  * */
 public function getHtmlGestionEtapesParcours($params = array())
 {
     $html = "<h1>Gestion des étapes du parcours</h1>";
     $idParcours = 0;
     if (isset($this->variablesGet['archiIdParcours']) && $this->variablesGet['archiIdParcours'] != '') {
         $f = new formGenerator();
         $a = new archiAdresse();
         $bbCode = new bbCodeObject();
         $s = new stringObject();
         $formName = 'formGestionEtapes';
         $popupChoixAdresses = new calqueObject(array('idPopup' => 'popupChoixAdresses'));
         $popupVisualisationGoogleMap = new calqueObject(array('idPopup' => 'popupVisualisationGoogleMap'));
         $idParcours = $this->variablesGet['archiIdParcours'];
         $reqNbEtapes = "SELECT idEtape FROM etapesParcoursArt WHERE idParcours = '" . $idParcours . "'";
         $resNbEtapes = $this->connexionBdd->requete($reqNbEtapes);
         $html .= "<br>nombre d'étapes : " . mysql_num_rows($resNbEtapes) . "<br>";
         $reqListeEtapes = "SELECT idEtape,idEvenementGroupeAdresse,position,commentaireEtape FROM etapesParcoursArt WHERE idParcours = '" . $idParcours . "' ORDER BY position ASC,idEtape ASC";
         $resListeEtapes = $this->connexionBdd->requete($reqListeEtapes);
         $listeTriableObject = new imageObject();
         // dans l'objet image , il y a une fonction qui permet de creer des listes triables par drag and drop
         $html .= "<script>" . $listeTriableObject->getJSFunctionsDragAndDrop() . "</script>";
         $i = 0;
         $arrayListeEtapes = array();
         while ($fetchListeEtapes = mysql_fetch_assoc($resListeEtapes)) {
             $arrayListeEtapes[$i]['idEtape'] = array('value' => $fetchListeEtapes['idEtape'], 'type' => 'identifiant');
             $arrayListeEtapes[$i]['#'] = array('value' => $i + 1, 'type' => 'free');
             $arrayListeEtapes[$i]['&nbsp;'] = array('value' => "<a href='" . $this->creerUrl('', 'etapesParcoursFormulaire', array('archiIdEtape' => $fetchListeEtapes['idEtape'], 'archiIdParcours' => $idParcours)) . "'>" . $fetchListeEtapes['idEtape'] . "</a>", 'type' => 'free', 'widthColonne' => 50);
             $arrayListeEtapes[$i]['adresse'] = array('value' => $a->getIntituleAdresseFrom($fetchListeEtapes['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse', array('setSeparatorAfterTitle' => '<br>', 'displayFirstTitreAdresse' => true, 'noVille' => true, 'noQuartier' => true, 'noSousQuartier' => true)), 'type' => 'free', 'widthColonne' => 250);
             $arrayListeEtapes[$i]['commentaire'] = array('type' => 'free', 'widthColonne' => 400, 'value' => $s->coupureTexte($s->sansBalisesHtml(stripslashes($fetchListeEtapes['commentaireEtape'])), 10));
             $coords = $a->getCoordonneesFrom($fetchListeEtapes['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse');
             $i++;
         }
         $boutonValidationOrdreEtapes = "<input type='button' name='validationOrdreAffichage' value='Validation ordre des étapes' onclick=\"document.getElementById('" . $formName . "').action='" . $this->creerUrl('enregistrerOrdreEtapesParcours', 'etapesParcoursFormulaire', array('archiIdParcours' => $idParcours)) . "';" . $listeTriableObject->getJSSubmitDragAndDrop() . "document.getElementById('" . $formName . "').submit();\">";
         $html .= $listeTriableObject->createSortableFormListeFromArray($arrayListeEtapes, array('styleEntete' => 'font-weight:bold;background-color:#007799;color:#FFFFFF;')) . $boutonValidationOrdreEtapes;
         $sousTitre = "Ajout d'une étape";
         $idEtape = 0;
         $libelleAdresse = '';
         $commentaireEtape = '';
         $idAdresse = '';
         $idEvenementGroupeAdresse = 0;
         $boutonNouveau = "";
         $boutonVisualisation = "<input type='button' name='visualisation' value='Visualiser' onclick=\"" . $popupVisualisationGoogleMap->getJSOpenPopup() . "document.getElementById('" . $popupVisualisationGoogleMap->getJSIFrameId() . "').src='" . $this->creerUrl('', 'carteGoogleMapParcoursArt', array('noHeaderNoFooter' => 1, 'archiIdParcours' => $idParcours)) . "'\">";
         $boutonRetour = "<input type='button' name='retour' value='Retour' onclick=\"location.href='" . $this->creerUrl('', 'adminListeParcours', array()) . "';\">";
         $boutonSupprimer = "";
         // ajout d'une nouvelle etape
         $formAction = $this->creerUrl('ajouterEtapeParcours', 'etapesParcoursFormulaire', array('archiIdParcours' => $idParcours));
         if (mysql_num_rows($resNbEtapes) == 0) {
             // si pas d'etapes encore , on peut definir un message
         } else {
             // il y a une ou plusieurs etapes dans le parcours
             if (isset($this->variablesGet['archiIdEtape']) && $this->variablesGet['archiIdEtape'] != '') {
                 $idEtape = $this->variablesGet['archiIdEtape'];
                 $reqEtape = "SELECT idEvenementGroupeAdresse,commentaireEtape FROM etapesParcoursArt WHERE idEtape='" . $idEtape . "'";
                 $resEtape = $this->connexionBdd->requete($reqEtape);
                 $fetchEtape = mysql_fetch_assoc($resEtape);
                 $sousTitre = _("Modification d'une étape");
                 $formAction = $this->creerUrl('modifierEtapeParcours', 'etapesParcoursFormulaire', array('archiIdParcours' => $idParcours, 'archiIdEtape' => $this->variablesGet['archiIdEtape']));
                 $commentaireEtape = $fetchEtape['commentaireEtape'];
                 $libelleAdresse = $a->getIntituleAdresseFrom($fetchEtape['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse');
                 $idAdresse = '';
                 $idEvenementGroupeAdresse = $fetchEtape['idEvenementGroupeAdresse'];
                 $boutonNouveau = "<input type='button' name='boutonNouveau' value='Nouveau' onclick=\"location.href='" . $this->creerUrl('', 'etapesParcoursFormulaire', array('archiIdParcours' => $idParcours)) . "';\">";
                 $boutonSupprimer = "<input type='button' name='boutonSupprimer' value='Supprimer' onclick=\"location.href='" . $this->creerUrl('supprimerEtapeParcours', 'etapesParcoursFormulaire', array('archiIdParcours' => $idParcours, 'archiIdEtapeSupprimer' => $idEtape)) . "';\">";
                 $coord = $a->getCoordonneesFrom($fetchEtape['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse');
             } else {
                 $coord = array("latitude" => "", "longitude" => "");
             }
         }
         $bbCodeElementsArray = $bbCode->getBoutonsMiseEnFormeTextArea(array('formName' => $formName, 'fieldName' => 'commentaireEtape'));
         $html .= "<hr/>";
         // formulaire ajout-modif etape
         $html .= "<h2>{$sousTitre}</h2>";
         $configFields = array('idParcours' => array('libelle' => 'idParcours', 'type' => 'hidden', 'error' => '', 'value' => '', 'forceValueTo' => $idParcours, 'htmlCode' => ''), 'idEtape' => array('libelle' => 'idEtape', 'type' => 'hidden', 'error' => '', 'value' => '', 'forceValueTo' => $idEtape, 'htmlCode' => ''), 'libelleEvenementGroupeAdresse' => array('libelle' => _('Adresse'), 'type' => 'text', 'error' => '', 'value' => '', 'forceValueTo' => $libelleAdresse, 'htmlCode' => "style='width:300px;' disabled", 'htmlCode2' => "<input type='button' name='choixAdresse' value='Choisir' onclick=\"document.getElementById('" . $popupChoixAdresses->getJSDivId() . "').style.top=(getScrollHeight()+70)+'px';" . $popupChoixAdresses->getJSOpenPopup() . "document.getElementById('" . $popupChoixAdresses->getJSIFrameId() . "').src='" . $this->creerUrl('', 'recherche', array('noHeaderNoFooter' => 1, 'modeAffichage' => 'popupRechercheAdresseAdminParcours')) . "';\">"), 'latitude' => array('libelle' => _('Latitude'), 'type' => 'text', 'error' => '', 'value' => '', 'forceValueTo' => $coord["latitude"], 'htmlCode' => "style='width:300px;' readonly onclick='this.select();'"), 'longitude' => array('libelle' => _('Longitude'), 'type' => 'text', 'error' => '', 'value' => '', 'forceValueTo' => $coord["longitude"], 'htmlCode' => "style='width:300px;' readonly onclick='this.select();'"), 'idEvenementGroupeAdresse' => array('libelle' => 'idEvenementGroupeAdresse', 'type' => 'hidden', 'error' => '', 'value' => '', 'forceValueTo' => $idEvenementGroupeAdresse, 'htmlCode' => "style='width:300px;'"), 'commentaireEtape' => array('libelle' => 'commentaire', 'type' => 'bigText', 'error' => '', 'value' => '', 'forceValueTo' => $commentaireEtape, 'default' => '', 'htmlCode' => "style='width:500px;height:200px;'", 'htmlCodeBeforeField' => $bbCodeElementsArray['boutonsHTML'], 'htmlCode2' => $bbCodeElementsArray['divAndJsAfterForm']));
         $configForm = array('fields' => $configFields, 'formAction' => $formAction, 'formName' => $formName, 'onClickSubmitButton' => $listeTriableObject->getJSSubmitDragAndDrop(), 'codeHtmlAfterSubmitButton' => $boutonSupprimer . $boutonNouveau . $boutonVisualisation . $boutonRetour, 'codeHtmlInFormAfterFields' => $listeTriableObject->getJSInitAfterListDragAndDrop());
         $html .= $f->afficherFromArray($configForm);
         $html .= $popupChoixAdresses->getDiv(array('lienSrcIFrame' => $this->creerUrl('', 'recherche', array('noHeaderNoFooter' => 1, 'modeAffichage' => 'popupRechercheAdresseAdminParcours')), 'width' => 750, 'height' => 500, 'left' => 10, 'top' => 70, 'titre' => 'archi-strasbourg.org : Parcours'));
         $html .= $popupVisualisationGoogleMap->getDiv(array('lienSrcIFrame' => ''));
         // on ne precharge pas la carte google map sinon il y a un bug au niveau de la carte , le centre se placerai en haut a gauche
         $html .= "<script  >" . $popupChoixAdresses->getJsToDragADiv() . "</script>";
         // on rend le div deplacable
         $html .= "<script  >" . $popupVisualisationGoogleMap->getJsToDragADiv() . "</script>";
         // on rend le div deplacable
     }
     return $html;
 }
        $req = "\n\t\t\tSELECT ha.idHistoriqueAdresse,ha.idAdresse\n\t\t\tFROM historiqueAdresse ha\n\t\t\t{$paramReq}\n\t\t\tORDER BY ha.idHistoriqueAdresse\n\t\t\tLIMIT 10\n\t\t";
        break;
    case "ville":
        $req = "\n\t\t\tSELECT v.idVille as idVille,v.nom as nomVille,p.nom as nomPays, concat(v.nom,' ',p.nom) as libelleAdresse\n\t\t\tFROM ville v\n\t\t\tLEFT JOIN pays p ON p.idPays = v.idPays\n\t\t\t{$paramReq}\n\t\t\tAND v.nom!='autre'\n\t\t\tORDER BY v.idVille\n\t\t\tLIMIT 10\n\t\t";
        break;
    default:
        break;
}
echo $req;
echo "<h1>Recuperation des coordonnées de latitudes et longitudes</h1>";
$paramsGoogleMap = array('googleMapKey' => $config->googleMapKey);
$googleMap = new googleMap($paramsGoogleMap);
echo $googleMap->getJsFunctions();
// recuperation des adresses des arrets
$res = $config->connexionBdd->requete($req);
$str = new stringObject();
echo "\n\t\t<script language='javascript'>\n\t\tgeocoder = new GClientGeocoder();\n\t\t</script>\n";
echo "\n<div id='debug' style='background-color:blue;color:white;'>\n</div>\n<form action='?ajout=1' name='formAdresses' id=formAdresses method='POST' enctype='multipart/form-data'>\n<input type='text' value='{$idSuivant}' name='idATraiter'>\n";
$a = new archiAdresse();
$i = 0;
while ($fetch = mysql_fetch_assoc($res)) {
    if ($typeTable != 'ville') {
        $adresse = $a->getIntituleAdresseFrom($fetch['idAdresse'], 'idAdresse', array("noQuartier" => true, "noSousQuartier" => true));
        if (!$str->isUTF8($adresse)) {
            $adresse = utf8_encode($adresse);
        }
    } else {
        $adresse = $fetch['libelleAdresse'];
    }
    echo "\n\t{$adresse}\n\t<input type='text' name='latitude_arret[" . $fetch[$identifiant] . "]' id='latitude_arret_" . $fetch[$identifiant] . "' value=''>\n\t<input type='text' name='longitude_arret[" . $fetch[$identifiant] . "]' id='longitude_arret_" . $fetch[$identifiant] . "' value=''><br>\n\t";
}