public function afficheFormulaireModificationElementAdresse($parametres = array())
 {
     // verification des droits
     $a = new archiAuthentification();
     $u = new archiUtilisateur();
     $html = "";
     if ($a->estAdmin() || $u->isAuthorized('admin_rues', $a->getIdUtilisateur()) && $u->isAuthorized('admin_quartiers', $a->getIdUtilisateur()) && $u->isAuthorized('admin_sousQuartiers', $a->getIdUtilisateur())) {
         $htmlDependances = "";
         $t = new Template('modules/archi/templates/');
         $idRue = 0;
         $idQuartier = 0;
         $idSousQuartier = 0;
         $idVille = 0;
         $idPays = 0;
         switch ($parametres['tableName']) {
             case 'rue':
                 $t->set_filenames(array('modificationElementAdresse' => 'modificationElementAdresseRue.tpl'));
                 $idRue = $parametres['id'];
                 $req = "\n                            SELECT r.nom as nomRue, r.prefixe as prefixeRue,sq.idSousQuartier as idSousQuartier,\n                                    q.idQuartier as idQuartier, v.idVille as idVille, p.idPays as idPays\n                            FROM rue r\n                            LEFT JOIN sousQuartier sq ON sq.idSousQuartier = r.idSousQuartier\n                            LEFT JOIN quartier q ON q.idQuartier = sq.idQuartier\n                            LEFT JOIN ville v ON v.idVille = q.idVille\n                            LEFT JOIN pays p ON p.idPays = v.idPays\n                            WHERE idRue = '" . $idRue . "'";
                 $res = $this->connexionBdd->requete($req);
                 if (mysql_num_rows($res) == 1) {
                     $fetch = mysql_fetch_assoc($res);
                     $t->assign_vars(array('intitule' => stripslashes($fetch['nomRue']), 'complement' => stripslashes($fetch['prefixeRue']), 'sousQuartierField' => $this->afficheSelectSousQuartier(array('idQuartier' => $fetch['idQuartier'], 'idSousQuartier' => $fetch['idSousQuartier'])), 'quartierField' => $this->afficheSelectQuartier(array('idVille' => $fetch['idVille'], 'idQuartier' => $fetch['idQuartier'])), 'villeField' => $this->afficheSelectVille(array('idPays' => $fetch['idPays'], 'idVille' => $fetch['idVille'])), 'paysField' => $this->afficheSelectPays(array('idPays' => $fetch['idPays'])), 'idRue' => $idRue));
                 }
                 // ************************************************************************************************************************
                 // affichage des dependances liées a la rue:
                 // ************************************************************************************************************************
                 $htmlDependances .= "<h3>Dependances sur les adresses affichées sur le site</h3>";
                 $arrayDependances = $this->getDependancesFrom($idRue, 'idRue');
                 $lienSupprRue = "";
                 if ($arrayDependances['nbDependances'] == 0) {
                     $lienSupprRue = "<a href='" . $this->creerUrl('supprimerRueFromAdminRue', 'adminElementAdresse', array('tableName' => 'rue', 'idRueSuppr' => $idRue)) . "'>Supprimer la rue</a>";
                 }
                 $htmlDependances .= "nombre de dépendances = " . $arrayDependances['nbDependances'] . " {$lienSupprRue}<br>";
                 $tableau = new tableau();
                 $tableau->addValue("adresses", "style='font-weight:bold'");
                 $tableau->addValue("nombre d'evenements associés", "style='font-weight:bold'");
                 foreach ($arrayDependances['arrayDependances'] as $indice => $value) {
                     $lienSupprAdresse = "";
                     if ($value['nbEvenementsAssocies'] == 0) {
                         $lienSupprAdresse = "&nbsp;&nbsp;&nbsp;<a href='" . $this->creerUrl('supprimerAdresseFromAdminRue', 'adminAdresseDetail', array('tableName' => 'rue', 'idModification' => $idRue, 'idAdresseSuppr' => $value['idAdresse'])) . "'>Supprimer l'adresse</a>";
                     }
                     $tableau->addValue("<a href='" . $this->creerUrl('', 'adresseDetail', array('archiIdAdresse' => $value['idAdresse'])) . "'>" . $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse') . "</a>");
                     $tableau->addValue($value['nbEvenementsAssocies'] . $lienSupprAdresse);
                 }
                 $htmlDependances .= $tableau->createHtmlTableFromArray(2);
                 break;
             case 'sousQuartier':
                 $t->set_filenames(array('modificationElementAdresse' => 'modificationElementAdresseSousQuartier.tpl'));
                 $idSousQuartier = $parametres['id'];
                 $req = "\n                        SELECT sq.nom as nomSousQuartier, sq.idSousQuartier as idSousQuartier,\n                                    q.idQuartier as idQuartier, v.idVille as idVille, p.idPays as idPays\n                        FROM sousQuartier sq\n                        LEFT JOIN quartier q ON q.idQuartier = sq.idQuartier\n                        LEFT JOIN ville v ON v.idVille = q.idVille\n                        LEFT JOIN pays p ON p.idPays = v.idPays\n                        WHERE sq.idSousQuartier= '" . $idSousQuartier . "'";
                 $res = $this->connexionBdd->requete($req);
                 if (mysql_num_rows($res) == 1) {
                     $fetch = mysql_fetch_assoc($res);
                     $t->assign_vars(array('intitule' => stripslashes($fetch['nomSousQuartier']), 'quartierField' => $this->afficheSelectQuartier(array('idVille' => $fetch['idVille'], 'idQuartier' => $fetch['idQuartier'], 'noSousQuartier' => true)), 'villeField' => $this->afficheSelectVille(array('idPays' => $fetch['idPays'], 'idVille' => $fetch['idVille'], 'noSousQuartier' => true)), 'paysField' => $this->afficheSelectPays(array('idPays' => $fetch['idPays'], 'noSousQuartier' => true)), 'idSousQuartier' => $idSousQuartier));
                 }
                 // ************************************************************************************************************************
                 // affichage des dependances liées au sous quartier
                 // ************************************************************************************************************************
                 $htmlDependances .= "<h3>Dependances sur les sous quartiers</h3>";
                 $arrayDependances = $this->getDependancesFrom($idSousQuartier, 'idSousQuartier');
                 $htmlDependances .= "nombre de dépendances = " . $arrayDependances['nbDependances'] . "<br>";
                 $tableauAdresses = new tableau();
                 $tableauRues = new tableau();
                 $tableauAdresses->addValue("adresses", "style='font-weight:bold'");
                 $tableauAdresses->addValue("nombre d'evenements associés", "style='font-weight:bold'");
                 $tableauRues->addValue("rues dépendantes de ce sous quartier", "style='font-weight:bold'");
                 foreach ($arrayDependances['arrayDependances'] as $indice => $value) {
                     if (isset($value['idAdresse'])) {
                         $tableauAdresses->addValue("<a href='" . $this->creerUrl('', 'adresseDetail', array('archiIdAdresse' => $value['idAdresse'])) . "'>" . $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse') . "</a>");
                         $tableauAdresses->addValue($value['nbEvenementsAssocies']);
                     }
                     if (isset($value['idRue'])) {
                         $intituleRue = $this->getAdresseComplete($value['idRue'], 'rue', array('miseEnForme' => true));
                         $tableauRues->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'rue', 'idModification' => $value['idRue'])) . "'>" . $intituleRue . "</a>");
                     }
                 }
                 $htmlDependances .= $tableauAdresses->createHtmlTableFromArray(2);
                 $htmlDependances .= $tableauRues->createHtmlTableFromArray(1);
                 break;
             case 'quartier':
                 $t->set_filenames(array('modificationElementAdresse' => 'modificationElementAdresseQuartier.tpl'));
                 $idQuartier = $parametres['id'];
                 $req = "\n                            SELECT q.nom as nomQuartier,v.idVille as idVille, p.idPays as idPays\n                            FROM quartier q\n                            LEFT JOIN ville v ON v.idVille = q.idVille\n                            LEFT JOIN pays p ON p.idPays = v.idPays\n                            WHERE q.idQuartier = '" . $idQuartier . "'\n                    ";
                 $res = $this->connexionBdd->requete($req);
                 if (mysql_num_rows($res) == 1) {
                     $fetch = mysql_fetch_assoc($res);
                     $t->assign_vars(array('intitule' => stripslashes($fetch['nomQuartier']), 'villeField' => $this->afficheSelectVille(array('idPays' => $fetch['idPays'], 'idVille' => $fetch['idVille'], 'noSousQuartier' => true, 'noQuartier' => true)), 'paysField' => $this->afficheSelectPays(array('idPays' => $fetch['idPays'], 'noSousQuartier' => true, 'noQuartier' => true)), 'idQuartier' => $idQuartier));
                 }
                 // ************************************************************************************************************************
                 // affichage des dependances liées au  quartier
                 // ************************************************************************************************************************
                 $htmlDependances .= "<h3>Dependances sur quartiers</h3>";
                 $arrayDependances = $this->getDependancesFrom($idQuartier, 'idQuartier');
                 $htmlDependances .= "nombre de dépendances = " . $arrayDependances['nbDependances'] . "<br>";
                 $tableauAdresses = new tableau();
                 $tableauRues = new tableau();
                 $tableauSousQuartiers = new tableau();
                 $tableauAdresses->addValue("adresses", "style='font-weight:bold'");
                 $tableauAdresses->addValue("nombre d'evenements associés", "style='font-weight:bold'");
                 $tableauRues->addValue("rues dépendantes de ce quartier", "style='font-weight:bold'");
                 $tableauSousQuartiers->addValue("sous quartiers dépendants de ce quartier", "style='font-weight:bold'");
                 foreach ($arrayDependances['arrayDependances'] as $indice => $value) {
                     if (isset($value['idAdresse'])) {
                         $tableauAdresses->addValue("<a href='" . $this->creerUrl('', 'adresseDetail', array('archiIdAdresse' => $value['idAdresse'])) . "'>" . $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse') . "</a>");
                         $tableauAdresses->addValue($value['nbEvenementsAssocies']);
                     }
                     if (isset($value['idRue'])) {
                         $intituleRue = $this->getAdresseComplete($value['idRue'], 'rue', array('miseEnForme' => true));
                         $tableauRues->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'rue', 'idModification' => $value['idRue'])) . "'>" . $intituleRue . "</a>");
                     }
                     if (isset($value['idSousQuartier'])) {
                         $intituleSousQuartier = $this->getAdresseComplete($value['idSousQuartier'], 'sousQuartier', array('miseEnForme' => true));
                         $tableauSousQuartiers->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'sousQuartier', 'idModification' => $value['idSousQuartier'])) . "'>" . $intituleSousQuartier . "</a>");
                     }
                 }
                 $htmlDependances .= $tableauAdresses->createHtmlTableFromArray(2);
                 $htmlDependances .= $tableauRues->createHtmlTableFromArray(1);
                 $htmlDependances .= $tableauSousQuartiers->createHtmlTableFromArray(1);
                 break;
             case 'ville':
                 $googleMap = new googleMap(array('googleMapKey' => $this->googleMapKey));
                 $jsGoogleMap = "";
                 $jsGoogleMap .= $googleMap->getJsFunctions();
                 $jsGoogleMap .= $googleMap->getJSInitGeoCoder();
                 $jsToExecute = "document.getElementById('formModif').action='" . $this->creerUrl('adminEnregistreModifAdresse', '', $parametres) . "';document.getElementById('formModif').submit();";
                 $arrayJsCoordonneesFromGoogleMap = $googleMap->getJSRetriveCoordonnees(array('nomChampLatitudeRetour' => 'latitude', 'nomChampLongitudeRetour' => 'longitude', 'getAdresseFromElementById' => true, 'jsAdresseValue' => "document.getElementById('intituleVille').value+' '+document.getElementById('pays').options[document.getElementById('pays').selectedIndex].innerHTML", 'jsToExecuteIfOK' => $jsToExecute, 'jsToExecuteIfNoAddressFound' => "document.getElementById('latitude').value='';document.getElementById('longitude').value='';" . $jsToExecute));
                 $jsGoogleMap .= $arrayJsCoordonneesFromGoogleMap['jsFunctionToExecute'];
                 $t->set_filenames(array('modificationElementAdresse' => 'modificationElementAdresseVille.tpl'));
                 $idVille = $parametres['id'];
                 $req = "\n                            SELECT v.nom as nomVille,v.codepostal as codePostal, p.idPays as idPays,v.longitude as longitude, v.latitude as latitude\n                            FROM ville v\n                            LEFT JOIN pays p ON p.idPays = v.idPays\n                            WHERE v.idVille = '" . $idVille . "'\n                    ";
                 $res = $this->connexionBdd->requete($req);
                 if (mysql_num_rows($res) == 1) {
                     $fetch = mysql_fetch_assoc($res);
                     $t->assign_vars(array('jsGoogleMap' => $jsGoogleMap, 'intitule' => stripslashes($fetch['nomVille']), 'codePostal' => $fetch['codePostal'], 'paysField' => $this->afficheSelectPays(array('idPays' => $fetch['idPays'], 'noSousQuartier' => true, 'noQuartier' => true, 'noVille' => true)), 'latitude' => $fetch['latitude'], 'longitude' => $fetch['longitude'], 'idVille' => $idVille));
                 }
                 // ************************************************************************************************************************
                 // affichage des dependances liées a la ville
                 // ************************************************************************************************************************
                 $htmlDependances .= "<h3>Dependances sur la ville</h3>";
                 $arrayDependances = $this->getDependancesFrom($idVille, 'idVille');
                 $htmlDependances .= "nombre de dépendances = " . $arrayDependances['nbDependances'] . "<br>";
                 $tableauAdresses = new tableau();
                 $tableauRues = new tableau();
                 $tableauSousQuartiers = new tableau();
                 $tableauQuartiers = new tableau();
                 $tableauAdresses->addValue("adresses", "style='font-weight:bold'");
                 $tableauAdresses->addValue("nombre d'evenements associés", "style='font-weight:bold'");
                 $tableauRues->addValue("rues dépendantes de cette ville", "style='font-weight:bold'");
                 $tableauSousQuartiers->addValue("sous quartiers dépendants de cette ville", "style='font-weight:bold'");
                 $tableauQuartiers->addValue("quartiers dépendants de cette ville", "style='font-weight:bold'");
                 foreach ($arrayDependances['arrayDependances'] as $indice => $value) {
                     if (isset($value['idAdresse'])) {
                         $tableauAdresses->addValue("<a href='" . $this->creerUrl('', 'adresseDetail', array('archiIdAdresse' => $value['idAdresse'])) . "'>" . $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse') . "</a>");
                         $tableauAdresses->addValue($value['nbEvenementsAssocies']);
                     }
                     if (isset($value['idRue'])) {
                         $intituleRue = $this->getAdresseComplete($value['idRue'], 'rue', array('miseEnForme' => true));
                         $tableauRues->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'rue', 'idModification' => $value['idRue'])) . "'>" . $intituleRue . "</a>");
                     }
                     if (isset($value['idSousQuartier'])) {
                         $intituleSousQuartier = $this->getAdresseComplete($value['idSousQuartier'], 'sousQuartier', array('miseEnForme' => true));
                         $tableauSousQuartiers->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'sousQuartier', 'idModification' => $value['idSousQuartier'])) . "'>" . $intituleSousQuartier . "</a>");
                     }
                     if (isset($value['idQuartier'])) {
                         $intituleQuartier = $this->getAdresseComplete($value['idQuartier'], 'quartier', array('miseEnForme' => true));
                         $tableauQuartiers->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'quartier', 'idModification' => $value['idQuartier'])) . "'>" . $intituleQuartier . "</a>");
                     }
                 }
                 $htmlDependances .= $tableauAdresses->createHtmlTableFromArray(2);
                 $htmlDependances .= $tableauRues->createHtmlTableFromArray(1);
                 $htmlDependances .= $tableauSousQuartiers->createHtmlTableFromArray(1);
                 $htmlDependances .= $tableauQuartiers->createHtmlTableFromArray(1);
                 break;
             case 'pays':
                 $t->set_filenames(array('modificationElementAdresse' => 'modificationElementAdressePays.tpl'));
                 $idPays = $parametres['id'];
                 $req = "\n                            SELECT p.nom as nomPays\n                            FROM pays p\n                            WHERE p.idPays = '" . $idPays . "'\n                    ";
                 $res = $this->connexionBdd->requete($req);
                 if (mysql_num_rows($res) == 1) {
                     $fetch = mysql_fetch_assoc($res);
                     $t->assign_vars(array('intitule' => stripslashes($fetch['nomPays']), 'idPays' => $idPays));
                 }
                 // ************************************************************************************************************************
                 // affichage des dependances liées a la ville
                 // ************************************************************************************************************************
                 $htmlDependances .= "<h3>Dependances sur le pays</h3>";
                 $arrayDependances = $this->getDependancesFrom($idPays, 'idPays');
                 $htmlDependances .= "nombre de dépendances = " . $arrayDependances['nbDependances'] . "<br>";
                 $tableauAdresses = new tableau();
                 $tableauRues = new tableau();
                 $tableauSousQuartiers = new tableau();
                 $tableauQuartiers = new tableau();
                 $tableauVilles = new tableau();
                 $tableauAdresses->addValue("adresses", "style='font-weight:bold'");
                 $tableauAdresses->addValue("nombre d'evenements associés", "style='font-weight:bold'");
                 $tableauRues->addValue("rues dépendantes de ce pays", "style='font-weight:bold'");
                 $tableauSousQuartiers->addValue("sous quartiers dépendants de ce pays", "style='font-weight:bold'");
                 $tableauQuartiers->addValue("quartiers dépendants de ce pays", "style='font-weight:bold'");
                 $tableauVilles->addValue("villes dépendantes de ce pays", "style='font-weight:bold'");
                 foreach ($arrayDependances['arrayDependances'] as $indice => $value) {
                     if (isset($value['idAdresse'])) {
                         $tableauAdresses->addValue("<a href='" . $this->creerUrl('', 'adresseDetail', array('archiIdAdresse' => $value['idAdresse'])) . "'>" . $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse') . "</a>");
                         $tableauAdresses->addValue($value['nbEvenementsAssocies']);
                     }
                     if (isset($value['idRue'])) {
                         $intituleRue = $this->getAdresseComplete($value['idRue'], 'rue', array('miseEnForme' => true));
                         $tableauRues->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'rue', 'idModification' => $value['idRue'])) . "'>" . $intituleRue . "</a>");
                     }
                     if (isset($value['idSousQuartier'])) {
                         $intituleSousQuartier = $this->getAdresseComplete($value['idSousQuartier'], 'sousQuartier', array('miseEnForme' => true));
                         $tableauSousQuartiers->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'sousQuartier', 'idModification' => $value['idSousQuartier'])) . "'>" . $intituleSousQuartier . "</a>");
                     }
                     if (isset($value['idQuartier'])) {
                         $intituleQuartier = $this->getAdresseComplete($value['idQuartier'], 'quartier', array('miseEnForme' => true));
                         $tableauQuartiers->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'quartier', 'idModification' => $value['idQuartier'])) . "'>" . $intituleQuartier . "</a>");
                     }
                     if (isset($value['idVille'])) {
                         $intituleVille = $this->getAdresseComplete($value['idVille'], 'ville', array('miseEnForme' => true));
                         $tableauVilles->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'ville', 'idModification' => $value['idVille'])) . "'>" . $intituleVille . "</a>");
                     }
                 }
                 $htmlDependances .= $tableauAdresses->createHtmlTableFromArray(2);
                 $htmlDependances .= $tableauRues->createHtmlTableFromArray(1);
                 $htmlDependances .= $tableauSousQuartiers->createHtmlTableFromArray(1);
                 $htmlDependances .= $tableauQuartiers->createHtmlTableFromArray(1);
                 $htmlDependances .= $tableauVilles->createHtmlTableFromArray(1);
                 break;
         }
         switch ($parametres['tableName']) {
             case 'ville':
                 // on adapte le bouton modifier pour que la recherche googleMap des coordonnees se lance a la validation du formulaire
                 $typeButtonModifier = "button";
                 $onClickButtonModifier = $arrayJsCoordonneesFromGoogleMap['jsFunctionCall'];
                 break;
             default:
                 $typeButtonModifier = "submit";
                 $onClickButtonModifier = "document.getElementById('formModif').action='" . $this->creerUrl('adminEnregistreModifAdresse', '', $parametres) . "';";
                 break;
         }
         $t->assign_vars(array('typeElement' => $parametres['tableName'], 'typeButtonModifier' => $typeButtonModifier, 'onClickBoutonModifier' => $onClickButtonModifier, 'onClickBoutonRetour' => "location.href='" . $this->creerUrl('', 'adminElementAdresse', array('tableName' => $parametres['tableName'])) . "';"));
         ob_start();
         $t->pparse('modificationElementAdresse');
         $html .= ob_get_contents();
         $html .= "<br><br><h2>Dependances</h2>";
         $html .= "(concernant les adresses, deux evenements différents peuvent afficher la meme adresse , dans ce cas l'adresse est liée a deux groupes d'adresses différents.<br><br>";
         $html .= $htmlDependances;
         ob_end_clean();
         // dans le cas de la rue , on affiche un onglet pour l'historique des noms de rue
         if ($parametres['tableName'] == 'rue') {
             $d = new dateObject();
             $reqVals = "SELECT * FROM historiqueNomsRues WHERE idRue = '" . $parametres['id'] . "'";
             $resVals = $this->connexionBdd->requete($reqVals);
             $valsIdHistoriques = array();
             $valsIdRues = array();
             $valsAnnees = array();
             $valsNomsRues = array();
             $valsCommentaires = array();
             $valsPrefixes = array();
             $i = 0;
             while ($fetchVals = mysql_fetch_assoc($resVals)) {
                 $valsIdHistoriques[$i] = $fetchVals['idHistoriqueNomRue'];
                 $valsIdRues[$i] = $fetchVals['idRue'];
                 $valsAnnees[$i] = $d->toFrench($fetchVals['annee']);
                 $valsNomsRues[$i] = $fetchVals['nomRue'];
                 $valsCommentaires[$i] = $fetchVals['commentaire'];
                 $valPrefixes[$i] = $fetchVals['prefixe'];
                 $i++;
             }
             if ($i == 0) {
                 $valsIdHistoriques[$i] = '';
                 $valsIdRues[$i] = '';
                 $valsAnnees[$i] = '';
                 $valsNomsRues[$i] = '';
                 $valsCommentaires[$i] = '';
                 $valPrefixes[$i] = '';
             }
             $configForm = array("idHistoriqueNomRue" => array("type" => "hidden", "libelle" => "idHistoriqueNomRue", "defaultValues" => $valsIdHistoriques, "error" => "", "default" => ""), "annee" => array("type" => "date", "libelle" => "annee", "defaultValues" => $valsAnnees, "error" => "", "default" => ""), "prefixe" => array("type" => "text", "libelle" => "prefixe", "defaultValues" => $valPrefixes, "error" => "", "default" => ""), "nomRue" => array("type" => "text", "libelle" => "nomRue", "defaultValues" => $valsNomsRues, "error" => "", "default" => ""), "commentaire" => array("type" => "bigText", "libelle" => "commentaire", "defaultValues" => $valsCommentaires, "error" => "", "default" => ""));
             $f = new formGenerator();
             $arrayFormulaireMultiLignes = $f->getFormulaireMultiLignes(array("configForm" => $configForm, "formAction" => $this->creerUrl('enregistreHistoriqueNomsRues', 'adminAdresseDetail', array("tableName" => 'rue', "idModification" => $parametres['id']))));
             $htmlHistoriqueNomRue = $arrayFormulaireMultiLignes['html'];
             $onglets = new ongletObject();
             $onglets->init(0);
             $onglets->setStyleTable("style='margin:0px;padding:0px;'");
             $onglets->setStyleTableEtiquettes("style='margin:0px;padding:0px;'");
             $onglets->addContent("Modifier un élément de rue ", $html);
             $onglets->addContent("Historique du nom de la rue", $htmlHistoriqueNomRue);
             $html = $onglets->getHTML();
             $html .= $arrayFormulaireMultiLignes['jsAfterMultiLigneArray'];
         }
     } else {
         $erreurObj = new objetErreur();
         $erreurObj->ajouter("Vous n'avez pas les droits pour accéder à cette partie du site");
         echo $erreurObj->afficher();
     }
     return $html;
 }
 public function afficher($tabTravail = array(), $idUtilisateur = '', $modeAffichage = 'utilisateurDetail')
 {
     $html = '';
     $tabParametresPredefinis = array('pays', 'ville');
     $authentification = new archiAuthentification();
     $u = new archiUtilisateur();
     $t = new Template('modules/archi/templates/');
     $t->set_filenames(array('ev' => $modeAffichage . '.tpl'));
     if (empty($idUtilisateur) or !is_numeric($idUtilisateur) or $idUtilisateur < 1) {
         // erreur
         $html .= 'Erreur id invalide';
         if (!$authentification->estConnecte()) {
             echo "<script  >location.href='" . $this->creerUrl('', 'authentification', array()) . "';</script>";
         }
     } else {
         // si l'on n'est pas admin on ne peut modifier que son propre compte
         if ($authentification->estConnecte() && ($idUtilisateur == $authentification->getIdUtilisateur() || $authentification->estAdmin())) {
             if ($modeAffichage == 'utilisateurProfil') {
                 $s = new objetSession();
                 $infos = $u->getArrayInfosFromUtilisateur($s->getFromSession('utilisateurConnecte' . $this->idSite));
                 $t->assign_vars(array("phraseBienvenu" => _("Modifier vos informations")));
                 $t->assign_vars(array("srcImgTrombone" => $this->getUrlImage(null, "trombone.jpg")));
             }
             $sqlIdUtilisateur = $idUtilisateur;
             $rep = $this->getInfosModifsPerso($idUtilisateur);
             if ($rep) {
                 $idUtilisateur = $rep['idUtilisateur'];
                 if (!empty($rep['nomVille'])) {
                     $t->assign_block_vars('villeFavoris', array());
                 }
                 $t->assign_vars(array('villeFavorite' => $rep['nomVille'], 'urlVilleFavorite' => $this->creerUrl('', 'adresseListe', array('selection' => 'ville', 'id' => $rep['idVille'], 'debut' => 0)), 'paysVilleFavorite' => $rep['nomPays'], 'urlPaysVilleFavorite' => $this->creerUrl('', 'adresseListe', array('selection' => 'pays', 'id' => $rep['idPays'], 'debut' => 0))));
                 // évènements créés par l'utilisateur
                 //$e = new archiEvenement();
                 //$evenements = $e->afficherListe(array('selection'=>'utilisateurAjout',  'id' => $idUtilisateur)); // liste des evenements de l'utilisateur
                 // images créés par l'utilisateur
                 //$i = new archiImage();
                 //$images = $i->afficherListe(array('selection'=>'utilisateur',  'id' => $idUtilisateur)); // liste des images de l'utilisateur
                 $t->assign_vars(array('idUtilisateurModif' => $idUtilisateur));
                 // ****************************
                 if (count($tabTravail) > 0) {
                     // recuperation des infos du formulaire
                     $nom = $tabTravail['nom']['value'];
                     $prenom = $tabTravail['prenom']['value'];
                     $mail = $tabTravail['mail']['value'];
                     if (isset($tabTravail['idProfil']['value'])) {
                         $idProfil = $tabTravail['idProfil']['value'];
                     }
                     if (isset($tabTravail['alerteMail']['value'])) {
                         $alerteMail = $tabTravail['alerteMail']['value'];
                     }
                     if (isset($tabTravail['idPeriodeEnvoiMailsRegroupes']['value'])) {
                         $idPeriodeEnvoiMailsRegroupes = $tabTravail['idPeriodeEnvoiMailsRegroupes']['value'];
                     }
                     if (isset($tabTravail['urlSiteWeb']['value'])) {
                         $urlSiteWeb = $tabTravail['urlSiteWeb']['value'];
                     }
                     if (isset($tabTravail['displayProfilContactForm']['value'])) {
                         $displayProfilContactForm = $tabTravail['displayProfilContactForm']['value'];
                     }
                     foreach ($tabTravail as $name => $value) {
                         $t->assign_vars(array($name . '-error' => $value['error']));
                     }
                 } else {
                     // recuperation des infos de la base
                     $nom = $rep['nom'];
                     $prenom = $rep['prenom'];
                     $mail = $rep['mail'];
                     $idProfil = $rep['idProfil'];
                     $alerteMail = $rep['alerteMail'];
                     $urlSiteWeb = $rep['urlSiteWeb'];
                     $displayProfilContactForm = $rep['displayProfilContactForm'];
                     $idPeriodeEnvoiMailsRegroupes = $rep['idPeriodeEnvoiMailsRegroupes'];
                 }
                 $d = new droitsObject();
                 $arrayProfils = $d->getArrayListeProfils();
                 $selectProfil = "<select name='idProfil' style='width:145px;'>";
                 foreach ($arrayProfils as $idProfilListe => $libelleProfilListe) {
                     $checked = "";
                     if ($idProfil == $idProfilListe) {
                         $checked = "selected";
                     }
                     $selectProfil .= "<option value='{$idProfilListe}' {$checked}>{$libelleProfilListe}</option>";
                 }
                 $selectProfil .= "</select>";
                 // periodicite d'envoi des mails
                 $reqPeriodicite = "SELECT idPeriode, intitule FROM periodesEnvoiMailsRegroupes";
                 $resPeriodicite = $this->connexionBdd->requete($reqPeriodicite);
                 $selectPeriodiciteMail = "<select name='idPeriodeEnvoiMailsRegroupes'>";
                 while ($fetchPeriodicite = mysql_fetch_assoc($resPeriodicite)) {
                     $selected = "";
                     if ($idPeriodeEnvoiMailsRegroupes == $fetchPeriodicite['idPeriode']) {
                         $selected = "selected";
                     }
                     $selectPeriodiciteMail .= "<option value='" . $fetchPeriodicite['idPeriode'] . "' {$selected}>" . $fetchPeriodicite['intitule'] . "</option>";
                 }
                 $selectPeriodiciteMail .= "</select>";
                 $t->assign_block_vars('detailUtilisateur', array('nom' => $nom, 'prenom' => $prenom, 'email' => $mail, 'onClickChoixVilleFavorite' => "document.getElementById('calqueVille').style.top=getScrollHeight()+150+'px';document.getElementById('paramChampAppelantVille').value='ville';document.getElementById('calqueVille').style.display='block';", 'ville' => $rep['idVille'], 'villetxt' => $rep['nomVille'], 'urlSiteWeb' => $urlSiteWeb, 'imageAvatar' => "<img src='" . $this->getImageAvatar(array('idUtilisateur' => $idUtilisateur)) . "' border=0>"));
                 $authentifie = new archiAuthentification();
                 if ($authentifie->estConnecte() && $authentifie->estAdmin()) {
                     $t->assign_block_vars('detailUtilisateur.utilisateurCourantIsAdmin', array());
                     $t->assign_vars(array('selectProfil' => $selectProfil));
                     //$t->assign_vars(array("urlLogsMails"=>"<a href='".$this->creerUrl('', 'afficheLogsMails', array('idUtilisateur'=>$idUtilisateur))."'>Acceder au log des mail de cet utilisateur</a>"));
                 }
                 if ($modeAffichage == "utilisateurDetail") {
                     if ($authentifie->estConnecte() && $authentifie->estAdmin()) {
                         $t->assign_vars(array('selectPeriodiciteMail' => $selectPeriodiciteMail));
                         $t->assign_block_vars('detailUtilisateur.banissementUtilisateurParAdmin', array());
                         if ($rep['compteBanni'] == '1') {
                             $t->assign_vars(array('checkDisplayBannirUtilisateurOui' => 'checked'));
                         } else {
                             $t->assign_vars(array('checkDisplayBannirUtilisateurNon' => 'checked'));
                         }
                     }
                     if ($this->canChangeNumeroArchiveField(array('idUtilisateur' => $idUtilisateur))) {
                         $t->assign_vars(array('checkDisplayNumeroArchiveFieldOui' => 'checked'));
                     } else {
                         $t->assign_vars(array('checkDisplayNumeroArchiveFieldNon' => 'checked'));
                     }
                     if ($this->canChangeDateFinField(array('idUtilisateur' => $idUtilisateur))) {
                         $t->assign_vars(array('checkDisplayDateFinFieldOui' => 'checked'));
                     } else {
                         $t->assign_vars(array('checkDisplayDateFinFieldNon' => 'checked'));
                     }
                     if ($this->canCopyright(array('idUtilisateur' => $idUtilisateur))) {
                         $t->assign_vars(array('canCopyright1' => 'checked'));
                     } else {
                         $t->assign_vars(array('canCopyright0' => 'checked'));
                     }
                     if ($this->canModifyTags(array('idUtilisateur' => $idUtilisateur))) {
                         $t->assign_vars(array('canModifyTags1' => 'checked'));
                     } else {
                         $t->assign_vars(array('canModifyTags0' => 'checked'));
                     }
                     if ($this->canAddWithoutStreet(array('idUtilisateur' => $idUtilisateur))) {
                         $t->assign_vars(array('canAddWithoutStreet1' => 'checked'));
                     } else {
                         $t->assign_vars(array('canAddWithoutStreet0' => 'checked'));
                     }
                 }
                 if ($modeAffichage == 'utilisateurProfil') {
                     if ($authentifie->estConnecte() && ($idProfil == '3' || $idProfil == '4')) {
                         $t->assign_block_vars('detailUtilisateur.utilisateurCourantIsAdminOrModerateur', array());
                         $t->assign_vars(array('selectPeriodiciteMail' => $selectPeriodiciteMail));
                     }
                 }
                 if ($authentifie->estConnecte()) {
                     if ($rep['alerteCommentaires'] == '1') {
                         $t->assign_vars(array('checkAlertesCommentairesOui' => 'checked="checked"'));
                     } else {
                         $t->assign_vars(array('checkAlertesCommentairesNon' => 'checked="checked"'));
                     }
                     if ($rep['alerteAdresses'] == '1') {
                         $t->assign_vars(array('checkAlertesAdressesOui' => 'checked="checked"'));
                     } else {
                         $t->assign_vars(array('checkAlertesAdressesNon' => 'checked="checked"'));
                     }
                     if ($alerteMail == '1') {
                         $t->assign_vars(array('checkAlerteMailOui' => 'checked="checked"'));
                     } else {
                         $t->assign_vars(array('checkAlerteMailNon' => 'checked="checked"'));
                     }
                     if ($displayProfilContactForm == '1') {
                         $t->assign_vars(array('checkContactPersoProfilOui' => 'checked="checked"'));
                     } else {
                         $t->assign_vars(array('checkContactPersoProfilNon' => 'checked="checked"'));
                     }
                 }
                 if ($modeAffichage == "utilisateurDetail") {
                     $t->assign_vars(array('formAction' => $this->creerUrl('modifierUtilisateur', 'utilisateurDetail', array('modeAffichage' => 'utilisateurDetail', 'idUtilisateur' => $idUtilisateur))));
                 } else {
                     $t->assign_vars(array('formAction' => $this->creerUrl('modifierUtilisateur', 'afficheAccueil', array('modeAffichage' => 'profil'))));
                 }
                 // gestion de la popup du choix de la ville
                 $adresses = new archiAdresse();
                 $t->assign_vars(array('popupChoixVille' => $adresses->getPopupChoixVille('modifUtilisateur')));
                 ob_start();
                 $t->pparse('ev');
                 $html = ob_get_contents();
                 ob_end_clean();
             } else {
                 $html .= 'Aucun résultat';
             }
         } else {
             if ($authentification->estConnecte()) {
                 echo "Vous n'avez pas les droits pour effectuer cette action.<br>";
             } else {
                 echo "Vous n'êtes pas connecté.<br>";
             }
         }
     }
     $ongletUtilisateur = $html;
     $onglets = new ongletObject('0');
     $onglets->setLargeurTotale('700');
     $onglets->setLargeurEtiquette('200');
     $onglets->setHauteurOnglets('25');
     $onglets->setStyleContoursContenu("style='border-left:#007799 solid 2px;border-right:#007799 solid 2px;border-bottom:#007799 solid 2px;'");
     $onglets->setStyleTable("style='margin:0;padding:0;'");
     $onglets->setStyleTableEtiquettes("style='margin:0;padding:0;'");
     $onglets->setStylesOnglets('');
     $onglets->setStyleBorderHautContenu("style='border-bottom:2px solid #007799;'");
     $isCompteModerateur = false;
     if ($this->getIdProfilFromUtilisateur($idUtilisateur) == '3') {
         $isCompteModerateur = true;
     }
     if (isset($this->variablesGet['archiOnglet']) && $this->variablesGet['archiOnglet'] == 'listeVilles') {
         $afficheOngletUtilisateur = false;
         $afficheOngletListeVille = true;
         $afficheOngletLogsMails = false;
     } elseif (isset($this->variablesGet['recherche'])) {
         $afficheOngletUtilisateur = false;
         $afficheOngletListeVille = false;
         $afficheOngletLogsMails = true;
     } else {
         $afficheOngletUtilisateur = true;
         $afficheOngletListeVille = false;
         $afficheOngletLogsMails = false;
     }
     if ($modeAffichage == 'utilisateurDetail' && $u->isAuthorized('admin_ville_par_moderateur', $authentification->getIdUtilisateur())) {
         $onglets->addContent("utilisateur", $ongletUtilisateur, $afficheOngletUtilisateur);
     }
     if ($modeAffichage == 'utilisateurDetail' && $isCompteModerateur && $u->isAuthorized('admin_ville_par_moderateur', $authentification->getIdUtilisateur())) {
         $ongletListeVille = "";
         $reqVilles = "\n                        SELECT * \n                        FROM ville \n                        WHERE nom!='autre'";
         $resVilles = $this->connexionBdd->requete($reqVilles);
         $reqVillesModeration = "SELECT idVille FROM utilisateurModerateurVille WHERE idUtilisateur='" . $idUtilisateur . "'";
         $resVillesModeration = $this->connexionBdd->requete($reqVillesModeration);
         $arrayListeVillesModerees = array();
         if (mysql_num_rows($resVillesModeration) > 0) {
             while ($fetchVillesModeration = mysql_fetch_assoc($resVillesModeration)) {
                 $arrayListeVillesModerees[] = $fetchVillesModeration['idVille'];
             }
         }
         $tableau = new tableau();
         while ($fetchVilles = mysql_fetch_assoc($resVilles)) {
             $checked = "";
             $baliseOuvrante = "";
             $baliseFermante = "";
             if (in_array($fetchVilles['idVille'], $arrayListeVillesModerees)) {
                 $checked = "checked";
                 $baliseOuvrante = "<b>";
                 $baliseFermante = "</b>";
             }
             $tableau->addValue("<input type='checkbox' name='idVillesModerateur[]' value='" . $fetchVilles['idVille'] . "' {$checked}>&nbsp;{$baliseOuvrante}" . $fetchVilles['nom'] . $baliseFermante);
         }
         $ongletListeVille .= "<h3>Cet utilisateur modère :</h3>";
         $ongletListeVille .= "<form action='" . $this->creerUrl('enregistreListeVillesModerateur', 'utilisateurDetail', array('idUtilisateur' => $idUtilisateur, 'archiOnglet' => 'listeVilles')) . "' name='formulaireModerationVille' enctype='multipart/form-data' method='POST'>";
         $ongletListeVille .= $tableau->createHtmlTableFromArray(4);
         $ongletListeVille .= "<input type='hidden' value='" . $idUtilisateur . "' name='idUtilisateurModerateur'>";
         $ongletListeVille .= "<input type='submit' value='Enregistrer'>";
         $ongletListeVille .= "</form>";
         $onglets->addContent("modération de ville", $ongletListeVille, $afficheOngletListeVille);
     }
     if ($modeAffichage == 'utilisateurDetail' && $u->isAuthorized('admin_ville_par_moderateur', $authentification->getIdUtilisateur())) {
         // utilisateur administrateur
         $administration = new archiAdministration();
         $ongletLogsMail = $administration->getLoggedMails();
         $onglets->addContent("log mails", $ongletLogsMail, $afficheOngletLogsMails);
     }
     if ($modeAffichage == 'utilisateurDetail' && $u->isAuthorized('admin_ville_par_moderateur', $authentification->getIdUtilisateur())) {
         $html = $onglets->getHTML();
     }
     return $html;
 }