Files
resatennis_tyroltenn/www/tyroltenn/fct_archive_log.php

273 lines
10 KiB
PHP
Executable File

<?php
include("conf.php");
include_once("fpdf.php");
$pdf=new FPDF("P","mm","A4");
$pdf->SetFont('Arial','',12);
$pdf->Open();
$pdf->AddPage();
// Constantes
define("LARGEUR_COL",25);
$pdf->SetFillColor(168,255,149);
$id_club=$_GET['club'];
$critere=$_GET['critere'];
$nb_sem=$_GET['interv'];
$date_resa=$_GET['date_resa'];
$requete="SELECT nom FROM club WHERE id_club='$id_club'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$club=mysqli_fetch_object($reponse);
$pdf->Cell(190,15,"Archivage du log des reservations du club $club->nom",1,0,'C',1);
$pdf->Ln();
$messages=array();
/* Premier critère (par date) */
if($critere=='date') {
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);
}
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) {
if($date_resa==1) {
$titre="Reservations du $date_fin_fr";
}
else {
$titre="Log du $date_fin_fr";
}
}
else if($nb_sem > 0) {
if($date_resa==1) {
$titre="Reservation du $date_debut_fr au $date_fin_fr";
}
else {
$titre="Log du $date_debut_fr au $date_fin_fr";
}
}
else {
$titre="Reservations a venir";
}
$pdf->Cell(190,15,"$titre", 1,0,'C',1);
/* Récupère les terrains du club */
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 if($critere=='joueur') {
$num_fft=$_GET['num_fft'];
/* 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) {
$joueur=mysqli_fetch_object($reponse);
$id_joueur=$joueur->id_joueur;
/* Date du jour */
$ts_fin=time();
/* Calcul de l'intervalle entre les dates */
$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);
if($nb_sem == 0) {
if($date_resa==1) {
$titre="Log du joueur $joueur->prenom $joueur->nom - Reservation du $date_fin_fr";
}
else {
$titre="Log du joueur $joueur->prenom $joueur->nom - Journee du $date_fin_fr";
}
}
else if($nb_sem > 0) {
if($date_resa==1) {
$titre="Log du joueur $joueur->prenom $joueur->nom - Reservations Du $date_debut_fr au $date_fin_fr";
}
else {
$titre="Log du joueur $joueur->prenom $joueur->nom - Actions du $date_debut_fr au $date_fin_fr";
}
}
else {
$titre="Log du joueur $joueur->prenom $joueur->nom - Reservations a venir";
}
$pdf->Cell(190,15,"$titre", 1,0,'C',1);
/* Détermine la date de début de l'intervalle */
$date_fin=Date("Y-m-d", time());
$date_debut=Date("Y-m-d", (time() - 3600*24*7*$nb_sem));
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);
}
}
}
}
$pdf->Ln();
$pdf->Ln();
$pdf->SetFont('Arial','',10);
/* Si le tableau contient des ids de log */
if(count($messages) > 0) {
$pdf->SetFillColor(133,255,251);
$pdf->Cell(95,15,"Messages Log",1,0,'C',1);
$pdf->Cell(95,15,"Informations reservation",1,0,'C',1);
$pdf->Ln();
$pdf->SetFont('Arial','',9);
$pdf->Cell(15,10,"Date log",1,0,'C',1);
$pdf->Cell(10,10,"Heure",1,0,'C',1);
$pdf->Cell(15,10,"Type",1,0,'C',1);
$pdf->Cell(30,10,"Nom Prenom",1,0,'C',1);
$pdf->Cell(25,10,"Telephone",1,0,'C',1);
$pdf->Cell(15,10,"Date resa",1,0,'C',1);
$pdf->Cell(10,10,"Debut",1,0,'C',1);
$pdf->Cell(10,10,"Fin",1,0,'C',1);
$pdf->Cell(10,10,"Duree",1,0,'C',1);
$pdf->Cell(15,10,"Type resa",1,0,'C',1);
$pdf->Cell(35,10,"Commentaires",1,0,'C',1);
$pdf->Ln();
$pdf->SetFillColor(255,255,255);
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, $rien)=explode(" - ",$log->message);
if(($type=="Creation" or $type=="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);
list($annee, $mois, $jour)=explode("-", $log->date);
$date="$jour/$mois/$annee";
$pdf->SetFont('Arial','',8);
$pdf->Cell(15,15,"$date",1,0,'C');
$heure=substr($log->heure, 0, 5);
$pdf->SetFont('Arial','',9);
$pdf->Cell(10,15,"$heure",1,0,'C');
$pdf->Cell(15,15,"$type",1,0,'C');
$nom_prenom="$log->nom $log->prenom";
$pdf->Cell(30,15,"$nom_prenom",1,0,'C');
/* 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);
$pdf->Cell(25,15,"$tel->numero",1,0,'C');
if($existe>0) {
list($annee, $mois, $jour)=explode("-", $resa->date_resa);
$date="$jour/$mois/$annee";
$pdf->SetFont('Arial','',8);
$pdf->Cell(15,15,"$date",1,0,'C');
$heure=substr($resa->heure_resa_deb, 0, 5);
$pdf->Cell(10,15,"$heure",1,0,'C');
$heure=substr($resa->heure_resa_fin, 0, 5);
$pdf->Cell(10,15,"$heure",1,0,'C');
$message=explode("-",$log->message);
if($log->id_joueur != 1796) {
/* Affichage durée */
$pdf->SetFont('Arial','',8);
$pdf->Cell(10,15,"$message[5]",1,0,'C');
/* Affichage Type */
$pdf->SetFont('Arial','',7);
$pdf->Cell(15,15,"$message[6]",1,0,'C');
}
else {
/* Affichage durée */
$pdf->SetFont('Arial','',8);
$pdf->Cell(10,15,"$message[6]",1,0,'C');
/* Affichage Type */
$pdf->SetFont('Arial','',7);
$pdf->Cell(15,15,"$message[7]",1,0,'C');
}
if($resa->validation==0) {
/* 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);
$pdf->Cell(35,15,"Attente valid:\n$message[9]",1,0,'C');
}
else {
$pdf->Cell(35,15," ",1,0,'C');
}
}
else {
$pdf->SetFont('Arial','',9);
$pdf->Cell(95,15,"Reservation annulee le $date par $log->prenom $log->nom.",1,0,'C');
}
$pdf->Ln();
}
else if($type=="Annulation") {
list($annee, $mois, $jour)=explode("-", $log->date);
$date="$jour/$mois/$annee";
$pdf->SetFont('Arial','',8);
$pdf->Cell(15,15,"$date",1,0,'C');
$pdf->SetFont('Arial','',9);
$heure=substr($log->heure, 0, 5);
$pdf->Cell(10,15,"$heure",1,0,'C');
$pdf->Cell(15,15,"$type",1,0,'C');
$nom_prenom="$log->nom $log->prenom";
$pdf->Cell(30,15,"$nom_prenom",1,0,'C');
/* 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);
$pdf->Cell(25,15,"$tel->numero",1,0,'C');
$pdf->Cell(95,15,"Reservation annulee le $date par $log->prenom $log->nom.",1,0,'C');
$pdf->Ln();
}
}
}
else {
$pdf->Cell(190,25,"Pas de log pour cette journee.", 0,0,'C');
}
$pdf->Output();
?>