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