273 lines
10 KiB
PHP
Executable File
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();
|
|
|
|
?>
|