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; }
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']); } }
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)); } } }
public function envoiMailMotDePasseOublie() { $html = ""; $configFields = $this->getFieldsFromMotDePasseOublie(); $f = new formGenerator(); $errors = $f->getArrayFromPost($configFields); if (count($errors) > 0) { $html .= $this->afficheFormulaireMotDePasseOublie($configFields); } else { $erreur = new objetErreur(); // verification de l'existence du mail dans la base de donnée $reqVerif = "SELECT idUtilisateur FROM utilisateur WHERE mail='" . $configFields['adresseMail']['value'] . "'"; $resVerif = $this->connexionBdd->requete($reqVerif); if (mysql_num_rows($resVerif) == 1) { $fetch = mysql_fetch_assoc($resVerif); $urlMd5 = md5("idUtilisateur=" . $fetch['idUtilisateur'] . "_" . $configFields['adresseMail']['value']); // ok // envoi du mail $message = _("Vous avez fais une demande de nouveau mot de passe, veuillez cliquer") . " <a href='" . $this->creerUrl('', 'nouveauMotDePasse', array('check' => $urlMd5, 'mail' => $configFields['adresseMail']['value'])) . "'><font color=blue>" . _("ici") . "</font></a> " . _("pour pouvoir redéfinir votre mot de passe sur le site") . " www.archi-strasbourg.org<br>"; $message .= _("ou copier coller le lien suivant dans votre navigateur :") . " <br>"; $message .= "<a href='" . $this->creerUrl('', 'nouveauMotDePasse', array('check' => $urlMd5, 'mail' => $configFields['adresseMail']['value'])) . "'><font color=blue>" . $this->creerUrl('', 'nouveauMotDePasse', array('check' => $urlMd5, 'mail' => $configFields['adresseMail']['value'])) . "</font></a>"; $message .= "<br><br><br>" . _("L'équipe archi-strasbourg.org") . "<br>"; $sujet = _("Demande de changement de mot de passe") . " - www.archi-strasbourg.org"; $mail = new mailObject(); $mail->sendMail($mail->getSiteMail(), $configFields['adresseMail']['value'], $sujet, $message, true); // envoi de l'info aux administrateurs $messageAdmins = _("Un utilisateur a fait une demande de changement de mot de passe.") . "<br>" . $configFields['adresseMail']['value']; $sujetAdmins = _("Demande de changement de mot de passe sur") . " archi-strasbourg.org"; $mail->sendMailToAdministrators($mail->getSiteMail(), $sujetAdmins, $messageAdmins, '', true); $this->ajouteMailEnvoiRegroupesAdministrateurs(array('contenu' => $messageAdmins, 'idTypeMailRegroupement' => 8, 'criteres' => "")); $html .= _("Un mail vous a été envoyé contenant un lien pour redéfinir votre mot de passe.") . "<br>"; } elseif (mysql_num_rows($resVerif) > 1) { // probleme , plusieurs compte avec la meme adresse $erreur->ajouter(_("Attention, plusieurs comptes ont ce mail comme identifiant. Merci de contacter l'administrateur du site.")); } elseif (mysql_num_rows($resVerif) == 0) { $erreur->ajouter(_("Le mail n'a pas été trouvé dans la base de données, merci de vérifier le mail")); } if ($erreur->getNbErreurs() > 0) { $html .= $erreur->afficher(); $html .= $this->afficheFormulaireMotDePasseOublie(); } } return $html; }
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&archiIdUtilisateur=" . $newIdUtilisateur . "&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(); } }
public function gestionRetour($typeRetour = 'envoiMailAdmin', $configForm = array()) { $mail = new mailObject(); switch ($typeRetour) { case 'envoiMailAdmin': $message = ""; $parametres = $configForm['fields']; $errors = $this->getArrayFromPost($parametres, null, isset($configForm['captcha']) && $configForm['captcha']); if (count($errors) == 0) { foreach ($parametres as $fieldName => $properties) { $message .= $fieldName . " : " . $this->variablesPost[$fieldName] . "<br>"; } $from = $mail->getSiteMail(); $replyTo = $mail->getSiteMail(); if (isset($this->variablesPost['email']) && $this->variablesPost['email'] != '') { $from = array("envoyeur" => $mail->getSiteMail(), "replyTo" => $this->variablesPost['email']); } if (isset($configForm['logMails']) && $configForm['logMails'] == true) { $mail->sendMailToAdministrators($from, 'Demande d\'un internaute sur archi-strasbourg.org', $message, '', true, true); } else { $mail->sendMailToAdministrators($from, 'Demande d\'un internaute sur archi-strasbourg.org', $message); } echo "Votre demande a été envoyée.<br>"; } else { $configForm['fields'] = $parametres; $configForm['captcha-error'] = $errors['captcha-error']; echo $this->afficherFromArray($configForm); } break; } }
* */ 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"]))));
public function ajouter() { // ON LOCK LA TABLE historique image pour qu'il n'y ai pas d'ajout d'image qui se chevauche entre utilisateur $this->connexionBdd->getLock(array('historiqueImage')); $dateDuJour = date("Y-m-d"); $listeIdNouvellesImages = array(); // ce tableau contient la liste des idImages des nouvelles photos ajoutée, ce tableau est simplement transmis au formulaire de modification qui s'affiche a la fin de l'ajout $rapportTransfert = array(); // ce tableau contient le resultat du retour de la fonction de redimensionnement , ok ou pas // creation des repertoires datés if (!is_dir($this->getCheminPhysiqueImage("mini") . $dateDuJour)) { mkdir($this->getCheminPhysiqueImage("originaux") . $dateDuJour); chmod($this->getCheminPhysiqueImage("originaux") . $dateDuJour, 0777); mkdir($this->getCheminPhysiqueImage("mini") . $dateDuJour); chmod($this->getCheminPhysiqueImage("mini") . $dateDuJour, 0777); mkdir($this->getCheminPhysiqueImage("moyen") . $dateDuJour); chmod($this->getCheminPhysiqueImage("moyen") . $dateDuJour, 0777); mkdir($this->getCheminPhysiqueImage("grand") . $dateDuJour); chmod($this->getCheminPhysiqueImage("grand") . $dateDuJour, 0777); } // ************************************************************************************************************************************************************************************ if (isset($this->variablesPost['typeAjout']) && $this->variablesPost['typeAjout'] == 'simple') { // ******************************************************************************************************************************************************************************* if (isset($_FILES['fichier']['name']) && $_FILES['fichier']['error'] == UPLOAD_ERR_OK && isset($this->variablesPost['idCourant']) && isset($this->variablesPost['liaisonImage'])) { // on analyse le nom de fichier pour voir s'il y a une date a extraire et a inclure dans la base de données $dateCliche = "0000-00-00"; $dateObj = new dateObject(); $retourAnalyseNomFichier = $dateObj->extractDateFromString($_FILES['fichier']['name']); if ($retourAnalyseNomFichier['isDate']) { $dateCliche = $retourAnalyseNomFichier["dateExtracted"]; } // creation d'un nouvel id d'image // recuperation de l'id le plus haut $this->idImage = $nouveauIdImage = $this->getNewIdImage(); $listeIdNouvellesImages[] = $nouveauIdImage; $authentifie = new archiAuthentification(); if (extension_loaded('gd')) { // nommage de l'image en fonction de l'id // recuperation du type de fichier // et conversion en jpg s'il le faut // ajout d'un nouvel id dans l'historique image $resAjout = $this->connexionBdd->requete(' insert into historiqueImage (idImage, dateUpload, dateCliche, idUtilisateur) values ("' . $nouveauIdImage . '", "' . $dateDuJour . '", "' . $dateCliche . '", "' . $authentifie->getIdUtilisateur() . '") '); $nouvelIdHistoriqueImage = mysql_insert_id(); $erreurRedimension = false; // conversion en jpeg quelque soit le format géré // 1- l'image est sauvegardee tel quel (0 pour le redimensionnement) if (!$this->redimension($_FILES['fichier']['tmp_name'], pia_substr(strtolower($_FILES['fichier']['name']), -3), $this->getCheminPhysiqueImage("originaux") . $dateDuJour . "/" . $nouvelIdHistoriqueImage . ".jpg", 0)) { $erreurRedimension = true; } // 2- redimensionnement au format mini if (!$this->redimension($_FILES['fichier']['tmp_name'], pia_substr(strtolower($_FILES['fichier']['name']), -3), $this->getCheminPhysiqueImage("mini") . $dateDuJour . "/" . $nouvelIdHistoriqueImage . ".jpg", $this->getFormatImageMini())) { $erreurRedimension = true; } // 3- redimensionnement au format moyen if (!$this->redimension($_FILES['fichier']['tmp_name'], pia_substr(strtolower($_FILES['fichier']['name']), -3), $this->getCheminPhysiqueImage("moyen") . $dateDuJour . "/" . $nouvelIdHistoriqueImage . ".jpg", $this->getFormatImageMoyen())) { $erreurRedimension = true; } // 4- redimensionnement au format grand if (!$this->redimension($_FILES['fichier']['tmp_name'], pia_substr(strtolower($_FILES['fichier']['name']), -3), $this->getCheminPhysiqueImage("grand") . $dateDuJour . "/" . $nouvelIdHistoriqueImage . ".jpg", $this->getFormatImageGrand())) { $erreurRedimension = true; } unlink($_FILES['fichier']['tmp_name']); $rapportTransfert[$nouveauIdImage] = array("erreurRedimension" => $erreurRedimension); // ajout a la table _adresseImage switch ($this->variablesPost['liaisonImage']) { case 'adresse': $resLiaison = $this->connexionBdd->requete('insert into _adresseImage (idImage, idAdresse, seSitue, prisDepuis, etage, hauteur) values ("' . $nouveauIdImage . '", "' . $this->variablesPost['idCourant'] . '", 0, 0, 0, 0)'); break; case 'evenement': $resLiaison = $this->connexionBdd->requete('insert into _evenementImage (idImage, idEvenement) values ("' . $nouveauIdImage . '", "' . $this->variablesPost['idCourant'] . '")'); break; default: // cas ou l'on upload simplement dans la bibliotheque des images sans préciser si l'image concerne un evenement ou une adresse break; } } else { echo "Il s'est produit une erreur lors de l'upload, la session est terminée ou la bibliothèque gd n'est pas installé sur le serveur.<br>"; } } else { switch ($_FILES['fichier']['error']) { case 0: echo "Aucune erreur détectée"; break; case 1: echo "Erreur lors de l'upload : archiImage::ajouter() : Taille du fichier trop importante (php.ini)"; break; case 2: echo "Erreur lors de l'upload : archiImage::ajouter() : Taille du fichier trop importante (formulaire html)"; break; case 3: echo "Erreur lors de l'upload : archiImage::ajouter() : Téléchargement partiel."; break; case 4: echo "Erreur lors de l'upload : archiImage::ajouter() : Aucun fichier n'a été téléchargé"; break; case 6: echo "Erreur lors de l'upload : archiImage::ajouter() : Un dossier temporaire est manquant"; break; case 7: echo "Erreur lors de l'upload : archiImage::ajouter() : Echec de l'écriture sur le disque"; break; case 8: echo "Erreur lors de l'upload : archiImage::ajouter() : Une extension PHP a annulé l'upload"; break; default: echo "Erreur lors de l'upload : archiImage::ajouter() "; break; } echo "<br/>"; } // ******************************************************************************************************************************************************************************* } elseif (isset($this->variablesPost['typeAjout']) && $this->variablesPost['typeAjout'] == 'multi') { // ******************************************************************************************************************************************************************************* // traitement des fichiers uploades par FTP if (isset($this->variablesPost['idCourant']) && isset($this->variablesPost['liaisonImage'])) { //echo "cheminUploadMultiple=".$this->variablesPost["cheminUploadMultiple"]."<br>"; //echo "idCourant=".$this->variablesPost["idCourant"]."<br>"; //echo "liaisonImage=".$this->variablesPost["liaisonImage"]."<br>"; $repertoireUpload = $this->variablesPost["cheminUploadMultiple"]; // conversion des noms de fichier en utf8 de tout le repertoire exec("convmv -f iso-8859-1 -t utf-8 -r " . $this->getCheminPhysique() . "/images/uploadMultiple/" . $repertoireUpload . "/* --notest", $retourExec); $authentifie = new archiAuthentification(); $nbSuppression = 0; if ($directory = opendir($this->getCheminPhysique() . "/images/uploadMultiple/" . $repertoireUpload)) { // parcours du repertoire while ($fichier = readdir($directory)) { if ($fichier != "." && $fichier != ".." && !is_dir($fichier)) { // on analyse le nom de fichier pour voir s'il y a une date a extraire et a inclure dans la base de données $dateCliche = "0000-00-00"; $dateObj = new dateObject(); $retourAnalyseNomFichier = $dateObj->extractDateFromString($fichier); if ($retourAnalyseNomFichier['isDate']) { $dateCliche = $retourAnalyseNomFichier["dateExtracted"]; } // recuperation de l'id le plus haut ( on le fait a chaque fois pour etre sur de ne pas $nouveauIdImage = $this->getNewIdImage(); // tableau transmis a la fonction de modifications pour savoir quelles ont ete les nouvelles images ajoutees $listeIdNouvellesImages[] = $nouveauIdImage; if (extension_loaded('gd')) { $resAjout = $this->connexionBdd->requete(' insert into historiqueImage (idImage, dateUpload, dateCliche, idUtilisateur, idSource) values ("' . $nouveauIdImage . '", "' . $dateDuJour . '", "' . $dateCliche . '", "' . $authentifie->getIdUtilisateur() . '", 0) '); $nouvelIdHistoriqueImage = mysql_insert_id(); // on ajoute le chemin de l'image uploadee du repertoire uploadMultiple pour pouvoir regenerer les fichiers a partir de celle ci , au cas ou des images redimensionnees sont corrompues // les images uploadees ne seront donc plus effacees $reqAjoutImageUploadee = "\n INSERT INTO imagesUploadeesPourRegeneration\n (idImage, idHistoriqueImage, cheminImageUploadee)\n VALUES ('" . $nouveauIdImage . "', '" . $nouvelIdHistoriqueImage . "', \"" . $repertoireUpload . "/" . $fichier . "\") "; $resAjoutImageUploadee = $this->connexionBdd->requete($reqAjoutImageUploadee); //redimensionnement //echo "debug ".$fichier." ==> ".pia_substr(strtolower($fichier), -3)."<br>"; // originaux $erreurRedimension = false; if (!$this->redimension($this->getCheminPhysique() . "/images/uploadMultiple/" . $repertoireUpload . "/" . $fichier, pia_substr(strtolower($fichier), -3), $this->getCheminPhysiqueImage("originaux") . $dateDuJour . "/" . $nouvelIdHistoriqueImage . ".jpg", 0)) { $erreurRedimension = true; } //mini if (!$this->redimension($this->getCheminPhysique() . "/images/uploadMultiple/" . $repertoireUpload . "/" . $fichier, pia_substr(strtolower($fichier), -3), $this->getCheminPhysiqueImage("mini") . $dateDuJour . "/" . $nouvelIdHistoriqueImage . ".jpg", $this->getFormatImageMini())) { $erreurRedimension = true; } //moyen if (!$this->redimension($this->getCheminPhysique() . "/images/uploadMultiple/" . $repertoireUpload . "/" . $fichier, pia_substr(strtolower($fichier), -3), $this->getCheminPhysiqueImage("moyen") . $dateDuJour . "/" . $nouvelIdHistoriqueImage . ".jpg", $this->getFormatImageMoyen())) { $erreurRedimension = true; } //grand if (!$this->redimension($this->getCheminPhysique() . "/images/uploadMultiple/" . $repertoireUpload . "/" . $fichier, pia_substr(strtolower($fichier), -3), $this->getCheminPhysiqueImage("grand") . $dateDuJour . "/" . $nouvelIdHistoriqueImage . ".jpg", $this->getFormatImageGrand())) { $erreurRedimension = true; } //unlink($this->getCheminPhysique()."/images/uploadMultiple/".$repertoireUpload."/".$fichier); // suppression des fichiers du repertoire upload , suppression du repertoire $nbSuppression++; $rapportTransfert[$nouveauIdImage] = array("erreurRedimension" => $erreurRedimension); // ajout a la table _adresseImage switch ($this->variablesPost['liaisonImage']) { case 'adresse': $resLiaison = $this->connexionBdd->requete('insert into _adresseImage (idImage, idAdresse, description, seSitue, prisDepuis, etage, hauteur) values ("' . $nouveauIdImage . '", "' . $this->variablesPost['idCourant'] . '", "", 0, 0, 0, 0)'); break; case 'evenement': $resLiaison = $this->connexionBdd->requete('insert into _evenementImage (idImage, idEvenement) values ("' . $nouveauIdImage . '", "' . $this->variablesPost['idCourant'] . '")'); break; default: break; } } } } } if ($nbSuppression > 0) { // on supprime le repertoire (si des fichiers ont ete ajoutés) //rmdir($this->getCheminPhysique()."/images/uploadMultiple/".$repertoireUpload); } } } //$this->afficherListe($id , $type) // on libere la table $this->connexionBdd->freeLock(array('historiqueImage')); // envoi du mail au administrateur $message = "De nouvelles images ont été uploadées : <br>"; $intituleAdresse = ""; switch ($this->variablesPost['liaisonImage']) { case 'evenement': $a = new archiAdresse(); $reqAdresse = $a->getIdAdressesFromIdEvenement(array('idEvenement' => $this->variablesPost['idCourant'])); $resAdresse = $this->connexionBdd->requete($reqAdresse); $fetchAdresse = mysql_fetch_assoc($resAdresse); // on prend la premiere adresse qui vient $intituleAdresse = $a->getIntituleAdresseFrom($fetchAdresse['idAdresse'], 'idAdresse'); foreach ($listeIdNouvellesImages as $idImageNouvelle) { $msgErreur = ""; if ($rapportTransfert[$idImageNouvelle]['erreurRedimension'] == true) { $msgErreur = " ATTENTION : il y a eu un problème avec cette image (format incorrect) "; } $message .= "<a href='" . $this->creerUrl('', 'imageDetail', array('archiIdImage' => $idImageNouvelle, 'archiRetourAffichage' => 'evenement', 'archiRetourIdName' => 'idEvenement', 'archiRetourIdValue' => $this->getIdEvenementGroupeAdresseFromImage(array('idImage' => $idImageNouvelle)))) . "'>Image " . $idImageNouvelle . "</a>{$msgErreur}<br>"; } $evenement = new archiEvenement(); $idEvenementGroupeAdresse = $evenement->getIdEvenementGroupeAdresseFromIdEvenement($this->variablesPost['idCourant']); $message .= "<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse, 'archiIdAdresse' => $fetchAdresse['idAdresse'])) . "'>" . $intituleAdresse . "</a><br>"; break; case 'adresse': $a = new archiAdresse(); $intituleAdresse = $a->getIntituleAdresseFrom($this->variablesPost['idCourant'], 'idAdresse'); foreach ($listeIdNouvellesImages as $idImageNouvelle) { $msgErreur = ""; if ($rapportTransfert[$idImageNouvelle]['erreurRedimension'] == true) { $msgErreur = " ATTENTION : il y a eu un problème avec cette image (format incorrect) "; } $message .= "<a href='" . $this->creerUrl('', 'imageDetail', array('archiIdImage' => $idImageNouvelle, 'archiRetourAffichage' => 'evenement', 'archiRetourIdName' => 'idEvenement', 'archiRetourIdValue' => $this->getIdEvenementGroupeAdresseFromImage(array('idImage' => $idImageNouvelle)))) . "'>Image " . $idImageNouvelle . "</a>{$msgErreur}<br>"; } $arrayUrl = array(); if (isset($idImageNouvelle)) { $idEvenementGroupeAdresse = $this->getIdEvenementGroupeAdresseFromImage(array('idImage' => $idImageNouvelle)); $arrayUrl = array('archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse); } $message .= "<a href='" . $this->creerUrl('', '', array_merge($arrayUrl, array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $this->variablesPost['idCourant']))) . "'>" . $intituleAdresse . "</a><br>"; break; default: $message .= "De nouvelle images ont été ajoutées à la bibliothèque :<br>"; foreach ($listeIdNouvellesImages as $idImageNouvelle) { $msgErreur = ""; if ($rapportTransfert[$idImageNouvelle]['erreurRedimension'] == true) { $msgErreur = " ATTENTION : il y a eu un problème avec cette image (format incorrect) "; } $message .= "<a href='" . $this->creerUrl('', 'imageDetail', array('archiIdImage' => $idImageNouvelle, 'archiRetourAffichage' => 'evenement', 'archiRetourIdName' => 'idEvenement', 'archiRetourIdValue' => $this->getIdEvenementGroupeAdresseFromImage(array('idImage' => $idImageNouvelle)))) . "'>Image " . $idImageNouvelle . "</a>{$msgErreur}<br>"; } break; } $mail = new mailObject(); // recuperation des infos sur l'utilisateur qui fais la modif $utilisateur = new archiUtilisateur(); $arrayInfosUtilisateur = $utilisateur->getArrayInfosFromUtilisateur($this->session->getFromSession('utilisateurConnecte' . $this->idSite)); $message .= "<br>" . $arrayInfosUtilisateur['nom'] . " - " . $arrayInfosUtilisateur['prenom'] . " - " . $arrayInfosUtilisateur['mail'] . "<br>"; $mail->sendMailToAdministrators($mail->getSiteMail(), 'Nouvelles images ajoutées - ' . $intituleAdresse, $message, " AND alerteAdresses = '1' ", true); $utilisateur->ajouteMailEnvoiRegroupesAdministrateurs(array('contenu' => $message, 'idTypeMailRegroupement' => 13, 'criteres' => " and alerteAdresses='1' ")); // ************************************************************************************************************************************************ // envoi d'un mail pour l'auteur de l'adresse // ************************************************************************************************************************************************ $mail = new mailObject(); $utilisateur = new archiUtilisateur(); $auth = new archiAuthentification(); $arrayUtilisateurs = $utilisateur->getCreatorsFromAdresseFrom($this->variablesPost['idCourant'], 'idEvenement'); // a modifier quand on pourra ajouter des photos sur une adresse $adresse = new archiAdresse(); $intituleAdresse = $adresse->getIntituleAdresseFrom($this->variablesPost['idCourant'], 'idEvenement'); $evenement = new archiEvenement(); foreach ($arrayUtilisateurs as $indice => $idUtilisateurAdresse) { if ($idUtilisateurAdresse != $auth->getIdUtilisateur()) { $infosUtilisateur = $utilisateur->getArrayInfosFromUtilisateur($idUtilisateurAdresse); if ($infosUtilisateur['alerteAdresses'] == '1' && $infosUtilisateur['compteActif'] == '1' && $infosUtilisateur['idProfil'] != '4') { $messageIntro = "Un utilisateur a ajouté une ou plusieurs images sur une adresse dont vous êtes l'auteur.<br>"; $idEvenementGroupeAdresse = $evenement->getIdEvenementGroupeAdresseFromIdEvenement($this->variablesPost['idCourant']); $adresse = new archiAdresse(); $reqAdresses = $adresse->getIdAdressesFromIdEvenement(array('idEvenement' => $this->variablesPost['idCourant'])); $resAdresses = $this->connexionBdd->requete($reqAdresses); $fetchAdresses = mysql_fetch_assoc($resAdresses); $message = "Pour vous rendre sur l'évènement : <a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $fetchAdresses['idAdresse'], 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse)) . "'>" . $intituleAdresse . "</a><br>"; $messageFin = $this->getMessageDesabonnerAlerteMail(); if ($utilisateur->isMailEnvoiImmediat($idUtilisateurAdresse)) { $mail->sendMail($mail->getSiteMail(), $infosUtilisateur['mail'], 'Ajout de photos sur une adresse dont vous êtes l\'auteur.', $messageIntro . $message . $messageFin, true); } else { $utilisateur->ajouteMailEnvoiRegroupes(array('contenu' => $message, 'idDestinataire' => $idUtilisateurAdresse, 'idTypeMailRegroupement' => 13)); } } } } // ************************************************************************************************************************************************ // ************************************************************************************************************************************************************* // envoi mail aussi au moderateur si ajout sur adresse de ville que celui ci modere $u = new archiUtilisateur(); $arrayVilles = array(); $arrayVilles[] = $adresse->getIdVilleFrom($this->variablesPost['idCourant'], 'idEvenement'); $arrayVilles = array_unique($arrayVilles); $arrayListeModerateurs = $u->getArrayIdModerateursActifsFromVille($arrayVilles[0], array("sqlWhere" => " AND alerteAdresses='1' ")); if (count($arrayListeModerateurs) > 0) { foreach ($arrayListeModerateurs as $indice => $idModerateur) { if ($idModerateur != $this->session->getFromSession('utilisateurConnecte' . $this->idSite)) { if ($u->isMailEnvoiImmediat($idModerateur)) { $mailModerateur = $u->getMailUtilisateur($idModerateur); $mail->sendMail($mail->getSiteMail(), $mailModerateur, 'Nouvelles images ajoutées -' . $intituleAdresse, $message, true); } else { $u->ajouteMailEnvoiRegroupes(array('contenu' => $message, 'idDestinataire' => $idModerateur, 'idTypeMailRegroupement' => 13)); } } } } // ************************************************************************************************************************************************************* // on appelle le formulaire permettant de mettre a jour les infos concernant les photos echo $this->afficherFormulaireModification(0, '', $listeIdNouvellesImages); }
$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é ?"); } }