public function enregistreCommentaire()
 {
     $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, CommentaireValide, uniqid) VALUES ('" . mysql_real_escape_string(strip_tags($nom)) . "', '" . mysql_real_escape_string(strip_tags($prenom)) . "', '" . mysql_real_escape_string(strip_tags($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) . ", '" . mysql_real_escape_string($uniqid) . "')";
         $res = $this->connexionBdd->requete($req);
         $idCommentaire = mysql_insert_id();
         // retour a l'affichage de l'adresse
         $idAdresse = $this->getIdAdresseFromIdEvenementGroupeAdresse($this->variablesPost['idEvenementGroupeAdresse']);
         // ************************************************************************************************************************************************
         // envoi d'un mail a tous les participants pour le groupe d'adresse
         // ************************************************************************************************************************************************
         $mail = new mailObject();
         $utilisateur = new archiUtilisateur();
         $arrayUtilisateurs = $utilisateur->getParticipantsCommentaires($this->variablesPost['idEvenementGroupeAdresse']);
         $arrayCreatorAdresse = $utilisateur->getCreatorsFromAdresseFrom($this->variablesPost['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse');
         $arrayUtilisateurs = array_merge($arrayUtilisateurs, $arrayCreatorAdresse);
         $arrayUtilisateurs = array_unique($arrayUtilisateurs);
         $intituleAdresse = $this->getIntituleAdresseFrom($idAdresse, 'idAdresse');
         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 une adresse ou vous avez participé.";
                     $message .= "Pour vous rendre sur l'adresse : <a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $idAdresse, 'archiIdEvenementGroupeAdresse' => $this->variablesPost['idEvenementGroupeAdresse'])) . '#commentaireAdresse' . $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>";
             $message .= "<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $this->variablesPost['idEvenementGroupeAdresse'], 'archiIdAdresse' => $idAdresse)) . '#commentaireAdresse' . $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($idAdresse, 'idAdresse');
             $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'] = "";
         $this->variablesGet['archiIdEvenementGroupeAdresse'] = $this->variablesPost['idEvenementGroupeAdresse'];
         $idAdresse = $this->getIdAdresseFromIdEvenementGroupeAdresse($this->variablesGet['archiIdEvenementGroupeAdresse']);
         $this->messages->addConfirmation("Commentaire enregistré !");
         $this->messages->display();
         header("Location: " . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $idAdresse, 'archiIdEvenementGroupeAdresse' => $this->variablesGet['archiIdEvenementGroupeAdresse']), false, false) . '#commentaireAdresse' . $idCommentaire);
     } else {
         $this->messages->addError("Il y a une erreur dans le formulaire.");
         $this->messages->display();
         echo $this->getListeCommentaires($this->variablesPost['idEvenementGroupeAdresse']);
         echo $this->getFormulaireCommentaires($this->variablesPost['idEvenementGroupeAdresse'], $fieldsCommentaires);
     }
 }
 private function getUserFormMail($idUtilisateur)
 {
     $infosArray = $this->getArrayInfosFromUtilisateur($idUtilisateur);
     $mail = new mailObject();
     if ($infosArray['displayProfilContactForm'] == '1' && $infosArray['mail'] != '' && $mail->isMail($infosArray['mail'])) {
         $authentification = new archiAuthentification();
         $mailUtilisateurConnecte = "";
         if ($authentification->estConnecte()) {
             $idUtilisateurConnecte = $authentification->getIdUtilisateur();
             $mailUtilisateurConnecte = $this->getMailUtilisateur($idUtilisateurConnecte);
             if (!$mail->isMail($mailUtilisateurConnecte)) {
                 $mailUtilisateurConnecte = "";
             }
         }
         $f = new formGenerator();
         $bb = new bbCodeObject();
         $configBoutonsBBCode = array('formName' => 'messagePrive', 'fieldName' => 'message', 'noUrlInterneButton' => true);
         $help = $this->getHelpMessages('helpEvenement');
         foreach ($help as $index => $value) {
             $configBoutonsBBCode[$index] = $value;
         }
         $configBoutonsBBCode["msgQuote"] = "Selectionnez une partie de votre texte pour le mettre entre quotes";
         $configBoutonsBBCode["msgUrlExterne"] = "Tapez une url commencant par http:// ,  et selectionnez la pour en faire un lien";
         $arrayBBCode = $bb->getBoutonsMiseEnFormeTextArea($configBoutonsBBCode);
         if ($authentification->estConnecte()) {
             $configFieldsContact = array('idUtilisateurDestinataire' => array('type' => 'hidden', 'value' => '', 'forceValueTo' => $idUtilisateur, 'htmlCode' => '', 'default' => '', 'error' => '', 'required' => true), 'mailEnvoyeur' => array('type' => 'email', 'value' => '', 'forceValueTo' => $mailUtilisateurConnecte, 'htmlCode' => '', 'default' => '', 'libelle' => 'Votre mail', 'error' => '', 'required' => true), 'message' => array('type' => 'bigText', 'value' => '', 'htmlCode' => "style='width:400px;height:100px;'", 'default' => '', 'libelle' => 'Votre message', 'error' => '', 'required' => true, 'htmlCodeBeforeField' => $arrayBBCode['boutonsHTML']));
         } else {
             $configFieldsContact = array('idUtilisateurDestinataire' => array('type' => 'hidden', 'value' => '', 'forceValueTo' => $idUtilisateur, 'htmlCode' => '', 'default' => '', 'error' => '', 'required' => true), 'mailEnvoyeur' => array('type' => 'email', 'value' => '', 'forceValueTo' => $mailUtilisateurConnecte, 'htmlCode' => '', 'default' => '', 'libelle' => 'Votre mail', 'error' => '', 'required' => true), 'message' => array('type' => 'bigText', 'value' => '', 'htmlCode' => "style='width:400px;height:100px;'", 'default' => '', 'libelle' => 'Votre message', 'error' => '', 'required' => true, 'htmlCodeBeforeField' => $arrayBBCode['boutonsHTML']), 'captcha' => array('type' => 'captcha', 'value' => '', 'htmlCode' => "", 'default' => '', 'libelle' => 'Vérification', 'error' => '', 'required' => true));
         }
         if (isset($this->variablesPost['message'])) {
             $errors = $f->getArrayFromPost($configFieldsContact);
             $complementMsgVisiteAdresse = "";
             if (isset($this->variablesGet['archiIdEvenementGroupeAdresseOrigine']) && $this->variablesGet['archiIdEvenementGroupeAdresseOrigine'] != '') {
                 // recuperation de l'intitule de l'adresse
                 $adresse = new archiAdresse();
                 $idAdresseMessage = $adresse->getIdAdresseFromIdEvenementGroupeAdresse($this->variablesGet['archiIdEvenementGroupeAdresseOrigine']);
                 $intituleAdresse = $adresse->getIntituleAdresseFrom($this->variablesGet['archiIdEvenementGroupeAdresseOrigine'], 'idEvenementGroupeAdresse', array('ifTitreAfficheTitreSeulement' => true, 'noQuartier' => true, 'noSousQuartier' => true, 'noVille' => true));
                 $complementMsgVisiteAdresse = " à visité l'adresse <a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $idAdresseMessage, 'archiIdEvenementGroupeAdresse' => $this->variablesGet['archiIdEvenementGroupeAdresseOrigine'])) . "'>" . $intituleAdresse . "</a> et";
             }
             if (count($errors) == 0) {
                 // envoi du mail
                 $contenu = "Bonjour, <br><br>";
                 $contenu .= "Un utilisateur d'archi-strasbourg (<a href=\"mailto:" . $this->variablesPost['mailEnvoyeur'] . "\">" . $this->variablesPost['mailEnvoyeur'] . "</a>){$complementMsgVisiteAdresse} vous envoie un message privé :<br><br>";
                 $contenu .= stripslashes($bb->convertToDisplay(array('text' => $this->variablesPost['message'])));
                 $contenu .= "";
                 $contenu .= "";
                 if ($mail->sendMail($this->siteMail, $infosArray['mail'], "Un utilisateur d'archi-strasbourg vous envoie un message", $contenu, $writeMailToLogs = false, $this->variablesPost['mailEnvoyeur'])) {
                     echo "<span style='color:red;'>Mail envoyé.</span>";
                 }
             }
         }
         $arrayUrlViensDeAdresse = array();
         if (isset($this->variablesGet['archiIdEvenementGroupeAdresseOrigine']) && $this->variablesGet['archiIdEvenementGroupeAdresseOrigine'] != '') {
             $arrayUrlViensDeAdresse = array('archiIdEvenementGroupeAdresseOrigine' => $this->variablesGet['archiIdEvenementGroupeAdresseOrigine']);
         }
         $configForm = array('formAction' => $this->creerUrl('', 'detailProfilPublique', array_merge($arrayUrlViensDeAdresse, array('archiIdUtilisateur' => $idUtilisateur))), 'fields' => $configFieldsContact, 'formName' => 'messagePrive', 'codeHtmlInFormAfterFields' => "Prévisualisation :" . $arrayBBCode['divAndJsAfterForm']);
         $html .= "<br><br><h2>Lui envoyer un message personnel :</h2>";
         $html .= $f->afficherFromArray($configForm);
     }
     return $html;
 }
 if (isset($_GET["modePrevisualisationAdmin"]) && !isset($_GET["testMail"])) {
     $messageHTML .= $messageIntro . $messageFin;
 } else {
     $messageHTML .= $messageIntro . $messageStrasbourg . $messageStrasModif . $messageAutres . $messageAutresModif . $messagePeople . $messageFin;
 }
 $messageHTML .= "</body></html>";
 if (isset($_SERVER["SERVER_NAME"]) && !isset($_GET["modePrevisualisationAdmin"]) || isset($_GET["preview"])) {
     print_r($messageHTML);
     if (isset($_GET["testMail"])) {
         include_once __DIR__ . "/../modules/archi/includes/archiAuthentification.class.php";
         include_once __DIR__ . "/../modules/archi/includes/archiUtilisateur.class.php";
         $auth = new archiAuthentification();
         $idUtilisateur = $auth->getIdUtilisateur();
         $u = new archiUtilisateur();
         $mailUtilisateur = $u->getMailUtilisateur($idUtilisateur);
         $mail->sendMail($mail->getSiteMail(), $mailUtilisateur, $sujet, $messageHTML, false);
     }
 } else {
     $reqUtilisateurs = "SELECT idUtilisateur,mail FROM utilisateur WHERE alerteMail='1' and compteActif='1'";
     $resUtilisateurs = $config->connexionBdd->requete($reqUtilisateurs);
     //         $mail->sendMail($mail->getSiteMail(),"*****@*****.**",$sujet,$messageHTML,true);
     //         $mail->sendMail($mail->getSiteMail(),"*****@*****.**",$sujet,$messageHTML,true);
     //$mail->sendMail($mail->getSiteMail(),"*****@*****.**",$sujet,$messageHTML,true);
     //$mail->sendMail($mail->getSiteMail(),"*****@*****.**",$sujet,$messageHTML,true);
     //$mail->sendMail($mail->getSiteMail(),"*****@*****.**",$sujet,$messageHTML,true);
     //$mail->sendMail($mail->getSiteMail(),"*****@*****.**",$sujet,$messageHTML,true);
     if (isset($_GET['debug']) && $_GET['debug'] == '1') {
         //          $mail->sendMail($mail->getSiteMail(),"*****@*****.**",$sujet,$messageHTML,true);
         //$mail->sendMail($mail->getSiteMail(),"*****@*****.**",$sujet,$messageHTML,true);
     } else {
         while ($fetchUtilisateurs = mysql_fetch_assoc($resUtilisateurs)) {
 /**
  * Ajouter un événement à la BDD
  * 
  * @param string $type             Type (adresse ou personne)
  * @param array  $arrayNewAdresses Contenu lié
  * 
  * @return void
  * */
 function addEvent($type = "adresse", $arrayNewAdresses = array())
 {
     // ******************************************************
     // ensuite on ajoute l'evenement
     // ******************************************************
     $evenement = new archiEvenement();
     $idEvenementGroupeAdresses = 0;
     $idSousEvenement = 0;
     if ($type == "personne") {
         $linkTable = "_personneEvenement";
         $field = "idPersonne";
     } else {
         $linkTable = "_adresseEvenement";
         $field = "idAdresse";
     }
     $table = array('table' => $linkTable, 'field' => $field);
     //debug($arrayNewAdresses);
     //$arrayRetourEvenementNouveauDossier=$evenement->ajouterEvenementNouveauDossier();
     foreach ($arrayNewAdresses as $newAddress) {
         if (isset($newAddress['newAdresse']) && !empty($newAddress['newAdresse']) || $newAddress['newAdresse'] == 1) {
             //debug("full ajout");
             $arrayRetourEvenementNouveauDossier = $evenement->ajouterEvenementNouveauDossier();
         } else {
             //debug("ajout simple id : ".$newAddress['idAdresse']);
             $arrayRetourEvenementNouveauDossier = $evenement->ajouterEvenementNouveauDossier($newAddress['idAdresse']);
         }
     }
     //debug($arrayRetourEvenementNouveauDossier);
     // s'il n'y a pas eu d'erreurs ,  on peut faire l'ajout des liaisons entre evenement et adresses
     if (count($arrayRetourEvenementNouveauDossier['errors']) == 0 && count($arrayNewAdresses) > 0) {
         $idEvenementGroupeAdresses = $arrayRetourEvenementNouveauDossier['idEvenementGroupeAdresse'];
         $idSousEvenement = $arrayRetourEvenementNouveauDossier['idSousEvenement'];
         // liaison entre les adresses et l'evenement groupe d'adresses
         $resSupp = $this->connexionBdd->requete("delete from {$linkTable} where idEvenement = '" . $idEvenementGroupeAdresses . "'");
         // on rend la liste des identifiants unique
         $arrayNewIdAdresses = array();
         foreach ($arrayNewAdresses as $indice => $value) {
             $arrayNewIdAdresses[] = $value['idAdresse'];
         }
         $arrayNewIdAdresses = array_unique($arrayNewIdAdresses);
         foreach ($arrayNewIdAdresses as $indice => $idAdresse) {
             $reqLiaisons = "INSERT INTO {$linkTable} ({$field}, idEvenement)\n                                VALUES ('" . $idAdresse . "', '" . $idEvenementGroupeAdresses . "')\n                ";
             //debug($reqLiaisons);
             $resLiaisons = $this->connexionBdd->requete($reqLiaisons);
         }
         // on relie l'evenement pere (groupe d'adresse ) à l'evenement fils
         if (isset($newAddress['newAdresse']) && !empty($newAddress['newAdresse']) || $newAddress['newAdresse'] == 1) {
             $sqlAssociationNettoie = "delete from _evenementEvenement where idEvenement = '" . $arrayRetourEvenementNouveauDossier['idEvenementGroupeAdresse'] . "'";
             //debug($sqlAssociationNettoie);
             $resAssociationNettoie = $this->connexionBdd->requete($sqlAssociationNettoie);
         }
         $sqlAssociation = "insert into _evenementEvenement (idEvenement,idEvenementAssocie) values ('" . $arrayRetourEvenementNouveauDossier['idEvenementGroupeAdresse'] . "','" . $arrayRetourEvenementNouveauDossier['idSousEvenement'] . "')";
         //debug($sqlAssociation);
         $resAssociation = $this->connexionBdd->requete($sqlAssociation);
         if ($type == "personne") {
         } else {
             // *************************************************************************************************************************************************************
             // envoi d'un mail aux administrateur pour la moderation
             $utilisateur = new archiUtilisateur();
             $message = "L'utilisateur suivant a créé un nouveau dossier : ";
             $message .= $utilisateur->getMailUtilisateur($this->session->getFromSession('utilisateurConnecte' . $this->idSite)) . "<br>";
             $message .= "<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $arrayNewIdAdresses[0], 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresses)) . "'>lien vers l'article</a><br>";
             $message .= "Adresses liées au nouveau dossier :<br>";
             $i = 0;
             $adressePourSujetMail = "";
             foreach ($arrayNewAdresses as $indice => $value) {
                 if ($i == 0) {
                     $adressePourSujetMail = $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse');
                 }
                 if ($value['newAdresse'] == true) {
                     // cette adresse a été créée avec le dossier
                     $message .= "<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresses, 'archiIdAdresse' => $value['idAdresse'])) . "'>" . $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse') . " (nouvelle adresse)</a><br>";
                 } else {
                     /* cette adresse a été créée précédemment
                      * et est utilisée sur ce dossier
                      * */
                     $message .= "<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresses, 'archiIdAdresse' => $value['idAdresse'])) . "'>" . $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse') . " (cette adresse existait déjà " . "avant la création du dossier)" . "</a><br>";
                 }
             }
             $mail = new mailObject();
             $mail->sendMailToAdministrators($mail->getSiteMail(), "archi-strasbourg.org : " . "un utilisateur a créé un nouveau dossier - " . $adressePourSujetMail, $message, " and alerteMail='1' ", true);
             $u = new archiUtilisateur();
             $u->ajouteMailEnvoiRegroupesAdministrateurs(array('contenu' => $message, 'idTypeMailRegroupement' => 3, 'criteres' => " and alerteMail='1' "));
             /* envoi mail aussi au moderateur si ajout
              * sur adresse de ville que celui ci modere
              * */
             $arrayListeModerateurs = $u->getArrayIdModerateursActifsFromVille($this->variablesPost['ville'], array("sqlWhere" => " AND alerteMail='1' "));
             if (count($arrayListeModerateurs) > 0) {
                 foreach ($arrayListeModerateurs as $indice => $idModerateur) {
                     if ($this->session->getFromSession("utilisateurConnecte" . $this->idSite) != $idModerateur) {
                         $mailModerateur = $u->getMailUtilisateur($idModerateur);
                         if ($u->isMailEnvoiImmediat($idModerateur)) {
                             $mail->sendMail($mail->getSiteMail(), $mailModerateur, "archi-strasbourg.org : " . "un utilisateur a créé un nouveau dossier - " . $adressePourSujetMail, $message, true);
                         } else {
                             // envoi regroupé
                             $u->ajouteMailEnvoiRegroupes(array('contenu' => $message, 'idDestinataire' => $idModerateur, 'idTypeMailRegroupement' => 3));
                         }
                     }
                 }
             }
         }
         //echo $retourEvenement["html"];
         if ($type == "personne") {
             header("Location: " . $this->creerUrl('', '', array('archiAffichage' => 'evenementListe', 'selection' => "personne", 'id' => $idAdresse), false, false));
         } else {
             header("Location: " . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresses, 'archiIdAdresse' => $value['idAdresse']), false, false));
         }
     }
 }
Esempio n. 5
0
    if ($resp->success) {
        $message = '
        Nom : ' . $_POST['surname'] . '<br/>
        Prénom : ' . $_POST['name'] . '<br/>
        Profession/Société : ' . $_POST['job'] . '<br/>
        Adresse : ' . $_POST['address'] . '<br/>
        Email : ' . $_POST['email'] . '<br/>
        Tél : ' . $_POST['tel'] . '<br/>
        Commentaire : ' . $_POST['comment'] . '<br/>';
        $message .= 'Cotisation : ';
        if (!empty($_POST['otheramount'])) {
            $message .= $_POST['otheramount'];
        } else {
            $message .= $_POST['amount'];
        }
        $message .= '<br/>';
        $mail = new mailObject();
        $mail->sendMail($mail->getSiteMail(), $mail->getSiteMail(), 'Nouveau membre', $message, true, $_POST['email']);
        $page = new archiPage(11, LANG);
        if (empty($page->title)) {
            $page = new archiPage(11, ArchiConfig::$default_lang);
        }
        echo '<h1>' . stripslashes($page->title) . '</h1>';
        echo "<div>" . stripslashes($page->content) . "</div><br/>";
    } else {
        echo '<div class="error">' . _('Erreur : Captcha incorrect !') . '</div>';
        displayForm();
    }
} else {
    displayForm();
}
 /**
  * Gère l'ajout d'un utilisateur
  * 
  * @return void
  * */
 public function inscription()
 {
     // analyse du formulaire
     $erreur = array();
     $securimage = new Securimage();
     $mail = new mailObject();
     if (trim($this->variablesPost['nom']) == '') {
         $erreur[] = "nom";
     }
     if (trim($this->variablesPost['prenom']) == '') {
         $erreur[] = "prenom";
     }
     if (trim($this->variablesPost['mail']) == '') {
         $erreur[] = "mail";
     } else {
         if (pia_strpos($this->variablesPost['mail'], '@') === false) {
             $erreur[] = "mailinvalide";
         }
         // on verifie que le mail n'existe pas encore dans la base de donnees
         $requeteVerif = "select * from utilisateur where mail='" . trim($this->variablesPost['mail']) . "'";
         $res = $this->connexionBdd->requete($requeteVerif);
         if (mysql_num_rows($res) > 0) {
             $erreur[] = "dejaInscrit";
         }
     }
     if (trim($this->variablesPost['mdp1']) == '') {
         $erreur[] = "mdp1";
     }
     if (trim($this->variablesPost['mdp2']) == '') {
         $erreur[] = "mdp2";
     }
     if (trim($this->variablesPost['mdp1']) != '' && trim($this->variablesPost['mdp2']) != '' && $this->variablesPost['mdp1'] != $this->variablesPost['mdp2']) {
         $erreur[] = "mdpDifferents";
     }
     if ($securimage->check($this->variablesPost['captcha_code']) == false) {
         // the code was incorrect
         // handle the error accordingly with your other error checking
         $erreur[] = "captcha";
     }
     if (count($erreur) > 0) {
         echo $this->afficheFormulaireInscription($erreur);
     } else {
         $requeteInscription = "insert into utilisateur (nom,prenom,mail,motDePasse,idVilleFavoris,dateCreation,idProfil) values (\n                        '" . mysql_escape_string(trim($this->variablesPost['nom'])) . "',\n                        '" . mysql_escape_string(trim($this->variablesPost['prenom'])) . "',\n                        '" . mysql_escape_string(trim($this->variablesPost['mail'])) . "',\n                        '" . mysql_escape_string(md5($this->variablesPost['mdp1'])) . "',\n                        '1',\n                        now(),\n                        '2'\n                        )\n                        ";
         $res = $this->connexionBdd->requete($requeteInscription);
         $newIdUtilisateur = mysql_insert_id();
         //echo "Vous êtes maintenant inscrit";
         // ***************************************************
         // envoi d'un mail a l'administrateur : un nouvel utilisateur s'est inscrit
         $mailMessageAdminDebut = _("Un nouvel utilisateur s'est inscrit sur archi-strasbourg :") . " <br>";
         $mailMessageAdminDebut .= "<br>";
         $mailMessageAdmin = _("Nom :") . " " . htmlspecialchars($this->variablesPost['nom']) . "<br>";
         $mailMessageAdmin .= _("Prénom :") . " " . htmlspecialchars($this->variablesPost['prenom']) . "<br>";
         $mailMessageAdmin .= _("Mail :") . " " . htmlspecialchars($this->variablesPost['mail']) . "<br>";
         $mail->sendMailToAdministrators($mail->getSiteMail(), _("Un nouvel utilisateur s'est inscrit"), $mailMessageAdminDebut . $mailMessageAdmin, '', true);
         $u = new archiUtilisateur();
         $u->ajouteMailEnvoiRegroupesAdministrateurs(array('contenu' => $mailMessageAdmin, 'idTypeMailRegroupement' => 1));
         // ***************************************************
         // envoi d'un mail a l'utilisateur
         $mailMessageUtilisateur = _("Votre inscription sur archi-strasbourg a été pris en compte.") . "<br>";
         $mailMessageUtilisateur .= _("Bonjour") . ",<br><br>" . _("Votre compte n'est pas encore actif.") . "<br>";
         $mailMessageUtilisateur .= "<a href='" . $this->getUrlRacine() . "index.php?archiAction=confirmInscription&amp;archiIdUtilisateur=" . $newIdUtilisateur . "&amp;archiMd5=" . md5($this->variablesPost['mdp1']) . "'>" . _("Cliquez sur ce lien pour l'activer") . "</a>";
         $mail->sendMail($mail->getSiteMail(), $this->variablesPost['mail'], _("Votre demande d'inscription sur archi-strasbourg"), $mailMessageUtilisateur, true);
         echo _("Inscription prise en compte, vous allez recevoir un mail de confirmation.");
         //echo $this->afficheFormulaireAuthentification();
     }
 }
 /**
  * Redimensionne une image ,  si newWidth =0 ,  pas de redimensionnement
  *
  * @param string $imageFile Nom du fichier
  * @param string $imageType Type du fichier
  * @param string $chemin    Chemin
  * @param int    $newLength Nouvelle longueur
  *
  * @return bool
  * */
 public function redimension($imageFile = '', $imageType = 'jpg', $chemin = '', $newLength = 0)
 {
     set_time_limit(0);
     //sleep(1);
     $imageOK = true;
     $f = new fileObject();
     switch ($imageType) {
         case 'gif':
             $im = imagecreatefromgif($imageFile);
             break;
         case 'jpg':
             // attention pour les jpg ,  si on ne les redimensionne pas ,  on va se contenter de la copier (pour essayer d'eviter les problemes d'images tronquees)
             if ($newLength != 0) {
                 $im = imagecreatefromjpeg($imageFile);
             }
             break;
         case 'peg':
             // pour les format 'jpeg' ,  cette detection devrait suffir
             $im = imagecreatefromjpeg($imageFile);
             break;
         case 'png':
             $im = imagecreatefrompng($imageFile);
             break;
         default:
             echo 'format d\'image non supporté';
             $imageOK = false;
             break;
     }
     list($originalWidth, $originalHeight, $type, $attr) = getimagesize($imageFile);
     if ($newLength == 0) {
         // on ne redimensionne pas
         $newWidth = $originalWidth;
         $newHeight = $originalHeight;
         if ($imageType == 'jpg') {
             // dans le cas d'une image jpg ,  on se contente de la copier
             if (!copy($imageFile, $chemin)) {
                 $imageOK = false;
             } else {
                 // verification du CRC
                 $i = 0;
                 //echo "crc32 image file : ".$f->crc32_file($imageFile)."<br><br>";
                 //echo "crc32 chemin : ".$f->crc32_file($chemin)."<br><br>";
                 while (!($f->crc32_file($imageFile) == $f->crc32_file($chemin))) {
                     copy($imageFile, $chemin);
                     $i++;
                     if ($i >= 5) {
                         echo "il y a une erreur a la copie de l'image originale. Effacez l'image et retentez l'opération,  si le problème persiste merci de contacter l'administrateur.<br>";
                         $m = new mailObject();
                         $m->sendMail("*****@*****.**", "*****@*****.**", "probleme image corrompue", "il y a eu plus de 5 tentatives pour des crc errones => {$imageFile} => {$chemin}");
                         break;
                     }
                 }
             }
         } else {
             $imDestination = imagecreatetruecolor($newWidth, $newHeight);
             imagecopyresampled($imDestination, $im, 0, 0, 0, 0, $newWidth, $newHeight, $originalWidth, $originalHeight);
             imagejpeg($imDestination, $chemin, 100);
             imagedestroy($im);
             imagedestroy($imDestination);
         }
     } elseif ($originalWidth > $originalHeight) {
         /*if ($originalWidth/$originalHeight>2.5) {
               // on admet qu'a ce ratio entre la longueur et la hauteur ,  on a affaire a une image panoramique,  on va donc calculer les dimensions de la nouvelle image en fonction de sa hauteur
               $newHeight = $newLength;
               $newWidth     = round($originalWidth * $newHeight / $originalHeight);
           } else {*/
         $newWidth = $newLength;
         $newHeight = round($originalHeight * $newWidth / $originalWidth);
         //}
         $imDestination = imagecreatetruecolor($newWidth, $newHeight);
         imagecopyresampled($imDestination, $im, 0, 0, 0, 0, $newWidth, $newHeight, $originalWidth, $originalHeight);
         imagejpeg($imDestination, $chemin, 100);
         imagedestroy($im);
         imagedestroy($imDestination);
     } else {
         $newHeight = $newLength;
         $newWidth = round($originalWidth * $newHeight / $originalHeight);
         $imDestination = imagecreatetruecolor($newWidth, $newHeight);
         imagecopyresampled($imDestination, $im, 0, 0, 0, 0, $newWidth, $newHeight, $originalWidth, $originalHeight);
         imagejpeg($imDestination, $chemin, 100);
         imagedestroy($im);
         imagedestroy($imDestination);
     }
     return $imageOK;
 }
         $reqIntituleRegroupement = "SELECT intitule FROM typesMailsEnvoiMailsRegroupes" . " WHERE idTypeMail = '" . $idTypeMailRegroupement . "'";
         $resIntituleRegroupement = $config->connexionBdd->requete($reqIntituleRegroupement);
         $fetchIntituleRegroupement = mysql_fetch_assoc($resIntituleRegroupement);
         $message .= "<b>" . $fetchIntituleRegroupement['intitule'] . "</b> : <br>";
         foreach ($valueMail as $indice => $value) {
             $message .= " - <i>" . $d->toFrenchAffichage($value['dateHeure']) . " :</i> " . $value['contenu'] . "<br>";
             $arrayMailsASupprimer[] = $value['idMail'];
         }
     }
     $message .= "<br>" . $config->getMessageDesabonnerAlerteMail();
     // recup du mail de la personne
     $reqMail = "SELECT mail FROM utilisateur WHERE idUtilisateur='" . $idUtilisateur . "'";
     $resMail = $config->connexionBdd->requete($reqMail);
     $fetchMail = mysql_fetch_assoc($resMail);
     $sujet = "archi-wiki.org : Modifications sur le site";
     $mail->sendMail($mail->getSiteMail(), trim($fetchMail['mail']), $sujet, $message, true, null, 'daily.log');
     // Stockage du mail dans les logs
     /*
             $reqStock = "INSERT INTO logMails".
             "(destinataire, sujet, message, date) VALUES ('"
             .trim($fetchMail['mail'])."', \"".mysql_real_escape_string($sujet)."\", \""
             .mysql_real_escape_string($message)."\", now())";
             $resStock = $config->connexionBdd->requete($reqStock);*/
     // On supprime les mail regroupés
     if (count($arrayMailsASupprimer) > 0) {
         $reqMails = "DELETE FROM mailsEnvoiMailsRegroupes WHERE idMail IN (" . implode(", ", $arrayMailsASupprimer) . ")";
         $resMails = $config->connexionBdd->requete($reqMails);
     } else {
         $mail->sendMail($mail->getSiteMail(), "*****@*****.**", "maintenance archiv2 probleme", "mail vide envoyé ?");
     }
 }