Files
resatennis_tyroltenn/www/tyroltenn/vis_log_resa_suite.php

364 lines
15 KiB
PHP
Executable File

<?php
session_start();
header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
if(isset($_SESSION['type']) and isset($_SESSION['id'])) {
$type=$_SESSION['type'];
$id=$_SESSION['id'];
?>
<html>
<head>
<meta http-equiv="Content-Language" content="fr">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>LE SERVEUR VOCAL DE RESERVATION DES SALLES DE TENNIS</title>
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body>
<div id="tout">
<?php
include("enTete.php");
include("menu.php");
include("conf.php");
echo "<h2><center>Visualisation du log des r&eacute;servations de votre club</center></h2>";
/* Critere de recherche */
if(isset($_POST['critere'])) {
$critere=$_POST['critere'];
}
else {
$critere=$_GET['critere'];
}
/* Intervalle de recherche */
if(isset($_POST['interv'])) {
$nb_sem=$_POST['interv'];
}
else {
$nb_sem=$_GET['interv'];
}
/* Type de dates (dates log ou dates réservation) */
if(isset($_POST['date_resa'])) {
if($_POST['date_resa'] != 1) {
$date_resa=0;
}
else {
$date_resa=1;
}
}
else if(isset($_GET['date_resa'])) {
if($_GET['date_resa'] != 1) {
$date_resa=0;
}
else {
$date_resa=1;
}
}
$messages=array();
/* Recup du club de l'admin */
$adm=0;
if($type=='admin') {
$requete="SELECT id_joueur, id_club FROM admin_resa WHERE id_admin='$id'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$admin=mysqli_fetch_object($reponse);
$requete="SELECT id_joueur, nom, prenom FROM joueur WHERE id_joueur='$admin->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);
$adm=1;
}
if($adm==1) {
$id_club=$admin->id_club;
/* Premier critère (par date) */
if($critere=='date') {
/* Recupere la date et la met en format SQL */
if(isset($_POST['valeur']) and strlen($_POST['valeur'])==10) {
$date=$_POST['valeur'];
list($jour, $mois, $annee)=explode("/",$date);
$ts_fin=mktime(10,0,0,$mois, $jour, $annee);
$ok=1;
}
else if(count($_GET) > 0) {
if((isset($_GET['jour'])) and (isset($_GET['mois'])) and (isset($_GET['annee']))) {
$annee=$_GET['annee']; $mois=$_GET['mois']; $jour=$_GET['jour'];
$ts_fin=mktime(10,0,0,$mois, $jour, $annee);
$ok=1;
}
}
else {
$ok=0;
}
if($ok==1) {
/* Calcul de l'intervalle entre les dates */
if($nb_sem >= 0) {
$ts_debut=$ts_fin - (3600*24*7*$nb_sem);
$date_fin=date("Y-m-d", $ts_fin);
$date_fin_fr=date("d/m/Y", $ts_fin);
$date_debut=date("Y-m-d", $ts_debut);
$date_debut_fr=date("d/m/Y", $ts_debut);
}
else {
$date_fin=date("Y-m-d", $ts_fin);
}
/* Titre */
if($nb_sem == 0) {
echo "<h2><center>Log du $date_fin_fr</center></h2>";
}
else if($nb_sem > 0) {
echo "<h2><center>Log du $date_debut_fr au $date_fin_fr</center></h2>";
}
else {
echo "<h2><center>R&eacute;servations &agrave; venir</center></h2>";
}
echo "<p><font size='4'><center><strong>";
if($date_resa==1) {
echo "Recherche dans les dates de r&eacute;servations";
}
else {
echo "Recherche dans les dates de log";
}
echo "</strong></center></font></p>";
/* Lien pour actualiser la page */
echo "<center><a href='vis_log_resa_suite.php?jour=$jour&mois=$mois&annee=$annee&critere=$critere&interv=$nb_sem&date_resa=$date_resa'>Actualiser maintenant</a></center>";
/* Recupere les messages de log */
if($nb_sem >= 0) {
if($date_resa==1) {
$requete="SELECT id_message FROM log_reservation lr LEFT JOIN reservation r ON r.id_reservation=lr.id_reservation WHERE r.date_resa<='$date_fin' AND r.date_resa>='$date_debut' AND id_club='$id_club' ORDER BY r.date_resa ASC, heure DESC";
}
else {
$requete="SELECT id_message FROM log_reservation WHERE date<='$date_fin' AND date>='$date_debut' AND id_club='$id_club' ORDER BY date DESC, heure DESC";
}
}
else {
$requete="SELECT id_message FROM log_reservation lr LEFT JOIN reservation r ON r.id_reservation=lr.id_reservation WHERE r.date_resa>='$date_fin' AND lr.id_club='$id_club' ORDER BY lr.date DESC, lr.heure DESC";
}
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
while($log=mysqli_fetch_object($reponse)) {
array_push($messages, $log->id_message);
}
}
else {
echo "<center><strong>La date n'a pas le bon format !!</strong></center>";
}
}
else if($critere=='joueur') {
if(isset($_POST['valeur'])) {
$num_fft=$_POST['valeur'];
}
else {
$num_fft=$_GET['valeur'];
}
/* COntrole si le joueur esxiste bien sur le site */
if(strlen($num_fft)==8) {
$requete="SELECT id_joueur, nom, prenom FROM joueur WHERE numero_fft='$num_fft'";
$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) {
/* Date du jour */
$ts_fin=time();
/* Calcul de l'intervalle entre les dates */
if($nb_sem >= 0) {
$ts_debut=$ts_fin - (3600*24*7*$nb_sem);
$date_fin=date("Y-m-d", $ts_fin);
$date_fin_fr=date("d/m/Y", $ts_fin);
$date_debut=date("Y-m-d", $ts_debut);
$date_debut_fr=date("d/m/Y", $ts_debut);
}
else {
$date_fin=date("Y-m-d", $ts_fin);
}
$joueur=mysqli_fetch_object($reponse);
$id_joueur=$joueur->id_joueur;
echo "<h2><center>";
echo "Log du joueur $joueur->prenom $joueur->nom";
if($nb_sem == 0) {
echo " - $date_fin_fr";
}
else if($nb_sem > 0) {
echo " - Du $date_debut_fr au $date_fin_fr";
}
else {
echo " - R&eacute;servations &agrave; venir";
}
echo "</center></h2>";
echo "<p><font size='4'><center><strong>";
if($date_resa==1) {
echo "Recherche dans les dates de r&eacute;servations";
}
else {
echo "Recherche dans les dates de log";
}
echo "</strong></center></font></p>";
/* Lien pour actualiser la page */
echo "<center><a href='vis_log_resa_suite.php?critere=$critere&valeur=$num_fft&interv=$nb_sem&date_resa=$date_resa'>Actualiser maintenant</a></center>";
if($nb_sem >= 0) {
if($date_resa==1) {
$requete="SELECT id_message FROM log_reservation lr LEFT JOIN reservation r ON r.id_reservation=lr.id_reservation WHERE r.date_resa >= '$date_debut' AND r.date_resa <= '$date_fin' AND r.id_joueur='$id_joueur' AND id_club='$id_club' ORDER BY r.date_resa ASC, heure DESC";
}
else {
$requete="SELECT id_message FROM log_reservation WHERE date >= '$date_debut' AND date <= '$date_fin' AND id_joueur='$id_joueur' AND id_club='$id_club' ORDER BY date DESC, heure DESC";
}
}
else {
$requete="SELECT id_message FROM log_reservation lr LEFT JOIN reservation r ON r.id_reservation=lr.id_reservation WHERE r.date_resa >= '$date_fin' AND r.id_joueur='$id_joueur' AND id_club='$id_club' ORDER BY lr.date DESC, lr.heure DESC";
}
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
while($log=mysqli_fetch_object($reponse)) {
array_push($messages, $log->id_message);
}
}
else {
echo "Le num&eacute;ro de licence est inconnu de notre site.<br />";
echo "Veuillez recommencer en cliquant <a href='vis_log_resa.php'>ici</a>.";
}
}
else {
echo "Le num&eacute;ro de licence du joueur n'est pas valide.<br />";
echo "Veuillez recommencer en cliquant <a href='vis_log_resa.php'>ici</a>.";
}
}
else if($critere == 'non_val') {
$date=date("Y-m-d", time());
$requete="SELECT id_message FROM log_reservation lr LEFT JOIN reservation r ON r.id_reservation=lr.id_reservation WHERE r.validation='0' AND id_club='$id_club' AND r.date_resa >= '$date' ORDER BY lr.date DESC, lr.heure DESC";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
while($log=mysqli_fetch_object($reponse)) {
array_push($messages, $log->id_message);
}
}
/* Reservation mairie */
$requete="SELECT id_joueur FROM joueur WHERE numero_fft='MAIRIE00'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$resa_mairie=mysqli_fetch_object($reponse);
/* Id joueur club */
$requete="SELECT j.id_joueur FROM joueur j, club c WHERE j.numero_fft=c.numero_fft AND c.id_club='$id_club'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$resa_club=mysqli_fetch_object($reponse);
/* Si le tableau contient des ids de log */
if(count($messages) > 0) {
echo "<br /><br /><center><table border='1' width='95%'>";
echo "<tr><td bgcolor='#FFFACD' colspan='7'><center><font size='+1'><b>Messages Log</b></font></center></td><td bgcolor='#FFFACD' colspan='7'><center><font size='+1'><b>Informations r&eacute;servation</b></font></center></td></tr>";
echo "<th bgcolor='#FFFACD'>Date log</th><th bgcolor='#FFFACD'>Heure log</th><th bgcolor='#FFFACD'>Type</th><th bgcolor='#FFFACD'>Nom</th><th bgcolor='#FFFACD'>Pr&eacute;nom</th><th bgcolor='#FFFACD'>T&eacute;l&eacute;phone</th><th bgcolor='#FFFACD'>Message</th><th bgcolor='#FFFACD'>Date r&eacute;servation</th><th bgcolor='#FFFACD'>Heure D&eacute;but</th><th bgcolor='#FFFACD'>Heure fin</th><th bgcolor='#FFFACD'>Dur&eacute;e</th><th bgcolor='#FFFACD'>Type<br />R&eacute;servation</th><th bgcolor='#FFFACD'>Validation</th><th bgcolor='#FFFACD'>Annulation</th>";
for($i=0;$i<count($messages);$i++) {
/* Controle des messages dans le tableau */
$requete="SELECT l.id_message, l.date, l.heure, l.message, l.id_reservation,l.id_joueur, j.nom, j.prenom FROM log_reservation l LEFT JOIN joueur j ON j.id_joueur=l.id_joueur WHERE l.id_message='$messages[$i]'";
$reponse1=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$log=mysqli_fetch_object($reponse1);
/* Controle si la resa existe toujours en BDD */
$requete="SELECT * FROM reservation WHERE id_reservation='$log->id_reservation'";
$reponse2=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe=mysqli_num_rows($reponse2);
list($type_log, $rien)=explode(" ",$log->message);
if(($type_log=="Creation" or $type_log=="Validation")) {
$requete="SELECT r.validation, r.date_resa, r.heure_resa_deb, r.heure_resa_fin, r.type FROM log_reservation l LEFT JOIN reservation r ON r.id_reservation=l.id_reservation LEFT JOIN joueur j ON j.id_joueur=l.id_joueur WHERE l.id_message='$log->id_message'";
$reponse3=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$resa=mysqli_fetch_object($reponse3);
echo "<tr>";
list($annee, $mois, $jour)=explode("-", $log->date);
$date="$jour/$mois/$annee";
echo "<td><center>$date</center></td>";
echo "<td><center>".substr($log->heure, 0, 5)."</center></td>";
echo "<td><center>$type_log</center></td>";
echo "<td><center>$log->nom</center></td>";
echo "<td><center>$log->prenom</center></td>";
$requete="SELECT numero FROM telephone WHERE id_joueur='$log->id_joueur'";
$reponse3=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$tel=mysqli_fetch_object($reponse3);
echo "<td><center>$tel->numero</center></td>";
echo "<td><center>$log->message</center></td>";
if($existe>0) {
list($annee, $mois, $jour)=explode("-", $resa->date_resa);
$date="$jour/$mois/$annee";
echo "<td><center>$date</center></td>";
echo "<td><center>".substr($resa->heure_resa_deb, 0, 5)."</center></td>";
echo "<td><center>".substr($resa->heure_resa_fin, 0, 5)."</center></td>";
$message=explode("-",$log->message);
if($log->id_joueur != 1796) {
/* Affichage durée */
echo "<td><center>$message[5]</center></td>";
/* Affichage Type */
echo "<td><center>$message[6]</center></td>";
}
else {
/* Affichage durée */
echo "<td><center>$message[7]</center></td>";
/* Affichage Type */
echo "<td><center>Tournoi</center></td>";
}
if($resa->validation==0) {
$envoi=1;
if($resa->type=='Tournoi' or $log->id_joueur==$resa_mairie->id_joueur or $resa_club->id_joueur==$log->id_joueur) {
$envoi=0;
}
echo "<td><center><a href='valide_resa.php?id_resa=$log->id_reservation&id_joueur=$log->id_joueur&club=$id_club&menu=2'>Valider</a></center></td>";
/* Recherche de l'admin de réservation */
$requete="SELECT id_joueur FROM admin_resa WHERE id_club='$id_club'";
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$admin=mysqli_fetch_object($rep);
echo "<td><center><a href='annul_resa.php?id_resa=$log->id_reservation&club=$id_club&id_joueur=$admin->id_joueur&menu=2&envoi=$envoi'>Annuler</a></center></td>";
}
}
else {
echo "<td colspan='7'><center>R&eacute;servation annul&eacute;e le $date par $log->prenom $log->nom.</center></td>";
}
echo "</tr>";
}
else if($type_log=="Annulation") {
echo "<tr>";
list($annee, $mois, $jour)=explode("-", $log->date);
$date="$jour/$mois/$annee";
echo "<td>$date</td>";
echo "<td><center>".substr($log->heure, 0, 5)."</center></td>";
echo "<td>$type_log</td>";
echo "<td>$log->nom</td>";
echo "<td>$log->prenom</td>";
/* Recherche num tel */
$requete="SELECT numero FROM telephone WHERE id_joueur='$log->id_joueur'";
$reponse3=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$tel=mysqli_fetch_object($reponse3);
echo "<td>$tel->numero</td>";
echo "<td>$log->message</td>";
echo "<td colspan='7'><center>R&eacute;servation annul&eacute;e le $date par $log->prenom $log->nom.</center></td>";
echo "</tr>";
}
}
echo "</table></center>";
}
else if($date_saisie < $ts_now) {
echo "<br /><br />center><b>la date saisie doit &ecirc;tre &eacute;gale ou sup&eacute;rieure &agrave; la date du jour.</b></center>";
}
else if(count($messages) == 0) {
echo "<br /><br /><center><b>Pas de r&eacute;servations &agrave; venir.</b></center>";
}
echo "<br /><br />";
echo "<center><a href='vis_log_resa.php'>Faire une nouvelle recherche</a></center>";
echo "<br /><br />";
}
else {
echo "Vous n'&ecirc;tes pas administrateur !!";
}
echo "<br /><br />";
include("deco_resa.php");
include("piedDePage.php");
}
else {
echo("Non autorisé - Redirection vers la page d'identification dans 2 secondes");
sleep(2);
include("admin_login.php");
}
?>