Files
resatennis_tyroltenn/www/tyroltenn/annul_resa.php

367 lines
19 KiB
PHP
Executable File

<?php
$id_resa=$_GET['id_resa'];
$id_joueur=$_GET['id_joueur'];
$club=$_GET['club'];
$menu=$_GET['menu'];
$club_terrains=$_GET['club_terrains'];
if(isset($_GET['tournoi'])) {
$id_tournoi=$_GET['tournoi'];
}
else {
$id_tournoi=0;
}
if(isset($_GET['envoi'])) {
$envoi=$_GET['envoi'];
}
else {
$envoi=0;
}
include ("conf.php");
$requete="SELECT * FROM reservation WHERE id_reservation='$id_resa'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$date=mysqli_fetch_object($reponse);
include("fonction_sms.php");
/* Envoi d'un SMS ou email au joueur pour confirmer de la validation */
if($envoi == 1) {
$joueur_resa=$date->id_joueur;
list($annee, $mois, $jour)=explode("-", $date->date_resa);
$date_resa="$jour/$mois/$annee";
$heure_resa=substr($date->heure_resa_deb, 0, 5);
/* Controle si le joueur dispose d'un telephone portable */
$requete="SELECT numero FROM telephone WHERE id_joueur='$joueur_resa' AND type='portable'";
$reponse_port=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe_port=mysqli_num_rows($reponse_port);
$requete="SELECT nom, prenom, e_mail FROM joueur WHERE id_joueur='$joueur_resa'";
$reponse_mail=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$joueur_email=mysqli_fetch_object($reponse_mail);
if($existe_port > 0) {
$tel=mysqli_fetch_object($reponse_port);
$numero=str_replace(" ","",$tel->numero);
$texte="$joueur_email->prenom $joueur_email->nom, Votre reservation du $date_resa a $heure_resa a ete annulee par l'admininistrateur.";
$res=envoi_sms($numero, $texte);
if($res==80) {
$message.=" - Message SMS transmis pour prevenir le joueur de l'annulation !";
}
else {
$message.=" - Le joueur n'a pu &ecirc;tre pr&eacute;venu par SMS !";
}
}
/* Si pas de portable, on essaie l'email */
else if($joueur_email->e_mail != "") {
$sujet="Validation de votre reservation de terrain de tennis du $date_resa";
$texte="Bonjour $joueur_email->prenom $joueur_email->nom,\n\nVotre reservation du $date_resa a $heure_resa a ete annulee par l'admininistrateur.";
$texte.="Le webmaster tyroltenn .";
$email_joueur=$joueur_email->e_mail;
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= "To: $email_joueur\r\n";
$headers .= "From: tennis@airtria.fr\r\n";
mail($email_joueur, $sujet, $texte, $headers);
}
}
$requete="SELECT nom, id_club FROM reservable WHERE id_reservable='$date->id_reservable'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$terrain=mysqli_fetch_object($reponse);
list($annee, $mois, $jour)=explode("-",$date->date_resa);
list($heure, $min,$sec)=explode(":", $date->heure_resa_deb);
$ts_resa=mktime($heure, $min, $sec, $mois, $jour, $annee);
list($heure, $min,$sec)=explode(":", $date->heure_resa_fin);
$ts_fin=mktime($heure, $min, $sec, $mois, $jour, $annee);
$adm=0;
$requete="SELECT id_joueur FROM joueur WHERE numero_fft='RESATOUR'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$joueur_resa_tour=mysqli_fetch_object($reponse);
/* Pour les joueurs administrateurs */
$requete="SELECT id_admin FROM admin_resa WHERE id_joueur='$id_joueur' AND id_club='$club'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe=mysqli_num_rows($reponse);
if($existe > 0) {
$adm=1;
}
/* COntrole si la durée maximale d'annulation est autorisé */
$annul=0;
if($adm==1) {
$annul=1;
}
else if($date->id_joueur == $id_joueur and $id_joueur==$joueur_resa_tour->id_joueur) {
$annul=1;
}
else {
/* Si c'est le joueur qui a fait la résa */
if($date->id_joueur == $id_joueur) {
$requete="SELECT annul_resa FROM quota_resa WHERE id_club='$club'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe=mysqli_num_rows($reponse);
if($existe==0) {
$requete="INSERT INTO quota_resa(id_club) VALUES('$club')";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$requete="SELECT annul_resa FROM quota_resa WHERE id_club='$club'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
$quota=mysqli_fetch_object($reponse);
if($quota->annul_resa > -1) {
$now=time();
/* On a le droit d'effacer une résa qui débute dans + de XX (valeur BDD si actif) jours */
echo 3600 * 24 * $quota->annul_resa;
$depass=$now - (3600 * 24 * $quota->annul_resa);
if($depass > $ts_resa) {
$annul=1;
}
}
else {
$annul=1;
}
}
}
if($annul==1) {
$requete="DELETE FROM reservation WHERE id_reservation='$id_resa'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
/* Controle si le joueur est un invité dans le club */
$requete="SELECT id_compte, statut, solde, solde_invite FROM compte WHERE id_joueur='$date->id_joueur' AND id_club='$club'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe=mysqli_num_rows($reponse);
if($existe > 0) {
$compte=mysqli_fetch_object($reponse);
/* Remet les jetons non crédités dans la réserve du joueur */
$duree=$ts_fin-$ts_resa;
/* 1 jeton pour chaque demi-heure de résa */
$nb_jetons=$duree/1800;
$nb_jetons+=$compte->solde;
/* Mise à jour du nombre de jetons */
$requete="UPDATE compte SET solde='$nb_jetons' WHERE id_compte='$compte->id_compte'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
/* Si la resa est du type Invite */
if($date->type=='Invite') {
$solde_invite=$compte->solde_invite;
$nb_jetons=$duree/1800;
$solde_invite+=$nb_jetons;
$requete="UPDATE compte SET solde_invite='$solde_invite' WHERE id_compte='$compte->id_compte'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
}
/* Suppression de l'enregistrement des convocs matchs pour les tournois */
if($id_tournoi > 0) {
$requete="DELETE FROM participant WHERE id_reservation='$date->id_reservation'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
$message="<p>Votre annulation de r&eacute;servation a &eacute;t&eacute; prise en compte.</p>";
/* Message de Log */
$date_log=date("Y-m-d",time());
$heure_log=date("H:i:00",time());
$nom_resa=$date->type_reservation;
/* Durée résa */
list($heure_debut, $min_debut, $sec_debut)=explode(":", $date->heure_resa_deb);
list($heure_fin, $min_fin, $sec_fin)=explode(":", $date->heure_resa_fin);
$debut_resa=mktime($heure_debut, $min_debut, 0, $mois, $jour, $annee);
$fin_resa=mktime($heure_fin, $min_fin, 0, $mois, $jour, $annee);
$duree=$fin_resa-$debut_resa;
$heure=$duree/3600;
$min=($duree-($heure*3600))/60;
if($min<10) { $min="0".$min; }
$duree_resa="$heure:$min";
/* Message de log de la forme Type message - joueur - durée - type_résa - message */
$requete="SELECT id_joueur, nom, prenom FROM joueur WHERE id_joueur='$id_joueur'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".nb_jetonsmysqli_error($db_connection)()."<br>");
$joueur=mysqli_fetch_object($reponse);
/* Controle de la date de creation de la resa */
$requete="SELECT date FROM log_reservation WHERE message LIKE 'Creation - %' AND id_reservation='$id_resa'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".nb_jetonsmysqli_error($db_connection)()."<br>");
$log=mysqli_fetch_object($reponse);
list($a, $m, $j)=explode("-", $log->date);
$date_creation="$j/$m/$a";
if($date->type=='Autre' and $date->id_rubrique != 0) {
$req="SELECT nom FROM rubriques_resa WHERE id_rubrique='$date->id_rubrique'";
$reponse=mysqli_query($db_connection, $req) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$rubrique=mysqli_fetch_object($reponse);
$type=$rubrique->nom;
}
else {
$type=$date->type;
}
if($id_joueur != $joueur_resa_tour->id_joueur) {
$message_log="Annulation - $joueur->nom $joueur->prenom - $jour/$mois/$annee - Cree le $date_creation - $terrain->nom - $heure_debut:$min_debut - $duree_resa - $nom_resa - $type - Reservation annulee";
$requete="INSERT INTO log_reservation(date,heure,id_reservation,id_joueur,message,id_club) VALUES('$date_log','$heure_log','$id_resa','$joueur->id_joueur','$message_log','$club')";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
else {
$message_log="Annulation - $joueur->nom $joueur->prenom - $jour/$mois/$annee - Cree le $date_creation - $terrain->nom - $heure_debut:$min_debut - $duree_resa - $nom_resa - $type - Reservation annulee";
$requete="INSERT INTO log_reservation(date,heure,id_reservation,id_joueur,message,id_club) VALUES('$date_log','$heure_log','$id_resa','$joueur->id_joueur','$message_log','$club')";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$message_log="Annulation - $joueur->nom $joueur->prenom - $jour/$mois/$annee - Cree le $date_creation - $terrain->nom - $heure_debut:$min_debut - $duree_resa - $nom_resa - $type - Reservation annulee";
$requete="INSERT INTO log_reservation(date,heure,id_reservation,id_joueur,message,id_club) VALUES('$date_log','$heure_log','$id_resa','$joueur->id_joueur','$message_log','$club_terrains')";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
}
else {
echo "<p>Vous ne pouvez pas annuler une r&eacute;servation qui a lieu dans moins de $quota->annul_resa jours.</p>";
/* Message de Log */
$date_log=date("Y-m-d",time());
$heure_log=date("H:i:00",time());
$nom_resa=$date->type_reservation;
/* Durée résa */
list($heure_debut, $min_debut, $sec_debut)=explode(":", $date->heure_resa_deb);
list($heure_fin, $min_fin, $sec_fin)=explode(":", $date->heure_resa_fin);
$debut_resa=mktime($heure_debut, $min_debut, 0, $mois, $jour, $annee);
$fin_resa=mktime($heure_fin, $min_fin, 0, $mois, $jour, $annee);
$duree=$fin_resa-$debut_resa;
$heure=$duree/3600;
$min=($duree-($heure*3600))/60;
if($min<10) { $min="0".$min; }
$duree_resa="$heure:$min";
/* Message de log de la forme Type message - joueur - durée - type_résa - message */
$requete="SELECT id_joueur, nom, prenom FROM joueur WHERE id_joueur='$id_joueur'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$joueur=mysqli_fetch_object($reponse);
/* Controle de la date de creation de la resa */
$requete="SELECT date FROM log_reservation WHERE message LIKE 'Creation - %' AND id_reservation='$id_resa'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".nb_jetonsmysqli_error($db_connection)()."<br>");
$log=mysqli_fetch_object($reponse);
list($a, $m, $j)=explode("-", $log->date);
$date_creation="$j/$m/$a";
if($date->type=='Autre' and $date->id_rubrique != 0) {
$req="SELECT nom FROM rubriques_resa WHERE id_rubrique='$date->id_rubrique'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$rubrique=mysqli_fetch_object($reponse);
$type=$rubrique->nom;
}
else {
$type=$date->type;
}
$message_log="Annulation - $joueur->nom $joueur->prenom - $jour/$mois/$annee - Cree le $date_creation - $terrain->nom - $heure_debut:$min_debut - $duree_resa - $nom_resa - $date->type - Erreur lors de l\'annulatuon";
$requete="INSERT INTO log_reservation(date,heure,id_reservation,id_joueur,message,id_club) VALUES('$date_log','$heure_log','$id_resa','$joueur->id_joueur','$message_log','$club')";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
/* Redirection */
/* Page de réservation classique */
if($menu==0) {
/* Numero FFT du joueur connecté */
echo "<html xmlns='http://www.w3.org/1999/xhtml'>";
echo "<head>";
echo "<meta http-equiv='content-type' content='text/html; charset=ISO-8859-1' />";
echo "<meta http-equiv='refresh' content='2; url=terrain_suite3.php?id_club=$club&annee=$annee&mois=$mois&jour=$jour&lien_cal=1' />";
echo "<title>Redirection</title>";
echo "<meta name='robots' content='noindex,follow' />";
echo "</head><body>";
echo $message."\n";
echo "<p><a href='terrain_suite3.php?id_club=$club&annee=$annee&mois=$mois&jour=$jour'>Redirection automatique vers la page de r&eacute;servartion</a></p>";
echo "</body></html>";
}
/* Page de réservation - matchs tournoi */
else if($menu==3) {
/* Numero FFT du joueur connecté */
echo "<html xmlns='http://www.w3.org/1999/xhtml'>";
echo "<head>";
echo "<meta http-equiv='content-type' content='text/html; charset=ISO-8859-1' />";
echo "<meta http-equiv='refresh' content='2; url=planning.php?club=$club&annee=$annee&mois=$mois&jour=$jour&id_admin=$id_joueur&id_tournoi=$id_tournoi&lien_cal=1' />";
echo "<title>Redirection</title>";
echo "<meta name='robots' content='noindex,follow' />";
echo "</head><body>";
echo $message."\n";
echo "<p><a href='planning.php?club=$club&annee=$annee&mois=$mois&jour=$jour&id_admin=$id_joueur&id_tournoi=$id_tournoi&lien_cal=1'>Redirection automatique vers la page de r&eacute;servartion</a></p>";
echo "</body></html>";
}
/* Page de réservation - Visualisation Log Admin Résa */
else if($menu==2) {
list($annee, $mois, $jour)=explode("-",$date_log);
echo "<html xmlns='http://www.w3.org/1999/xhtml'>";
echo "<head><meta http-equiv='content-type' content='text/html; charset=ISO-8859-1' />";
echo "<meta http-equiv='refresh' content='2; url=vis_log_resa_suite.php?jour=$jour&annee=$annee&mois=$mois&critere=date' />";
echo "<title>Redirection</title>";
echo "<meta name='robots' content='noindex,follow' />";
echo "</head><body>";
echo $message."\n";
echo "<p><a href='vis_log_resa_suite.php?jour=$jour&annee=$annee&mois=$mois&critere=date'>Redirection automatique vers la page de visualisation des logs</a></p>";
echo "</body></html>";
}
/* Page de réservation - Visualisation Log Admin Club */
else if($menu==1) {
list($annee, $mois, $jour)=explode("-",$date_log);
echo "<html xmlns='http://www.w3.org/1999/xhtml'>";
echo "<head><meta http-equiv='content-type' content='text/html; charset=ISO-8859-1' />";
echo "<meta http-equiv='refresh' content='2; url=vis_log_suite.php?jour=$jour&annee=$annee&mois=$mois&critere=date' />";
echo "<title>Redirection</title>";
echo "<meta name='robots' content='noindex,follow' />";
echo "</head><body>";
echo $message."\n";
echo "<p><a href='vis_log_suite.php?jour=$jour&annee=$annee&mois=$mois&critere=date'>Redirection automatique vers la page de visualisation des logs</a></p>";
echo "</body></html>";
}
/* Page de réservation - Borne interactive */
else if($menu==4) {
list($annee, $mois, $jour)=explode("-",$date_log);
echo "<?xml version='1.0' encoding='ISO-8859-1'?>";
echo "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>";
echo "<html xmlns='http://www.w3.org/1999/xhtml'>";
echo "<head>";
echo "<meta http-equiv='content-type' content='text/html; charset=ISO-8859-1' />";
echo "<meta http-equiv='refresh' content='1; url=resa_bi.php?id_club=$club&annee=$annee&mois=$mois&jour=$jour&lien_cal=1' />";
echo "</head>";
echo "<body>";
echo "<p><a href='resa_bi.php?id_club=$club&annee=$annee&mois=$mois&jour=$jour&lien_cal=1'>Redirection automatique vers la page de r&eacute;servation</a></p>";
echo "</body></html>";
}
/* Page de réservation créneau tournoi - Clubs extérieurs */
else if($menu==5) {
list($annee, $mois, $jour)=explode("-",$date_log);
/* Numero FFT du joueur connecté */
echo "<html xmlns='http://www.w3.org/1999/xhtml'>";
echo "<head>";
echo "<meta http-equiv='content-type' content='text/html; charset=ISO-8859-1' />";
echo "<meta http-equiv='refresh' content='2; url=resa_tournoi_suite.php?id_club=$club&annee=$annee&mois=$mois&jour=$jour&club_terrains=$club_terrains&tournoi=$id_tournoi&lien_cal=1' />";
echo "<title>Redirection</title>";
echo "<meta name='robots' content='noindex,follow' />";
echo "</head><body>";
echo $message."\n";
echo "<p><a href='resa_tournoi_suite.php?id_club=$club&annee=$annee&mois=$mois&jour=$jour&club_terrains=$club_terrains&tournoi=$id_tournoi&lien_cal=1'>Redirection automatique vers la page de r&eacute;servartion</a></p>";
echo "</body></html>";
}
/* Page de réservation créneau tournoi - Clubs extérieurs */
else if($menu==6) {
list($annee, $mois, $jour)=explode("-",$date_log);
/* Numero FFT du joueur connecté */
echo "<html xmlns='http://www.w3.org/1999/xhtml'>";
echo "<head>";
echo "<meta http-equiv='content-type' content='text/html; charset=ISO-8859-1' />";
echo "<meta http-equiv='refresh' content='2; url=resa_tournoi_ar_suite.php?id_club=$club&annee=$annee&mois=$mois&jour=$jour&club_terrains=$club_terrains&tournoi=$id_tournoi&lien_cal=1' />";
echo "<title>Redirection</title>";
echo "<meta name='robots' content='noindex,follow' />";
echo "</head><body>";
echo $message."\n";
echo "<p><a href='resa_tournoi_ar_suite.php?id_club=$club&annee=$annee&mois=$mois&jour=$jour&club_terrains=$club_terrains&tournoi=$id_tournoi&lien_cal=1'>Redirection automatique vers la page de r&eacute;servartion</a></p>";
echo "</body></html>";
}
/* Sinon aucune redirection */
else {
echo "<html xmlns='http://www.w3.org/1999/xhtml'>";
echo "<head><meta http-equiv='content-type' content='text/html; charset=ISO-8859-1' />";
echo "<title>Annulation R&eacute;servation</title>";
echo "<meta name='robots' content='noindex,follow' />";
echo "</head><body>";
echo $message."\n";
echo "</body></html>";
}
mysql_close($db_connection);
?>