public function enregistreCommentaireEvenement()
 {
     $auth = new archiAuthentification();
     $fieldsCommentaires = $this->getCommentairesFields();
     $formulaire = new formGenerator();
     if ($auth->estConnecte()) {
         unset($fieldsCommentaires['captcha']);
     }
     $error = $formulaire->getArrayFromPost($fieldsCommentaires);
     if (count($error) == 0) {
         $idUtilisateur = 0;
         if ($auth->estConnecte()) {
             $idUtilisateur = $auth->getIdUtilisateur();
             // suite au SPAM mise en place d'un champ CommentaireValide 0/1 (by fabien 13/01/2012)
             $CommentaireValide = 1;
             $user = new archiUtilisateur();
             $userInfos = $user->getArrayInfosFromUtilisateur($idUtilisateur);
         } else {
             $CommentaireValide = 0;
         }
         // enregistrement du nouveau commentaire
         //$req = "insert into commentaires (nom,prenom,email,commentaire,idEvenementGroupeAdresse,date,idUtilisateur) values (\"".addslashes(strip_tags($this->variablesPost['nom']))."\",\"".addslashes(strip_tags($this->variablesPost['prenom']))."\",\"".addslashes(strip_tags($this->variablesPost['email']))."\",\"".addslashes(strip_tags($this->variablesPost['commentaire']))."\",'".$this->variablesPost['idEvenementGroupeAdresse']."',now(),'".$idUtilisateur."')";
         $nom = $auth->estConnecte() ? $userInfos["nom"] : $this->variablesPost['nom'];
         $prenom = $auth->estConnecte() ? $userInfos["prenom"] : $this->variablesPost['prenom'];
         $email = $auth->estConnecte() ? $user->getMailUtilisateur($idUtilisateur) : $this->variablesPost['email'];
         $uniqid = uniqid(null, true);
         //$req = "insert into commentaires (nom,prenom,email,commentaire,idEvenementGroupeAdresse,date,idUtilisateur) values (\"".addslashes(strip_tags($this->variablesPost['nom']))."\",\"".addslashes(strip_tags($this->variablesPost['prenom']))."\",\"".addslashes(strip_tags($this->variablesPost['email']))."\",\"".addslashes(strip_tags($this->variablesPost['commentaire']))."\",'".$this->variablesPost['idEvenementGroupeAdresse']."',now(),'".$idUtilisateur."')";
         $req = "INSERT INTO commentairesEvenement (nom,prenom,email,commentaire, idEvenement, date, idUtilisateur, CommentaireValide)\n\t\t\t\t\tVALUES (\"" . addslashes(strip_tags($this->variablesPost['nom'])) . "\",\"" . addslashes(strip_tags($this->variablesPost['prenom'])) . "\",\"" . addslashes(strip_tags($this->variablesPost['email'])) . "\",'" . mysql_real_escape_string(strip_tags($this->variablesPost['commentaire'])) . "', '" . mysql_real_escape_string($this->variablesPost['idEvenementGroupeAdresse']) . "', now(), '" . mysql_real_escape_string($idUtilisateur) . "'," . mysql_real_escape_string($CommentaireValide) . ")";
         $res = $this->connexionBdd->requete($req);
         // retour a l'affichage de l'adresse
         $idAdresse = $this->variablesPost['idEvenementGroupeAdresse'];
         $idEvenement = $this->variablesPost['idEvenementGroupeAdresse'];
         $idEvenementGroupeAdresse = $this->getIdEvenementGroupeAdresseFromIdEvenement($idEvenement);
         $idAdresse = $this->getIdAdresseFromIdEvenementGroupeAdresse($idEvenementGroupeAdresse);
         $idCommentaire = mysql_insert_id();
         // ************************************************************************************************************************************************
         // envoi d'un mail a tous les participants pour le groupe d'adresse
         // ************************************************************************************************************************************************
         $mail = new mailObject();
         $utilisateur = new archiUtilisateur();
         $arrayUtilisateurs = $utilisateur->getParticipantsCommentairesEvenement($this->variablesPost['idEvenementGroupeAdresse']);
         //$arrayCreatorAdresse = $utilisateur->getCreatorsFromAdresseFrom($this->variablesPost['idEvenementGroupeAdresse'],'idEvenementGroupeAdresse');
         //$arrayUtilisateurs = array_merge($arrayUtilisateurs,$arrayCreatorAdresse);
         $arrayUtilisateurs = array_unique($arrayUtilisateurs);
         $intituleAdresse = $this->getIntituleAdresseFrom($idEvenement, 'idEvenement');
         if (empty($intituleAdresse)) {
             $intituleAdresse = 'Voir le commentaire';
         }
         $idPerson = archiPersonne::isPerson($idEvenementGroupeAdresse);
         //$idAdresse = $this->getIdEvenementFromIdHistoriqueEvenement($this->variablesPost['idEvenementGroupeAdresse']);
         foreach ($arrayUtilisateurs as $indice => $idUtilisateurAdresse) {
             if ($idUtilisateurAdresse != $auth->getIdUtilisateur()) {
                 $infosUtilisateur = $utilisateur->getArrayInfosFromUtilisateur($idUtilisateurAdresse);
                 if ($infosUtilisateur['alerteCommentaires'] == '1' && $infosUtilisateur['compteActif'] == '1' && $infosUtilisateur['idProfil'] != '4') {
                     $message = "Un utilisateur a ajouté un commentaire sur un evenement que vous avez créé.";
                     if ($idPerson) {
                         $message .= "<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'evenementListe', 'selection' => 'personne', 'id' => $idPerson)) . '#commentaireEvenement' . $idCommentaire . "'>" . $intituleAdresse . "</a><br>";
                     } else {
                         $message .= "Pour vous rendre sur l'adresse : <a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $idAdresse, 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse)) . '#commentaireEvenement' . $idCommentaire . "'>" . $intituleAdresse . "</a><br>";
                     }
                     $message .= $this->getMessageDesabonnerAlerteMail();
                     $mail->sendMail($mail->getSiteMail(), $infosUtilisateur['mail'], 'Ajout d\'un commentaire sur une adresse sur laquelle vous avez participé.', $message, true);
                 }
             }
         }
         // ************************************************************************************************************************************************
         // envoi d'un mail aux administrateur pour la moderation
         $message = "Merci d'avoir laissé un commentaire sur Archi-Strasbourg.<br>";
         $message .= "Afin qu'il soit publié, merci de le valider en cliquant sur ";
         $message .= "<a href='" . $this->getUrlRacine() . "script/validateEmail.php?uniqid=" . urlencode($uniqid) . "'>ce lien</a>.<br>";
         $message .= "<br/>Cordialement,</br>";
         $mail = new mailObject();
         $envoyeur['envoyeur'] = $mail->getSiteMail();
         $envoyeur['replyTo'] = strip_tags($this->variablesPost['email']);
         $u = new archiUtilisateur();
         if (!$CommentaireValide) {
             $mail->sendMail($envoyeur['envoyeur'], $this->variablesPost['email'], 'Votre commentaire sur Archi-Strasbourg', $message, true);
         } else {
             $message = "Un utilisateur a ajouté un commentaire sur archiV2 : <br>";
             $message .= "nom ou pseudo : " . strip_tags($this->variablesPost['nom']) . "<br>";
             $message .= "prenom : " . strip_tags($this->variablesPost['prenom']) . "<br>";
             $message .= "email : " . strip_tags($this->variablesPost['email']) . "<br>";
             $message .= "commentaire : " . stripslashes(strip_tags($this->variablesPost['commentaire'])) . "<br>";
             $idPerson = archiPersonne::isPerson($idEvenementGroupeAdresse);
             if ($idPerson) {
                 $message .= "<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'evenementListe', 'selection' => 'personne', 'id' => $idPerson)) . '#commentaireEvenement' . $idCommentaire . "'>" . $intituleAdresse . "</a><br>";
             } else {
                 $message .= "<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse, 'archiIdAdresse' => $idAdresse)) . '#commentaireEvenement' . $idCommentaire . "'>" . $intituleAdresse . "</a><br>";
             }
             $mail->sendMailToAdministrators($envoyeur, 'Un utilisateur a ajouté un commentaire', $message, " AND alerteCommentaires='1' ", true, true);
             // envoi mail aussi au moderateur si ajout sur adresse de ville que celui ci modere
             $arrayVilles = array();
             $arrayVilles[] = $this->getIdVilleFrom($idEvenement, 'idEvenement');
             $arrayVilles = array_unique($arrayVilles);
             $arrayListeModerateurs = $u->getArrayIdModerateursActifsFromVille($arrayVilles[0], array("sqlWhere" => " AND alerteCommentaires='1' "));
             if (count($arrayListeModerateurs) > 0) {
                 foreach ($arrayListeModerateurs as $indice => $idModerateur) {
                     if ($auth->getIdUtilisateur() != $idModerateur) {
                         $mailModerateur = $u->getMailUtilisateur($idModerateur);
                         $mail->sendMail($mail->getSiteMail(), $mailModerateur, 'Un utilisateur a ajouté un commentaire', $message, true);
                     }
                 }
             }
         }
         // remise a zero des variables en post sinon on va reafficher les infos
         $_POST['commentaire'] = "";
         $_POST['email'] = "";
         $_POST['nom'] = "";
         $_POST['prenom'] = "";
         $idGroupeEvenement = $this->getIdEvenementGroupeAdresseFromIdEvenement($this->variablesPost['idEvenementGroupeAdresse']);
         $idAdresse = $this->getIdAdresseFromIdEvenementGroupeAdresse($idGroupeEvenement);
         $adresse = new archiAdresse();
         $this->messages->addConfirmation("Commentaire enregistré !");
         switch ($this->variablesPost['type']) {
             case 'evenement':
                 header("Location: " . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $idAdresse, 'archiIdEvenementGroupeAdresse' => $idGroupeEvenement), false, false) . '#commentaireEvenement' . $idCommentaire);
                 break;
             case 'personne':
                 $e = new archiEvenement();
                 $idEvenementGA = $e->getIdEvenementGroupeAdresseFromIdEvenement($this->variablesPost['idEvenementGroupeAdresse']);
                 header("Location: " . $this->creerUrl('', 'evenementListe', array('selection' => 'personne', 'id' => archiPersonne::isPerson($idEvenementGA))) . '#commentaireEvenement' . $idCommentaire);
                 break;
             default:
                 header("Location: " . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $idAdresse, 'archiIdEvenementGroupeAdresse' => $idGroupeEvenement), false, false) . '#commentaireEvenement' . $idCommentaire);
         }
     } else {
         header("Location: " . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $idAdresse, 'archiIdEvenementGroupeAdresse' => $idGroupeEvenement), false, false));
         $this->erreurs->ajouter('Il y a une erreur dans le formulaire.');
         echo $this->erreurs->afficher();
         echo $this->getFormComment($this->variablesPost['idEvenementGroupeAdresse'], $fieldsCommentaires, 'evenement');
         echo $this->getListCommentairesEvenements($this->variablesPost['idEvenementGroupeAdresse']);
     }
 }