//récupération du code passé dans l'URL, au cas ou le mécanisme de session ne marcherait pas. $code_evenement = filter_input(INPUT_GET, "evenement", FILTER_SANITIZE_STRING); //Si le mécanisme de session a échoué on change variable pour l'identifiant de l'évenement. if ($id_evenement === NULL) { $id_evenement = $code_evenement; } /* * On teste si l'internaute est inscrit à l'événement. */ $verif = new evenement(); $compte_inscription = $verif->verif_inscription($id_internaute, $id_evenement, $dbh); if ($compte_inscription == 0) { //On inscrit l'internaute à l'événement. //Calcul de la distance entre le domicile et l'événement. $distance = new distance(); $distance_utilisateur = $distance->distance_lineaire($id_evenement, $id_internaute, $dbh); //Tableau des variables pour la requête SQL. $array_variables = [":id_relation" => NULL, ":id_evenement" => $id_evenement, ":id_participant" => $id_internaute, ":distance" => $distance_utilisateur, ":commentaires" => " "]; //Création de la requête SQL. $sql_inscription_prepare = "INSERT INTO `" . PREFIXE . "relations`(`id_relation`, `id_evenement`, `id_participant`,`distance`, `commentaire`) " . "VALUES (:id_relation,:id_evenement,:id_participant,:distance,:commentaires)"; //Exécution de la requête. $resultat_inscription = $dbh->prepare($sql_inscription_prepare); try { $resultat_inscription->execute($array_variables); //Suppression de la variable qui permet l'inscription unset($_SESSION['inscription']); //Envoi de l'alerte par email. if ($envoi_alerte == 1) { $tableau_email = ["expediteur" => "Wigowiz - AddicTerra <*****@*****.**>", "destinataire" => $email_alerte, "sujet" => $LANG_mail_alerte, "message" => $LANG_mail_alerte_contenu]; $email = new email(); $email->send_email($tableau_email);
} //Tableau des variables pour les requêtes SQL. $array_variables = [":id_evenement" => $id_evenement_sql, ":titre" => $titre_sql, ":description" => $description_sql, ":adresse" => $adresse_sql, ":cp" => $cp_sql, ":ville" => $ville_sql, ":pays" => $pays_sql, ":date_evenement" => $date_sql, ":date_fin" => $date_fin_sql, ":alerte" => $envoi_alerte_sql, ":latitude" => $lat_sql, ":longitude" => $lng_sql]; //Création de la requête SQL. $sql_evenement_prepare = "UPDATE `" . PREFIXE . "evenements` " . "SET " . "`titre`= :titre, " . "`description`= :description, " . "`adresse`= :adresse, " . "`cp`= :cp, " . "`ville`= :ville, " . "`pays`= :pays, " . "`date_evenement`= :date_evenement, " . "`date_fin` = :date_fin, " . "`latitude`= :latitude, " . "`longitude`= :longitude, " . "`envoi_alerte`= :alerte " . "WHERE `id_evenement` LIKE :id_evenement"; //Exécution de la requête. $resultat_evenement = $dbh->prepare($sql_evenement_prepare); try { $resultat_evenement->execute($array_variables); //Tableau des variables pour le co-voiturage. $array_relation = [":id_evenement" => $id_evenement, ":id_participant" => $_SESSION["compte"]["id_participant"]]; //Si le créateur de l'événement participe au covoiturage on crée une entrée dans la table "relations". if ($je_participe_sql == 1) { //Calcul de la distance entre le domicile et l'événement. $distance = new distance(); $distance_utilisateur = $distance->distance_lineaire($id_evenement, $_SESSION["compte"]["id_participant"], $dbh); //Rajout de la distance dans le tableau des variables pour la requête. $array_relation[":distance"] = $distance_utilisateur; //Requête pour la relation. $sql_relation = "REPLACE `" . PREFIXE . "relations`(`id_relation`, `id_evenement`, `id_participant`,`distance`, `commentaire`)" . " VALUES (NULL,:id_evenement,:id_participant,:distance,' ')"; } elseif ($je_participe_sql == 0) { //Suppression d'un éventuel enregistrement pour le covoiturage. $sql_relation = "DELETE FROM `" . PREFIXE . "relations` WHERE `id_evenement` LIKE :id_evenement AND `id_participant` LIKE :id_participant "; } //Préparation de la requête SQL. $resultat_relation = $dbh->prepare($sql_relation); try { $resultat_relation->execute($array_relation); } catch (Exception $ex) { echo $ex; }