/**
  * Affiche les adresses par regroupements
  * Quand on clique sur un regroupement , on affiche la liste des elements contenant ce regroupement
  *
  * @return string
  * */
 public function afficheListeRegroupee()
 {
     $html = "";
     $t = new Template($this->getCheminPhysique() . $this->cheminTemplates);
     $t->set_filenames(array('listeRegroupee' => 'listeRegroupee.tpl'));
     $r = new archiRecherche();
     if (isset($this->variablesGet['modeAffichageListe'])) {
         $modeAffichageListe = $this->variablesGet['modeAffichageListe'];
     } else {
         $modeAffichageListe = 'default';
     }
     $idVilleGeneral = 1;
     // strasbourg par defaut
     $s = new objetSession();
     if ($s->isInSession('archiIdVilleGeneral') && $s->getFromSession('archiIdVilleGeneral') != '') {
         $idVilleGeneral = $s->getFromSession('archiIdVilleGeneral');
     } elseif (isset($this->variablesGet['archiIdVilleGeneral'])) {
         $idVilleGeneral = $this->variablesGet['archiIdVilleGeneral'];
         $s->addToSession('archiIdVilleGeneral', $idVilleGeneral);
     }
     $fetchInfosVille = $this->getInfosVille($idVilleGeneral, array('fieldList' => 'v.nom as nomVille'));
     $nomVilleGeneral = $fetchInfosVille['nomVille'];
     $t->assign_vars(array('liens' => "<a href='" . $this->creerUrl('', 'listeDossiers', array('modeAffichageListe' => 'parRues', 'archiIdVilleGeneral' => $idVilleGeneral)) . "'>" . _("Par rues de") . " " . $nomVilleGeneral . "</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href='" . $this->creerUrl('', 'listeDossiers', array('modeAffichageListe' => 'parQuartiers', 'archiIdVilleGeneral' => $idVilleGeneral)) . "'>" . _("Par quartiers de") . " " . $nomVilleGeneral . "</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href='" . $this->creerUrl('', 'listeDossiers', array('modeAffichageListe' => 'parVilles')) . "'>" . _("Par villes") . "</a>"));
     switch ($modeAffichageListe) {
         case 'parQuartiers':
             $pagination = new paginationObject();
             $arrayQuartiers = $this->getIdQuartiersFrom($idVilleGeneral, 'ville');
             $arrayQuartiersNotEmpty = $r->getIdQuartiersNotEmpty();
             $arrayListeQuartiersNotEmpty = array();
             $arrayListeAlphabetique = array();
             foreach ($arrayQuartiers as $indice => $idQuartier) {
                 if (in_array($idQuartier, $arrayQuartiersNotEmpty['arrayListeQuartiersNonVides'])) {
                     $arrayListeQuartiersNotEmpty[] = $idQuartier;
                 }
             }
             // pagination
             $nbEnregistrementTotaux = count($arrayListeQuartiersNotEmpty);
             // nombre d'images affichées sur une page
             $nbEnregistrementsParPage = 12;
             $arrayPagination = $pagination->pagination(array('nomParamPageCourante' => 'archiPageCouranteVille', 'nbEnregistrementsParPage' => $nbEnregistrementsParPage, 'nbEnregistrementsTotaux' => $nbEnregistrementTotaux, 'typeLiens' => 'noformulaire'));
             $t->assign_vars(array('pagination' => $arrayPagination['html']));
             $req = "SELECT idQuartier, nom\n\t\t\t\t\t\tFROM quartier\n\t\t\t\t\t\tWHERE idQuartier in ('" . implode("','", $arrayListeQuartiersNotEmpty) . "')\n\t\t\t\t\t\t\t\tand nom<>'autre'\n\t\t\t\t\t\t\t\tORDER BY nom ASC\n\t\t\t\t\t\t\t\tLIMIT " . $arrayPagination['limitSqlDebut'] . "," . $nbEnregistrementsParPage . "\n\t\t\t\t\t\t\t\t\t\t";
             $tableau = new tableau();
             $res = $this->connexionBdd->requete($req);
             while ($fetch = mysql_fetch_assoc($res)) {
                 // pour chaque ville on va regarder s'il y a des adresses qui correspondent et on les compte
                 /*$reqCount = "
                 		 SELECT distinct ha.idAdresse
                 		FROM historiqueAdresse ha2, historiqueAdresse ha
                 		LEFT JOIN sousQuartier sq ON sq.idQuartier = '".$fetch['idQuartier']."'
                 		LEFT JOIN rue r ON r.idSousQuartier = sq.idSousQuartier
                 		WHERE
                 		(ha.idRue = IFNULL(r.idRue , 0)
                 				OR  ha.idQuartier = '".$fetch['idQuartier']."'
                 				OR  ha.idSousQuartier = IFNULL(sq.idSousQuartier,0))
                 		AND ha2.idHistoriqueAdresse = ha.idHistoriqueAdresse
                 		GROUP BY ha.idAdresse, ha.idHistoriqueAdresse
                 		HAVING ha.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)
                 		";*/
                 $reqRuesQuartier = "SELECT idRue FROM rue WHERE idSousQuartier IN (SELECT idSousQuartier FROM sousQuartier WHERE idQuartier=" . $fetch['idQuartier'] . ")";
                 $reqSousQuartier = "SELECT idSousQuartier FROM sousQuartier WHERE idQuartier = " . $fetch['idQuartier'];
                 $nbAdressesTotales = 0;
                 $nbAdressesRues = 0;
                 $nbAdressesSousQuartiers = 0;
                 $nbAdressesQuartiers = 0;
                 $resRuesQuartier = $this->connexionBdd->requete($reqRuesQuartier);
                 while ($fetchRuesQuartier = mysql_fetch_assoc($resRuesQuartier)) {
                     $reqCountRuesQuartier = "SELECT count(distinct idAdresse) as nbAdressesRues from historiqueAdresse WHERE idRue='" . $fetchRuesQuartier['idRue'] . "'";
                     $resCountRuesQuartier = $this->connexionBdd->requete($reqCountRuesQuartier);
                     $fetchAdressesRues = mysql_fetch_assoc($resCountRuesQuartier);
                     $nbAdressesRues += $fetchAdressesRues['nbAdressesRues'];
                 }
                 $resSousQuartier = $this->connexionBdd->requete($reqSousQuartier);
                 while ($fetchSousQuartier = mysql_fetch_assoc($resSousQuartier)) {
                     $reqCountSousQuartierQuartier = "SELECT count(distinct idAdresse) as nbAdressesSousQuartiers FROM historiqueAdresse WHERE idSousQuartier='" . $fetchSousQuartier['idSousQuartier'] . "'";
                     $resCountSousQuartierQuartier = $this->connexionBdd->requete($reqCountSousQuartierQuartier);
                     $fetchAdressesSousQuartiers = mysql_fetch_assoc($resCountSousQuartierQuartier);
                     $nbAdressesSousQuartiers += $fetchAdressesSousQuartiers['nbAdressesSousQuartiers'];
                 }
                 $reqCountQuartiers = "SELECT count(distinct idAdresse) as nbAdressesQuartier FROM historiqueAdresse WHERE idQuartier = '" . $fetch['idQuartier'] . "'";
                 $resCountQuartiers = $this->connexionBdd->requete($reqCountQuartiers);
                 $fetchCountQuartiers = mysql_fetch_assoc($resCountQuartiers);
                 $nbAdressesQuartiers += $fetchCountQuartiers['nbAdressesQuartier'];
                 $nbAdressesTotales = $nbAdressesRues + $nbAdressesSousQuartiers + $nbAdressesQuartiers;
                 $nbResultats = "(" . $nbAdressesTotales . ")";
                 $htmlPhoto = '';
                 $urlPhoto = $this->getUrlImageFromQuartier($fetch['idQuartier'], 'moyen');
                 if (!pia_ereg("transparent.gif", $urlPhoto)) {
                     // la fonction renvoi le lien vers une photo transparente si elle ne trouve pas de photo de du quartier
                     $htmlPhoto = "<a href='" . $this->creerUrl('', 'adresseListe', array('recherche_quartier' => $fetch['idQuartier'])) . "'><img src='" . $urlPhoto . "' border=0></a>";
                 } else {
                     // pas de photo
                     $htmlPhoto = "<span style='float:right;margin:0px;padding:0px;'><a href='" . $this->creerUrl('', 'adresseListe', array('recherche_quartier' => $fetch['idQuartier'])) . "'><table border='' style='margin:0px;padding:0px;border:1px solid #000000;font-size:11px;background-image:url(" . $this->getUrlImage() . "imageDefautArchiv2.jpg);' width=200 height=150><tr><td align=center valign=center style='padding-top:100px;'>Pas de photo</td></tr></table></a></span>";
                 }
                 $lien = "<a href='" . $this->creerUrl('', 'adresseListe', array('recherche_quartier' => $fetch['idQuartier'])) . "'>" . stripslashes($fetch['nom']) . "</a>" . $nbResultats;
                 if ($nbAdressesTotales > 0) {
                     $tableau->addValue($htmlPhoto . "<br>" . $lien);
                 }
             }
             $t->assign_vars(array('elements' => $tableau->createHtmlTableFromArray(3)));
             break;
         case "parVilles":
             $arrayVillesNotEmpty = $r->getIdVillesNotEmpty();
             $arrayListeVillesAvecAdresses = $arrayVillesNotEmpty["arrayIdVilles"];
             $listeVilleAvecAdresses = implode(",", $arrayListeVillesAvecAdresses);
             //pagination
             $reqNbVilles = "\n\t\t\t\t\t\tSELECT 0\n\t\t\t\t\t\tFROM ville\n\t\t\t\t\t\twhere (idPays = '1' or idPays='2')\n\t\t\t\t\t\tAND idVille in (" . $listeVilleAvecAdresses . ")\n\t\t\t\t\t\t\t\tand nom <>'autre'\n\t\t\t\t\t\t\t\t";
             $resNbVilles = $this->connexionBdd->requete($reqNbVilles);
             $nbEnregistrementTotaux = mysql_num_rows($resNbVilles);
             // nombre d'images affichées sur une page
             $nbEnregistrementsParPage = 12;
             $arrayPagination = $this->pagination(array('nomParamPageCourante' => 'archiPageCouranteVille', 'nbEnregistrementsParPage' => $nbEnregistrementsParPage, 'nbEnregistrementsTotaux' => $nbEnregistrementTotaux, 'typeLiens' => 'noformulaire'));
             $t->assign_vars(array('pagination' => $arrayPagination['html']));
             $req = "\n\t\t\t\t\t\tSELECT v.nom,v.idVille, lower(substr(v.nom,1,1)) as lettre\n\t\t\t\t\t\tFROM ville v\n\n\t\t\t\t\t\tWHERE (v.idPays = '1' or v.idPays='2')\n\t\t\t\t\t\tAND v.nom<>'autre'\n\t\t\t\t\t\tAND idVille in (" . $listeVilleAvecAdresses . ")\n\t\t\t\t\t\t\t\tORDER BY v.nom\n\t\t\t\t\t\t\t\tLIMIT " . $arrayPagination['limitSqlDebut'] . "," . $nbEnregistrementsParPage;
             $tableau = new tableau();
             $res = $this->connexionBdd->requete($req);
             while ($fetch = mysql_fetch_assoc($res)) {
                 $listeRuesVille = "SELECT idRue FROM rue WHERE idSousQuartier IN (SELECT idSousQuartier FROM sousQuartier WHERE idQuartier IN (SELECT idQuartier FROM quartier WHERE idVille='" . $fetch['idVille'] . "'))";
                 $listeSousQuartiersVille = "SELECT idSousQuartier FROM sousQuartier WHERE idQuartier IN (SELECT idQuartier FROM quartier WHERE idVille='" . $fetch['idVille'] . "')";
                 $listeQuartiersVille = "SELECT idQuartier FROM quartier WHERE idVille='" . $fetch['idVille'] . "'";
                 // comptage du nombre d'adresse liés a ces elements d'adresses
                 $resRuesVille = $this->connexionBdd->requete($listeRuesVille);
                 $nbRues = 0;
                 while ($fetchRuesVilles = mysql_fetch_assoc($resRuesVille)) {
                     $reqNbAdressesRue = "SELECT count(distinct idAdresse) as nbAdressesRue FROM historiqueAdresse WHERE idRue='" . $fetchRuesVilles['idRue'] . "'";
                     $resNbAdressesRue = $this->connexionBdd->requete($reqNbAdressesRue);
                     $fetchNbAdressesRue = mysql_fetch_assoc($resNbAdressesRue);
                     $nbRues += $fetchNbAdressesRue['nbAdressesRue'];
                 }
                 $resSousQuartiersVille = $this->connexionBdd->requete($listeSousQuartiersVille);
                 $nbSousQuartiers = 0;
                 while ($fetchSousQuartiersVille = mysql_fetch_assoc($resSousQuartiersVille)) {
                     $reqNbAdressesSousQuartier = "SELECT count(distinct idAdresse) as nbAdressesSousQuartiers FROM historiqueAdresse WHERE idSousQuartier='" . $fetchSousQuartiersVille['idSousQuartier'] . "'";
                     $resNbAdressesSousQuartier = $this->connexionBdd->requete($reqNbAdressesSousQuartier);
                     $fetchNbAdressesSousQuartier = mysql_fetch_assoc($resNbAdressesSousQuartier);
                     $nbSousQuartiers += $fetchNbAdressesSousQuartier['nbAdressesSousQuartiers'];
                 }
                 $resQuartiersVille = $this->connexionBdd->requete($listeQuartiersVille);
                 $nbQuartiers = 0;
                 while ($fetchQuartiersVille = mysql_fetch_assoc($resQuartiersVille)) {
                     $reqNbAdressesQuartier = "SELECT count(distinct idAdresse) as nbAdressesQuartiers FROM historiqueAdresse WHERE idQuartier='" . $fetchQuartiersVille['idQuartier'] . "'";
                     $resNbAdressesQuartier = $this->connexionBdd->requete($reqNbAdressesQuartier);
                     $fetchNbAdressesQuartier = mysql_fetch_assoc($resNbAdressesQuartier);
                     $nbQuartiers += $fetchNbAdressesQuartier['nbAdressesQuartiers'];
                 }
                 $nbVilles = 0;
                 $reqNbAdressesVilles = "SELECT count(distinct idAdresse) as nbAdressesVilles FROM historiqueAdresse WHERE idVille='" . $fetch['idVille'] . "'";
                 $resNbAdressesVilles = $this->connexionBdd->requete($reqNbAdressesVilles);
                 $fetchNbAdressesVilles = mysql_fetch_assoc($resNbAdressesVilles);
                 $nbVilles = $fetchNbAdressesVilles['nbAdressesVilles'];
                 $totalAdresses = $nbRues + $nbQuartiers + $nbVilles;
                 $recherche = new archiRecherche();
                 $nbResult = $recherche->getNumberOfAdresse(array('ville' => $fetch['idVille']));
                 $nbResultats = " (" . $nbResult . ")";
                 $htmlPhoto = "";
                 $urlPhoto = $this->getUrlImageFromVille($fetch['idVille'], 'moyen');
                 if ($urlPhoto != '') {
                     $htmlPhoto = "<a href='" . $this->creerUrl('', 'adresseListe', array('recherche_ville' => $fetch['idVille'])) . "'><img src='" . $urlPhoto . "' border=0></a>";
                 }
                 $lien = "<a href='" . $this->creerUrl('', 'adresseListe', array('recherche_ville' => $fetch['idVille'])) . "'>" . stripslashes($fetch['nom']) . "</a>" . $nbResultats . "<br>";
                 if ($totalAdresses > 0) {
                     $tableau->addValue($htmlPhoto . "<br>" . $lien);
                 }
             }
             $t->assign_vars(array('elements' => $tableau->createHtmlTableFromArray(3)));
             break;
         case "parRuesDeQuartier":
         default:
             // DEFAULT : affichage parRues
             // s'il n'y a pas de criteres on affiche les dossiers des rues de strasbourg
             $r = new archiRecherche();
             $s = new stringObject();
             if (isset($this->variablesGet['archiIdQuartier']) && $this->variablesGet['archiIdQuartier'] != '') {
                 $arrayRues = $this->getIdRuesFrom($this->variablesGet['archiIdQuartier'], 'quartier');
             } else {
                 $arrayRues = $this->getIdRuesFrom($idVilleGeneral, 'ville');
             }
             $arrayRuesNotEmpty = $r->getIdRuesNotEmpty();
             $arrayIdRuesNotEmpty = array();
             $arrayListeAlphabetique = array();
             foreach ($arrayRues as $indice => $idRue) {
                 if (in_array($idRue, $arrayRuesNotEmpty['arrayIdRues'])) {
                     $arrayIdRuesNotEmpty[] = $idRue;
                     $reqInitiales = "SELECT lower(substring(nom,1,1)) as initiale FROM rue WHERE idRue='" . $idRue . "'";
                     $resInitiales = $this->connexionBdd->requete($reqInitiales);
                     $fetchInitiales = mysql_fetch_assoc($resInitiales);
                     $initiale = $fetchInitiales['initiale'];
                     $arrayListeAlphabetique[] = $s->sansAccents($initiale);
                     // enleve les accents
                     if (!isset($this->variablesGet['lettreCourante']) || isset($this->variablesGet['lettreCourante']) && $s->sansAccents($initiale) == $this->variablesGet['lettreCourante']) {
                         $arrayIdRuesNotEmptyWithSelection[] = $idRue;
                         // prend en compte le nombre de rue selectionnée ou non par leur initiales
                     }
                 }
             }
             $sqlCritere = "";
             if (isset($this->variablesGet['lettreCourante']) && $this->variablesGet['lettreCourante'] != '') {
                 $sqlCritere = " AND lower(SUBSTRING(nom,1,1))=lower('" . $this->variablesGet['lettreCourante'] . "') ";
             }
             $nbEnregistrementTotaux = count($arrayIdRuesNotEmptyWithSelection);
             // nombre d'images affichées sur une page
             $nbEnregistrementsParPage = 40;
             $pagination = new paginationObject();
             if (isset($this->variablesGet['archiIdQuartier'])) {
                 $arrayPagination = $pagination->pagination(array('nomParamPageCourante' => 'archiPageRuesQuartier', 'nbEnregistrementsParPage' => $nbEnregistrementsParPage, 'nbEnregistrementsTotaux' => $nbEnregistrementTotaux, 'typeLiens' => 'freeLink', 'urlFreeLink' => $this->creerUrl('', 'listeDossiers', array('archiIdQuartier' => $this->variablesGet['archiIdQuartier'], 'modeAffichageListe' => 'parRuesDeQuartier', 'archiPageRuesQuartier' => '##numPage##'))));
             } else {
                 $arrayPagination = $pagination->pagination(array('nomParamPageCourante' => 'archiPageCouranteVille', 'nbEnregistrementsParPage' => $nbEnregistrementsParPage, 'nbEnregistrementsTotaux' => $nbEnregistrementTotaux, 'typeLiens' => 'noformulaire', 'arrayListeAlphabetique' => $arrayListeAlphabetique));
             }
             $t->assign_vars(array('pagination' => $arrayPagination['html']));
             $req = "\n\t\t\t\t\t\tSELECT nom,idRue,prefixe, lower(substr(nom,1,1)) as lettre\n\t\t\t\t\t\tFROM rue\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\tidRue in ('" . implode("','", $arrayIdRuesNotEmpty) . "')\n\t\t\t\t\t\t{$sqlCritere}\n\t\t\t\t\t\tORDER BY lettre\n\t\t\t\t\t\tLIMIT " . $arrayPagination['limitSqlDebut'] . "," . $nbEnregistrementsParPage;
             $res = $this->connexionBdd->requete($req);
             $tableau = new tableau();
             while ($fetch = mysql_fetch_assoc($res)) {
                 // pour chaque rue on va regarder s'il y a des adresses qui correspondent et on les compte (affichage du nombre de resultats)
                 $reqCount = "SELECT count(distinct idAdresse) as nbAdresses FROM historiqueAdresse WHERE idRue='" . $fetch['idRue'] . "'";
                 $resCount = $this->connexionBdd->requete($reqCount);
                 $fetchCount = mysql_fetch_assoc($resCount);
                 $valCount = $fetchCount['nbAdresses'];
                 $nbResultats = " (" . $valCount . ")";
                 $htmlPhoto = '';
                 //$urlPhoto = $this->getUrlImageFromRue($fetch['idRue'],'moyen');
                 $urlPhoto = "resizeImage.php?id=" . $this->getIdImageFromRue($fetch['idRue']);
                 if (!pia_ereg("transparent.gif", $urlPhoto)) {
                     // la fonction renvoi le lien vers une photo transparente si elle ne trouve pas de photo de la rue
                     $htmlPhoto = "<a href='" . $this->creerUrl('', 'adresseListe', array('recherche_rue' => $fetch['idRue'])) . "'><img src='" . $urlPhoto . "' border=0></a><br>";
                 } else {
                     // pas de photo
                     $htmlPhoto = "<a style='margin:0px;padding:0px;' href='" . $this->creerUrl('', 'adresseListe', array('recherche_rue' => $fetch['idRue'])) . "'><table border='' style='margin:0px;padding:0px;border:1px solid #000000;font-size:11px;background-image:url(" . $this->getUrlImage() . "imageDefautArchiv2.jpg);' width=200 height=150><tr><td align=center valign=center style='padding-top:100px;'>Pas de photo</td></tr></table></a>";
                 }
                 $lien = "<a href='" . $this->creerUrl('', 'adresseListe', array('recherche_rue' => $fetch['idRue'])) . "'>" . stripslashes($fetch['prefixe'] . " " . $fetch['nom']) . "</a>" . $nbResultats;
                 if ($valCount > 0) {
                     $tableau->addValue($htmlPhoto . $lien);
                 }
             }
             $t->assign_vars(array('elements' => $tableau->createHtmlTableFromArray(5)));
             break;
     }
     ob_start();
     $t->pparse('listeRegroupee');
     $html = ob_get_contents();
     ob_end_clean();
     return $html;
 }
 /**
  * Affichage de la page d'accueil
  *
  * @param array $params Paramètres
  *
  * @return string HTML
  * */
 function afficheAccueil($params = array())
 {
     $t = new Template($this->getCheminPhysique() . $this->cheminTemplates);
     $t->set_filenames(array('accueil' => 'accueil.tpl'));
     $html = '';
     $infos = "";
     $calque = new calqueObject();
     $date = new dateObject();
     $auth = new archiAuthentification();
     if ($auth->estConnecte()) {
         $t->assign_block_vars('estConnecte', array());
     }
     $t->assign_vars(array('urlAjoutAdresse' => $this->creerUrl('', 'ajoutNouveauDossier')));
     $adresses = new archiAdresse();
     if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage'] != '') {
         $modeAffichage = $this->variablesGet['modeAffichage'];
     } else {
         $modeAffichage = '';
     }
     switch ($modeAffichage) {
         // **********************************************************************************************************************************
         // PROFIL
         // **********************************************************************************************************************************
         case 'profil':
             $t->assign_block_vars('afficheProfil', array());
             $t->assign_vars(array('onglet1' => "<a href='" . $this->creerUrl('', 'afficheAccueil', array('modeAffichage' => '')) . "'><font color='#FFFFFF'>" . _("Nouveautés") . "</font></a>", 'onglet2' => _("Mon Profil"), 'onglet3' => "<a href='" . $this->creerUrl('', 'afficheAccueil', array('modeAffichage' => 'monArchi')) . "'><font color='#FFFFFF'>" . _("Mon Archi") . "</font></a>"));
             $u = new archiUtilisateur();
             $s = new objetSession();
             if ($s->isInSession('utilisateurConnecte' . $this->idSite)) {
                 $profil = $u->afficher(array(), $s->getFromSession('utilisateurConnecte' . $this->idSite), 'utilisateurProfil');
             } else {
                 //header('Location: ?archiAffichage=authentification&archiActionPrecedente=afficheProfil');
                 $authentification = new ArchiAuthentification();
                 echo $authentification->afficheFormulaireAuthentification();
             }
             $t->assign_vars(array('htmlProfil' => $profil));
             break;
             //Mon Archi
         //Mon Archi
         case 'monArchi':
             $t->assign_block_vars('afficheMonArchi', array());
             $t->assign_vars(array('onglet1' => "<a href='" . $this->creerUrl('', 'afficheAccueil', array('modeAffichage' => '')) . "'><font color='#FFFFFF'>" . _("Nouveautés") . "</font></a>", 'onglet2' => "<a href='" . $this->creerUrl('', 'afficheAccueil', array('modeAffichage' => 'profil')) . "'><font color='#FFFFFF'>" . _("Mon Profil") . "</font></a>", 'onglet3' => _("Mon Archi")));
             $utilisateur = new archiUtilisateur();
             $adresse = new archiAdresse();
             $arrayInfosConnexions = $utilisateur->getInfosConnexions($auth->getIdUtilisateur());
             $arrayInfosModifs = $utilisateur->getInfosModifsPerso($auth->getIdUtilisateur());
             $monArchi = "<table border=''><tr><td width=500><h2>" . _("Mon Archi") . "</h2></td></tr></table>";
             if (mysql_fetch_assoc($this->connexionBdd->requete("SELECT idImage FROM historiqueImage WHERE idUtilisateur = '" . $auth->getIdUtilisateur() . "' AND licence = '3'"))) {
                 $monArchi .= "<strong>" . _("Certaines de vos images ne sont pas librement réutilisables !") . "</strong>";
                 $monArchi .= "<br/>";
                 $monArchi .= _("Cliquez") . " <a href='" . $this->creerUrl("", "batchLicence") . "'>" . _("ici") . "</a> " . _("pour les publier sous licence libre.");
                 $monArchi .= "<br/><br/>";
             }
             $monArchi .= "<div style='font-size:12px;'>\n\t\t\t\t\t\t<b>" . _("En tant qu'utilisateur vous pouvez :") . "</b><ul>\n\t\t\t\t\t\t<li> <a href='" . $this->creerUrl('', 'ajoutNouveauDossier') . "' onmouseover=\"" . $calque->getJsContextHelpOnMouseOver(_("En ajoutant votre adresse vous contribuez au développement du site. Mais d\\'abord qu\\'entend t-on par \"votre adresse\" ? Et bien cela peut être l\\'immeuble ou la maison que vous occupez. Un immeuble que vous aimez mais que vous ne trouvez pas sur le site. Avec le développement des appareils photo numériques,  il devient très simple de prendre une photo,  et de la copier sur l\\'ordinateur. Ajouter une adresse dans www.archi-strasbourg.org ne prend pas plus de 20 secondes. Copier la photo 10 secondes de plus...")) . "\" onmouseout='" . $calque->getJSContextHelpOnMouseOut() . "'>" . _("ajouter des adresses") . "</a></li>\n\t\t\t\t\t\t<li> <span onmouseover=\"" . $calque->getJsContextHelpOnMouseOver(_("Vous pouvez ajouter des photos afin d'illustrer une adresse.")) . "\" onmouseout=\"" . $calque->getJSContextHelpOnMouseOut() . "\"> " . _("ajouter des photos à une adresse") . "</span></li>\n\t\t\t\t\t\t<li> <span onmouseover=\"" . $calque->getJsContextHelpOnMouseOver(_("Vous pouvez ajouter des évènements sur toute adresse qu'un autre utilisateur a créée.")) . "\" onmouseout=\"" . $calque->getJSContextHelpOnMouseOut() . "\">" . _("ajouter des évènements à une adresse") . "</span></li>\n\t\t\t\t\t\t<li> <span onmouseover=\"" . $calque->getJsContextHelpOnMouseOver(_("En activant votre alerte mail sur les adresses,  vous serez prevenu de toute modification sur une adresse dont vous êtes l'auteur")) . "\" onmouseout=\"" . $calque->getJSContextHelpOnMouseOut() . "\">" . _("être prévenu par mail d'une modification de vos participations") . "</span></li>\n\t\t\t\t\t\t<li> <span onmouseover=\"" . $calque->getJsContextHelpOnMouseOver(_("En acceptant de recevoir les mails concernant les nouvelles adresses,  vous serez prévenu de l'ajout d'une nouvelle adresse sur le site.")) . "\" onmouseout=\"" . $calque->getJSContextHelpOnMouseOut() . "\">" . _("être averti des nouvelles adresses") . "</span></li>\n\t\t\t\t\t\t<li> <span onmouseover=\"" . $calque->getJsContextHelpOnMouseOver(_("Grâce à l'alerte par mail sur les commentaires,  vous pouvez débattre avec les autres utilisateurs.")) . "\" onmouseout=\"" . $calque->getJSContextHelpOnMouseOut() . "\">" . _("être averti des nouveaux commentaires ajoutés sur une adresse que vous avez créée.") . "</span></li></ul>";
             $monArchi .= "<b>" . _("Vos statistiques :") . "</b><br>";
             $monArchi .= "" . _("Vous vous êtes connecté :") . " " . $arrayInfosConnexions['nbConnexions'] . " fois<br>";
             $monArchi .= "&nbsp;&nbsp;&nbsp;" . _("Date de votre dernière connexion :") . " " . $this->date->toFrench($arrayInfosConnexions['derniereConnexion']) . "<br>";
             $monArchi .= "<p>\n\t\t\t\t\t\t&nbsp;&nbsp;&nbsp;" . _("Nombre d'images modifiées :") . " " . $arrayInfosModifs['nbModifImage'] . "<br />\n\t\t\t\t\t\t&nbsp;&nbsp;&nbsp;" . _("Nombre d'images ajoutées :") . " " . $arrayInfosModifs['nbAjoutImage'] . "<br />\n\t\t\t\t\t\t&nbsp;&nbsp;&nbsp;" . _("Nombre d'évènements modifiés :") . " " . $arrayInfosModifs['nbModifEvenement'] . "<br />\n\t\t\t\t\t\t&nbsp;&nbsp;&nbsp;" . _("Nombre d'évènements ajoutés :") . " " . $arrayInfosModifs['nbAjoutEvenement'] . "</p>";
             // ******************************************************************************************************************************************
             // liste des evenements ajoutés ou modifiés par l'utilisateur
             // ******************************************************************************************************************************************
             $paginationEvenements = new paginationObject();
             // calcul du nombre d'evenements ajoutes ou modifies pour la pagination
             $req = "\n\t\t\t\t\t\tSELECT distinct ha1.idAdresse, he1.dateCreationEvenement as dateCreationEvenement\n\n\t\t\t\t\t\tFROM evenements he2,  evenements he1\n\t\t\t\t\t\tLEFT JOIN _evenementEvenement ee1 ON ee1.idEvenementAssocie = he1.idEvenement\n\t\t\t\t\t\tLEFT JOIN _adresseEvenement ae ON ae.idEvenement = ee1.idEvenement\n\t\t\t\t\t\tLEFT JOIN historiqueAdresse ha1 ON ha1.idAdresse = ae.idAdresse\n\t\t\t\t\t\tLEFT JOIN historiqueAdresse ha2 ON ha2.idAdresse = ha1.idAdresse\n\n\t\t\t\t\t\tWHERE he2.idEvenement = he1.idEvenement\n\t\t\t\t\t\tAND he1.idUtilisateur = '" . $auth->getIdUtilisateur() . "'\n\t\t\t\t\t\t\t\tGROUP BY he1.idEvenement,  ha1.idAdresse,  ha1.idHistoriqueAdresse\n\t\t\t\t\t\t\t\tHAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)\n\t\t\t\t\t\t\t\t";
             $res = $this->connexionBdd->requete($req);
             //$fetchNbEvenements = mysql_fetch_assoc($res);
             $nbEnregistrementTotaux = mysql_num_rows($res);
             $nbEnregistrementsParPage = 5;
             $arrayPaginationEvenements = $paginationEvenements->pagination(array('nomParamPageCourante' => 'archiMonArchiEvenementPage', 'nbEnregistrementsParPage' => $nbEnregistrementsParPage, 'nbEnregistrementsTotaux' => $nbEnregistrementTotaux, 'typeLiens' => 'noformulaire'));
             $req = "\n\t\t\t\t\t\tSELECT distinct ha1.idAdresse as idAdresse, he1.dateCreationEvenement as dateCreationEvenement,  ha1.numero,  ha1.idRue,  ha1.idSousQuartier,  ha1.idQuartier,  ha1.idVille, ha1.idIndicatif,\n\n\t\t\t\t\t\tha1.idAdresse as idAdresse,  ha1.numero,  ha1.idQuartier,  ha1.idVille, ind.nom,\n\n\t\t\t\t\t\tr.nom as nomRue,\n\t\t\t\t\t\tsq.nom as nomSousQuartier,\n\t\t\t\t\t\tq.nom as nomQuartier,\n\t\t\t\t\t\tv.nom as nomVille,\n\t\t\t\t\t\tp.nom as nomPays,\n\t\t\t\t\t\tha1.numero as numeroAdresse,\n\t\t\t\t\t\tha1.idRue,\n\t\t\t\t\t\tr.prefixe as prefixeRue,\n\t\t\t\t\t\tIF (ha1.idSousQuartier != 0,  ha1.idSousQuartier,  r.idSousQuartier) AS idSousQuartier,\n\t\t\t\t\t\tIF (ha1.idQuartier != 0,  ha1.idQuartier,  sq.idQuartier) AS idQuartier,\n\t\t\t\t\t\tIF (ha1.idVille != 0,  ha1.idVille,  q.idVille) AS idVille,\n\t\t\t\t\t\tIF (ha1.idPays != 0,  ha1.idPays,  v.idPays) AS idPays,\n\n\t\t\t\t\t\tha1.numero as numero,\n\t\t\t\t\t\tha1.idHistoriqueAdresse,\n\t\t\t\t\t\tha1.idIndicatif as idIndicatif\n\n\n\t\t\t\t\t\tFROM evenements he2,  evenements he1\n\t\t\t\t\t\tLEFT JOIN _evenementEvenement ee1 ON ee1.idEvenementAssocie = he1.idEvenement\n\t\t\t\t\t\tLEFT JOIN _adresseEvenement ae ON ae.idEvenement = ee1.idEvenement\n\t\t\t\t\t\tLEFT JOIN historiqueAdresse ha1 ON ha1.idAdresse = ae.idAdresse\n\t\t\t\t\t\tLEFT JOIN historiqueAdresse ha2 ON ha2.idAdresse = ha1.idAdresse\n\n\t\t\t\t\t\tLEFT JOIN indicatif ind ON ind.idIndicatif = ha1.idIndicatif\n\n\t\t\t\t\t\tLEFT JOIN rue r         ON r.idRue = ha1.idRue\n\t\t\t\t\t\tLEFT JOIN sousQuartier sq    ON sq.idSousQuartier = if (ha1.idRue='0' and ha1.idSousQuartier!='0' , ha1.idSousQuartier , r.idSousQuartier )\n\t\t\t\t\t\tLEFT JOIN quartier q        ON q.idQuartier = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier!='0' , ha1.idQuartier , sq.idQuartier )\n\t\t\t\t\t\tLEFT JOIN ville v        ON v.idVille = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille!='0' , ha1.idVille , q.idVille )\n\t\t\t\t\t\tLEFT JOIN pays p        ON p.idPays = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille='0' and ha1.idPays!='0' , ha1.idPays , v.idPays )\n\n\n\t\t\t\t\t\tWHERE he2.idEvenement = he1.idEvenement\n\t\t\t\t\t\tAND he1.idUtilisateur = '" . $auth->getIdUtilisateur() . "'\n\t\t\t\t\t\t\t\tGROUP BY he1.idEvenement,  ha1.idAdresse,  ha1.idHistoriqueAdresse\n\t\t\t\t\t\t\t\tHAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)\n\t\t\t\t\t\t\t\tORDER BY he1.dateCreationEvenement DESC\n\n\t\t\t\t\t\t\t\t";
             $req = $paginationEvenements->addLimitToQuery($req);
             $res = $this->connexionBdd->requete($req);
             $monArchi .= "<b>" . _("Liste de vos derniers évènements créés :") . "</b><br>";
             $monArchi .= $arrayPaginationEvenements['html'];
             $tableauEvenements = new tableau();
             if (mysql_num_rows($res) == 0) {
                 $monArchi .= "<br>" . _("Vous n'avez pas encore ajouté d'évènement.") . "<br>";
             }
             while ($fetch = mysql_fetch_assoc($res)) {
                 $tableauEvenements->addValue($date->toFrench($fetch['dateCreationEvenement']));
                 $tableauEvenements->addValue("<a href='" . $this->creerUrl('', 'adresseDetail', array('archiIdAdresse' => $fetch['idAdresse'])) . "'>" . stripslashes($adresse->getIntituleAdresse($fetch)) . "</a>");
             }
             $monArchi .= $tableauEvenements->createHtmlTableFromArray(2, "font-size:12px;");
             // ******************************************************************************************************************************************
             // liste des adresses ajoutés par l'utilisateur
             // ******************************************************************************************************************************************
             $paginationAdresses = new paginationObject();
             $nbEnregistrementsParPage = 5;
             $req = "\n\t\t\t\t\t\tSELECT distinct ha1.idAdresse\n\t\t\t\t\t\tFROM historiqueAdresse ha2,  historiqueAdresse ha1\n\t\t\t\t\t\tLEFT JOIN indicatif ind ON ind.idIndicatif = ha1.idIndicatif\n\t\t\t\t\t\tWHERE ha2.idAdresse = ha1.idAdresse\n\t\t\t\t\t\tAND ha1.idUtilisateur = '" . $auth->getIdUtilisateur() . "'\n\t\t\t\t\t\t\t\tGROUP BY ha1.idAdresse ,  ha1.idHistoriqueAdresse\n\t\t\t\t\t\t\t\tHAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)\n\t\t\t\t\t\t\t\tORDER BY ha1.date DESC\n\t\t\t\t\t\t\t\t";
             $res = $this->connexionBdd->requete($req);
             $nbEnregistrementTotaux = mysql_num_rows($res);
             $arrayPaginationAdresses = $paginationAdresses->pagination(array('nomParamPageCourante' => 'archiMonArchiAdressesPage', 'nbEnregistrementsParPage' => $nbEnregistrementsParPage, 'nbEnregistrementsTotaux' => $nbEnregistrementTotaux, 'typeLiens' => 'noformulaire'));
             $req = "\n\t\t\t\t\t\tSELECT distinct ha1.idAdresse as idAdresse, ha1.date as date,  ha1.numero,  ha1.idRue,  ha1.idSousQuartier,  ha1.idQuartier,  ha1.idVille, ha1.idIndicatif,\n\n\t\t\t\t\t\tha1.idAdresse as idAdresse,  ha1.numero,  ha1.idQuartier,  ha1.idVille, ind.nom,\n\n\t\t\t\t\t\tr.nom as nomRue,\n\t\t\t\t\t\tsq.nom as nomSousQuartier,\n\t\t\t\t\t\tq.nom as nomQuartier,\n\t\t\t\t\t\tv.nom as nomVille,\n\t\t\t\t\t\tp.nom as nomPays,\n\t\t\t\t\t\tha1.numero as numeroAdresse,\n\t\t\t\t\t\tha1.idRue,\n\t\t\t\t\t\tr.prefixe as prefixeRue,\n\t\t\t\t\t\tIF (ha1.idSousQuartier != 0,  ha1.idSousQuartier,  r.idSousQuartier) AS idSousQuartier,\n\t\t\t\t\t\tIF (ha1.idQuartier != 0,  ha1.idQuartier,  sq.idQuartier) AS idQuartier,\n\t\t\t\t\t\tIF (ha1.idVille != 0,  ha1.idVille,  q.idVille) AS idVille,\n\t\t\t\t\t\tIF (ha1.idPays != 0,  ha1.idPays,  v.idPays) AS idPays,\n\n\t\t\t\t\t\tha1.numero as numero,\n\t\t\t\t\t\tha1.idHistoriqueAdresse,\n\t\t\t\t\t\tha1.idIndicatif as idIndicatif\n\n\n\t\t\t\t\t\tFROM historiqueAdresse ha2,  historiqueAdresse ha1\n\n\t\t\t\t\t\tLEFT JOIN indicatif ind ON ind.idIndicatif = ha1.idIndicatif\n\n\t\t\t\t\t\tLEFT JOIN rue r         ON r.idRue = ha1.idRue\n\t\t\t\t\t\tLEFT JOIN sousQuartier sq    ON sq.idSousQuartier = if (ha1.idRue='0' and ha1.idSousQuartier!='0' , ha1.idSousQuartier , r.idSousQuartier )\n\t\t\t\t\t\tLEFT JOIN quartier q        ON q.idQuartier = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier!='0' , ha1.idQuartier , sq.idQuartier )\n\t\t\t\t\t\tLEFT JOIN ville v        ON v.idVille = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille!='0' , ha1.idVille , q.idVille )\n\t\t\t\t\t\tLEFT JOIN pays p        ON p.idPays = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille='0' and ha1.idPays!='0' , ha1.idPays , v.idPays )\n\t\t\t\t\t\tWHERE ha2.idAdresse = ha1.idAdresse\n\t\t\t\t\t\tAND ha1.idUtilisateur = '" . $auth->getIdUtilisateur() . "'\n\t\t\t\t\t\t\t\tGROUP BY ha1.idAdresse ,  ha1.idHistoriqueAdresse\n\t\t\t\t\t\t\t\tHAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)\n\t\t\t\t\t\t\t\tORDER BY ha1.date DESC\n\t\t\t\t\t\t\t\t";
             $req = $paginationAdresses->addLimitToQuery($req);
             $res = $this->connexionBdd->requete($req);
             $monArchi .= "<br><b>" . _("Liste de vos adresses :") . " </b><br>";
             $monArchi .= $arrayPaginationAdresses['html'];
             $tableauAdresse = new tableau();
             if (mysql_num_rows($res) == 0) {
                 $monArchi .= "<br>" . _("Vous n'avez pas encore ajouté d'adresse.") . "<br>";
             }
             while ($fetch = mysql_fetch_assoc($res)) {
                 $tableauAdresse->addValue($date->toFrench($fetch['date']));
                 $tableauAdresse->addValue("<a href='" . $this->creerUrl('', 'adresseDetail', array('archiIdAdresse' => $fetch['idAdresse'])) . "'>" . stripslashes($adresse->getIntituleAdresse($fetch)) . "</a>");
             }
             $monArchi .= $tableauAdresse->createHtmlTableFromArray(2, "font-size:12px;");
             // ******************************************************************************************************************************************
             // liste des adresses ou l'utilisateur a ajouté un commentaire
             // ******************************************************************************************************************************************
             $paginationCommentaires = new paginationObject();
             $nbEnregistrementsParPage = 5;
             $req = "\n\n\t\t\t\t\t\tSELECT c.idCommentaire\n\t\t\t\t\t\tFROM commentaires c\n\t\t\t\t\t\tLEFT JOIN _adresseEvenement ae ON ae.idEvenement = c.idEvenementGroupeAdresse\n\t\t\t\t\t\tLEFT JOIN historiqueAdresse ha1 ON ha1.idAdresse = ae.idAdresse\n\t\t\t\t\t\tLEFT JOIN historiqueAdresse ha2 ON ha2.idAdresse = ha1.idAdresse\n\t\t\t\t\t\tWHERE c.idUtilisateur = '" . $auth->getIdUtilisateur() . "' OR c.email='" . $utilisateur->getMailUtilisateur($auth->getIdUtilisateur()) . "'\n\t\t\t\t\t\t\t\tAND CommentaireValide=1\n\t\t\t\t\t\t\t\tGROUP BY ha1.idAdresse,  ha1.idHistoriqueAdresse\n\t\t\t\t\t\t\t\tHAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)\n\t\t\t\t\t\t\t\tORDER BY c.date DESC\n\t\t\t\t\t\t\t\t";
             $res = $this->connexionBdd->requete($req);
             $nbEnregistrementTotaux = mysql_num_rows($res);
             $arrayPaginationCommentaires = $paginationCommentaires->pagination(array('nomParamPageCourante' => 'archiMonArchiAdressesPage', 'nbEnregistrementsParPage' => $nbEnregistrementsParPage, 'nbEnregistrementsTotaux' => $nbEnregistrementTotaux, 'typeLiens' => 'noformulaire'));
             $req = "\n\n\t\t\t\t\t\tSELECT distinct ha1.idAdresse as idAdresse, c.date as dateCommentaire, ha1.date as date,  ha1.numero,  ha1.idRue,  ha1.idSousQuartier,  ha1.idQuartier,  ha1.idVille, ha1.idIndicatif,\n\n\t\t\t\t\t\tha1.idAdresse as idAdresse,  ha1.numero,  ha1.idQuartier,  ha1.idVille, ind.nom,\n\n\t\t\t\t\t\tr.nom as nomRue,\n\t\t\t\t\t\tsq.nom as nomSousQuartier,\n\t\t\t\t\t\tq.nom as nomQuartier,\n\t\t\t\t\t\tv.nom as nomVille,\n\t\t\t\t\t\tp.nom as nomPays,\n\t\t\t\t\t\tha1.numero as numeroAdresse,\n\t\t\t\t\t\tha1.idRue,\n\t\t\t\t\t\tr.prefixe as prefixeRue,\n\t\t\t\t\t\tIF (ha1.idSousQuartier != 0,  ha1.idSousQuartier,  r.idSousQuartier) AS idSousQuartier,\n\t\t\t\t\t\tIF (ha1.idQuartier != 0,  ha1.idQuartier,  sq.idQuartier) AS idQuartier,\n\t\t\t\t\t\tIF (ha1.idVille != 0,  ha1.idVille,  q.idVille) AS idVille,\n\t\t\t\t\t\tIF (ha1.idPays != 0,  ha1.idPays,  v.idPays) AS idPays,\n\n\t\t\t\t\t\tha1.numero as numero,\n\t\t\t\t\t\tha1.idHistoriqueAdresse,\n\t\t\t\t\t\tha1.idIndicatif as idIndicatif\n\n\t\t\t\t\t\tFROM commentaires c\n\t\t\t\t\t\tLEFT JOIN _adresseEvenement ae ON ae.idEvenement = c.idEvenementGroupeAdresse\n\t\t\t\t\t\tLEFT JOIN historiqueAdresse ha1 ON ha1.idAdresse = ae.idAdresse\n\t\t\t\t\t\tLEFT JOIN historiqueAdresse ha2 ON ha2.idAdresse = ha1.idAdresse\n\n\t\t\t\t\t\tLEFT JOIN indicatif ind ON ind.idIndicatif = ha1.idIndicatif\n\n\t\t\t\t\t\tLEFT JOIN rue r         ON r.idRue = ha1.idRue\n\t\t\t\t\t\tLEFT JOIN sousQuartier sq    ON sq.idSousQuartier = if (ha1.idRue='0' and ha1.idSousQuartier!='0' , ha1.idSousQuartier , r.idSousQuartier )\n\t\t\t\t\t\tLEFT JOIN quartier q        ON q.idQuartier = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier!='0' , ha1.idQuartier , sq.idQuartier )\n\t\t\t\t\t\tLEFT JOIN ville v        ON v.idVille = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille!='0' , ha1.idVille , q.idVille )\n\t\t\t\t\t\tLEFT JOIN pays p        ON p.idPays = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille='0' and ha1.idPays!='0' , ha1.idPays , v.idPays )\n\n\t\t\t\t\t\tWHERE c.idUtilisateur = '" . $auth->getIdUtilisateur() . "' OR c.email='" . $utilisateur->getMailUtilisateur($auth->getIdUtilisateur()) . "'\n\t\t\t\t\t\tAND CommentaireValide=1\n\t\t\t\t\t\tGROUP BY ha1.idAdresse,  ha1.idHistoriqueAdresse\n\t\t\t\t\t\tHAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)\n\t\t\t\t\t\tORDER BY c.date DESC\n\t\t\t\t\t\t\t\t";
             $req = $paginationCommentaires->addLimitToQuery($req);
             $res = $this->connexionBdd->requete($req);
             $monArchi .= "<br><b>" . _("Liste de vos derniers commentaires :") . " </b><br>";
             $monArchi .= $arrayPaginationCommentaires['html'];
             $tableauCommentaires = new tableau();
             if (mysql_num_rows($res) == 0) {
                 $monArchi .= "<br>" . _("Vous n'avez pas encore ajouté de commentaire.") . "<br>";
             }
             while ($fetch = mysql_fetch_assoc($res)) {
                 $tableauCommentaires->addValue($date->toFrench($fetch['dateCommentaire']));
                 $tableauCommentaires->addValue("<a href='" . $this->creerUrl('', 'adresseDetail', array('archiIdAdresse' => $fetch['idAdresse'])) . "'>" . stripslashes($adresse->getIntituleAdresse($fetch)) . "</a>");
             }
             $monArchi .= $tableauCommentaires->createHtmlTableFromArray(2, "font-size:12px;");
             $monArchi .= "<a href=" . $this->creerUrl('', 'mesInterets', array()) . ">Afficher mes interets </a>";
             $t->assign_vars(array('htmlMonArchi' => $monArchi));
             $t->assign_vars(array('calqueHelp' => $calque->getHtmlDivContextualHelp()));
             break;
             // **********************************************************************************************************************************
             // ACCUEIL
             // **********************************************************************************************************************************
         // **********************************************************************************************************************************
         // ACCUEIL
         // **********************************************************************************************************************************
         default:
             $params = array();
             $s = new objetSession();
             if (isset($this->variablesGet['archiIdVilleGeneral']) && $this->variablesGet['archiIdVilleGeneral'] != 0 && $this->variablesGet['archiIdVilleGeneral'] != '') {
                 $params['idVille'] = $this->variablesGet['archiIdVilleGeneral'];
                 $s->addToSession('archiIdVilleGeneral', $params['idVille']);
             } elseif ($s->isInSession('archiIdVilleGeneral') && $s->getFromSession('archiIdVilleGeneral')) {
                 $params['idVille'] = $s->getFromSession('archiIdVilleGeneral');
                 $s->addToSession('archiIdVilleGeneral', $params['idVille']);
             }
             if (isset($this->variablesGet['archiNomVilleGeneral']) && $this->variablesGet['archiNomVilleGeneral'] != '') {
                 $a = new archiAdresse();
                 $params['idVille'] = $a->getIdVilleFromNomVille($this->variablesGet['archiNomVilleGeneral']);
                 $_GET['archiIdVilleGeneral'] = $params['idVille'];
                 // on place la ville general dans la session ,  ca simplifiera pas mal de choses
                 $s->addToSession('archiIdVilleGeneral', $params['idVille']);
             }
             $news = $this->getLatestNewsInfo(1);
             //Simple templates
             $t->set_filenames(array('news' => 'accueil/news.tpl'));
             $t->set_filenames(array('derniereModfis' => 'accueil/lastmodifs.tpl'));
             $t->set_filenames(array('commentaire' => 'accueil/commentaire.tpl'));
             $t->set_filenames(array('favoris' => 'accueil/favoris.tpl'));
             $t->set_filenames(array('lastVisit' => 'accueil/lastVisit.tpl'));
             $news['titreCategory'] = 'Actualité de l\'association';
             $news['urlNewsList'] = $this->creerUrl('', 'toutesLesActualites', array());
             $t->assign_block_vars('newsAccueil', $news);
             //Gestion pour les commentaires
             $latestComments = $this->getLatestComments(2);
             $t->assign_vars(array('commentaireSectionTitle' => _("COMMENTAIRES RÉCENTS"), 'urlListCommentaire' => $this->creerUrl('', 'tousLesCommentaires')));
             foreach ($latestComments as $com) {
                 $e = new archiEvenement();
                 $commentaire = array('date' => $com['date'], 'nom' => $com['nom'], 'prenom' => $com['prenom'], 'adresse' => $com['adresse'], 'urlAdresse' => $com['urlAdresse'], 'urlPersonne' => $com['urlPersonne'], 'commentaire' => $com['commentaire']);
                 $t->assign_block_vars('commentaire', $commentaire);
             }
             $lastModifs = $this->getLatestModification(8);
             foreach ($lastModifs as $modif) {
                 if (isset($modif['idEvenement']) && $modif['idEvenement']) {
                     $idAdresse = $modif['idAdresse'];
                     $e = new archiEvenement();
                     $adresseArray = $e->getArrayAdresse($modif['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse');
                     // Adresse
                     $adresse = '';
                     $adresse = $e->getAddressText($adresseArray);
                     $infoImage = array();
                     // Image
                     $a = new archiAdresse();
                     $reqImageEvtRelated = "\t\t\t\t\n\t\t\t\t\t\t\tSELECT hi.idHistoriqueImage,hi.dateUpload,1 as priorite\n\t\t\t\t\t\t\tFROM historiqueImage hi\n\t\t\t\t\t\t\tLEFT JOIN _evenementImage ei on ei.idImage = hi.idImage\n\t\t\t\t\t\t\tWHERE ei.idEvenement = " . $modif['idEvenement'] . "\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tUNION\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tSELECT hi.idHistoriqueImage,hi.dateUpload,2 as priorite\n\t\t\t\t\t\t\tFROM `evenements` evt\n\t\t\t\t\t\t\tLEFT JOIN _evenementEvenement ee ON ee.idEvenementAssocie = evt.idEvenement\n\t\t\t\t\t\t\tLEFT JOIN evenements evt2 ON evt2.idEvenement = ee.idEvenement\n\t\t\t\t\t\t\tLEFT JOIN historiqueImage hi on hi.idImage = evt2.idImagePrincipale\n\t\t\t\t\t\t\tLEFT JOIN _evenementImage ei ON ei.idImage = hi.idImage\n\t\t\t\t\t\t\tWHERE ee.idEvenement IS NOT NULL\n\t\t\t\t\t\t\tAND evt.idEvenement IS NOT NULL\n\t\t\t\t\t\t\tAND evt.idEvenement != 0\n\t\t\t\t\t\t\tAND ei.idEvenement =" . $modif['idEvenement'] . "\n\t\t\t\t\t\t\tAND ee.idEvenement =" . $modif['idEvenementGroupeAdresse'] . "\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tORDER BY priorite DESC\n\t\t\t\t\t\t\tLIMIT 1\n\t\t\t\t\t\t\t";
                     $resImageEvtRelated = $this->connexionBdd->requete($reqImageEvtRelated);
                     $arrayImage = mysql_fetch_assoc($resImageEvtRelated);
                     if (isset($arrayImage) && $arrayImage != '') {
                         $infoImage = $arrayImage;
                     } else {
                         $reqImagePrincipale = "\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tSELECT hi.idHistoriqueImage,hi.dateUpload\n\t\t\t\t\t\t\tFROM historiqueImage hi\n\t\t\t\t\t\t\tLEFT JOIN evenements evt on evt.idImagePrincipale = hi.idImage\n\t\t\t\t\t\t\tWHERE evt.idEvenement =" . $modif['idEvenementGroupeAdresse'] . "\n\t\t\t\t\t\t\tLIMIT 1\n\t\t\t\t\t\t\t";
                         $resImagePrincipale = $this->connexionBdd->requete($reqImagePrincipale);
                         if (mysql_num_rows($reqImagePrincipale) >= 1) {
                             $infoImage = mysql_fetch_assoc($resImagePrincipale);
                         } else {
                             $reqOtherImage = "SELECT hi.idHistoriqueImage,hi.dateUpload\n\t\t\t\t\t\t\tFROM historiqueImage hi\n\t\t\t\t\t\t\tLEFT JOIN _evenementImage ei ON ei.idImage = hi.idImage\n\t\t\t\t\t\t\tLEFT JOIN _evenementEvenement ee on ee.idEvenementAssocie = ei.idEvenement\n\t\t\t\t\t\t\tWHERE ee.idEvenement IS NOT NULL\n\t\t\t\t\t\t\tAND ee.idEvenement =" . $modif['idEvenementGroupeAdresse'] . "\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tLIMIT 1\n\t\t\t\t\t\t\t";
                             $resOtherImage = $this->connexionBdd->requete($reqOtherImage);
                             if (mysql_num_rows($resOtherImage) >= 1) {
                                 $infoImage = mysql_fetch_assoc($resOtherImage);
                             }
                         }
                     }
                     $urlImage = "";
                     $urlEvenement = "";
                     // Url Evenement
                     $idEvenementGroupeAdresses = $e->getIdGroupeEvenement($modif['idEvenement']);
                     if ($modif['type'] == 'adresse') {
                         $urlEvenement = $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $idAdresse, 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresses));
                         // $urlImage = "resizeImage.php?id=".$infoImage['idHistoriqueImage']."&height=200&width=200";
                         if (isset($infoImage['dateUpload']) && isset($infoImage['idHistoriqueImage']) && $infoImage['idHistoriqueImage'] != '' && $infoImage['dateUpload'] != '') {
                             $urlImage = "images/grand/" . $infoImage['dateUpload'] . "/" . $infoImage['idHistoriqueImage'] . ".jpg";
                         } else {
                             $urlImage = "images/placeholder.jpg";
                         }
                     } else {
                         $urlEvenement = $this->creerUrl('', '', array('archiAffichage' => 'evenementListe', 'selection' => "personne", 'id' => $modif['idPersonne']));
                         $urlImage = ArchiPersonne::getImage($modif['idPersonne'], 'resized');
                     }
                     // Description
                     $so = new StringObject();
                     $bbcode = new bbCodeObject();
                     $description = $bbcode->stripBBCode($modif['description']);
                     $description = $so->truncateStringToWord($description, 130, ' ', '...');
                     $t->assign_block_vars('lastModif', array('miniatureLabelLeft' => $modif['typeEvenement'], 'miniatureLabelRight' => $modif['dateCreationEvenement'], 'adresse' => ucfirst($adresse), 'ville' => ucfirst($adresseArray[0]['nomVille']), 'urlMiniature' => $urlImage, 'urlEvenement' => $urlEvenement, 'description' => $description, 'titre' => $modif['titre']));
                 } else {
                 }
             }
             //Gestion des dernieres visites
             $t->assign_vars(array('lastVisitTitle' => _("Dernières visites")));
             $lastVisitArray = $_SESSION['lastVisited'];
             if (empty($lastVisitArray)) {
                 $visite = array('content' => _("Vous n'avez visité aucune adresse pour le moment"));
                 $t->assign_block_vars('lastVisitMessage', $visite);
             } else {
                 foreach ($lastVisitArray as $lastVisit) {
                     $titre = "";
                     if ($lastVisit['idAdresse'] != '' && $lastVisit['idEvenementGroupeAdresse'] != '') {
                         $idAdresse = $lastVisit['idAdresse'];
                         $e = new archiEvenement();
                         $adresseArray = $e->getArrayAdresse($lastVisit['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse');
                         //Adresse
                         $adresse = '';
                         $adresse = $e->getAddressText($adresseArray);
                         //Image
                         $requeteImage = "\n\t\t\t\t\t\t\t\t\tSELECT hi.idHistoriqueImage ,hi.dateUpload, e.idEvenement\n\t\t\t\t\t\t\t\t\tFROM historiqueImage hi\n\t\t\t\t\t\t\t\t\tLEFT JOIN evenements e on e.idImagePrincipale = hi.idImage\n\t\t\t\t\t\t\t\t\tWHERE e.idEvenement = " . $lastVisit['idEvenementGroupeAdresse'] . "\n\t\t\t\t\t\t\t\t\tAND e.idImagePrincipale !=0 \n\t\t\t\t\t\t\t\t\t";
                         $resultImage = $this->connexionBdd->requete($requeteImage);
                         $array_image = mysql_fetch_assoc($resultImage);
                         $a = new archiAdresse();
                         if ($array_image['idHistoriqueImage'] == 0 || !isset($array_image['idHistoriqueImage']) || $array_image['idHistoriqueImage'] == '') {
                             $infoImage = $a->getUrlImageFromAdresse($idAdresse, 'moyen');
                             $image = new archiImage();
                             $resImage = $image->getImagesEvenementsFromAdresse($idAdresse, $lastVisit);
                             $infoImage = mysql_fetch_assoc($resImage);
                         } else {
                             $infoImage = $array_image;
                         }
                         if (isset($infoImage['dateUpload']) && isset($infoImage['idHistoriqueImage']) && $infoImage['idHistoriqueImage'] != '' && $infoImage['dateUpload'] != '') {
                             $urlImage = "images/grand/" . $infoImage['dateUpload'] . "/" . $infoImage['idHistoriqueImage'] . ".jpg";
                         } else {
                             $urlImage = "images/placeholder.jpg";
                         }
                         //Url Evenement
                         $idEvenementGroupeAdresses = $lastVisit['idEvenementGroupeAdresse'];
                         $urlEvenement = $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $idAdresse, 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresses));
                         // Description
                         $requeteDescription = "\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSELECT evt.description\n\t\t\t\t\t\t\t\t\tFROM evenements evt\n\t\t\t\t\t\t\t\t\tLEFT JOIN _evenementEvenement ee ON ee.idEvenementAssocie = evt.idEvenement\n\t\t\t\t\t\t\t\t\tLEFT JOIN positionsEvenements pe ON pe.idEvenementGroupeAdresse = ee.idEvenement\n\t\t\t\t\t\t\t\t\tWHERE ee.idEvenement =" . $lastVisit['idEvenementGroupeAdresse'] . "\n\t\t\t\t\t\t\t\t\tORDER BY pe.position\n\t\t\t\t\t\t\t\t\t\t\t";
                         $resDescription = $this->connexionBdd->requete($requeteDescription);
                         $arrayDescription = mysql_fetch_assoc($resDescription);
                         $so = new StringObject();
                         $description = $so->sansBalises($arrayDescription['description']);
                         $description = stripslashes($description);
                         $description = $so->truncateStringToWord($description, 80, ' ', '...');
                         if (isset($lastVisit) && !empty($lastVisit) && isset($lastVisit['idEvenementGroupeAdresse']) && !empty($lastVisit['idEvenementGroupeAdresse']) && isset($lastVisit['idAdresse']) && !empty($lastVisit['idAdresse'])) {
                             //Titre
                             $resTitre = $e->getIdEvenementTitre($lastVisit);
                             $requeteTitre = "\n\t\t\t\t\t\t\t\t\t\tSELECT evt.titre\n\t\t\t\t\t\t\t\t\t\tFROM evenements evt\n\t\t\t\t\t\t\t\t\t\tWHERE evt.idEvenement = " . $resTitre . "\n\t\t\t\t\t\t\t\t\t\t\t\t";
                             $resTitre = $this->connexionBdd->requete($requeteTitre);
                             $titreArray = mysql_fetch_array($resTitre);
                             if ($titreArray['titre'] != '') {
                                 //$titre = $adresse;
                                 $titre = $titreArray['titre'];
                             } else {
                             }
                         }
                         $visite = array('adresse' => $adresse, 'urlMiniature' => $urlImage, 'urlEvenement' => $urlEvenement, 'description' => $description, 'titre' => $titre);
                         $t->assign_block_vars('lastVisit', $visite);
                     }
                 }
             }
             $t->assign_vars(array('lastModifTitle' => _("Dernières modifications"), 'urlCustomNewsFeed' => $this->creerUrl('', 'mesInterets', array())));
             //Associate template to the general template
             $t->assign_var_from_handle('news', 'news');
             $t->assign_var_from_handle('dernieresModifs', 'derniereModfis');
             $t->assign_var_from_handle('commentaires', 'commentaire');
             $t->assign_var_from_handle('lastVisits', 'lastVisit');
             break;
     }
     ob_start();
     $t->pparse('accueil');
     $html .= ob_get_contents();
     ob_end_clean();
     return $html;
 }