$resComplement = $config->connexionBdd->requete($reqComplement);
if (mysql_num_rows($resComplement) == 1) {
    $fetchComplement = mysql_fetch_assoc($resComplement);
    //$messageComplement= str_replace("###cheminImages###",$config->getUrlRacine()."images/",$fetchComplement['texte']);
    //$messageComplement=str_replace("###cheminRacine###",$config->getUrlRacine(),$messageComplement)."<br><br>";
    $messageComplement .= str_replace("<img src=\"images/actualites", "<img src=\"" . $config->getUrlRacine() . "images/actualites", stripslashes($fetchComplement['texteMailHebdomadaire'])) . "<br>";
    if (!isset($_GET["modePrevisualisationAdmin"])) {
        $messageComplement .= "<a href='http://www.archi-wiki.org/actualites-archi-strasbourg-" . $fetchComplement['idActualite'] . ".html' target='_blank'>lire la suite</a>";
    }
    $messageComplement .= "<br><br>";
}
if (count($arrayAdresses) > 0 || count($arrayAdressesModifiees) > 0) {
    $adressesModifieesVillesAffichees = array();
    // liste des villes deja affichees
    $adressesModifieesAffichees = array();
    $mail = new mailObject();
    $messageIntro = "Bonjour,<br><br>";
    $messageIntro .= $messageComplement;
    if (!isset($_GET["modePrevisualisationAdmin"])) {
        $messageIntro .= "Voici les adresses qui ont été créées ou modifiées cette semaine sur <a href='http://www.archi-wiki.org'>http://www.archi-wiki.org</a> :<br><br>";
    }
    $messageStrasbourg = "";
    $messageAutres = "";
    $messageStrasModif = "";
    // les adresses modifiees de strasbourg, si strasbourg pas dans la liste comportant de nouvelles adresses
    $messageAutresModif = "";
    // les adresses modifiees des villes autres , si pas dans la liste comportant de nouvelles adresses
    $is1 = 0;
    // indices pour savoir si on affiche le titre de la rubrique ou pas ( 'nouvelles adresses' , ou 'adresses modifiees')
    $is2 = 0;
    $is3 = 0;
 public function enregistreModificationAdresse()
 {
     $errors = array();
     if (isset($this->variablesGet['tableName']) && $this->variablesGet['tableName'] != '') {
         switch ($this->variablesGet['tableName']) {
             // **********************************************************************************************************************************************************
             // rue
             // **********************************************************************************************************************************************************
             case 'rue':
                 $req = "";
                 if (isset($this->variablesPost['sousQuartiers']) && $this->variablesPost['sousQuartiers'] != '0') {
                     $req = "UPDATE rue SET idSousQuartier='" . $this->variablesPost['sousQuartiers'] . "', nom=\"" . $this->variablesPost['intitule'] . "\", prefixe=\"" . $this->variablesPost['complement'] . "\" WHERE idRue = '" . $this->variablesPost['idRue'] . "'";
                     $idModifie = $this->variablesPost['idRue'];
                 } elseif (isset($this->variablesPost['quartiers']) && $this->variablesPost['quartiers'] != '0') {
                     // recherche du sous quartier 'autre' , s'il n'existe pas , on le cree
                     $reqSousQuartierAutre = "\n                                    SELECT idSousQuartier\n                                    FROM sousQuartier\n                                    WHERE idQuartier = '" . $this->variablesPost['quartiers'] . "'\n                                    AND nom='autre'\n                                    ";
                     $resSousQuartierAutre = $this->connexionBdd->requete($reqSousQuartierAutre);
                     $idSousQuartierAutre = 0;
                     if (mysql_num_rows($resSousQuartierAutre) == 1) {
                         // le sousQuartier autre existe , on recupere son ID
                         $fetchSousQuartierAutre = mysql_fetch_assoc($resSousQuartierAutre);
                         $idSousQuartierAutre = $fetchSousQuartierAutre['idSousQuartier'];
                     }
                     if (mysql_num_rows($resSousQuartierAutre) > 1) {
                         $errors[] = "Probleme detecté dans les sousQuartiers 'autre', merci de contacter l'administrateur.<br>";
                     }
                     if (mysql_num_rows($resSousQuartierAutre) == 0) {
                         // le sousQuartier 'autre' pour le quartier n'existe pas , il faut le creer et renvoyer son ID
                         $reqInsertNouveauSousQuartierAutre = "INSERT INTO sousQuartier (idQuartier,nom) VALUES ('" . $this->variablesPost['quartiers'] . "',\"autre\")";
                         $resInsertNouveauSousQuartierAutre = $this->connexionBdd->requete($reqInsertNouveauSousQuartierAutre);
                         $idSousQuartierAutre = mysql_insert_id();
                     }
                     if ($idSousQuartierAutre != 0) {
                         $req = "UPDATE rue SET idSousQuartier='" . $idSousQuartierAutre . "', nom=\"" . $this->variablesPost['intitule'] . "\", prefixe=\"" . $this->variablesPost['complement'] . "\" WHERE idRue = '" . $this->variablesPost['idRue'] . "'";
                         $idModifie = $this->variablesPost['idRue'];
                     } else {
                         $errors[] = "Il y a eu un souci a la selection automatique du sous quartier, merci de contacter l'administrateur.<br>";
                     }
                 } elseif (isset($this->variablesPost['ville']) && $this->variablesPost['ville'] != '0') {
                     // l'adresse est une ville , ceci ne sera pas beaucoup utilisé car en principe une adresse est au moins une ville et un quartier , mais il a des adresses qui ne sont que des villes quand meme
                     // recherche du quartier 'autre' de la ville s'il n'existe pas , on le cree
                     $reqQuartierAutre = "SELECT idQuartier FROM quartier WHERE idVille='" . $this->variablesPost['ville'] . "' and nom='autre'";
                     $resQuartierAutre = $this->connexionBdd->requete($reqQuartierAutre);
                     $idQuartierAutre = 0;
                     if (mysql_num_rows($resQuartierAutre) == 1) {
                         // le quartier autre existe, on passe au sousQuartier
                         $fetchQuartierAutre = mysql_fetch_assoc($resQuartierAutre);
                         $idQuartierAutre = $fetchQuartierAutre['idQuartier'];
                         // on verifie que le sousQuartiers 'autre' existe pour le quartier 'autre' trouve
                         // recherche du sous quartier 'autre' , s'il n'existe pas , on le cree
                         $reqSousQuartierAutre = "\n                                        SELECT idSousQuartier\n                                        FROM sousQuartier\n                                        WHERE idQuartier = '" . $idQuartierAutre . "'\n                                        AND nom='autre'\n                                        ";
                         $resSousQuartierAutre = $this->connexionBdd->requete($reqSousQuartierAutre);
                         $idSousQuartierAutre = 0;
                         if (mysql_num_rows($resSousQuartierAutre) == 1) {
                             // le sousQuartier autre existe , on recupere son ID
                             $fetchSousQuartierAutre = mysql_fetch_assoc($resSousQuartierAutre);
                             $idSousQuartierAutre = $fetchSousQuartierAutre['idSousQuartier'];
                         }
                         if (mysql_num_rows($resSousQuartierAutre) > 1) {
                             $errors[] = "Probleme detecté dans les sousQuartiers 'autre', merci de contacter l'administrateur.<br>";
                         }
                         if (mysql_num_rows($resSousQuartierAutre) == 0) {
                             // le sousQuartier 'autre' pour le quartier n'existe pas , il faut le creer et renvoyer son ID
                             $reqInsertNouveauSousQuartierAutre = "INSERT INTO sousQuartier (idQuartier,nom) VALUES ('" . $idQuartierAutre . "',\"autre\")";
                             $resInsertNouveauSousQuartierAutre = $this->connexionBdd->requete($reqInsertNouveauSousQuartierAutre);
                             $idSousQuartierAutre = mysql_insert_id();
                         }
                         if ($idSousQuartierAutre != 0) {
                             $req = "UPDATE rue SET idSousQuartier='" . $idSousQuartierAutre . "', nom=\"" . $this->variablesPost['intitule'] . "\", prefixe=\"" . $this->variablesPost['complement'] . "\" WHERE idRue = '" . $this->variablesPost['idRue'] . "'";
                         } else {
                             $errors[] = "Il y a eu un souci a la selection automatique du sous quartier, merci de contacter l'administrateur.<br>";
                         }
                         if (mysql_num_rows($resQuartierAutre) > 1) {
                             $errors[] = "Probleme detecté dans les quartiers 'autre', merci de contacter l'administrateur.<br>";
                         }
                     }
                     if (mysql_num_rows($resQuartierAutre) == 0) {
                         // le quartier autre n'existe pas , il faut le cree
                         $reqInsertQuartierAutre = "INSERT INTO quartier (idVille,nom) VALUES ('" . $this->variablesPost['ville'] . "','autre')";
                         $resInsertQuartierAutre = $this->connexionBdd->requete($reqInsertQuartierAutre);
                         $idQuartierAutre = mysql_insert_id();
                         // on ajoute aussi le sousQuartier 'autre' pour le quartier 'autre' cree , on va quand meme regarder s'il n'existe pas un enregistrement pour etre sur qu'il n'y a pas de souci d'integrité
                         // recherche du sous quartier 'autre' , s'il n'existe pas , on le cree
                         $reqSousQuartierAutre = "\n                                        SELECT idSousQuartier\n                                        FROM sousQuartier\n                                        WHERE idQuartier = '" . $idQuartierAutre . "'\n                                        AND nom='autre'\n                                        ";
                         $resSousQuartierAutre = $this->connexionBdd->requete($reqSousQuartierAutre);
                         $idSousQuartierAutre = 0;
                         if (mysql_num_rows($resSousQuartierAutre) == 1) {
                             // le sousQuartier autre existe , on recupere son ID
                             $fetchSousQuartierAutre = mysql_fetch_assoc($resSousQuartierAutre);
                             $idSousQuartierAutre = $fetchSousQuartierAutre['idSousQuartier'];
                         }
                         if (mysql_num_rows($resSousQuartierAutre) > 1) {
                             $errors[] = "Probleme detecté dans les sousQuartiers 'autre', merci de contacter l'administrateur.<br>";
                         }
                         if (mysql_num_rows($resSousQuartierAutre) == 0) {
                             // le sousQuartier 'autre' pour le quartier n'existe pas , il faut le creer et renvoyer son ID
                             $reqInsertNouveauSousQuartierAutre = "INSERT INTO sousQuartier (idQuartier,nom) VALUES ('" . $idQuartierAutre . "',\"autre\")";
                             $resInsertNouveauSousQuartierAutre = $this->connexionBdd->requete($reqInsertNouveauSousQuartierAutre);
                             $idSousQuartierAutre = mysql_insert_id();
                         }
                         if ($idSousQuartierAutre != 0) {
                             $req = "UPDATE rue SET idSousQuartier='" . $idSousQuartierAutre . "', nom=\"" . $this->variablesPost['intitule'] . "\", prefixe=\"" . $this->variablesPost['complement'] . "\" WHERE idRue = '" . $this->variablesPost['idRue'] . "'";
                         } else {
                             $errors[] = "Il y a eu un souci a la selection automatique du sous quartier, merci de contacter l'administrateur.<br>";
                         }
                         if (mysql_num_rows($resQuartierAutre) > 1) {
                             $errors[] = "Probleme detecté dans les quartiers 'autre', merci de contacter l'administrateur.<br>";
                         }
                     }
                 }
                 if ($req != "") {
                     // execution de la requete de mise a jour de la rue
                     $res = $this->connexionBdd->requete($req);
                     $idModifie = $this->variablesPost['idRue'];
                 } else {
                     $errors[] = "erreur dans la modification de la rue<br>";
                 }
                 break;
                 // **********************************************************************************************************************************************************
                 // sous quartier
                 // **********************************************************************************************************************************************************
             // **********************************************************************************************************************************************************
             // sous quartier
             // **********************************************************************************************************************************************************
             case 'sousQuartier':
                 // un sousQuartier appartient toujours a un quartier
                 //array(8) { ["idRue"]=>  string(1) "5" ["pays"]=>  string(1) "1" ["ville"]=>  string(1) "1" ["quartiers"]=>  string(2) "13" ["sousQuartiers"]=>  string(1) "8" ["intitule"]=>  string(13) "Saint-Nicolas" ["complement"]=>  string(4) "quai" ["modifier"]=>  string(8) "Modifier" }
                 $req = "";
                 if ($this->variablesPost['quartiers'] != '0' && $this->variablesPost['ville'] != '0' && $this->variablesPost['pays'] != '0') {
                     $req = "UPDATE sousQuartier SET idQuartier = '" . $this->variablesPost['quartiers'] . "',nom=\"" . $this->variablesPost['intitule'] . "\" WHERE idSousQuartier = '" . $this->variablesPost['idSousQuartier'] . "'";
                 } else {
                     $errors[] = "Erreur : un sous quartier ne peut pas appartenir a aucun quartier.<br>";
                 }
                 if ($req != "") {
                     // execution de la requete de mise a jour de la rue
                     $res = $this->connexionBdd->requete($req);
                     $idModifie = $this->variablesPost['idSousQuartier'];
                 } else {
                     $errors[] = "erreur dans la modification du sous quartier<br>";
                 }
                 break;
                 // **********************************************************************************************************************************************************
                 // quartier
                 // **********************************************************************************************************************************************************
             // **********************************************************************************************************************************************************
             // quartier
             // **********************************************************************************************************************************************************
             case 'quartier':
                 // un quartier appartient toujours a une ville
                 //array(8) { ["idRue"]=>  string(1) "5" ["pays"]=>  string(1) "1" ["ville"]=>  string(1) "1" ["quartiers"]=>  string(2) "13" ["sousQuartiers"]=>  string(1) "8" ["intitule"]=>  string(13) "Saint-Nicolas" ["complement"]=>  string(4) "quai" ["modifier"]=>  string(8) "Modifier" }
                 $req = "";
                 if ($this->variablesPost['ville'] != '0' && $this->variablesPost['pays'] != '0') {
                     $req = "UPDATE quartier SET idVille = '" . $this->variablesPost['ville'] . "',nom=\"" . $this->variablesPost['intitule'] . "\" WHERE idQuartier = '" . $this->variablesPost['idQuartier'] . "'";
                 } else {
                     $errors[] = "Erreur : un quartier ne peut pas appartenir a aucune ville.<br>";
                 }
                 if ($req != "") {
                     // execution de la requete de mise a jour de du quartier
                     $res = $this->connexionBdd->requete($req);
                     $idModifie = $this->variablesPost['idQuartier'];
                 } else {
                     $errors[] = "erreur dans la modification du quartier<br>";
                 }
                 break;
                 // **********************************************************************************************************************************************************
                 // ville
                 // **********************************************************************************************************************************************************
             // **********************************************************************************************************************************************************
             // ville
             // **********************************************************************************************************************************************************
             case 'ville':
                 // une ville appartient toujours a un pays
                 //array(8) { ["idRue"]=>  string(1) "5" ["pays"]=>  string(1) "1" ["ville"]=>  string(1) "1" ["quartiers"]=>  string(2) "13" ["sousQuartiers"]=>  string(1) "8" ["intitule"]=>  string(13) "Saint-Nicolas" ["complement"]=>  string(4) "quai" ["modifier"]=>  string(8) "Modifier" }
                 $req = "";
                 if ($this->variablesPost['pays'] != '0') {
                     $req = "UPDATE ville SET idPays = '" . $this->variablesPost['pays'] . "',nom=\"" . $this->variablesPost['intitule'] . "\",codepostal=\"" . $this->variablesPost['codePostal'] . "\", longitude='" . $this->variablesPost['longitude'] . "',latitude='" . $this->variablesPost['latitude'] . "' WHERE idVille = '" . $this->variablesPost['idVille'] . "'";
                 } else {
                     $errors[] = "Erreur : une ville ne peut pas appartenir a aucun pays.<br>";
                 }
                 if ($req != "") {
                     // execution de la requete de mise a jour de la ville
                     $res = $this->connexionBdd->requete($req);
                     $idModifie = $this->variablesPost['idVille'];
                 } else {
                     $errors[] = "erreur dans la modification de la ville<br>";
                 }
                 break;
                 // **********************************************************************************************************************************************************
                 // pays
                 // **********************************************************************************************************************************************************
             // **********************************************************************************************************************************************************
             // pays
             // **********************************************************************************************************************************************************
             case 'pays':
                 $req = "UPDATE pays SET nom=\"" . $this->variablesPost['intitule'] . "\" WHERE idPays = '" . $this->variablesPost['idPays'] . "'";
                 $res = $this->connexionBdd->requete($req);
                 $idModifie = $this->variablesPost['idPays'];
                 break;
         }
         if (isset($this->variablesGet['tableName']) && isset($req) && $req != '') {
             $mail = new mailObject();
             $a = new archiAuthentification();
             $u = new archiUtilisateur();
             $arrayInfosUtilisateur = $u->getArrayInfosFromUtilisateur($a->getIdUtilisateur());
             $messageAdmins = "Un élément d'adresse a été modifié";
             $messageAdmins .= " par : " . $arrayInfosUtilisateur['nom'] . " " . $arrayInfosUtilisateur['prenom'] . "<br>";
             $messageAdmins .= "type d'élément : " . $this->variablesGet['tableName'] . "<br><br>";
             $messageAdmins .= "<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => $this->variablesGet['tableName'], 'idModification' => $idModifie)) . "'>" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => $this->variablesGet['tableName'], 'idModification' => $idModifie)) . "</a>";
             $messageModerateur = "Un élément d'adresse a été modifié<br>";
             $messageModerateur .= "type d'élément : " . $this->variablesGet['tableName'] . "<br><br>";
             $messageModerateur .= "<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => $this->variablesGet['tableName'], 'idModification' => $idModifie)) . "'>" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => $this->variablesGet['tableName'], 'idModification' => $idModifie)) . "</a>";
             $mail->sendMailToAdministrators($mail->getSiteMail(), "archi-strasbourg.org : un utilisateur modifié un élément d'adresse", $messageAdmins, " and alerteMail='1' ", true);
             $u->ajouteMailEnvoiRegroupesAdministrateurs(array('contenu' => $messageAdmins, 'idTypeMailRegroupement' => 6, 'criteres' => " and alerteMail='1' "));
             $tableName = $this->variablesGet['tableName'];
             // envoi de mail aux moderateur de la ville
             /*if(in_array($tableName,array('rue','sousQuartier','quartier')))
                             {
                                 $identifiantName='';
                                 switch($tableName)
                                 {
                                     case 'rue':
                                         $identifiantName='idRue';
                                     break;
                                     case 'sousQuartier':
                                         $identifiantName='idSousQuartier';
                                     break;
                                     case 'quartier':
                                         $identifiantName='idQuartier';
                                     break;
                                 }
             
                                 $idVille = $this->getIdVilleFrom($idModifie,$identifiantName);
                                 $arrayListeModerateurs = $u->getArrayIdModerateursActifsFromVille($idVille,array("sqlWhere"=>" AND alerteAdresses='1' "));
                                 if(count($arrayListeModerateurs)>0)
                                 {
                                     foreach($arrayListeModerateurs as $indice => $idModerateur)
                        	              {
                                         if($idModerateur!=$a->getIdUtilisateur() && $u->isAuthorized('admin_rues',$idModerateur) && $u->isAuthorized('admin_sousQuartiers',$idModerateur) && $u->isAuthorized('admin_quartiers',$idModerateur))
                                         {
                                             $mailModerateur = $u->getMailUtilisateur($idModerateur);
                                             $mail->sendMail($mail->getSiteMail(),$mailModerateur,"archi-strasbourg.org : un utilisateur a modifié un élément d'adresse",$messageModerateur,true);
                                         }
                                     }
                                 }
                             }*/
         }
     }
     return $errors;
 }
 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;
 }
 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']);
     }
 }
 /**
  * Affiche une page statique
  * 
  * @return string HTML
  * */
 function afficheEdito()
 {
     $html = '';
     $mail = new mailObject();
     $t = new Template('modules/archi/templates/');
     $t->set_filenames(array('edito' => 'edito.tpl'));
     $t->assign_vars(array('email' => $mail->encodeEmail("*****@*****.**")));
     ob_start();
     $t->pparse('edito');
     $html .= ob_get_contents();
     ob_end_clean();
     return $html;
 }
 /**
  * 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));
         }
     }
 }
Exemplo n.º 7
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();
}
 /**
  * Ajoute une source
  * 
  * @return int ID de la nouvelle source
  * */
 public function ajouter()
 {
     $newIdSource = 0;
     $formulaire = new formGenerator();
     if (isset($this->variablesPost['submit'])) {
         $modeAffichage = '';
         if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage'] != '') {
             $modeAffichage = $this->variablesGet['modeAffichage'];
         }
         switch ($modeAffichage) {
             case 'nouveauDossier':
             case 'modifEvenement':
                 $tabForm = array('nom' => array('default' => '', 'value' => '', 'required' => true, 'error' => '', 'type' => 'text'), 'description' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'text'), 'type' => array('default' => 'aucune', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'typeSource', 'primaryKey' => 'idTypeSource')));
                 break;
             default:
                 $tabForm = array('nom' => array('default' => '', 'value' => '', 'required' => true, 'error' => '', 'type' => 'text'), 'description' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'text'), 'nomNouveauType' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'text'), 'type' => array('default' => 'aucune', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'typeSource', 'primaryKey' => 'idTypeSource')));
                 break;
         }
         $erreur = $formulaire->getArrayFromPost($tabForm);
         if (count($erreur) === 0) {
             $nom = mysql_escape_string($tabForm['nom']['value']);
             $description = '';
             if (isset($tabForm['description']['value'])) {
                 $description = mysql_escape_string(htmlspecialchars($tabForm['description']['value']));
             }
             //
             // Récupération de l'id du type de source
             // c'est un nouveau type de source :
             if (isset($tabForm['nomNouveauType']['value']) && !empty($tabForm['nomNouveauType']['value'])) {
                 // vérification si le type n'existe pas déjà
                 $nomNouveauType = mysql_escape_string($tabForm['nomNouveauType']['value']);
                 $sql = "SELECT idTypeSource FROM typeSource WHERE nom='" . $nomNouveauType . "' LIMIT 1";
                 $rep = $this->connexionBdd->requete($sql);
                 if ($res = mysql_fetch_object($rep)) {
                     // il existe
                     $idTypeSource = $res->idTypeSource;
                 } else {
                     // il n'existe pas
                     $sql = "INSERT INTO typeSource (nom) VALUES ('" . $nomNouveauType . "')";
                     $this->connexionBdd->requete($sql);
                     $idTypeSource = mysql_insert_id();
                 }
             } else {
                 if ($formulaire->estChiffre($tabForm['type']['value'])) {
                     // Sinon, si le type est bien renseigné
                     $idTypeSource = $tabForm['type']['value'];
                 } else {
                     // Sinon, rien ne va, on met une valeur par défaut
                     $this->erreurs->ajouter(_("Ajout de source : type de source incorrect ! Utilisateur du choix par défaut = 1"));
                     echo _("Erreur ajout source");
                     $idTypeSource = 1;
                 }
             }
             $sql = "INSERT INTO source (nom,  idTypeSource,  description) VALUES \n                    ('" . $nom . "', " . $idTypeSource . ", '" . $description . "')";
             $this->connexionBdd->requete($sql);
             $newIdSource = mysql_insert_id();
             $mail = new mailObject();
             $message = _("Une nouvelle source a été ajoutée :") . " <br>";
             $message .= $nom . " : " . $description . "<br><br>";
             $message .= "<a href='" . $this->creerUrl('', 'administrationAfficheModification', array('tableName' => 'source', 'idModification' => $newIdSource)) . "'>" . $this->creerUrl('', 'administrationAfficheModification', array('tableName' => 'source', 'idModification' => $newIdSource)) . "</a>";
             $mail->sendMailToAdministrators($mail->getSiteMail(), "archi-strasbourg.org : " . _("un utilisateur ajouté une source"), $message, " and alerteMail='1' ", true);
             $u = new archiUtilisateur();
             $u->ajouteMailEnvoiRegroupesAdministrateurs(array('contenu' => $message, 'idTypeMailRegroupement' => 9, 'criteres' => " and alerteMail='1' "));
         } else {
             $this->erreurs->ajouter($tabForm);
         }
     }
     return $newIdSource;
 }
 /**
  * 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();
     }
 }
 function getArrayFromPost(&$tableauTravail = array(), $param = null, $captcha = false)
 {
     global $config;
     if (empty($param)) {
         $param = $_POST;
     }
     $errors = array();
     foreach ($tableauTravail as $name => $value) {
         switch ($value['type']) {
             case 'multiple':
                 if (isset($param[$name])) {
                     $tableauTravail[$name]['value'] = $param[$name];
                 }
                 if ($tableauTravail[$name]["required"]) {
                     if (!isset($param[$name]) or count($param[$name]) < 1) {
                         $errors[] = $name;
                         $tableauTravail[$name]['error'] = 'Champ obligatoire';
                     }
                 }
                 break;
             case 'numeric':
                 if (isset($param[$name])) {
                     $tableauTravail[$name]['value'] = $param[$name];
                 }
                 if ($tableauTravail[$name]["required"]) {
                     if ($param[$name] != $tableauTravail[$name]["default"] and $this->estChiffre($param[$name])) {
                         // OK
                     } else {
                         if (!$this->estChiffre($param[$name])) {
                             $errors[] = 'Ce champ requière une valeur numérique';
                             $tableauTravail[$name]['error'] = 'Ce champ requière une valeur numérique';
                         } else {
                             $errors[] = 'Valeur obligatoire';
                             $tableauTravail[$name]['error'] = 'Valeur obligatoire';
                         }
                     }
                 } elseif (isset($tableauTravail[$name]) && isset($param[$name]) && $tableauTravail[$name]["required"] == false && $param[$name] != '' && !$this->estChiffre($param[$name])) {
                     $errors[] = 'Ce champ requière une valeur numérique';
                     $tableauTravail[$name]['error'] = 'Ce champ requière une valeur numérique';
                 } else {
                     if (isset($param[$name]) && $param[$name] == '') {
                         $tableauTravail[$name]['value'] = $tableauTravail[$name]['default'];
                     }
                 }
                 break;
             case 'date':
                 if (isset($param[$name])) {
                     $tableauTravail[$name]['value'] = $param[$name];
                     $dateSansSeparateur = preg_replace('#[^0-9/]#', '', $param[$name]);
                     if ($tableauTravail[$name]['required'] == true) {
                         if (pia_strlen($param[$name]) > 0) {
                             if (pia_strlen($dateSansSeparateur) == 4) {
                                 $tableauTravail[$name]['value'] = '00/00/' . $dateSansSeparateur;
                             } else {
                                 $tabDate = explode('/', $param[$name]);
                                 if (count($tabDate) === 2) {
                                     $tableauTravail[$name]['value'] = '00/' . $tabDate[0] . '/' . $tabDate[1];
                                 } else {
                                     if (count($tabDate) === 3) {
                                         $tableauTravail[$name]['value'] = $tabDate[0] . '/' . $tabDate[1] . '/' . $tabDate[2];
                                     } else {
                                         $errors[] = 'date';
                                         $tableauTravail[$name]['error'] = 'Ce champ doit comprendre 8 chiffres';
                                     }
                                 }
                             }
                         }
                     }
                 } else {
                     $tableauTravail[$name]['value'] = $tableauTravail[$name]['default'];
                 }
                 break;
             case 'hidden':
             case 'bigText':
             case 'simpleList':
             case 'text':
                 if (isset($param[$name])) {
                     $tableauTravail[$name]['value'] = $param[$name];
                     if ($tableauTravail[$name]["required"]) {
                         // le champs est requis
                         if ($param[$name] != $tableauTravail[$name]["default"] && trim($param[$name]) != "") {
                             // rien
                         } else {
                             // erreur
                             $errors[] = $name;
                             $tableauTravail[$name]['error'] = 'Champ obligatoire';
                         }
                     }
                 } else {
                     $tableauTravail[$name]['value'] = $tableauTravail[$name]['default'];
                 }
                 break;
             case 'email':
                 if (isset($param[$name])) {
                     $tableauTravail[$name]['value'] = $param[$name];
                     if ($tableauTravail[$name]["required"]) {
                         $mailObj = new mailObject();
                         // le champs est requis
                         if ($param[$name] != $tableauTravail[$name]["default"] && trim($param[$name]) != "" && $mailObj->isMail($param[$name])) {
                             // rien
                         } else {
                             // erreur
                             $errors[] = $name;
                             $tableauTravail[$name]['error'] = 'Champ obligatoire';
                         }
                     }
                 } else {
                     $tableauTravail[$name]['value'] = $tableauTravail[$name]['default'];
                 }
                 break;
             case 'checkbox':
                 if (isset($param[$name])) {
                     $tableauTravail[$name]['value'] = '1';
                 } else {
                     if ($tableauTravail[$name]['default'] != '') {
                         $tableauTravail[$name]['value'] = $tableauTravail[$name]['default'];
                     } else {
                         $tableauTravail[$name]['value'] = '0';
                     }
                 }
                 break;
             case 'radio':
                 $tableauTravail[$name]['value'] = $param[$name];
                 if ($tableauTravail[$name]["required"]) {
                     // le champs est requis
                     if ($param[$name] != $tableauTravail[$name]["default"] && $param[$name] != "") {
                         // rien
                     } else {
                         // erreur
                         $errors[] = $name;
                         $tableauTravail[$name]['error'] = 'Champ obligatoire';
                     }
                 }
                 break;
             case 'checklist':
                 $tableauTravail[$name]['value'] = $param[$name];
                 foreach ($param[$name] as $idCourant) {
                     if (!$this->estChiffre($idCourant)) {
                         $errors[] = $name;
                         $tableauTravail[$name]['error'] = 'Mauvaise valeur !';
                     }
                 }
                 break;
             case 'password':
                 $tableauTravail[$name]['value'] = $param[$name];
                 // si le champ est différent de '' c'est qu'on va modifier le mot de passe
                 // sinon on ne modifie pas
                 // erreur si les deux champs sont différents
                 if ($tableauTravail[$name]['value'] != "") {
                     if (isset($tableauTravail[$name]['fieldToCompare'])) {
                         if ($tableauTravail[$name]['value'] == $param[$tableauTravail[$name]['fieldToCompare']]) {
                             // rien
                         } else {
                             $errors[] = $name;
                             $tableauTravail[$name]['error'] = 'Les mots de passe diffèrent';
                         }
                     }
                 } else {
                     if ($tableauTravail[$name]['required']) {
                         $errors[] = $name;
                         $tableauTravail[$name]['error'] = 'Mot de passe requis';
                     }
                 }
                 break;
             case 'captcha':
                 $securimage = new Securimage();
                 //debug(array('fonction' =>$securimage->check($param[$name]) , 'param' => $param[$name],'name' => $name));
                 if ($securimage->check($param[$name]) == false) {
                     // the code was incorrect
                     // handle the error accordingly with your other error checking
                     $errors[] = $name;
                     $tableauTravail[$name]['error'] = 'Erreur dans le code à recopier';
                 }
                 break;
             default:
                 $tableauTravail[$name]['error'] = 'Ce type de champ n\'existe pas !';
                 break;
         }
         // verification de l'existence d'un identifiant au moment de l'ajout quand il y a une liaison vers une autre table ,  cas des listes select,  multiple etc
         // si la valeur n'existe pas ,  on renvoi une erreur
         if (isset($tableauTravail[$name]['checkExist']) && $tableauTravail[$name]['error'] == '' and $tableauTravail[$name]['value'] != 0) {
             if (is_array($tableauTravail[$name]['value'])) {
                 $liste = implode("', '", $tableauTravail[$name]['value']);
                 $sql = "SELECT DISTINCT " . $tableauTravail[$name]['checkExist']['primaryKey'] . " \n                        FROM " . $tableauTravail[$name]['checkExist']['table'] . " \n                        WHERE " . $tableauTravail[$name]['checkExist']['primaryKey'] . " IN ('" . $liste . "')";
                 $resCheck = $this->connexionBdd->requete($sql);
                 if (mysql_num_rows($resCheck) != count($tableauTravail[$name]['value'])) {
                     $tableauTravail[$name]['error'] = "Un élément a été supprimé de la base de données";
                 }
             } else {
                 $sql = "SELECT DISTINCT " . $tableauTravail[$name]['checkExist']['primaryKey'] . " \n                        FROM " . $tableauTravail[$name]['checkExist']['table'] . " \n                        WHERE " . $tableauTravail[$name]['checkExist']['primaryKey'] . "='" . $tableauTravail[$name]['value'] . "' LIMIT 1";
                 $resCheck = $this->connexionBdd->requete($sql);
                 if (mysql_num_rows($resCheck) == 0) {
                     $tableauTravail[$name]['error'] = "Cet élément a été supprimé de la base de données";
                 }
             }
         }
     }
     if ($captcha) {
         if (isset($param["g-recaptcha-response"])) {
             $ch = curl_init();
             curl_setopt($ch, CURLOPT_URL, 'https://www.google.com/recaptcha/api/siteverify');
             curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
             curl_setopt($ch, CURLOPT_POSTFIELDS, array('secret' => $config->captchakey, 'response' => $param["g-recaptcha-response"]));
             $resp = json_decode(curl_exec($ch));
             if (!$resp->success) {
                 $errors['captcha-error'] = 'Captcha incorrect !';
             }
         } else {
             $errors['captcha-error'] = 'Captcha manquant !';
         }
     }
     return $errors;
 }
Exemplo n.º 11
0
 * */
require_once __DIR__ . '/../includes/framework/config.class.php';
require_once __DIR__ . '/../modules/archi/includes/archiUtilisateur.class.php';
require_once __DIR__ . '/../modules/archi/includes/archiAdresse.class.php';
require_once __DIR__ . '/../modules/archi/includes/archiAuthentification.class.php';
$config = new ArchiConfig();
$req = "UPDATE commentaires SET CommentaireValide=1 WHERE uniqid='" . mysql_real_escape_string($_GET['uniqid']) . "';";
$res = $config->connexionBdd->requete($req);
$req = "SELECT nom, prenom, email, commentaire, idEvenementGroupeAdresse FROM commentaires WHERE uniqid='" . mysql_real_escape_string($_GET['uniqid']) . "';";
$res = $config->connexionBdd->requete($req);
$fetch = mysql_fetch_assoc($res);
if ($fetch) {
    $u = new archiUtilisateur();
    $a = new archiAdresse();
    $idAdresse = $a->getIdAdresseFromIdEvenementGroupeAdresse($fetch['idEvenementGroupeAdresse']);
    $intituleAdresse = $a->getIntituleAdresseFrom($idAdresse, 'idAdresse');
    $message = "Un utilisateur a ajouté un commentaire sur archiV2 : <br>";
    $message .= "nom ou pseudo : " . strip_tags($fetch['nom']) . "<br>";
    $message .= "prenom : " . strip_tags($fetch['prenom']) . "<br>";
    $message .= "email : " . strip_tags($fetch['email']) . "<br>";
    $message .= "commentaire : " . stripslashes(strip_tags($fetch['commentaire'])) . "<br>";
    $message .= "<a href='" . $config->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $fetch['idEvenementGroupeAdresse'], 'archiIdAdresse' => $idAdresse)) . "'>" . $intituleAdresse . "</a><br>";
    $mail = new mailObject();
    $envoyeur['envoyeur'] = $mail->getSiteMail();
    $envoyeur['replyTo'] = strip_tags($fetch['email']);
    $mail->sendMailToAdministrators($envoyeur, 'Un utilisateur a ajouté un commentaire', $message, " AND alerteCommentaires='1' ", true, true);
}
$req = "SELECT idEvenementGroupeAdresse FROM commentaires WHERE uniqid='" . mysql_real_escape_string($_GET['uniqid']) . "';";
$res = $config->connexionBdd->requete($req);
$fetch = mysql_fetch_assoc($res);
header('Location: ' . html_entity_decode($config->creerUrl('', 'adresseDetail', array('archiIdEvenementGroupeAdresse' => $fetch["idEvenementGroupeAdresse"]))));
 /**
  * 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;
 }
mb_internal_encoding("UTF-8");
mb_regex_encoding("UTF-8");
ini_set('max_execution_time', 0);
require_once 'PEAR.php';
require_once 'HTML/BBCodeParser.php';
//include('/home/pia/archiv2/includes/framework/config.class.php');
//$borneMin = "NOW()";
//$borneMax = "SUBDATE(NOW(),  INTERVAL 7 DAY)";
//$borneMin = "SUBDATE(NOW(), INTERVAL 7 DAY)";
//$borneMax = "SUBDATE(NOW(),  INTERVAL 14 DAY)";
require_once __DIR__ . '/../includes/framework/config.class.php';
require_once __DIR__ . '/../modules/archi/includes/archiAdresse.class.php';
require_once __DIR__ . '/../modules/archi/includes/archiEvenement.class.php';
$config = new ArchiConfig();
$d = new dateObject();
$mail = new mailObject();
$idPeriode = "";
if (isset($argv[1]) && $argv[1] != '' || isset($_GET['idPeriode']) && $_GET['idPeriode'] != '') {
    if (isset($argv[1]) && $argv[1] != '' && $argv[1] != '0' && $argv[1] != '1') {
        $idPeriode = trim($argv[1]);
    }
    if (isset($_GET['idPeriode']) && $_GET['idPeriode'] != '' && $_GET['idPeriode'] != '0' && $_GET['idPeriode'] != '1') {
        $idPeriode = $_GET['idPeriode'];
    }
    // recuperation des mails
    // on envoi aussi au personnes qui ont une periode immediate 0 ou 1,  car s'ils y a des messages regroupés en attente pour eux ,  ca veut dire qu'ils on changé la periode entre temps (cela sert de purge)
    $req = "\n    SELECT m.idMail as idMail, m.dateHeure as dateHeure, m.idUtilisateur as idUtilisateur,  m.contenu as contenu, m.idTypeMailRegroupement as idTypeMailRegroupement\n    FROM mailsEnvoiMailsRegroupes m\n    LEFT JOIN utilisateur u ON u.idUtilisateur = m.idUtilisateur\n    WHERE\n        (u.idPeriodeEnvoiMailsRegroupes = '" . $idPeriode . "'\n        OR u.idPeriodeEnvoiMailsRegroupes='1'\n        OR u.idPeriodeEnvoiMailsRegroupes='0')\n\n    ORDER BY m.dateHeure DESC\n    ";
    //AND u.idUtilisateur='30'
    $res = $config->connexionBdd->requete($req);
    $arrayRegroupementTypeMail = array();
    // regroupement pas utilisateur et par type de mail (nouvelle image ,  modif evenement etc)