コード例 #1
0
 public function enregistreModificationAdresse()
 {
     $errors = array();
     if (isset($this->variablesGet['tableName']) && $this->variablesGet['tableName'] != '') {
         switch ($this->variablesGet['tableName']) {
             // **********************************************************************************************************************************************************
             // rue
             // **********************************************************************************************************************************************************
             case 'rue':
                 $req = "";
                 if (isset($this->variablesPost['sousQuartiers']) && $this->variablesPost['sousQuartiers'] != '0') {
                     $req = "UPDATE rue SET idSousQuartier='" . $this->variablesPost['sousQuartiers'] . "', nom=\"" . $this->variablesPost['intitule'] . "\", prefixe=\"" . $this->variablesPost['complement'] . "\" WHERE idRue = '" . $this->variablesPost['idRue'] . "'";
                     $idModifie = $this->variablesPost['idRue'];
                 } elseif (isset($this->variablesPost['quartiers']) && $this->variablesPost['quartiers'] != '0') {
                     // recherche du sous quartier 'autre' , s'il n'existe pas , on le cree
                     $reqSousQuartierAutre = "\n                                    SELECT idSousQuartier\n                                    FROM sousQuartier\n                                    WHERE idQuartier = '" . $this->variablesPost['quartiers'] . "'\n                                    AND nom='autre'\n                                    ";
                     $resSousQuartierAutre = $this->connexionBdd->requete($reqSousQuartierAutre);
                     $idSousQuartierAutre = 0;
                     if (mysql_num_rows($resSousQuartierAutre) == 1) {
                         // le sousQuartier autre existe , on recupere son ID
                         $fetchSousQuartierAutre = mysql_fetch_assoc($resSousQuartierAutre);
                         $idSousQuartierAutre = $fetchSousQuartierAutre['idSousQuartier'];
                     }
                     if (mysql_num_rows($resSousQuartierAutre) > 1) {
                         $errors[] = "Probleme detecté dans les sousQuartiers 'autre', merci de contacter l'administrateur.<br>";
                     }
                     if (mysql_num_rows($resSousQuartierAutre) == 0) {
                         // le sousQuartier 'autre' pour le quartier n'existe pas , il faut le creer et renvoyer son ID
                         $reqInsertNouveauSousQuartierAutre = "INSERT INTO sousQuartier (idQuartier,nom) VALUES ('" . $this->variablesPost['quartiers'] . "',\"autre\")";
                         $resInsertNouveauSousQuartierAutre = $this->connexionBdd->requete($reqInsertNouveauSousQuartierAutre);
                         $idSousQuartierAutre = mysql_insert_id();
                     }
                     if ($idSousQuartierAutre != 0) {
                         $req = "UPDATE rue SET idSousQuartier='" . $idSousQuartierAutre . "', nom=\"" . $this->variablesPost['intitule'] . "\", prefixe=\"" . $this->variablesPost['complement'] . "\" WHERE idRue = '" . $this->variablesPost['idRue'] . "'";
                         $idModifie = $this->variablesPost['idRue'];
                     } else {
                         $errors[] = "Il y a eu un souci a la selection automatique du sous quartier, merci de contacter l'administrateur.<br>";
                     }
                 } elseif (isset($this->variablesPost['ville']) && $this->variablesPost['ville'] != '0') {
                     // l'adresse est une ville , ceci ne sera pas beaucoup utilisé car en principe une adresse est au moins une ville et un quartier , mais il a des adresses qui ne sont que des villes quand meme
                     // recherche du quartier 'autre' de la ville s'il n'existe pas , on le cree
                     $reqQuartierAutre = "SELECT idQuartier FROM quartier WHERE idVille='" . $this->variablesPost['ville'] . "' and nom='autre'";
                     $resQuartierAutre = $this->connexionBdd->requete($reqQuartierAutre);
                     $idQuartierAutre = 0;
                     if (mysql_num_rows($resQuartierAutre) == 1) {
                         // le quartier autre existe, on passe au sousQuartier
                         $fetchQuartierAutre = mysql_fetch_assoc($resQuartierAutre);
                         $idQuartierAutre = $fetchQuartierAutre['idQuartier'];
                         // on verifie que le sousQuartiers 'autre' existe pour le quartier 'autre' trouve
                         // recherche du sous quartier 'autre' , s'il n'existe pas , on le cree
                         $reqSousQuartierAutre = "\n                                        SELECT idSousQuartier\n                                        FROM sousQuartier\n                                        WHERE idQuartier = '" . $idQuartierAutre . "'\n                                        AND nom='autre'\n                                        ";
                         $resSousQuartierAutre = $this->connexionBdd->requete($reqSousQuartierAutre);
                         $idSousQuartierAutre = 0;
                         if (mysql_num_rows($resSousQuartierAutre) == 1) {
                             // le sousQuartier autre existe , on recupere son ID
                             $fetchSousQuartierAutre = mysql_fetch_assoc($resSousQuartierAutre);
                             $idSousQuartierAutre = $fetchSousQuartierAutre['idSousQuartier'];
                         }
                         if (mysql_num_rows($resSousQuartierAutre) > 1) {
                             $errors[] = "Probleme detecté dans les sousQuartiers 'autre', merci de contacter l'administrateur.<br>";
                         }
                         if (mysql_num_rows($resSousQuartierAutre) == 0) {
                             // le sousQuartier 'autre' pour le quartier n'existe pas , il faut le creer et renvoyer son ID
                             $reqInsertNouveauSousQuartierAutre = "INSERT INTO sousQuartier (idQuartier,nom) VALUES ('" . $idQuartierAutre . "',\"autre\")";
                             $resInsertNouveauSousQuartierAutre = $this->connexionBdd->requete($reqInsertNouveauSousQuartierAutre);
                             $idSousQuartierAutre = mysql_insert_id();
                         }
                         if ($idSousQuartierAutre != 0) {
                             $req = "UPDATE rue SET idSousQuartier='" . $idSousQuartierAutre . "', nom=\"" . $this->variablesPost['intitule'] . "\", prefixe=\"" . $this->variablesPost['complement'] . "\" WHERE idRue = '" . $this->variablesPost['idRue'] . "'";
                         } else {
                             $errors[] = "Il y a eu un souci a la selection automatique du sous quartier, merci de contacter l'administrateur.<br>";
                         }
                         if (mysql_num_rows($resQuartierAutre) > 1) {
                             $errors[] = "Probleme detecté dans les quartiers 'autre', merci de contacter l'administrateur.<br>";
                         }
                     }
                     if (mysql_num_rows($resQuartierAutre) == 0) {
                         // le quartier autre n'existe pas , il faut le cree
                         $reqInsertQuartierAutre = "INSERT INTO quartier (idVille,nom) VALUES ('" . $this->variablesPost['ville'] . "','autre')";
                         $resInsertQuartierAutre = $this->connexionBdd->requete($reqInsertQuartierAutre);
                         $idQuartierAutre = mysql_insert_id();
                         // on ajoute aussi le sousQuartier 'autre' pour le quartier 'autre' cree , on va quand meme regarder s'il n'existe pas un enregistrement pour etre sur qu'il n'y a pas de souci d'integrité
                         // recherche du sous quartier 'autre' , s'il n'existe pas , on le cree
                         $reqSousQuartierAutre = "\n                                        SELECT idSousQuartier\n                                        FROM sousQuartier\n                                        WHERE idQuartier = '" . $idQuartierAutre . "'\n                                        AND nom='autre'\n                                        ";
                         $resSousQuartierAutre = $this->connexionBdd->requete($reqSousQuartierAutre);
                         $idSousQuartierAutre = 0;
                         if (mysql_num_rows($resSousQuartierAutre) == 1) {
                             // le sousQuartier autre existe , on recupere son ID
                             $fetchSousQuartierAutre = mysql_fetch_assoc($resSousQuartierAutre);
                             $idSousQuartierAutre = $fetchSousQuartierAutre['idSousQuartier'];
                         }
                         if (mysql_num_rows($resSousQuartierAutre) > 1) {
                             $errors[] = "Probleme detecté dans les sousQuartiers 'autre', merci de contacter l'administrateur.<br>";
                         }
                         if (mysql_num_rows($resSousQuartierAutre) == 0) {
                             // le sousQuartier 'autre' pour le quartier n'existe pas , il faut le creer et renvoyer son ID
                             $reqInsertNouveauSousQuartierAutre = "INSERT INTO sousQuartier (idQuartier,nom) VALUES ('" . $idQuartierAutre . "',\"autre\")";
                             $resInsertNouveauSousQuartierAutre = $this->connexionBdd->requete($reqInsertNouveauSousQuartierAutre);
                             $idSousQuartierAutre = mysql_insert_id();
                         }
                         if ($idSousQuartierAutre != 0) {
                             $req = "UPDATE rue SET idSousQuartier='" . $idSousQuartierAutre . "', nom=\"" . $this->variablesPost['intitule'] . "\", prefixe=\"" . $this->variablesPost['complement'] . "\" WHERE idRue = '" . $this->variablesPost['idRue'] . "'";
                         } else {
                             $errors[] = "Il y a eu un souci a la selection automatique du sous quartier, merci de contacter l'administrateur.<br>";
                         }
                         if (mysql_num_rows($resQuartierAutre) > 1) {
                             $errors[] = "Probleme detecté dans les quartiers 'autre', merci de contacter l'administrateur.<br>";
                         }
                     }
                 }
                 if ($req != "") {
                     // execution de la requete de mise a jour de la rue
                     $res = $this->connexionBdd->requete($req);
                     $idModifie = $this->variablesPost['idRue'];
                 } else {
                     $errors[] = "erreur dans la modification de la rue<br>";
                 }
                 break;
                 // **********************************************************************************************************************************************************
                 // sous quartier
                 // **********************************************************************************************************************************************************
             // **********************************************************************************************************************************************************
             // sous quartier
             // **********************************************************************************************************************************************************
             case 'sousQuartier':
                 // un sousQuartier appartient toujours a un quartier
                 //array(8) { ["idRue"]=>  string(1) "5" ["pays"]=>  string(1) "1" ["ville"]=>  string(1) "1" ["quartiers"]=>  string(2) "13" ["sousQuartiers"]=>  string(1) "8" ["intitule"]=>  string(13) "Saint-Nicolas" ["complement"]=>  string(4) "quai" ["modifier"]=>  string(8) "Modifier" }
                 $req = "";
                 if ($this->variablesPost['quartiers'] != '0' && $this->variablesPost['ville'] != '0' && $this->variablesPost['pays'] != '0') {
                     $req = "UPDATE sousQuartier SET idQuartier = '" . $this->variablesPost['quartiers'] . "',nom=\"" . $this->variablesPost['intitule'] . "\" WHERE idSousQuartier = '" . $this->variablesPost['idSousQuartier'] . "'";
                 } else {
                     $errors[] = "Erreur : un sous quartier ne peut pas appartenir a aucun quartier.<br>";
                 }
                 if ($req != "") {
                     // execution de la requete de mise a jour de la rue
                     $res = $this->connexionBdd->requete($req);
                     $idModifie = $this->variablesPost['idSousQuartier'];
                 } else {
                     $errors[] = "erreur dans la modification du sous quartier<br>";
                 }
                 break;
                 // **********************************************************************************************************************************************************
                 // quartier
                 // **********************************************************************************************************************************************************
             // **********************************************************************************************************************************************************
             // quartier
             // **********************************************************************************************************************************************************
             case 'quartier':
                 // un quartier appartient toujours a une ville
                 //array(8) { ["idRue"]=>  string(1) "5" ["pays"]=>  string(1) "1" ["ville"]=>  string(1) "1" ["quartiers"]=>  string(2) "13" ["sousQuartiers"]=>  string(1) "8" ["intitule"]=>  string(13) "Saint-Nicolas" ["complement"]=>  string(4) "quai" ["modifier"]=>  string(8) "Modifier" }
                 $req = "";
                 if ($this->variablesPost['ville'] != '0' && $this->variablesPost['pays'] != '0') {
                     $req = "UPDATE quartier SET idVille = '" . $this->variablesPost['ville'] . "',nom=\"" . $this->variablesPost['intitule'] . "\" WHERE idQuartier = '" . $this->variablesPost['idQuartier'] . "'";
                 } else {
                     $errors[] = "Erreur : un quartier ne peut pas appartenir a aucune ville.<br>";
                 }
                 if ($req != "") {
                     // execution de la requete de mise a jour de du quartier
                     $res = $this->connexionBdd->requete($req);
                     $idModifie = $this->variablesPost['idQuartier'];
                 } else {
                     $errors[] = "erreur dans la modification du quartier<br>";
                 }
                 break;
                 // **********************************************************************************************************************************************************
                 // ville
                 // **********************************************************************************************************************************************************
             // **********************************************************************************************************************************************************
             // ville
             // **********************************************************************************************************************************************************
             case 'ville':
                 // une ville appartient toujours a un pays
                 //array(8) { ["idRue"]=>  string(1) "5" ["pays"]=>  string(1) "1" ["ville"]=>  string(1) "1" ["quartiers"]=>  string(2) "13" ["sousQuartiers"]=>  string(1) "8" ["intitule"]=>  string(13) "Saint-Nicolas" ["complement"]=>  string(4) "quai" ["modifier"]=>  string(8) "Modifier" }
                 $req = "";
                 if ($this->variablesPost['pays'] != '0') {
                     $req = "UPDATE ville SET idPays = '" . $this->variablesPost['pays'] . "',nom=\"" . $this->variablesPost['intitule'] . "\",codepostal=\"" . $this->variablesPost['codePostal'] . "\", longitude='" . $this->variablesPost['longitude'] . "',latitude='" . $this->variablesPost['latitude'] . "' WHERE idVille = '" . $this->variablesPost['idVille'] . "'";
                 } else {
                     $errors[] = "Erreur : une ville ne peut pas appartenir a aucun pays.<br>";
                 }
                 if ($req != "") {
                     // execution de la requete de mise a jour de la ville
                     $res = $this->connexionBdd->requete($req);
                     $idModifie = $this->variablesPost['idVille'];
                 } else {
                     $errors[] = "erreur dans la modification de la ville<br>";
                 }
                 break;
                 // **********************************************************************************************************************************************************
                 // pays
                 // **********************************************************************************************************************************************************
             // **********************************************************************************************************************************************************
             // pays
             // **********************************************************************************************************************************************************
             case 'pays':
                 $req = "UPDATE pays SET nom=\"" . $this->variablesPost['intitule'] . "\" WHERE idPays = '" . $this->variablesPost['idPays'] . "'";
                 $res = $this->connexionBdd->requete($req);
                 $idModifie = $this->variablesPost['idPays'];
                 break;
         }
         if (isset($this->variablesGet['tableName']) && isset($req) && $req != '') {
             $mail = new mailObject();
             $a = new archiAuthentification();
             $u = new archiUtilisateur();
             $arrayInfosUtilisateur = $u->getArrayInfosFromUtilisateur($a->getIdUtilisateur());
             $messageAdmins = "Un élément d'adresse a été modifié";
             $messageAdmins .= " par : " . $arrayInfosUtilisateur['nom'] . " " . $arrayInfosUtilisateur['prenom'] . "<br>";
             $messageAdmins .= "type d'élément : " . $this->variablesGet['tableName'] . "<br><br>";
             $messageAdmins .= "<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => $this->variablesGet['tableName'], 'idModification' => $idModifie)) . "'>" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => $this->variablesGet['tableName'], 'idModification' => $idModifie)) . "</a>";
             $messageModerateur = "Un élément d'adresse a été modifié<br>";
             $messageModerateur .= "type d'élément : " . $this->variablesGet['tableName'] . "<br><br>";
             $messageModerateur .= "<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => $this->variablesGet['tableName'], 'idModification' => $idModifie)) . "'>" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => $this->variablesGet['tableName'], 'idModification' => $idModifie)) . "</a>";
             $mail->sendMailToAdministrators($mail->getSiteMail(), "archi-strasbourg.org : un utilisateur modifié un élément d'adresse", $messageAdmins, " and alerteMail='1' ", true);
             $u->ajouteMailEnvoiRegroupesAdministrateurs(array('contenu' => $messageAdmins, 'idTypeMailRegroupement' => 6, 'criteres' => " and alerteMail='1' "));
             $tableName = $this->variablesGet['tableName'];
             // envoi de mail aux moderateur de la ville
             /*if(in_array($tableName,array('rue','sousQuartier','quartier')))
                             {
                                 $identifiantName='';
                                 switch($tableName)
                                 {
                                     case 'rue':
                                         $identifiantName='idRue';
                                     break;
                                     case 'sousQuartier':
                                         $identifiantName='idSousQuartier';
                                     break;
                                     case 'quartier':
                                         $identifiantName='idQuartier';
                                     break;
                                 }
             
                                 $idVille = $this->getIdVilleFrom($idModifie,$identifiantName);
                                 $arrayListeModerateurs = $u->getArrayIdModerateursActifsFromVille($idVille,array("sqlWhere"=>" AND alerteAdresses='1' "));
                                 if(count($arrayListeModerateurs)>0)
                                 {
                                     foreach($arrayListeModerateurs as $indice => $idModerateur)
                        	              {
                                         if($idModerateur!=$a->getIdUtilisateur() && $u->isAuthorized('admin_rues',$idModerateur) && $u->isAuthorized('admin_sousQuartiers',$idModerateur) && $u->isAuthorized('admin_quartiers',$idModerateur))
                                         {
                                             $mailModerateur = $u->getMailUtilisateur($idModerateur);
                                             $mail->sendMail($mail->getSiteMail(),$mailModerateur,"archi-strasbourg.org : un utilisateur a modifié un élément d'adresse",$messageModerateur,true);
                                         }
                                     }
                                 }
                             }*/
         }
     }
     return $errors;
 }
コード例 #2
0
 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']);
     }
 }
コード例 #3
0
 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)) {
コード例 #4
0
 /**
  * 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));
         }
     }
 }
コード例 #5
0
 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;
 }
コード例 #6
0
    if ($resp->success) {
        $message = '
        Nom : ' . $_POST['surname'] . '<br/>
        Prénom : ' . $_POST['name'] . '<br/>
        Profession/Société : ' . $_POST['job'] . '<br/>
        Adresse : ' . $_POST['address'] . '<br/>
        Email : ' . $_POST['email'] . '<br/>
        Tél : ' . $_POST['tel'] . '<br/>
        Commentaire : ' . $_POST['comment'] . '<br/>';
        $message .= 'Cotisation : ';
        if (!empty($_POST['otheramount'])) {
            $message .= $_POST['otheramount'];
        } else {
            $message .= $_POST['amount'];
        }
        $message .= '<br/>';
        $mail = new mailObject();
        $mail->sendMail($mail->getSiteMail(), $mail->getSiteMail(), 'Nouveau membre', $message, true, $_POST['email']);
        $page = new archiPage(11, LANG);
        if (empty($page->title)) {
            $page = new archiPage(11, ArchiConfig::$default_lang);
        }
        echo '<h1>' . stripslashes($page->title) . '</h1>';
        echo "<div>" . stripslashes($page->content) . "</div><br/>";
    } else {
        echo '<div class="error">' . _('Erreur : Captcha incorrect !') . '</div>';
        displayForm();
    }
} else {
    displayForm();
}
コード例 #7
0
 /**
  * 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;
 }
コード例 #8
0
 /**
  * Gère l'ajout d'un utilisateur
  * 
  * @return void
  * */
 public function inscription()
 {
     // analyse du formulaire
     $erreur = array();
     $securimage = new Securimage();
     $mail = new mailObject();
     if (trim($this->variablesPost['nom']) == '') {
         $erreur[] = "nom";
     }
     if (trim($this->variablesPost['prenom']) == '') {
         $erreur[] = "prenom";
     }
     if (trim($this->variablesPost['mail']) == '') {
         $erreur[] = "mail";
     } else {
         if (pia_strpos($this->variablesPost['mail'], '@') === false) {
             $erreur[] = "mailinvalide";
         }
         // on verifie que le mail n'existe pas encore dans la base de donnees
         $requeteVerif = "select * from utilisateur where mail='" . trim($this->variablesPost['mail']) . "'";
         $res = $this->connexionBdd->requete($requeteVerif);
         if (mysql_num_rows($res) > 0) {
             $erreur[] = "dejaInscrit";
         }
     }
     if (trim($this->variablesPost['mdp1']) == '') {
         $erreur[] = "mdp1";
     }
     if (trim($this->variablesPost['mdp2']) == '') {
         $erreur[] = "mdp2";
     }
     if (trim($this->variablesPost['mdp1']) != '' && trim($this->variablesPost['mdp2']) != '' && $this->variablesPost['mdp1'] != $this->variablesPost['mdp2']) {
         $erreur[] = "mdpDifferents";
     }
     if ($securimage->check($this->variablesPost['captcha_code']) == false) {
         // the code was incorrect
         // handle the error accordingly with your other error checking
         $erreur[] = "captcha";
     }
     if (count($erreur) > 0) {
         echo $this->afficheFormulaireInscription($erreur);
     } else {
         $requeteInscription = "insert into utilisateur (nom,prenom,mail,motDePasse,idVilleFavoris,dateCreation,idProfil) values (\n                        '" . mysql_escape_string(trim($this->variablesPost['nom'])) . "',\n                        '" . mysql_escape_string(trim($this->variablesPost['prenom'])) . "',\n                        '" . mysql_escape_string(trim($this->variablesPost['mail'])) . "',\n                        '" . mysql_escape_string(md5($this->variablesPost['mdp1'])) . "',\n                        '1',\n                        now(),\n                        '2'\n                        )\n                        ";
         $res = $this->connexionBdd->requete($requeteInscription);
         $newIdUtilisateur = mysql_insert_id();
         //echo "Vous êtes maintenant inscrit";
         // ***************************************************
         // envoi d'un mail a l'administrateur : un nouvel utilisateur s'est inscrit
         $mailMessageAdminDebut = _("Un nouvel utilisateur s'est inscrit sur archi-strasbourg :") . " <br>";
         $mailMessageAdminDebut .= "<br>";
         $mailMessageAdmin = _("Nom :") . " " . htmlspecialchars($this->variablesPost['nom']) . "<br>";
         $mailMessageAdmin .= _("Prénom :") . " " . htmlspecialchars($this->variablesPost['prenom']) . "<br>";
         $mailMessageAdmin .= _("Mail :") . " " . htmlspecialchars($this->variablesPost['mail']) . "<br>";
         $mail->sendMailToAdministrators($mail->getSiteMail(), _("Un nouvel utilisateur s'est inscrit"), $mailMessageAdminDebut . $mailMessageAdmin, '', true);
         $u = new archiUtilisateur();
         $u->ajouteMailEnvoiRegroupesAdministrateurs(array('contenu' => $mailMessageAdmin, 'idTypeMailRegroupement' => 1));
         // ***************************************************
         // envoi d'un mail a l'utilisateur
         $mailMessageUtilisateur = _("Votre inscription sur archi-strasbourg a été pris en compte.") . "<br>";
         $mailMessageUtilisateur .= _("Bonjour") . ",<br><br>" . _("Votre compte n'est pas encore actif.") . "<br>";
         $mailMessageUtilisateur .= "<a href='" . $this->getUrlRacine() . "index.php?archiAction=confirmInscription&amp;archiIdUtilisateur=" . $newIdUtilisateur . "&amp;archiMd5=" . md5($this->variablesPost['mdp1']) . "'>" . _("Cliquez sur ce lien pour l'activer") . "</a>";
         $mail->sendMail($mail->getSiteMail(), $this->variablesPost['mail'], _("Votre demande d'inscription sur archi-strasbourg"), $mailMessageUtilisateur, true);
         echo _("Inscription prise en compte, vous allez recevoir un mail de confirmation.");
         //echo $this->afficheFormulaireAuthentification();
     }
 }
コード例 #9
0
 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;
     }
 }
コード例 #10
0
 * */
require_once __DIR__ . '/../includes/framework/config.class.php';
require_once __DIR__ . '/../modules/archi/includes/archiUtilisateur.class.php';
require_once __DIR__ . '/../modules/archi/includes/archiAdresse.class.php';
require_once __DIR__ . '/../modules/archi/includes/archiAuthentification.class.php';
$config = new ArchiConfig();
$req = "UPDATE commentaires SET CommentaireValide=1 WHERE uniqid='" . mysql_real_escape_string($_GET['uniqid']) . "';";
$res = $config->connexionBdd->requete($req);
$req = "SELECT nom, prenom, email, commentaire, idEvenementGroupeAdresse FROM commentaires WHERE uniqid='" . mysql_real_escape_string($_GET['uniqid']) . "';";
$res = $config->connexionBdd->requete($req);
$fetch = mysql_fetch_assoc($res);
if ($fetch) {
    $u = new archiUtilisateur();
    $a = new archiAdresse();
    $idAdresse = $a->getIdAdresseFromIdEvenementGroupeAdresse($fetch['idEvenementGroupeAdresse']);
    $intituleAdresse = $a->getIntituleAdresseFrom($idAdresse, 'idAdresse');
    $message = "Un utilisateur a ajouté un commentaire sur archiV2 : <br>";
    $message .= "nom ou pseudo : " . strip_tags($fetch['nom']) . "<br>";
    $message .= "prenom : " . strip_tags($fetch['prenom']) . "<br>";
    $message .= "email : " . strip_tags($fetch['email']) . "<br>";
    $message .= "commentaire : " . stripslashes(strip_tags($fetch['commentaire'])) . "<br>";
    $message .= "<a href='" . $config->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $fetch['idEvenementGroupeAdresse'], 'archiIdAdresse' => $idAdresse)) . "'>" . $intituleAdresse . "</a><br>";
    $mail = new mailObject();
    $envoyeur['envoyeur'] = $mail->getSiteMail();
    $envoyeur['replyTo'] = strip_tags($fetch['email']);
    $mail->sendMailToAdministrators($envoyeur, 'Un utilisateur a ajouté un commentaire', $message, " AND alerteCommentaires='1' ", true, true);
}
$req = "SELECT idEvenementGroupeAdresse FROM commentaires WHERE uniqid='" . mysql_real_escape_string($_GET['uniqid']) . "';";
$res = $config->connexionBdd->requete($req);
$fetch = mysql_fetch_assoc($res);
header('Location: ' . html_entity_decode($config->creerUrl('', 'adresseDetail', array('archiIdEvenementGroupeAdresse' => $fetch["idEvenementGroupeAdresse"]))));
コード例 #11
0
 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);
 }
コード例 #12
0
         $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é ?");
     }
 }