Пример #1
0
 public function creerUrl($action = null, $affichage = null, $autre = array(), $keep = false, $clean = true)
 {
     $string = new stringObject();
     $amp = $clean ? "&" : "&";
     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 afficherAdressesLiees($idImage = 0)
 {
     $html = "";
     $t = new Template('modules/archi/templates/');
     $t->set_filenames(array('listeAdresses' => 'listeAdressesLiesAImage.tpl'));
     $authentification = new archiAuthentification();
     if ($authentification->estConnecte()) {
         $t->assign_block_vars('isConnected', array());
     }
     $reqAdressesLiees = "\n        SELECT ha.numero as numero,  ai.etage as etage,\n        ha.idRue as idRue,  ha.idSousQuartier as idSousQuartier,  ha.idQuartier as idQuartier,  ha.idVille as idVille,  ha.idPays as idPays,\n        ai.prisDepuis as prisDepuis,  ai.seSitue as seSitue,  ai.hauteur as hauteur, ai.idAdresse as idAdresse\n\n        FROM historiqueAdresse hab,  historiqueAdresse ha\n\n        RIGHT JOIN _adresseImage ai ON ai.idAdresse = ha.idAdresse\n\n        LEFT JOIN rue r         ON r.idRue = ha.idRue\n        LEFT JOIN sousQuartier sq    ON sq.idSousQuartier = ha.idSousQuartier\n        LEFT JOIN quartier q        ON q.idQuartier = ha.idQuartier\n        LEFT JOIN ville v        ON v.idVille = ha.idVille\n        LEFT JOIN pays p        ON p.idPays = ha.idPays\n\n        WHERE ai.idImage = '" . $idImage . "'\n            AND hab.idAdresse = ha.idAdresse\n\n        GROUP BY ha.idAdresse,  ha.idHistoriqueAdresse\n\n        HAVING ha.idHistoriqueAdresse = max(hab.idHistoriqueAdresse)\n        ";
     $resAdressesLiees = $this->connexionBdd->requete($reqAdressesLiees);
     $adresses = new archiAdresse();
     $recherche = new archiRecherche();
     $arrayListeIdAdresses = array();
     while ($fetch = mysql_fetch_assoc($resAdressesLiees)) {
         $nomAdressePrisDepuis = $adresses->getNomAdresse($adresses->getArrayAdresseFromIdAdresse($fetch['prisDepuis']));
         $nomAdresseSeSitue = $adresses->getNomAdresse($adresses->getArrayAdresseFromIdAdresse($fetch['seSitue']));
         $t->assign_block_vars('adressesLiees', array('intitule' => $adresses->getAdresseToDisplay($fetch), 'hauteur' => $fetch['hauteur'], 'etage' => $fetch['etage'], 'prisDepuis' => $fetch['prisDepuis'], 'idAdresse' => $fetch['idAdresse'], 'urlPopupSeSitue' => "#", 'onClickPopupSeSitue' => "document.getElementById('paramChampsAppelantAdresse').value='seSitue_" . $fetch['idAdresse'] . "';document.getElementById('calqueAdresse').style.display='block';", 'urlPopupPrisDepuis' => "#", 'onClickPopupPrisDepuis' => "document.getElementById('paramChampsAppelantAdresse').value='prisDepuis_" . $fetch['idAdresse'] . "';document.getElementById('calqueAdresse').style.display='block';", 'prisDepuisTxt' => $nomAdressePrisDepuis, 'seSitueTxt' => $nomAdresseSeSitue));
         $arrayListeIdAdresses[] = $fetch['idAdresse'];
     }
     $t->assign_vars(array('formAction' => $this->creerUrl('modifImageAdressesLiees', '', array('archiIdImage' => $idImage)), 'listeIdAdresses' => implode(',  ', $arrayListeIdAdresses), 'popupAdresses' => $recherche->getPopupChoixAdresse('resultatRechercheAdresseCalqueImageChampMultipleRetourSimple')));
     ob_start();
     $t->pparse('listeAdresses');
     $html = ob_get_contents();
     ob_end_clean();
     return $html;
 }
    public function afficher($idEvenement = null, $modeAffichage = '', $idHistoriqueEvenement = null, $paramChampCache = array(), $params = array())
    {
        $authentification = new ArchiAuthentification();
        $estConnecte = $authentification->estConnecte();
        $estAdmin = $authentification->estAdmin();
        $estModerateur = $authentification->estModerateur();
        $userId = $authentification->getIdUtilisateur();
        $html = '';
        $erreurObject = new objetErreur();
        $t = new Template('modules/archi/templates/');
        $t->set_filenames(array('ev' => 'evenement.tpl'));
        $isMH = false;
        $isISMH = false;
        $isAffichageSingleEvenement = false;
        $listeGroupeAdressesAffichees = array();
        // liste des groupes d'adresses reellement affichés , donc dans cette liste ne figure pas les groupe d'adresses ou il n'y a pas d'evenements liés
        $u = new archiUtilisateur();
        // on renvoi le nom de type de structure ( ceci sert a voir si on affiche aussi le type de structure sur l'evenement suivant du groupe d'adresse (pour eviter les redondances) )
        $retourIdTypeStructure = "";
        // on renvoi le titre de l'evenement pour l'affichage des ancres
        $retourTitreAncre = "";
        $retourNomTypeEvenement = "";
        $retourDate = "";
        $retourDateFin = "";
        $nomTable = "evenements";
        $adresse = new archiAdresse();
        $imageObject = new imageObject();
        // objet image du framework
        $idAdresseCourante = 0;
        if (isset($this->variablesGet['archiIdAdresse']) && $this->variablesGet['archiIdAdresse'] != '') {
            $idAdresseCourante = $this->variablesGet['archiIdAdresse'];
        }
        $t->assign_vars(array("divDisplayMenuAction" => "none"));
        if (!isset($idEvenement) || $idEvenement == null || $idEvenement == '') {
            if (isset($this->variablesGet['archiIdEvenement']) && $this->variablesGet['archiIdEvenement'] != '') {
                if ($modeAffichage != 'consultationHistoriqueEvenement') {
                    $idEvenement = $this->variablesGet['archiIdEvenement'];
                }
            }
        }
        // fabrication de la requete en fonction des parametres
        $sqlEvenementsAdressesLiees = "";
        if (empty($idEvenement)) {
            if ($modeAffichage == 'consultationHistoriqueEvenement') {
                // on affiche les idHistoriqueEvenement de l'evenement choisi
                $isAffichageSingleEvenement = true;
                $sqlWhere = 'hE.idHistoriqueEvenement=' . $idHistoriqueEvenement;
                $nomTable = "historiqueEvenement";
            }
            if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage'] == 'comparaisonEvenement') {
                // debug pour eviter un message d'erreur si l'evenement n'existe pas dans l'affichage de la comparaison d'evenement ancien/nouveau
            }
        } else {
            if ($modeAffichage == 'simple') {
                // l'idEvenement en parametre correspond a l'evenement enfant a afficher
                $sqlWhere = 'hE.idEvenement=' . $idEvenement;
            } else {
                // l'idEvenement en parametres correspond a un evenement enfant on va donc chercher l'evenement parent qui correspond au groupe d'adresses
                $sqlWhere = '(hE.idEvenement=
						IF (
						(SELECT _eE.idEvenement FROM _evenementEvenement _eE
						LEFT JOIN evenements USING (idEvenement)
						LEFT JOIN typeEvenement tE USING (idTypeEvenement) WHERE idEvenementAssocie=' . $idEvenement . ' LIMIT 1),
						(SELECT _eE.idEvenement FROM _evenementEvenement _eE
						LEFT JOIN evenements USING (idEvenement)
						LEFT JOIN typeEvenement tE USING (idTypeEvenement) WHERE idEvenementAssocie=' . $idEvenement . ' LIMIT 1),
						' . $idEvenement . ')) ';
                // si on est en mode de deplacement d'image
                // ou de selection de titre
                // on rajoute le formulaire sur la page
                if ($estConnecte && (isset($this->variablesGet['afficheSelectionImage']) && $this->variablesGet['afficheSelectionImage'] == '1' || isset($this->variablesGet['afficheSelectionTitre']) && $this->variablesGet['afficheSelectionTitre'] == '1')) {
                    $html .= "<form action='' name='formulaireEvenement' method='POST' enctype='multipart/form-data' id='formulaireEvenement'>\n\t\t\t\t\t\t\t<input type='hidden' name='actionFormulaireEvenement' id='actionFormulaireEvenement' value=''>";
                }
            }
        }
        if (isset($sqlWhere)) {
            /*
             **  REQUÊTE
             */
            // recuperation des données de l'evenement groupe d'adresses
            // on ne fait pas de group by   having
            // on prend simplement le dernier enregistrement classé selon l'idHistoriqueEvenement
            // et donc le nombre de resultats de la requete permet de recuperer le nombre d'historiques sur l'evenement dans la foulée
            $sql = 'SELECT  hE.idEvenement,
					hE.titre, hE.idSource,
					hE.idTypeStructure,
					hE.idTypeEvenement,
					hE.description,
					hE.dateDebut,
					hE.dateFin,
					hE.dateDebut,
					hE.dateFin,
					tE.nom AS nomTypeEvenement,
					tS.nom AS nomTypeStructure,
					s.nom AS nomSource,
					u.nom AS nomUtilisateur,
					u.prenom as prenomUtilisateur,
					tE.groupe,
					hE.ISMH ,
					hE.MH,
					date_format(hE.dateCreationEvenement,"' . _("%e/%m/%Y à %kh%i") . '") as dateCreationEvenement,
					hE.isDateDebutEnviron as isDateDebutEnviron,
					u.idUtilisateur as idUtilisateur,
					hE.numeroArchive as numeroArchive

					FROM ' . $nomTable . ' hE
					LEFT JOIN source s      ON s.idSource = hE.idSource
					LEFT JOIN typeStructure tS  ON tS.idTypeStructure = hE.idTypeStructure
					LEFT JOIN typeEvenement tE  ON tE.idTypeEvenement = hE.idTypeEvenement
					LEFT JOIN utilisateur u     ON u.idUtilisateur = hE.idUtilisateur
					WHERE ' . $sqlWhere . '
			ORDER BY hE.idEvenement DESC';
            $rep = $this->connexionBdd->requete($sql);
        } else {
            echo "<p><strong>Cette fiche n'existe plus, merci de <a href='" . $this->creerUrl("", "contact") . "'>contacter un administrateur</a>.</strong></p>";
        }
        // lien vers le formulaire d'ajout d'une adresse pour un evenement parent
        // recherche de l'evenement parent
        $idEvenementGroupeAdresse = $this->getParent($idEvenement);
        if ($idEvenementGroupeAdresse == 0) {
            $idEvenementGroupeAdresse = $idEvenement;
            // pas de parent trouvé , donc l'evenement est lui meme un parent
        }
        // ***************************
        // gestion mode deplacement d'images
        // ***************************
        $styleColorDeplacementActif = "";
        $afficheSelectionImages = 1;
        if ($estConnecte && isset($this->variablesGet['afficheSelectionImage']) && $this->variablesGet['afficheSelectionImage'] == '1') {
            $styleColorDeplacementActif = "color:red;";
            $afficheSelectionImages = 0;
        }
        $t->assign_vars(array('urlLierAdresseAEvenement' => $this->creerUrl('', 'formulaireGroupeAdresses', array('archiIdEvenementGroupeAdresses' => $idEvenementGroupeAdresse)), 'urlAjouterEvenement' => $this->creerUrl('', 'ajouterSousEvenement', array('archiIdEvenement' => $idEvenementGroupeAdresse)), 'urlDeplacerImages' => $this->creerUrl('', 'evenement', array('idEvenement' => $idEvenementGroupeAdresse, 'afficheSelectionImage' => $afficheSelectionImages)), 'styleModeDeplacementImageActif' => "{$styleColorDeplacementActif};"));
        // **********************************
        // gestion selection du titre du groupe d'adresse
        // **********************************
        $styleColorSelectionTitreActif = "";
        $afficheSelectionTitre = 1;
        if ($estConnecte && isset($this->variablesGet['afficheSelectionTitre']) && $this->variablesGet['afficheSelectionTitre'] == '1') {
            $styleColorSelectionTitreActif = "color:red;";
            $afficheSelectionTitre = 0;
        }
        $t->assign_vars(array('urlSelectionTitreAdresse' => $this->creerUrl('', 'evenement', array('idEvenement' => $idEvenementGroupeAdresse, 'afficheSelectionTitre' => $afficheSelectionTitre)), 'styleModeChoixTitre' => $styleColorSelectionTitreActif));
        // *******************************************
        // gestion selection de l'image principale du groupe d'adresse
        // *******************************************
        $styleColorSelectionImagePrincipaleActif = "";
        $afficheSelectionImagePrincipale = 1;
        if ($estConnecte && isset($this->variablesGet['afficheSelectionImagePrincipale']) && $this->variablesGet['afficheSelectionImagePrincipale'] == '1') {
            $styleColorSelectionImagePrincipaleActif = "color:red";
            $afficheSelectionImagePrincipale = 0;
        }
        $t->assign_vars(array('urlSelectionImagePrincipale' => $this->creerUrl('', 'evenement', array('idEvenement' => $idEvenementGroupeAdresse, 'afficheSelectionImagePrincipale' => $afficheSelectionImagePrincipale)), 'styleModeSelectionImagePrincipale' => $styleColorSelectionImagePrincipaleActif));
        // *******************************************
        // gestion positionnement evenements
        // *******************************************
        $styleColorPositionnementEvenements = "";
        $affichePositionnementEvenements = 1;
        if ($estConnecte && isset($this->variablesGet['affichePositionnementEvenements']) && $this->variablesGet['affichePositionnementEvenements'] == '1') {
            $styleColorPositionnementEvenements = "color:red";
            $affichePositionnementEvenements = 0;
            $this->addToJsHeader($imageObject->getJSFunctionsDragAndDrop(array('withBalisesScript' => true)));
            // rajoute les fonctions de deplacement d'elements dans le header du formulaire
        }
        $t->assign_vars(array('urlPositionnementEvenements' => $this->creerUrl('', 'evenement', array('archiIdAdresse' => $idAdresseCourante, 'idEvenement' => $idEvenementGroupeAdresse, 'affichePositionnementEvenements' => $affichePositionnementEvenements)), 'styleModePositionnementEvenements' => $styleColorPositionnementEvenements));
        if (isset($sqlWhere) && mysql_num_rows($rep) > 0) {
            $nbHistorique = mysql_num_rows($rep) - 1;
            // on ne compte pas le groupe d'adresse qui a le meme idEvenement
            $res = mysql_fetch_object($rep);
            $idEvenement = $res->idEvenement;
            // si c'est un groupe d'adresse, on n'affiche pas le détail de l'événement, juste ses événements enfants
            if ($res->groupe != 3) {
                if ($modeAffichage === 'simple' || $modeAffichage == 'consultationHistoriqueEvenement') {
                    $t->assign_block_vars('simple', array());
                    // si l'evenement est un evenement externe au groupe d'adresse , on affiche un menu different a droite
                    if (isset($params['isLieFromOtherAdresse']) && $params['isLieFromOtherAdresse'] == true) {
                        // on recupere d'abord l'idAdresse de cet evenement externe
                        $reqAdresses = $adresse->getIdAdressesFromIdEvenement(array('idEvenement' => $idEvenement));
                        $resAdresses = $this->connexionBdd->requete($reqAdresses);
                        $fetchAdressesExternes = mysql_fetch_assoc($resAdresses);
                        $intituleAdresse = $adresse->getIntituleAdresseFrom($fetchAdressesExternes['idAdresse'], 'idAdresse');
                        //$t->assign_vars(array("divDisplayMenuAction"=>"none"));
                        $ancrePositionAdresseLiee = "";
                        $positionSurAdresseOrigine = $adresse->getPositionFromEvenement($idEvenement);
                        if ($positionSurAdresseOrigine != '' && $positionSurAdresseOrigine != '0') {
                            $ancrePositionAdresseLiee = "#" . $positionSurAdresseOrigine;
                        }
                        $t->assign_vars(array("urlEvenementExterne" => "<small>" . _("Adresse d'origine :") . " <a href='" . $this->creerUrl('', 'adresseDetail', array('archiIdAdresse' => $fetchAdressesExternes['idAdresse'])) . $ancrePositionAdresseLiee . "'>" . $intituleAdresse . "</a></small>"));
                    } else {
                        if ($modeAffichage != 'consultationHistoriqueEvenement') {
                            $t->assign_vars(array("divDisplayMenuAction" => "table"));
                        }
                    }
                    if ($estConnecte) {
                        $t->assign_block_vars('simple.menuAction', array());
                        if ($modeAffichage != 'consultationHistoriqueEvenement') {
                            if (isset($params['isLieFromOtherAdresse']) && $params['isLieFromOtherAdresse'] == true) {
                                $t->assign_vars(array("divDisplayMenuAction" => "none"));
                                // si un utilisateur est connecté , et que l'evenement est un evenement lie , on affiche pas le menu d'action
                            } else {
                                $t->assign_vars(array("divDisplayMenuAction" => "table"));
                                // si un utilisateur est connecté et que l'evenement n'est pas un evenement lié, on affiche le menu d'action
                            }
                        } else {
                            $t->assign_vars(array("divDisplayMenuAction" => "none"));
                            // si on est en mode d'affichage de l'historique d'un evenement, on ne propose pas de menu action
                        }
                        if ($u->isAuthorized('evenement_lier_adresses', $userId)) {
                            if (!archiPersonne::isPerson($idEvenementGroupeAdresse) && ($u->getIdProfil($userId) == 4 || $u->isModerateurFromVille($userId, $idEvenementGroupeAdresse, 'idEvenementGroupeAdresse'))) {
                                $t->assign_block_vars('simple.menuAction.afficheElementMenuLierAdresse', array());
                            }
                        }
                    }
                    if ($estAdmin) {
                        $t->assign_block_vars('simple.menuAction.isAdmin', array());
                    }
                    if ($u->isAuthorized('evenement_supprimer', $userId)) {
                        $isModerateurFromVilleCourante = false;
                        if ($authentification->getIdProfil() == 3) {
                            //moderateur
                            $arrayVillesModerees = $u->getArrayVillesModereesPar($userId);
                            $idVilleAdresseCourante = $adresse->getIdVilleFrom($idEvenement, 'idEvenement');
                            if (in_array($idVilleAdresseCourante, $arrayVillesModerees)) {
                                $isModerateurFromVilleCourante = true;
                            }
                        }
                        if ($authentification->getIdProfil() == 4 || $isModerateurFromVilleCourante) {
                            // est on administrateur ou moderateur de la ville ?
                            $t->assign_block_vars('simple.menuAction.isAdminOrModerateurFromVille', array());
                            if ($estConnecte && $estAdmin && isset($this->variablesGet['afficheSelectionImage']) && $this->variablesGet['afficheSelectionImage'] == '1') {
                                $t->assign_block_vars('simple.menuAction.isAdmin.isAffichageSelectionImages', array());
                            }
                        }
                    }
                    if (!archiPersonne::isPerson($idEvenementGroupeAdresse) && $u->isAuthorized('evenement_deplacer', $userId)) {
                        $t->assign_block_vars('simple.menuAction.afficheElementMenuDeplacerEvenement', array());
                    }
                    if ($estConnecte && $estAdmin && isset($this->variablesGet['afficheSelectionImage']) && $this->variablesGet['afficheSelectionImage'] == '1') {
                        //$t->assign_block_vars('simple.menuAction.isAdminOrModerateurFromVille',array());
                    }
                }
                // ******************************************************************************************************
                // Affichage des dates
                $dateTxt = "";
                $environDateDebutTxt = "";
                if ($res->isDateDebutEnviron == '1') {
                    $environDateDebutTxt = "environ ";
                }
                switch (strtolower($res->nomTypeEvenement)) {
                    case 'information (nouveautés)':
                    case 'extension':
                    case 'inauguration':
                    case 'exposition':
                        $articleAvantTypeEvenement = "de l'";
                        break;
                    default:
                        $articleAvantTypeEvenement = "de";
                        break;
                }
                if (substr($res->dateDebut, 5) == "00-00") {
                    $datetime = substr($res->dateDebut, 0, 4);
                } else {
                    $datetime = $res->dateDebut;
                }
                if ($res->nomTypeEvenement == 'Construction') {
                    if ($res->dateDebut != '0000-00-00') {
                        $dateTxt = _("Année de construction :") . " <time itemprop='startDate' datetime='" . $datetime . "'>" . $environDateDebutTxt . $this->date->toFrenchAffichage($res->dateDebut) . "</time>";
                    }
                    if ($res->dateFin != '0000-00-00') {
                        $dateTxt .= " (-> " . $this->date->toFrenchAffichage($res->dateFin) . ")";
                        $retourDateFin = " (-> " . $this->date->toFrenchAffichage($res->dateFin) . ")";
                    }
                } else {
                    if ($res->dateDebut != '0000-00-00') {
                        if ($res->MH != '1' && $res->ISMH != '1') {
                            if (pia_strlen($this->date->toFrench($res->dateDebut)) <= 4) {
                                if (archiPersonne::isPerson($idEvenementGroupeAdresse)) {
                                    $nomTypeEvenement = "début";
                                } else {
                                    $nomTypeEvenement = strtolower($res->nomTypeEvenement);
                                }
                                $dateTxt = _("Année") . " " . $articleAvantTypeEvenement . " <time itemprop='startDate' datetime='" . $datetime . "'>" . $nomTypeEvenement . " : {$environDateDebutTxt}" . $this->date->toFrenchAffichage($res->dateDebut) . "</time>";
                            } else {
                                if (archiPersonne::isPerson($idEvenementGroupeAdresse)) {
                                    $typeEvenement = "";
                                } else {
                                    $typeEvenement = $articleAvantTypeEvenement . " " . strtolower($res->nomTypeEvenement);
                                }
                                $dateTxt = _("Date") . " <time itemprop='startDate' datetime='" . $datetime . "'>" . $typeEvenement . " : {$environDateDebutTxt}" . $this->date->toFrenchAffichage($res->dateDebut) . "</time>";
                            }
                        }
                        if ($res->MH == '1') {
                            $dateTxt = "<b>" . _("Classement Monument Historique") . "</b> {$environDateDebutTxt} le " . $this->date->toFrenchAffichage($res->dateDebut);
                            $isMH = true;
                        }
                        if ($res->ISMH == '1') {
                            $dateTxt = "<b>" . _("Inscription à l'Inventaire Supplémentaire des Monuments Historiques") . "</b> {$environDateDebutTxt} : " . $this->date->toFrenchAffichage($res->dateDebut);
                            if ($res->MH == '1') {
                                $dateTxt .= "<br><b>" . _("Classement Monument Historique") . "</b> {$environDateDebutTxt} : " . $this->date->toFrenchAffichage($res->dateDebut);
                            }
                            $isISMH = true;
                        }
                    }
                    if ($res->dateFin != '0000-00-00') {
                        if (pia_strlen($this->date->toFrench($res->dateFin)) <= 4) {
                            $dateTxt .= " " . _("à") . " " . $this->date->toFrenchAffichage($res->dateFin);
                        } else {
                            $dateTxt .= " " . _("au") . " " . $this->date->toFrenchAffichage($res->dateFin);
                        }
                    }
                }
                // ******************************************************************************************************
                // on renseigne la variable nomTypeStructure pour la renvoyer au retour de la fonction
                $retourIdTypeStructure = $res->idTypeStructure;
                // idem pour le titre qui sera affiché en resume pour le tableau de liens
                $retourTitreAncre = "";
                if (stripslashes($res->titre) != '') {
                    $retourTitreAncre .= htmlspecialchars(stripslashes($res->titre));
                } else {
                    $retourTitreAncre .= _("Sans titre");
                }
                $retourNomTypeEvenement = $res->nomTypeEvenement;
                $retourDate = $environDateDebutTxt . " " . $this->date->toFrench($res->dateDebut);
                $dateDebut = $res->dateDebut;
                if (isset($paramChampCache['idTypeStructurePrecedent']) && $res->idTypeStructure == $paramChampCache['idTypeStructurePrecedent']) {
                    $typeStructure = '';
                } else {
                    if (archiPersonne::isPerson($idEvenementGroupeAdresse)) {
                        $typeStructure = "";
                    } else {
                        $typeStructure = "Structure : <a href='" . $this->creerUrl('', 'evenementListe', array('selection' => 'typeStructure', 'id' => $res->idTypeStructure)) . "'>" . $res->nomTypeStructure . "</a><br>";
                    }
                }
                $source = "";
                if ($res->idSource != 0) {
                    $source = "Source : <a href='" . $this->creerUrl('', 'listeAdressesFromSource', array('source' => $res->idSource, 'submit' => 'Rechercher')) . "' onmouseover=\"document.getElementById('calqueDescriptionSource').style.top=(getScrollHeight()+150)+'px';\n\t\t\t\t\t\t\t\t\tdocument.getElementById('calqueDescriptionSource').style.display='block';\n\t\t\t\t\t\t\t\t\tdocument.getElementById('iframe').src='" . $this->creerUrl('', 'descriptionSource', array('archiIdSource' => $res->idSource, 'noHeaderNoFooter' => 1)) . "';\"\n\t\t\t\t\t\t\t\t\t>" . stripslashes($res->nomSource) . "</a><br>";
                } else {
                    // exception temporaire (?)
                    if ($res->numeroArchive != '') {
                        // s'il y a un numero d'archive et pas de source précisée , on dit que la source est "archives municipales" (voir fabien)
                        $reqSourceStatic = "SELECT nom as nomSource FROM source WHERE idSource='24'";
                        $resSourceStatic = $this->connexionBdd->requete($reqSourceStatic);
                        $fetchSourceStatic = mysql_fetch_assoc($resSourceStatic);
                        $source = "Source : <a href='" . $this->creerUrl('', 'listeAdressesFromSource', array('submit' => 'Rechercher', 'source' => 24)) . "' onmouseover=\"document.getElementById('calqueDescriptionSource').style.top=(getScrollHeight()+150)+'px';document.getElementById('calqueDescriptionSource').style.display='block';document.getElementById('iframe').src='" . $this->creerUrl('', 'descriptionSource', array('archiIdSource' => 24, 'noHeaderNoFooter' => 1)) . "';\" onmouseout=\"document.getElementById('calqueDescriptionSource').style.display='none';\">" . stripslashes($fetchSourceStatic['nomSource']) . "</a><br>";
                    }
                }
                // DESCRIPTION ---
                $bbCode = new bbCodeObject();
                $description = $bbCode->convertToDisplay(array('text' => $res->description));
                $description = empty($description) ? "" : "<div itemprop='description' class='desc'>" . $description . "</div>";
                // --
                // numeroArchive
                $numeroArchive = "";
                if ($res->numeroArchive != '') {
                    // modif fabien du 15/04/2011 suite mail directrice Archives de Strasbourg Mme Perry Laurence
                    $numeroArchive = "Cote Archives de Strasbourg : " . $res->numeroArchive . "<br>";
                }
                $adressesLieesHTML = $this->getAdressesLieesAEvenement(array('modeRetour' => 'affichageSurDetailEvenement', 'idEvenement' => $idEvenement));
                if ($adressesLieesHTML != '') {
                    $adressesLieesHTML = "<b>" . _("Liste des adresses liées :") . "</b> <br>" . $adressesLieesHTML;
                }
                // recherche s'il y a un historique sur l'evenement courant ( plusieurs mises à jour)
                $lienHistoriqueEvenementCourant = "";
                $labelHistorique = "";
                if ($estConnecte && $this->getNbEvenementsInHistorique(array('idEvenement' => $idEvenement)) > 1 && $modeAffichage != 'consultationHistoriqueEvenement' && (!isset($params['isLieFromOtherAdresse']) || $params['isLieFromOtherAdresse'] != true)) {
                    $labelHistorique = _("(Consulter l'historique)");
                    $lienHistoriqueEvenementCourant = $this->creerUrl('', 'consultationHistoriqueEvenement', array('archiIdEvenement' => $idEvenement));
                }
                $onClickEvenementDeplacerVersGA = "";
                if ($estConnecte && $u->isAuthorized('evenement_deplacer', $userId) && $modeAffichage != 'consultationHistoriqueEvenement' && isset($params['calquePopupDeplacerEvenement'])) {
                    $onClickEvenementDeplacerVersGA = "document.getElementById('" . $params['calquePopupDeplacerEvenement']->getJSIFrameId() . "').src='" . $this->creerUrl('', 'recherche', array('noHeaderNoFooter' => 1, 'modeAffichage' => "popupDeplacerEvenementVersGroupeAdresse", "idEvenementADeplacer" => $res->idEvenement)) . "';document.getElementById('" . $params['calquePopupDeplacerEvenement']->getJSDivId() . "').style.display='block';";
                }
                $dateEnvoi = "";
                $txtEnvoi = _("envoyé");
                if (!$this->isFirstIdHistoriqueEvenementFromHistorique($res->idEvenement)) {
                    $txtEnvoi = _("modifié");
                }
                $dateEnvoi = _("le") . " " . $res->dateCreationEvenement;
                $arrayIdAdresseToUrl = array();
                if (isset($this->variablesGet['archiIdAdresse']) && $this->variablesGet['archiIdAdresse'] != '') {
                    $arrayIdAdresseToUrl = array('archiIdAdresse' => $this->variablesGet['archiIdAdresse']);
                }
                $resTypeEvenement = $this->connexionBdd->requete("SELECT idTypeEvenement,nom FROM typeEvenement where groupe = '" . $this->getGroupeFromTypeEvenement($res->idTypeEvenement) . "'");
                $fetchTypeEvenement = mysql_fetch_assoc($resTypeEvenement);
                if (archiPersonne::isPerson($idEvenementGroupeAdresse)) {
                    $typeEvenement = _("Biographie");
                    $urlTypeEvenement = "";
                } else {
                    $typeEvenement = $res->nomTypeEvenement;
                    $urlTypeEvenement = $this->creerUrl('', 'evenementListe', array('selection' => 'typeEvenement', 'id' => $res->idTypeEvenement));
                }
                $titre = empty($res->titre) ? "<meta itemprop='name' content='" . $fetchTypeEvenement['nom'] . "' />" : "<h3 itemprop='name'>" . htmlspecialchars(stripslashes($res->titre)) . "</h3>";
                $user = new archiUtilisateur();
                $user->setUserId($res->idEvenement);
                $urlProfilPic = $user->getImageAvatar(array('idUtilisateur' => $res->idUtilisateur));
                $utilisateur = "<a href='" . $this->creerUrl('', 'detailProfilPublique', array('archiIdUtilisateur' => $res->idUtilisateur, 'archiIdEvenementGroupeAdresseOrigine' => $idEvenementGroupeAdresse)) . "'>" . $res->nomUtilisateur . " " . $res->prenomUtilisateur . "</a>";
                $t->assign_vars(array('txtEnvoi' => $txtEnvoi, 'dateEnvoi' => $dateEnvoi, 'titre' => $titre, 'utilisateur' => "<a href='" . $this->creerUrl('', 'detailProfilPublique', array('archiIdUtilisateur' => $res->idUtilisateur, 'archiIdEvenementGroupeAdresseOrigine' => $idEvenementGroupeAdresse)) . "'>" . $res->nomUtilisateur . " " . $res->prenomUtilisateur . "</a>", 'dates' => $dateTxt, 'typeEvenement' => $typeEvenement, 'typeStructure' => $typeStructure, 'idSource' => $res->idSource, 'source' => $source, 'description' => $description, 'urlTypeEvenement' => $urlTypeEvenement, 'urlTypeStructure' => $this->creerUrl('', 'evenementListe', array('selection' => 'typeStructure', 'id' => $res->idTypeStructure)), 'ajouterEvenement' => '', 'supprimerEvenement' => $this->creerUrl('supprimerEvenement', '', array('archiIdEvenement' => $res->idEvenement)), 'supprimerHistoriqueEvenement' => $this->creerUrl('supprimerHistoriqueEvenement', '', array('archiIdHistoriqueEvenement' => $res->idHistoriqueEvenement)), 'ajouterImage' => $this->creerUrl('', 'ajoutImageEvenement', array('archiIdEvenement' => $res->idEvenement)), 'modifierImage' => $this->creerUrl('', 'modifierImageEvenement', array('archiIdEvenement' => $res->idEvenement)), 'modifierEvenement' => $this->creerUrl('', 'modifierEvenement', array_merge(array('archiIdEvenement' => $res->idEvenement, 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse), $arrayIdAdresseToUrl)), 'urlImporterImage' => "#", 'onClickImporterImage' => "document.getElementById('formulaireEvenement').action='" . $this->creerUrl('deplacerImagesSelectionnees', 'evenement', array('idEvenement' => $idEvenement)) . "&deplacerVersIdEvenement=" . $res->idEvenement . "';document.getElementById('actionFormulaireEvenement').value='deplacerImages';if(confirm('Voulez-vous vraiment déplacer ces images ?')){document.getElementById('formulaireEvenement').submit();}", 'urlSupprimerImage' => "#", 'onClickSupprimerImage' => "document.getElementById('formulaireEvenement').action='" . $this->creerUrl('supprimerImagesSelectionnees', 'evenement', array('idEvenement' => $idEvenement)) . "';document.getElementById('actionFormulaireEvenement').value='supprimerImages';if(confirm('Voulez-vous vraiment supprimer ces images ?')){document.getElementById('formulaireEvenement').submit();}", 'urlLierAdresses' => $this->creerUrl('', 'afficheFormulaireEvenementAdresseLiee', array('idEvenement' => $res->idEvenement)), 'listeAdressesLiees' => $adressesLieesHTML, 'lienHistoriqueEvenementCourant' => $lienHistoriqueEvenementCourant, 'urlDeplacerVersNouveauGroupeAdresse' => $this->creerUrl('deplacerEvenementVersNouveauGA', 'evenement', array('idEvenement' => $res->idEvenement)), 'onClickDeplacerVersAdresses' => $onClickEvenementDeplacerVersGA, 'numeroArchive' => $numeroArchive, 'idEvenement' => $res->idEvenement, 'urlProfilPic' => $urlProfilPic, 'infoTitre' => $utilisateur . " a " . $txtEnvoi . " un événement", 'txtEnvoi' => $txtEnvoi, 'labelLienHistorique' => $labelHistorique));
                $idEvenement = $res->idEvenement;
                // affichage des images de l'evenement
                if ($modeAffichage != 'consultationHistoriqueEvenement') {
                    $images = new archiImage();
                    $arrayImagesVuesSurByDate = array();
                    if (isset($params['imagesVuesSurLinkedByDate']) && count($params['imagesVuesSurLinkedByDate']) > 0) {
                        $arrayImagesVuesSurByDate = $params['imagesVuesSurLinkedByDate'];
                    }
                    $t->assign_vars(array('imagesLiees' => $images->afficherFromEvenement($idEvenement, array('withoutImagesVuesSurPrisesDepuis' => true, 'imagesVuesSurLinkedByDate' => $arrayImagesVuesSurByDate, 'idGroupeAdresseEvenementAffiche' => $idEvenementGroupeAdresse))));
                }
                if (($idPerson = archiPersonne::isPerson($idEvenementGroupeAdresse)) && isset($params["nextEvent"])) {
                    $req = "\n\t\t\t\t\t\t\tSELECT dateDebut\n\t\t\t\t\t\t\tFROM evenements\n\t\t\t\t\t\t\tWHERE idEvenement = '" . $params["nextEvent"] . "'\n\t\t\t\t\t\t\t\t\tORDER BY idEvenement DESC LIMIT 1\n\t\t\t\t\t\t\t\t\t";
                    $res = $this->connexionBdd->requete($req);
                    $date2 = mysql_fetch_object($res);
                    $linkedEventsHTML = archiPersonne::displayEvenementsLies($idPerson, $dateDebut, $date2->dateDebut);
                    $t->assign_vars(array("evenementsLiesPersonne" => $linkedEventsHTML));
                } elseif ($idPerson = archiPersonne::isPerson($idEvenementGroupeAdresse)) {
                    $linkedEventsHTML = archiPersonne::displayEvenementsLies($idPerson, $dateDebut, 3000);
                    $t->assign_vars(array("evenementsLiesPersonne" => $linkedEventsHTML));
                }
                /*
                 * COURANTS ARCHI
                 */
                $rep = $this->connexionBdd->requete('
						SELECT  cA.idCourantArchitectural, cA.nom
						FROM _evenementCourantArchitectural _eA
						LEFT JOIN courantArchitectural cA  ON cA.idCourantArchitectural  = _eA.idCourantArchitectural
						WHERE _eA.idEvenement=' . $idEvenement . '
						ORDER BY cA.nom ASC');
                if (mysql_num_rows($rep) > 0) {
                    $t->assign_block_vars('simple.isCourantArchi', array());
                    while ($res = mysql_fetch_object($rep)) {
                        $t->assign_block_vars('simple.isCourantArchi.archi', array('url' => $this->creerUrl('', 'evenementListe', array('selection' => 'courant', 'id' => $res->idCourantArchitectural)), 'nom' => $res->nom));
                    }
                }
                /*
                 **  PERSONNES
                 */
                $rep = $this->connexionBdd->requete('
						SELECT  p.idPersonne, m.nom as metier, p.nom, p.prenom
						FROM _evenementPersonne _eP
						LEFT JOIN personne p ON p.idPersonne = _eP.idPersonne
						LEFT JOIN metier m ON m.idMetier = p.idMetier
						WHERE _eP.idEvenement=' . $idEvenement . '
						ORDER BY p.nom DESC');
                $metier = "";
                while ($res = mysql_fetch_object($rep)) {
                    if (isset($res->metier) && $res->metier != '') {
                        $metier = $res->metier . ' : ';
                    }
                    $t->assign_block_vars('simple.pers', array('urlDetail' => $this->creerUrl('', 'personne', array('idPersonne' => $res->idPersonne)), 'urlEvenement' => $this->creerUrl('', 'evenementListe', array('selection' => 'personne', 'id' => $res->idPersonne)), 'nom' => stripslashes($res->nom), 'prenom' => stripslashes($res->prenom), 'metier' => stripslashes($metier), 'idPerson' => $res->idPersonne, 'idEvent' => $idEvenement));
                    if ($estConnecte) {
                        $t->assign_block_vars('simple.pers.connected', array());
                    }
                }
                //*
                //**    Historique
                //*/
                $t->assign_vars(array('nbHistorique' => $nbHistorique));
                if ($nbHistorique > 0) {
                    $t->assign_block_vars('histo', array('url' => $this->creerUrl('', 'historiqueEvenement', array('idEvenement' => $idEvenement))));
                }
            }
            // *************************************************************************************************************************************
            // affichage des adresses et evenements lies dans la partie supérieur du detail
            // que l'événement soit un groupe d'adresse ou non, on affiche les enfants
            // *************************************************************************************************************************************
            if ($modeAffichage != 'simple' && $modeAffichage != 'consultationHistoriqueEvenement') {
                $tabIdEvenementsLies = $this->getEvenementsLies($idEvenement);
                // recherche des sous evenements (idEvenementAssocie) du groupe d'adresse
                if (count($tabIdEvenementsLies) > 0) {
                    $listeGroupeAdressesAffichees[] = $idEvenement;
                    $t->assign_block_vars('noSimple', array());
                    // vu que la fonction afficher est recursive , on affiche cette partie uniquement en affichant 'non simple'
                    //=> affichage simple = affichage de l'evenement => affichage non simple = affichage de la page ...
                    if ($modeAffichage == "personne") {
                    } else {
                        $retourAdresse = $adresse->afficherListe(array('archiIdEvenement' => $idEvenement, 'useTemplateFile' => 'listeAdressesDetailEvenement.tpl'), "listeDesAdressesDuGroupeAdressesSurDetailAdresse");
                        // modeAffichage => listeDesAdressesDuGroupeAdressesSurDetailAdresse
                    }
                    $idAdresseCourante = 0;
                    if (isset($this->variablesGet['archiIdAdresse']) && $this->variablesGet['archiIdAdresse'] != '') {
                        $idAdresseCourante = $this->variablesGet['archiIdAdresse'];
                    }
                    if ($modeAffichage != "personne") {
                        // ************************************************************************************************************************
                        // affichage carte googlemap dans une iframe
                        $coordonnees = $adresse->getCoordonneesFrom($idEvenement, 'idEvenementGroupeAdresse');
                        //$retourAdresse['arrayIdAdresses'][0]
                        // si pas de coordonnees , on va chercher les coordonnees de la ville courante
                        if ($coordonnees['longitude'] == 0 && $coordonnees['latitude'] == 0) {
                            $idVilleAdresseCourante = $adresse->getIdVilleFrom($idAdresseCourante, 'idAdresse');
                            $coordonnees = $adresse->getCoordonneesFrom($idVilleAdresseCourante, 'idVille');
                        }
                        $calqueGoogleMap = new calqueObject(array('idPopup' => 10));
                        $contenuIFramePopup = $this->getContenuIFramePopupGoogleMap(array('idAdresseCourante' => $idAdresseCourante, 'calqueObject' => $calqueGoogleMap, 'idEvenementGroupeAdresseCourant' => $idEvenement));
                        // ********************************************************************************************************************************
                        $t->assign_block_vars('noSimple.isCarteGoogle', array('src' => $this->creerUrl('', 'afficheGoogleMapIframe', array('noHeaderNoFooter' => 1, 'longitude' => $coordonnees['longitude'], 'latitude' => $coordonnees['latitude'], 'archiIdAdresse' => $idAdresseCourante, 'archiIdEvenementGroupeAdresse' => $idEvenement)), 'lienVoirCarteGrand' => "<a href='#' onclick=\"" . $calqueGoogleMap->getJsOpenPopupNoDraggableWithBackgroundOpacity() . "document.getElementById('iFrameDivPopupGM').src='" . $this->creerUrl('', 'afficheGoogleMapIframe', array('longitude' => $coordonnees['longitude'], 'latitude' => $coordonnees['latitude'], 'noHeaderNoFooter' => true, 'archiIdAdresse' => $idAdresseCourante, 'archiIdEvenementGroupeAdresse' => $idEvenement, 'modeAffichage' => 'popupDetailAdresse')) . "';\" class='bigger' style='font-size:11px;'>" . _("Voir la carte en + grand") . "</a>", 'popupGoogleMap' => $calqueGoogleMap->getDivNoDraggableWithBackgroundOpacity(array('top' => 20, 'lienSrcIFrame' => '', 'contenu' => $contenuIFramePopup))));
                        //'popupGoogleMap'=>$calqueGoogleMap->getDiv(array('width'=>550,'height'=>570,'lienSrcIFrame'=>''))."<script  >".$calqueGoogleMap->getJsToDragADiv()."</script>"
                        $t->assign_vars(array('largeurTableauResumeAdresse' => 415, 'hauteurRecapAdresse' => '270'));
                        // ************************************************************************************************************************
                        // affichage de l'encars des adresses avec les photos avant et apres l'adresse courante
                        $arrayEncartAdresses = $adresse->getArrayEncartAdressesImmeublesAvantApres(array('idEvenementGroupeAdresse' => $idEvenementGroupeAdresse));
                        $t->assign_block_vars('noSimple.adresses', array('adressesLiees' => $arrayEncartAdresses['html']));
                        $t->assign_vars(array('urlAutresBiensRue' => $retourAdresse['arrayRetourLiensVoirBatiments']['urlAutresBiensRue'], 'urlAutresBiensQuartier' => $retourAdresse['arrayRetourLiensVoirBatiments']['urlAutresBiensQuartier']));
                        if ($estConnecte) {
                            $t->assign_block_vars('noSimple.isConnected', array());
                            $t->assign_block_vars('noSimple.adresses.isConnected', array());
                        }
                        if ($retourAdresse['nbAdresses'] == 0) {
                            $t->assign_vars(array('intituleActionAdresses' => _("Ajouter une adresse")));
                        } else {
                            $t->assign_vars(array('intituleActionAdresses' => _("Modifier")));
                        }
                        if ($estConnecte && $estAdmin) {
                            // si l'utilisateur est connecté et est admin, on affiche le lien pour selectionner des images
                            $t->assign_block_vars('noSimple.isConnected.afficheLienSelectionImages', array());
                        }
                        if ($estConnecte && $u->isAuthorized('affiche_menu_evenement_choix_titre', $userId)) {
                            if ($u->getIdProfil($userId) == 4 || $u->isModerateurFromVille($userId, $idEvenementGroupeAdresse, 'idEvenementGroupeAdresse')) {
                                // tout utilisateur autorisé (admin+moderateur de la ville)  peut changer le titre par defaut du groupe d'adresse en selectionnant l'evenement de son choix ( le titre est récupéré de cet evenement),si l'autorisation est faite dans la gestion des droites de l'admin du site
                                $t->assign_block_vars('noSimple.isConnected.afficheLienSelectionTitre', array());
                            }
                        }
                        if ($estConnecte && $u->isAuthorized('affiche_menu_evenement_choix_image_principale', $userId)) {
                            if ($u->getIdProfil($userId) == 4 || $u->isModerateurFromVille($userId, $idEvenementGroupeAdresse, 'idEvenementGroupeAdresse')) {
                                // un utilisateur moderateur de la ville de l'adresse courant ou un admin peuvent selectionner ou changer l'image principale du groupe d'adresse,si l'autorisation est faite dans la gestion des droites de l'admin du site
                                $t->assign_block_vars('noSimple.isConnected.afficheLienSelectionImagePrincipale', array());
                            }
                        }
                        if ($estConnecte && $u->isAuthorized('affiche_menu_evenement_positionnement_evenements', $userId)) {
                            if ($u->getIdProfil($userId) == 4 || $u->isModerateurFromVille($userId, $idEvenementGroupeAdresse, 'idEvenementGroupeAdresse')) {
                                // un utilisateur moderateur de la ville courante ou admin peuvent changer la position des evenements, independemment de la date de debut de l'evenement ,si l'autorisation est faite dans la gestion des droites de l'admin du site
                                $t->assign_block_vars('noSimple.isConnected.afficheLienPositionnementEvenements', array());
                            }
                        }
                    }
                    //popup pour la recherche d'adresse dans le cas d'un deplacement d'evenement
                    if ($estConnecte && $u->isAuthorized('evenement_deplacer', $userId)) {
                        $c = new calqueObject(array('idPopup' => "divPopupDeplacerEvenementVersGA" . $idEvenementGroupeAdresse));
                        $t->assign_vars(array('divDeplacerEvenementVersGA' => $c->getDiv(array('lienSrcIFrame' => $this->creerUrl('', 'recherche', array('noHeaderNoFooter' => 1, 'modeAffichage' => 'popupDeplacerEvenementVersGroupeAdresse')), 'titrePopup' => _("Recherche d'adresses"), 'width' => 700))));
                        $params['calquePopupDeplacerEvenement'] = $c;
                    }
                    $images = new archiImage();
                    // **********************************************************************************************************************************************************
                    // recherche des images en rapport avec l'adresse courante
                    $resAdressesCourantes = $adresse->getAdressesFromEvenementGroupeAdresses($idEvenement);
                    $listeAdressesFromEvenement = array();
                    while ($fetchAdressesCourantes = mysql_fetch_assoc($resAdressesCourantes)) {
                        $listeAdressesFromEvenement[] = $fetchAdressesCourantes['idAdresse'];
                    }
                    if ($modeAffichage == "personne") {
                    } else {
                        $arrayCorrespondancesVuesSur = $this->getArrayCorrespondancesIdImageVuesSurAndEvenementByDateFromGA($idEvenementGroupeAdresse);
                        $arrayNoDiplayIdImageVueSur = array();
                        foreach ($arrayCorrespondancesVuesSur as $indice => $values) {
                            foreach ($values as $indice => $value) {
                                $arrayNoDiplayIdImageVueSur[] = $value['idImage'];
                            }
                        }
                    }
                    if (count($listeAdressesFromEvenement) > 0) {
                        $arrayAutresVuesSur = $images->getAutresPhotosVuesSurAdresse($listeAdressesFromEvenement, 'moyen', array('noDiplayIdImage' => $arrayNoDiplayIdImageVueSur, 'idEvenementGroupeAdresse' => $idEvenementGroupeAdresse, 'idGroupeAdresseEvenementAffiche' => $idEvenementGroupeAdresse, 'setZoomOnImageZone' => true));
                        $autresVuesSurHTML = $arrayAutresVuesSur['htmlVueSur'];
                        $codeARajouterALaFin = $arrayAutresVuesSur['htmlZonesDivMapJs'];
                        $autresPrisesDepuisHTML = $images->getAutresPhotosPrisesDepuisAdresse($listeAdressesFromEvenement, 'moyen', array('idEvenementGroupeAdresse' => $idEvenementGroupeAdresse, 'idGroupeAdresseEvenementAffiche' => $idEvenementGroupeAdresse));
                        if ($autresVuesSurHTML != '') {
                            $t->assign_block_vars('noSimple.autresVuesSur', array('value' => $autresVuesSurHTML));
                        }
                        if ($autresPrisesDepuisHTML != '') {
                            $t->assign_block_vars('noSimple.autresPrisesDepuis', array('value' => $autresPrisesDepuisHTML));
                        }
                        $arrayLiens = array();
                        if ($modeAffichage != "personne") {
                            $arrayListeAdressesCourantes = array_unique($retourAdresse['arrayIdAdresses']);
                        }
                        //foreach($arrayListeAdressesCourantes as $indice => $idAdresseCourante)
                        //{
                        $arrayLiens[] = "<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $idAdresseCourante, 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse)) . "'>" . $adresse->getIntituleAdresseFrom($idEvenementGroupeAdresse, 'idEvenementGroupeAdresse', array("noQuartier" => true, "noVille" => true, "noSousQuartier" => true, "ifTitreAfficheTitreSeulement" => true)) . "</a>";
                        //}
                        $t->assign_vars(array('listeAdressesCourantes' => implode(" / ", $arrayLiens)));
                    }
                    // **********************************************************************************************************************************************************
                    // **********************************************************************************************************************************************************
                    // **********************************************************************************************************************************************************
                    // affichage des evenements de l'evenement groupe d'adresses
                    // **********************************************************************************************************************************************************
                    $champsCacheTransmis = array();
                    //
                    $idEvenementWhereIsTitre = $this->getIdEvenementTitre(array("idEvenementGroupeAdresse" => $idEvenementGroupeAdresse));
                    $idAdresse = $adresse->getIdAdresseFromIdEvenementGroupeAdresse($idEvenementGroupeAdresse);
                    // initialisation des variables pour la creation du tableau de configuration de la liste triable par glisser deposer des evenements dans l'onglet historique des evenements
                    if (isset($this->variablesGet['affichePositionnementEvenements']) && $this->variablesGet['affichePositionnementEvenements'] == '1') {
                        $arrayConfigPositionnementEvenement = array();
                        $indicePositionnement = 0;
                    }
                    $i = 0;
                    // parcours des evenements
                    foreach ($tabIdEvenementsLies as $indice => $value) {
                        $params['isLieFromOtherAdresse'] = $value['isLieFromOtherAdresse'];
                        $params['imagesVuesSurLinkedByDate'] = array();
                        if (isset($tabIdEvenementsLies[$i + 1]["idEvenementAssocie"])) {
                            $params["nextEvent"] = $tabIdEvenementsLies[$i + 1]["idEvenementAssocie"];
                        } else {
                            $params["nextEvent"] = null;
                        }
                        if (isset($arrayCorrespondancesVuesSur[$value['idEvenementAssocie']])) {
                            $params['imagesVuesSurLinkedByDate'] = $arrayCorrespondancesVuesSur[$value['idEvenementAssocie']];
                        }
                        // le type de structure est le meme que l'evenement precedent , on ne l'affiche pas, c'est pour cela qu'on le transmet a la fonction d'affichage
                        $retourEvenement = $this->afficher($value['idEvenementAssocie'], 'simple', null, $champsCacheTransmis, $params);
                        $champsCacheTransmis = array('idTypeStructurePrecedent' => $retourEvenement['idTypeStructure']);
                        $titreAncre = $retourEvenement['titreAncre'];
                        if ($titreAncre == 'Sans titre' && ($retourEvenement['isMH'] || $retourEvenement['isISMH'])) {
                            if ($retourEvenement['isMH']) {
                                $titreAncre = "<b>" . _("Classement aux Monuments Historiques") . "</b>";
                            }
                            if ($retourEvenement['isISMH']) {
                                $titreAncre = "<b>" . _("Inscription à l'Inventaire Supplémentaire des Monuments Historiques") . "</b>";
                            }
                        } elseif ($titreAncre != _("Sans titre") && ($retourEvenement['isMH'] || $retourEvenement['isISMH'])) {
                            if ($retourEvenement['isMH']) {
                                $titreAncre .= " <b>(MH)</b>";
                            }
                            if ($retourEvenement['isISMH']) {
                                $titreAncre .= " <b>(ISMH)</b>";
                            }
                        }
                        if ($retourEvenement['nomTypeEvenement'] != '') {
                            $titreAncre .= " - " . $retourEvenement['nomTypeEvenement'];
                        }
                        if ($retourEvenement['date'] != '') {
                            $titreAncre .= " - " . $retourEvenement['date'];
                        }
                        if ($retourEvenement['dateFin'] != '') {
                            $titreAncre .= " " . $retourEvenement['dateFin'];
                        }
                        if (isset($this->variablesGet['affichePositionnementEvenements']) && $this->variablesGet['affichePositionnementEvenements'] == '1') {
                            // si on est en mode de positionnement des evenements manuellement
                            $arrayConfigPositionnementEvenement[$indicePositionnement]['idEvenement'] = array('value' => $value['idEvenementAssocie'], 'type' => 'identifiant');
                            $arrayConfigPositionnementEvenement[$indicePositionnement]['illustration'] = array('value' => "<img src='" . $this->urlImages . "doubleFlechesVerticales.jpg' border=0>", 'type' => 'free');
                            $arrayConfigPositionnementEvenement[$indicePositionnement]['titre'] = array('value' => $titreAncre, 'type' => 'free', 'styleColonneDonnees' => 'font-size:12px;');
                            $indicePositionnement++;
                            /*$t->assign_block_vars('noSimple.modePositionnementEvenements',array());
                            
                            							$t->assign_block_vars('noSimple.modePositionnementEvenements.titresEvenements',array(
                            									'imagesIllustrationGlisserDeposer'=>$this->urlImages."",
                            									'titre' => $titreAncre
                            
                            							));
                            							*/
                            //'url'=> $this->creerUrl('selectTitreAdresse','adresseDetail',array('archiIdAdresse'=>$idAdresse,'idEvenementTitreSelection'=>$value['idEvenementAssocie'],'archiIdEvenementGroupeAdresse'=>$idEvenementGroupeAdresse))
                        } elseif (isset($this->variablesGet['afficheSelectionTitre']) && $this->variablesGet['afficheSelectionTitre'] == '1') {
                            // si on est en mode de selection d'un titre le titre courant s'affiche en rouge
                            if ($idEvenementWhereIsTitre == $value['idEvenementAssocie']) {
                                $titreAncre = "<span style='color:red;'>" . $titreAncre . "</span>";
                            }
                            $t->assign_block_vars('noSimple.ancres', array('titre' => $titreAncre, 'url' => $this->creerUrl('selectTitreAdresse', 'adresseDetail', array('archiIdAdresse' => $idAdresse, 'idEvenementTitreSelection' => $value['idEvenementAssocie'], 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse))));
                        } else {
                            $t->assign_block_vars('noSimple.ancres', array('titre' => $titreAncre, 'url' => "#" . $indice));
                        }
                        if ($this->variablesGet['selection'] == 'personne') {
                            $formulaireCommentaire = $this->getFormComment($value['idEvenementAssocie'], $this->getCommentairesFields('personne', $this->variablesGet['id']), 'personne');
                            $listeCommentaires = $this->getListCommentairesEvenements($value['idEvenementAssocie']);
                        } else {
                            $formulaireCommentaire = $this->getFormComment($value['idEvenementAssocie'], $this->getCommentairesFields('evenement'), 'evenement');
                            $listeCommentaires = $this->getListCommentairesEvenements($value['idEvenementAssocie']);
                        }
                        $t->assign_block_vars('evenementLie', array('evenement' => $retourEvenement['html'], 'numeroAncre' => $indice, 'listeCommentaires' => $listeCommentaires, 'formulaireCommentaire' => $formulaireCommentaire));
                        $i++;
                    }
                    // affichage de la liste triable a la place de l'historique des evenements, quand on est en mode positionnement d'evenements
                    if (isset($this->variablesGet['affichePositionnementEvenements']) && $this->variablesGet['affichePositionnementEvenements'] == '1') {
                        $t->assign_block_vars('noSimple.modePositionnementEvenements', array());
                        // affiche le bloc
                        $t->assign_vars(array('sortableFormListe' => $imageObject->createSortableFormListeFromArray($arrayConfigPositionnementEvenement, array('noEntetesTableau' => true)) . $imageObject->getJSInitAfterListDragAndDrop('slideshow0', array('onlyHiddenFormField' => true)), 'onClickValidationPositionnementEvenement' => $imageObject->getJSSubmitDragAndDrop() . "document.getElementById('formPositionnementEvenements').submit();", 'formActionPositionnementEvenements' => $this->creerUrl('enregistrerPositionnementEvenements', 'adresseDetail', array('archiIdAdresse' => $idAdresseCourante, 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse))));
                        // ajout du code d'initialisation au niveau de la fin de la page (footer)
                        $this->addToJsFooter($imageObject->getJSInitAfterListDragAndDrop('slideshow0', array('onlyJavascriptInitCode' => true)));
                    }
                    // ajout de la possibilité de préciser que l'on ne veut pas de titre , l'adresse s'affichera donc pour l'evenement a la place d'un titre
                    if (isset($this->variablesGet['afficheSelectionTitre']) && $this->variablesGet['afficheSelectionTitre'] == '1') {
                        $titreAncre = "Pas de titre";
                        if ($idEvenementWhereIsTitre == -1) {
                            $titreAncre = "<span style='color:red;'>Pas de titre</span>";
                        }
                        $t->assign_block_vars('noSimple.choixEvenementSansTitre', array('titre' => $titreAncre, 'url' => $this->creerUrl('selectTitreAdresse', 'adresseDetail', array('archiIdAdresse' => $idAdresse, 'idEvenementTitreSelection' => -1, 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse))));
                    }
                    // affichage de la liste des historiques de nom de rue pour l'adresse si celle ci ne concerne qu'une rue , sans numero de rue.
                    $infosAdresseCourante = $adresse->getArrayAdresseFromIdAdresse($idAdresse);
                    if (($infosAdresseCourante['numero'] == '0' || $infosAdresseCourante['numero'] == '') && ($infosAdresseCourante['idRue'] != '' || $infosAdresseCourante['idRue'] != '0')) {
                        $d = new dateObject();
                        // dans ce cas on va chercher les infos de l'historique de la rue
                        $reqHistoriqueNomRue = "SELECT * FROM historiqueNomsRues WHERE idRue = '" . $infosAdresseCourante['idRue'] . "' ORDER BY annee";
                        $resHistoriqueNomRue = $this->connexionBdd->requete($reqHistoriqueNomRue);
                        if (mysql_num_rows($resHistoriqueNomRue) > 0) {
                            $t->assign_block_vars("noSimple.isHistoriqueNomsRue", array());
                            while ($fetchHistoriqueNomRue = mysql_fetch_assoc($resHistoriqueNomRue)) {
                                if ($fetchHistoriqueNomRue['prefixe'] != '') {
                                    $nomRue = stripslashes($fetchHistoriqueNomRue['prefixe']) . " " . stripslashes($fetchHistoriqueNomRue['nomRue']);
                                } else {
                                    $nomRue = stripslashes($fetchHistoriqueNomRue['nomRue']);
                                }
                                $t->assign_block_vars("noSimple.listeHistoriqueNomsRue", array("annee" => $d->toFrenchAffichage($fetchHistoriqueNomRue['annee']), "nomRue" => $nomRue, "commentaire" => stripslashes($fetchHistoriqueNomRue['commentaire'])));
                            }
                        }
                    }
                    $a = new archiAdresse();
                    $listeCommentaires = $a->getListeCommentaires($idEvenementGroupeAdresse);
                    $formulaireCommentaire = $this->getFormComment($idEvenementGroupeAdresse, $this->getCommentairesFields(), '');
                    if (!ArchiPersonne::isPerson($idEvenementGroupeAdresse)) {
                        $t->assign_block_vars('commentairesAdresse', array('formulaireCommentaire' => $formulaireCommentaire, 'listeCommentaires' => $listeCommentaires));
                    }
                    $t->assign_vars(array('nbEvenements' => count($tabIdEvenementsLies) + 1));
                } else {
                }
            }
            // *************************************************************************************************************************************
        } else {
            echo 'aucun résultat !';
        }
        ob_start();
        $t->pparse('ev');
        $html .= ob_get_contents();
        ob_end_clean();
        if (isset($codeARajouterALaFin)) {
            $html .= $codeARajouterALaFin;
            // a cause du JS executé a la fin sinon il ne trouve pas certains divs
        }
        // on ferme le formulaire s'il a ete ouvert
        if ($modeAffichage != 'simple' && $modeAffichage != 'consultationHistoriqueEvenement') {
            if ($estConnecte && (isset($this->variablesGet['afficheSelectionImage']) && $this->variablesGet['afficheSelectionImage'] == '1' || isset($this->variablesGet['afficheSelectionTitre']) && $this->variablesGet['afficheSelectionTitre'] == '1')) {
                $html .= "</form>";
            }
        }
        $s = new archiSource();
        $html .= $s->getPopupDescriptionSource();
        return array('html' => $html, 'idTypeStructure' => $retourIdTypeStructure, 'titreAncre' => $retourTitreAncre, 'nomTypeEvenement' => $retourNomTypeEvenement, 'date' => $retourDate, 'isMH' => $isMH, 'isISMH' => $isISMH, 'listeGroupeAdressesAffichees' => $listeGroupeAdressesAffichees, 'dateFin' => $retourDateFin);
    }
 public function getHtmlArborescence()
 {
     $liens = array();
     $adresse = new archiAdresse();
     $s = new objetSession();
     if (isset($this->variablesGet['archiAffichage']) && $this->variablesGet['archiAffichage'] == 'evenement' && isset($this->variablesGet['idEvenement']) && $this->variablesGet['idEvenement'] != '') {
         $fetchVille = $adresse->getInfosVille($adresse->getIdVilleFrom($this->variablesGet['idEvenement'], 'idEvenementGroupeAdresse'), array('fieldList' => 'v.idVille as idVille,v.nom as nomVille,v.idPays as idPays, p.nom as nomPays'));
         $liens[] = array('libelle' => $fetchVille['nomPays'], 'url' => $this->creerUrl('', 'afficheCarte'));
         $liens[] = array('libelle' => $fetchVille['nomVille'], 'url' => $this->creerUrl('', 'afficheAccueil', array('archiIdVilleGeneral' => $fetchVille['idVille'], 'archiIdPaysGeneral' => $fetchVille['idPays'])));
         //$s->addToSession('archiIdVilleGeneral', $fetchVille['idVille']);
     } elseif ((isset($this->variablesGet['archiAffichage']) && $this->variablesGet['archiAffichage'] != 'afficheCarte' || !isset($this->variablesGet['archiAffichage'])) && (isset($this->variablesGet['archiIdAdresse']) || isset($this->variablesGet['archiIdImage']))) {
         if (isset($this->variablesGet['archiIdAdresse']) && $this->variablesGet['archiIdAdresse'] != '') {
             $fetchVille = $adresse->getInfosVille($adresse->getIdVilleFrom($this->variablesGet['archiIdAdresse'], 'idAdresse'), array('fieldList' => 'v.idVille as idVille,v.nom as nomVille,v.idPays as idPays, p.nom as nomPays'));
             $liens[] = array('libelle' => $fetchVille['nomPays'], 'url' => $this->creerUrl('', 'afficheCarte'));
             $liens[] = array('libelle' => $fetchVille['nomVille'], 'url' => $this->creerUrl('', 'afficheAccueil', array('archiIdVilleGeneral' => $fetchVille['idVille'], 'archiIdPaysGeneral' => $fetchVille['idPays'])));
             //$s->addToSession('archiIdVilleGeneral', $fetchVille['idVille']);
             $arrayAdresse = $adresse->getArrayAdresseFromIdAdresse($this->variablesGet['archiIdAdresse']);
             if ($arrayAdresse['nomQuartier'] != '' && strtolower($arrayAdresse['nomQuartier']) != 'autre') {
                 $liens[] = array('libelle' => ucfirst($arrayAdresse['nomQuartier']), 'url' => $this->creerUrl('', 'adresseListe', array('recherche_quartier' => $arrayAdresse['idQuartier'])));
                 if ($arrayAdresse['nomSousQuartier'] != '' && strtolower($arrayAdresse['nomSousQuartier']) != 'autre') {
                     $liens[] = array('libelle' => ucfirst($arrayAdresse['nomSousQuartier']), 'url' => $this->creerUrl('', 'adresseListe', array('recherche_sousQuartier' => $arrayAdresse['idSousQuartier'])));
                 }
             }
         } elseif (isset($this->variablesGet['archiIdImage']) && $this->variablesGet['archiIdImage'] != '') {
             $i = new archiImage();
             $fetchVille = $adresse->getInfosVille($adresse->getIdVilleFrom($i->getIdAdresseFromIdImage($this->variablesGet['archiIdImage']), 'idAdresse'), array('fieldList' => 'v.idVille as idVille,v.nom as nomVille,v.idPays as idPays, p.nom as nomPays'));
             $liens[] = array('libelle' => $fetchVille['nomPays'], 'url' => $this->creerUrl('', 'afficheCarte'));
             $liens[] = array('libelle' => $fetchVille['nomVille'], 'url' => $this->creerUrl('', 'afficheAccueil', array('archiIdVilleGeneral' => $fetchVille['idVille'], 'archiIdPaysGeneral' => $fetchVille['idPays'])));
             //$s->addToSession('archiIdVilleGeneral',$fetchVille['idVille']);
         }
     } elseif (isset($this->variablesGet['archiAffichage']) && $this->variablesGet['archiAffichage'] == 'adresseListe' && isset($this->variablesGet['recherche_quartier']) && $this->variablesGet['recherche_quartier']) {
         $fetchVille = $adresse->getInfosVille($adresse->getIdVilleFrom($this->variablesGet['recherche_quartier'], 'idQuartier'), array('fieldList' => 'v.idVille as idVille,v.nom as nomVille,v.idPays as idPays, p.nom as nomPays'));
         $liens[] = array('libelle' => $fetchVille['nomPays'], 'url' => $this->creerUrl('', 'afficheCarte'));
         $liens[] = array('libelle' => $fetchVille['nomVille'], 'url' => $this->creerUrl('', 'afficheAccueil', array('archiIdVilleGeneral' => $fetchVille['idVille'], 'archiIdPaysGeneral' => $fetchVille['idPays'])));
         //$s->addToSession('archiIdVilleGeneral',$fetchVille['idVille']);
         $reqQuartier = "SELECT idQuartier,nom as nomQuartier FROM quartier WHERE idQuartier='" . $this->variablesGet['recherche_quartier'] . "'";
         $resQuartier = $this->connexionBdd->requete($reqQuartier);
         if (mysql_num_rows($resQuartier) > 0) {
             $fetchQuartier = mysql_fetch_assoc($resQuartier);
             if ($fetchQuartier['nomQuartier'] != '' && strtolower($fetchQuartier['nomQuartier']) != 'autre') {
                 $liens[] = array('libelle' => ucfirst($fetchQuartier['nomQuartier']), 'url' => $this->creerUrl('', 'adresseListe', array('recherche_quartier' => $fetchQuartier['idQuartier'])));
             }
         }
     } elseif (isset($this->variablesGet['archiAffichage']) && $this->variablesGet['archiAffichage'] == 'adresseListe' && isset($this->variablesGet['recherche_sousQuartier']) && $this->variablesGet['recherche_sousQuartier'] != '') {
         $fetchVille = $adresse->getInfosVille($adresse->getIdVilleFrom($this->variablesGet['recherche_sousQuartier'], 'idSousQuartier'), array('fieldList' => 'v.idVille as idVille,v.nom as nomVille,v.idPays as idPays, p.nom as nomPays'));
         $liens[] = array('libelle' => $fetchVille['nomPays'], 'url' => $this->creerUrl('', 'afficheCarte'));
         $liens[] = array('libelle' => $fetchVille['nomVille'], 'url' => $this->creerUrl('', 'afficheAccueil', array('archiIdVilleGeneral' => $fetchVille['idVille'], 'archiIdPaysGeneral' => $fetchVille['idPays'])));
         //$s->addToSession('archiIdVilleGeneral',$fetchVille['idVille']);
         $reqSousQuartier = "\n\t\t\t\t\tSELECT sq.idSousQuartier as idSousQuartier,sq.nom as nomSousQuartier, q.nom as nomQuartier , q.idQuartier as idQuartier\n\t\t\t\t\tFROM sousQuartier sq\n\t\t\t\t\tLEFT JOIN quartier q ON q.idQuartier = sq.idQuartier\n\t\t\t\t\tWHERE sq.idSousQuartier='" . $this->variablesGet['recherche_sousQuartier'] . "'";
         $resSousQuartier = $this->connexionBdd->requete($reqSousQuartier);
         if (mysql_num_rows($resSousQuartier) > 0) {
             $fetchSousQuartier = mysql_fetch_assoc($resSousQuartier);
             if ($fetchSousQuartier['nomQuartier'] != '' && strtolower($fetchSousQuartier['nomQuartier']) != 'autre') {
                 $liens[] = array('libelle' => ucfirst($fetchSousQuartier['nomQuartier']), 'url' => $this->creerUrl('', 'adresseListe', array('recherche_quartier' => $fetchSousQuartier['idQuartier'])));
             }
             if ($fetchSousQuartier['nomSousQuartier'] != '' && strtolower($fetchSousQuartier['nomSousQuartier']) != 'autre') {
                 $liens[] = array('libelle' => ucfirst($fetchSousQuartier['nomSousQuartier']), 'url' => $this->creerUrl('', 'adresseListe', array('recherche_sousQuartier' => $fetchSousQuartier['idSousQuartier'])));
             }
         }
     } elseif (isset($this->variablesGet['archiAffichage']) && $this->variablesGet['archiAffichage'] == 'listeDossiers' && isset($this->variablesGet['archiIdQuartier']) && $this->variablesGet['archiIdQuartier'] != '' && isset($this->variablesGet['modeAffichageListe']) && $this->variablesGet['modeAffichageListe'] == 'parRuesDeQuartier') {
         $fetchVille = $adresse->getInfosVille($adresse->getIdVilleFrom($this->variablesGet['archiIdQuartier'], 'idQuartier'), array('fieldList' => 'v.idVille as idVille,v.nom as nomVille,v.idPays as idPays, p.nom as nomPays'));
         $liens[] = array('libelle' => $fetchVille['nomPays'], 'url' => $this->creerUrl('', 'afficheCarte'));
         $liens[] = array('libelle' => $fetchVille['nomVille'], 'url' => $this->creerUrl('', 'afficheAccueil', array('archiIdVilleGeneral' => $fetchVille['idVille'], 'archiIdPaysGeneral' => $fetchVille['idPays'])));
         //$s->addToSession('archiIdVilleGeneral',$fetchVille['idVille']);
         $reqQuartier = "SELECT idQuartier, nom FROM quartier WHERE idQuartier = '" . $this->variablesGet['archiIdQuartier'] . "'";
         $resQuartier = $this->connexionBdd->requete($reqQuartier);
         if (mysql_num_rows($resQuartier) > 0) {
             $fetchQuartier = mysql_fetch_assoc($resQuartier);
             if ($fetchQuartier['nom'] != '' && strtolower($fetchQuartier['nom']) != 'autre') {
                 $liens[] = array('libelle' => ucfirst($fetchQuartier['nom']), 'url' => $this->creerUrl('', 'adresseListe', array('recherche_quartier' => $fetchQuartier['idQuartier'])));
             }
         }
     } elseif ($s->isInSession('archiIdVilleGeneral') && $s->getFromSession('archiIdVilleGeneral') != '') {
         $arrayInfosVille = $adresse->getInfosVille($s->getFromSession('archiIdVilleGeneral'), array("fieldList" => " v.nom as nomVille,v.idVille as idVille, v.idPays as idPays, p.nom as nomPays"));
         $liens[] = array('libelle' => $arrayInfosVille['nomPays'], 'url' => $this->creerUrl('', 'afficheCarte'));
         $liens[] = array('libelle' => $arrayInfosVille['nomVille'], 'url' => $this->creerUrl('', 'afficheAccueil', array('archiIdVilleGeneral' => $arrayInfosVille['idVille'], 'archiIdPaysGeneral' => $arrayInfosVille['idPays'])));
     } else {
         $liens[] = array('libelle' => 'France', 'url' => $this->creerUrl('', 'afficheCarte'));
     }
     $retour = "";
     foreach ($liens as $indice => $value) {
         $retour .= "&nbsp;<a href='" . $value['url'] . "'>" . $value['libelle'] . "</a>&nbsp;>";
     }
     $retour = pia_substr($retour, 0, -1);
     return $retour;
 }