795 lines
34 KiB
PHP
Executable File
795 lines
34 KiB
PHP
Executable File
<?php
|
|
session_start();
|
|
if(isset($_SESSION['type']) and isset($_SESSION['id'])) {
|
|
$type=$_SESSION['type'];
|
|
$id=$_SESSION['id'];
|
|
|
|
include ("conf.php");
|
|
include ("gestion_infos.php");
|
|
include("constantes.php");
|
|
|
|
|
|
include_once("fct_affichage_planning.php");
|
|
|
|
if(count($_GET) > 0 and ! isset($_GET['type_log'])) {
|
|
$club=$_GET['id_club'];
|
|
}
|
|
if(count($_GET) > 0 and $_GET['type_log']=='consult') {
|
|
$heure_debut=$_GET['heure'];
|
|
$heure_fin=$heure_debut+1;
|
|
$id_reservable=$_GET['reservable'];
|
|
$mois=$_GET['mois'];
|
|
$jour=$_GET['jour'];
|
|
$annee=$_GET['annee'];
|
|
$requete="SELECT id_club FROM reservable WHERE id_reservable='$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);
|
|
$type_log=$_GET['type_log'];
|
|
$club=$terrain->id_club;
|
|
$terrains=array();
|
|
array_push($terrains, $id_reservable);
|
|
}
|
|
else if(count($_POST) > 0) {
|
|
$club=$_POST['club'];
|
|
}
|
|
|
|
if(isset($_GET['lien_cal']) or count($_POST) > 0) {
|
|
$lien=1;
|
|
}
|
|
else {
|
|
$lien=0;
|
|
}
|
|
|
|
$saison=date("Y");
|
|
if(date("m") >= 10 and date("m")<=12) {
|
|
$saison+=1;
|
|
}
|
|
|
|
/* Affichage planning */
|
|
if(isset($_POST['plann'])) {
|
|
$plann=$_POST['plann'];
|
|
}
|
|
else if(isset($_GET['plann'])) {
|
|
$plann=$_GET['plann'];
|
|
}
|
|
else {
|
|
$plann='jour';
|
|
}
|
|
/* Retour apres annulation */
|
|
if(isset($_GET['menu'])) {
|
|
$menu=$_GET['menu'];
|
|
}
|
|
else {
|
|
$menu=4;
|
|
}
|
|
|
|
if($plann=='jour') {
|
|
$plann_suiv='semaine';
|
|
$bouton="Affichage planning semaine à venir";
|
|
}
|
|
else {
|
|
$plann_suiv='jour';
|
|
$bouton="Affichage planning jour selectionné";
|
|
}
|
|
|
|
if($type=='joueur') {
|
|
$requete="SELECT id_joueur, nom, prenom FROM joueur WHERE id_joueur='$id'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$joueur=mysqli_fetch_object($reponse);
|
|
$id_joueur_log=$joueur->id_joueur;
|
|
$adm=0;
|
|
$requete="SELECT id_sponsor FROM sponsor WHERE id_joueur='$id_joueur_log' AND saison='$saison'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$existe_sponsor=mysqli_num_rows($reponse);
|
|
if($existe_sponsor > 0) {
|
|
$sponsor=1;
|
|
}
|
|
else {
|
|
$sponsor=0;
|
|
}
|
|
/* Test si le joueur dispose d'une location horaire */
|
|
$requete="SELECT id_carte FROM location_horaire WHERE id_joueur='$id_joueur_log' AND id_club='$club'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$existe_location=mysqli_num_rows($reponse);
|
|
if($existe_location > 0) {
|
|
$location=1;
|
|
}
|
|
else {
|
|
$location=0;
|
|
}
|
|
}
|
|
else {
|
|
$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);
|
|
$id_joueur_log=$joueur->id_joueur;
|
|
if($admin->id_club==$club) {
|
|
$adm=1;
|
|
}
|
|
}
|
|
|
|
/* Si reservation executee */
|
|
if(count($_POST) > 0) {
|
|
if(isset($_POST['type_log']) and $_POST['type_log']=='consult') {
|
|
$heure_debut=$_POST['heure'];
|
|
$heure_fin=$heure_debut+1;
|
|
$id_reservable=$_POST['reservable'];
|
|
$mois=$_POST['mois'];
|
|
$jour=$_POST['jour'];
|
|
$annee=$_POST['annee'];
|
|
$requete="SELECT id_club FROM reservable WHERE id_reservable='$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);
|
|
$type_log=$_POST['type_log'];
|
|
$club=$terrain->id_club;
|
|
$terrains=array();
|
|
array_push($terrains, $id_reservable);
|
|
}
|
|
else {
|
|
$club=$_POST['club'];
|
|
$jour=$_POST['jour'];
|
|
$mois=$_POST['mois'];
|
|
$annee=$_POST['annee'];
|
|
$type_resa=$_POST['type'];
|
|
$motif=$_POST['motif'];
|
|
$id_adverse=$_POST['adversaire'];
|
|
$nom_adv=$_POST['nom_adv'];
|
|
$heure_debut=$_POST['heure_resa_debut'];
|
|
$min_debut=$_POST['min_resa_debut'];
|
|
$heure_fin=$_POST['heure_resa_fin'];
|
|
$min_fin=$_POST['min_resa_fin'];
|
|
$terrains=$_POST['terrains'];
|
|
$nom_bouton=$_POST['bouton'];
|
|
$menu=$_POST['menu'];
|
|
$plann=$_POST['plann'];
|
|
|
|
include_once("gestion_terrains.php");
|
|
if($nom_bouton=="Rechercher") {
|
|
if(($sponsor==0 and (! empty($nom_adv)) and $type_resa=='Loisir') or (empty($nom_adv) and $type_resa != 'Loisir')) {
|
|
$liste_noms=recherche_nom($club,$id_joueur_log, $nom_adv, $db_connection);
|
|
}
|
|
else if($type_resa=='Loisir' and $adm==0 and $location==0 and $sponsor==0 and empty($nom_adv)) {
|
|
$message_erreur="Vous devez saisir un nom de joueur pour les reservations en Loisir !!";
|
|
}
|
|
$erreur=TRUE;
|
|
}
|
|
else if($nom_bouton=="Valider") {
|
|
if(count($terrains) > 0) {
|
|
if($id_joueur_log!="" and $club!="" and $mois!="" and $jour!="" and $annee!="" and $heure_debut!="" and $min_debut!="" and $heure_fin!="" and $min_fin!="") {
|
|
if(($type_resa =='Loisir' and $adm==0 and $location==0 and $sponsor==0 and $id_adverse > 0) or $location==1 or $sponsor==1 or $adm==1 or $type_resa!="Loisir") {
|
|
$message_erreur=reservation($id_joueur_log, $club,$jour,$mois, $annee, $type_resa, $motif, $id_adverse,$heure_debut,$min_debut,$heure_fin,$min_fin, $terrains, $db_connection);
|
|
if($message_erreur=="") {
|
|
if(count($terrains)==1) {
|
|
$id_terrain=$terrains[0];
|
|
$requete="SELECT nom FROM reservable WHERE id_reservable='$id_terrain'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$terrain=mysqli_fetch_object($reponse);
|
|
$message_erreur="La reservation a ete prise en compte pour le terrain $terrain->nom";
|
|
}
|
|
else if(count($terrains) > 1) {
|
|
$message_erreur="La reservation a ete prise en compte pour les terrains ";
|
|
for($i=0;$i<count($terrains);$i++) {
|
|
$id_terrain=$terrains[$i];
|
|
$requete="SELECT nom FROM reservable WHERE id_reservable='$id_terrain'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$terrain=mysqli_fetch_object($reponse);
|
|
if($i != (count($terrains)-1)) {
|
|
$message_erreur.="$terrain->nom, ";
|
|
}
|
|
else {
|
|
$message_erreur.="$terrain->nom.";
|
|
}
|
|
}
|
|
}
|
|
$erreur=FALSE;
|
|
}
|
|
else {
|
|
$erreur=TRUE;
|
|
}
|
|
}
|
|
else if($type_resa =='Loisir' and $adm==0 and $location==0 and $sponsor==0 and $id_adverse == 0) {
|
|
$message_erreur="Vous devez avoir un adversaire pour une reservation en Loisir !!";
|
|
$erreur=TRUE;
|
|
}
|
|
}
|
|
else {
|
|
$message_erreur="Il manque une information !";
|
|
}
|
|
}
|
|
else {
|
|
$message_erreur="Vous devez selectionner au moins un terrain pour reserver !!";
|
|
$erreur=TRUE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
echo "<html>";
|
|
echo "<head>";
|
|
|
|
/* calcul de la date du jour */
|
|
if(isset($_GET['jour']) and isset($_GET['mois']) and isset($_GET['annee'])) {
|
|
$jour=$_GET['jour'];
|
|
$mois=$_GET['mois'];
|
|
$annee=$_GET['annee'];
|
|
$timestamp=mktime(10,0,0,$mois, $jour, $annee);
|
|
$now=time();
|
|
/* Si la date dépasse de 2 semaines la date d'aujourd'hui - on affiche la date d'aujourd'hui */
|
|
/* Si ce n'est pas un clic sur un calendrier */
|
|
if($timestamp>=($now+(86400*14)) and $lien==0) {
|
|
$timestamp=time();
|
|
}
|
|
}
|
|
else if(isset($_POST['jour']) and isset($_POST['mois']) and isset($_POST['annee'])) {
|
|
$jour=$_POST['jour'];
|
|
$mois=$_POST['mois'];
|
|
$annee=$_POST['annee'];
|
|
$timestamp=mktime(10,0,0,$mois, $jour, $annee);
|
|
$now=time();
|
|
/* Si la date dépasse de 2 semaines la date d'aujourd'hui - on affiche la date d'aujourd'hui */
|
|
/* Si ce n'est pas un clic sur un calendrier */
|
|
if($timestamp>=($now+(86400*14)) and $lien==0) {
|
|
$timestamp=time();
|
|
}
|
|
}
|
|
else {
|
|
$timestamp = time();
|
|
}
|
|
|
|
|
|
$mois_courrant=date('m', $timestamp);
|
|
$mois=date('m', $timestamp);
|
|
$mois_cal=$mois;
|
|
$jour=date("d", $timestamp);
|
|
$jour_cal=$jour;
|
|
$annee=date("Y",$timestamp);
|
|
$annee_cal=$annee;
|
|
$aujourdhui = date("Ymd", $timestamp);
|
|
|
|
$requete="SELECT nom FROM club WHERE id_club='$club'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$club_nom=mysqli_fetch_object($reponse);
|
|
echo "<title>Tyroltenn.net - Réservation des terrains du $club_nom->nom</title>";
|
|
echo "<link rel='stylesheet' href='style.css' type='text/css'>";
|
|
echo "<LINK href='calendrier/calendrier.css' type='text/css' rel='StyleSheet'>";
|
|
?>
|
|
<style type='text/css'>
|
|
.droite {
|
|
position: relative;
|
|
right:30px;
|
|
float:right;
|
|
}
|
|
.gauche {
|
|
position: relative;
|
|
left:0px;
|
|
float:left;
|
|
}
|
|
</style>
|
|
<?php
|
|
echo "</head>";
|
|
/* Affichage message résa */
|
|
echo "<body";
|
|
/* Si résa effectuée */
|
|
if(count($_POST) > 0 and $message_erreur != "") {
|
|
echo " onload='javascript:alert(\"$message_erreur\");'";
|
|
}
|
|
echo ">";
|
|
echo "<div class='gauche'>";
|
|
echo "<font style='font-size:18px;'><a href='deco_borne.php?id_club=$club'>Se déconnecter</a></font><br />";
|
|
echo "<center><p><font color='#FF6B21' size='+2'>";
|
|
echo "</div>";
|
|
echo "<div class='droite'>";
|
|
echo "<font style='font-size:18px;'><a href='resa_bi.php?annee=$annee&mois=$mois&jour=$jour&plann=$plann_suiv&lien_cal=0&id_club=$club'>$bouton</a></font>";
|
|
echo "</div>";
|
|
echo "<br /><br />";
|
|
|
|
$compte_act=0; /* indique si le compte est activé ou désactivé */
|
|
|
|
echo "<center>";
|
|
$requete1="SELECT nom,telephone FROM club WHERE id_club LIKE '$club'";
|
|
$result1=mysqli_query($db_connection, $requete1) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$reponse1=mysqli_fetch_object($result1);
|
|
|
|
$requete="SELECT j.nom,j.prenom, j.numero_fft FROM joueur j LEFT JOIN compte c ON c.id_joueur=j.id_joueur WHERE j.id_joueur='$id_joueur_log' AND c.id_club='$club'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$joueur=mysqli_fetch_object($reponse);
|
|
echo "Bonjour $joueur->prenom $joueur->nom";
|
|
if($adm==1) {
|
|
echo ", Administrateur du club $reponse1->nom";
|
|
}
|
|
echo "</p>";
|
|
|
|
include("calendrier/calendrier.incborne_resa.php");
|
|
include_once("calendrier/string.inc.php");
|
|
|
|
/********************************************/
|
|
/* Test si le compte connecté est un invité */
|
|
/********************************************/
|
|
$invite=0; /* indique si le joueur connecté est un invité ou non */
|
|
$invite_solde=0; /* Nombre de jetons restant pour le joueur invité */
|
|
$requete="SELECT statut, solde, solde_invite, actif_debut, actif_fin FROM compte WHERE id_joueur='$id_joueur_log' AND id_club='$club'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$compte=mysqli_fetch_object($reponse);
|
|
/*echo "<h3><center> compte->statut $compte->statut utf8_encode($compte->statut) </center></h3>";*/
|
|
$compte_ok=0;
|
|
if($compte->statut=="Invité") {
|
|
$compte_ok=1;
|
|
$invite=1;
|
|
$invite_solde=$compte->solde;
|
|
/* Controle de l'activation du compte */
|
|
$ts_debut=conversion_ts_mysql($compte->actif_debut);
|
|
$ts_fin=conversion_ts_mysql($compte->actif_fin);
|
|
if($compte->solde > 1 and $solde->compte <= 100) {
|
|
echo "<p>Vous êtes invité au club de $reponse1->nom. Il vous reste $compte->solde jetons disponibles.</p>";
|
|
}
|
|
else if($compte->solde == 1) {
|
|
echo "<p>Vous êtes invité au club de $reponse1->nom. Il vous reste $compte->solde jeton disponible.</p>";
|
|
}
|
|
else if($compte->solde > 100) {
|
|
echo "<p>Vous êtes invité au club de $reponse1->nom.<br />Vous n'êtes pas limité en nombre de jetons.</p>";
|
|
}
|
|
else {
|
|
echo "<p>Vous êtes invité au club de $reponse1->nom. Vous n'avez plus de jetons disponibles et donc vous ne pouvez plus réserver de terrains dans ce club.</p>";
|
|
}
|
|
/* Si location horaire */
|
|
if($location == 1) {
|
|
echo "<p>Vous avez une location horaire dans ce club.</p>";
|
|
}
|
|
}
|
|
else if($compte->statut=="MembreLicencié") {
|
|
$compte_ok=1;
|
|
/* Affichage d'une AG s'il y en a une */
|
|
afficher_ag($club);
|
|
/* Controle de l'activation du compte */
|
|
$ts_debut=conversion_ts_mysql($compte->actif_debut);
|
|
$ts_fin=conversion_ts_mysql($compte->actif_fin);
|
|
/* Maintenant */
|
|
$ts_now=time();
|
|
if($compte->solde > 1 and $compte->solde <= 100) {
|
|
echo "<p>Vous êtes licencié au club de $reponse1->nom. Il vous reste $compte->solde jetons disponibles sur votre carte.</p>";
|
|
}
|
|
else if($compte->solde == 1) {
|
|
echo "<p>Vous êtes licencié au club de $reponse1->nom. Il vous reste $compte->solde jeton disponible.</p>";
|
|
}
|
|
else if($compte->solde > 100) {
|
|
echo "<p>Vous êtes licencié au club de $reponse1->nom.<br />Vous n'êtes pas limité en nombre de jetons.</p>";
|
|
}
|
|
/* Nombre de jetons restants pour inviter des joueurs */
|
|
if($compte->solde_invite <= 0) {
|
|
echo "Vous n'avez pas de jetons pour inviter des joueurs. Veuillez contacter le club pour recharger vos jetons.";
|
|
}
|
|
else if($compte->solde_invite == 1) {
|
|
echo "Il vous reste $compte->solde_invite jeton pour inviter des joueurs.";
|
|
}
|
|
else {
|
|
echo "Il vous reste $compte->solde_invite jetons pour inviter des joueurs.";
|
|
}
|
|
$solde_log=$compte->solde_invite;
|
|
echo "<br />";
|
|
}
|
|
/* COntrole de la validité du compte */
|
|
if($compte_ok==1) {
|
|
$ts_now=time();
|
|
/* Si le compte est désactivé ou licence plus valable */
|
|
if($ts_debut <= $ts_now and $ts_now <= $ts_fin) {
|
|
$compte_act=1;
|
|
if($ts_fin <= $ts_now) {
|
|
echo "<br />";
|
|
echo "<font color='#FF0000' size='+1'><strong>Votre licence FFT est à renouveler auprès du club.</strong></font>";
|
|
}
|
|
}
|
|
else if($ts_fin == $ts_debut) {
|
|
$compte_act=0;
|
|
echo "<font color='#FF0000' size='+1'><strong>Votre compte a été désactivé par l'administrateur du club.</strong></font>";
|
|
}
|
|
}
|
|
|
|
echo "<h3><center>N'oubliez pas de vous déconnecter lorsque vous aurez terminé !!</center></h3>";
|
|
|
|
$requete2="SELECT count(*) from reservable where id_club LIKE '$club'";
|
|
$result2=mysqli_query($db_connection, $requete2) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$nb_terrains=mysql_result($result2,0);
|
|
$requete5="SELECT nom,id_joueur FROM joueur WHERE id_joueur LIKE '$id_joueur_log'";
|
|
$result5=mysqli_query($db_connection, $requete5) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$reponse5=mysqli_fetch_object($result5);
|
|
$annee=substr($aujourdhui,0,4);
|
|
|
|
echo "<br />";
|
|
/* COntrole si un tournoi a lieu prochainement */
|
|
$aujourdhui=time();
|
|
$saison=date("Y");
|
|
$requete50="SELECT * FROM tournoi WHERE id_club='$club' AND saison='$saison' ORDER BY debut ASC";
|
|
$result1=mysqli_query($db_connection, $requete50) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$affiche_tournoi=0;
|
|
while($tournoi=mysqli_fetch_object($result1) and $affiche_tournoi==0) {
|
|
$debut=explode('-', $tournoi->debut);
|
|
$fin=explode("-", $tournoi->fin);
|
|
$ts_debut=mktime(10,0,0,$debut[1], $debut[2], $debut[0]);
|
|
$ts_fin=mktime(22,0,0,$fin[1], $fin[2], $fin[0]);
|
|
/* Affichage du texte 1 semaine avant le debut du tournoi et jusqu'à la fin du tournoi */
|
|
if(($ts_debut-(3600*24*7))<$aujourdhui and $aujourdhui<=$ts_fin) {
|
|
$debut=date("d/m/Y", $ts_debut);
|
|
$fin=date("d/m/Y", $ts_fin);
|
|
$texte="<font size='+2' color='#FF0000'><strong>Le tournoi $tournoi->nom aura lieu du $debut au $fin.<br />Pour effectuer vos réservations de terrains durant le tournoi,<br />veuillez réserver au $reponse1->telephone. <br />";
|
|
$texte.="Merci de votre compréhension.</strong></font>";
|
|
$affiche_tournoi=1;
|
|
}
|
|
}
|
|
echo "$texte</center>";
|
|
|
|
echo "<font color='#FF0000' size='+1'><center>";
|
|
echo "Réservation des terrains du $club_nom->nom<br />Vous pouvez également réserver par téléphone au 0891 678 900<br /><br />";
|
|
echo "Si la réservation est un match officiel,<br /> vous pouvez saisir le numéro de licence FFT de votre adversaire dans la case prévue à cet effet (ceci est facultatif).<br /><br />";
|
|
echo "<p style='text-align:center;font-weight:bold;font-size:14px;'>";
|
|
echo "Vous pouvez cliquer dans la case correspondante au terrain et au créneau horaire voulu pour réserver ce créneau.";
|
|
echo "</p>";
|
|
$requete="SELECT duree_resa_loisir 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->duree_resa_loisir == 1) {
|
|
echo "<strong>Les réservations de type Loisir sont désormais limitées à $quota->duree_resa_loisir heure</strong>";
|
|
}
|
|
else if($quota->duree_resa_loisir > 1) {
|
|
echo "<strong>Les réservations de type Loisir sont désormais limitées à $quota->duree_resa_loisir heures</strong>";
|
|
}
|
|
echo "</font>";
|
|
echo "<br /><br />";
|
|
|
|
/* Controle si le joueur n'a pas une réservation bloqué aujourd'hui */
|
|
$date_resa="$annee-$mois-$jour";
|
|
$requete="SELECT * FROM reservation WHERE validation='0' AND id_joueur='$id_joueur_log' AND date_resa='$date_resa'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$existe_resa_bloque=mysqli_num_rows($reponse);
|
|
if($existe_resa_bloque > 0) {
|
|
$resa_non_valide=1;
|
|
}
|
|
else {
|
|
$resa_non_valide=0;
|
|
}
|
|
|
|
/* si le joueur peut réserver un terrain, afficher le formulaire (si nombre de jetons suffisants et nb resa par jour pas dépassé */
|
|
if((($invite==1 and ($invite_solde > 0 or $invite_solde == -10)) or $invite==0 or $adm==1) and $compte_act == 1) {
|
|
$duree_resa=1;
|
|
$mois_courrant=$mois_courrant-1;
|
|
echo "<center><table border='1' width='85%' style='border-width: 1px;'>";
|
|
echo "<tr><td colspan='5' bgcolor='#FFFACD'><center><strong>1ère étape : Choisissez la date en cliquant dessus (en rouge : aujourd'hui ; en vert : date de réservation)</strong></center></td>";
|
|
echo "<tr><td colspan='5' bgcolor='#FFFACD'><font size='+1'><center><strong>DATE DE RÉSERVATION : le ",$jour," ",monthNumToName($mois)," ",$annee,"</strong></center></font></td></tr>";
|
|
echo "<tr><td bgcolor='#FFDEAD' HEIGHT='40'><center>";
|
|
/* Date en cours sur la reservation */
|
|
if($jour<10 and strlen($jour)==1) {$jour_ds="0".$jour; } else { $jour_ds=$jour; }
|
|
if($mois<10 and strlen($mois)==1) {$mois_ds="0".$mois; } else { $mois_ds=$mois; }
|
|
$date_selectionnee="$annee-$mois_ds-$jour_ds";
|
|
if($mois_courrant==0){
|
|
$gestion_mois=12;
|
|
$gestion_annee=$annee-1;
|
|
echo showCalendar($gestion_annee."-".$gestion_mois,$club,$date_selectionnee,$plann,$menu);
|
|
}
|
|
else{
|
|
echo showCalendar($annee."-".$mois_courrant,$club,$date_selectionnee,$plann,$menu);
|
|
}
|
|
|
|
echo "</td><td bgcolor='#FFEEAD' HEIGHT='40'><center>";
|
|
$mois_courrant=$mois_courrant+1;
|
|
echo showCalendar($annee."-".$mois_courrant,$club,$date_selectionnee,$plann,$menu);
|
|
echo "</td><td bgcolor='#FFDEAD' HEIGHT='40'><center>";
|
|
if($mois_courrant==12){
|
|
$mois_courrant=1;
|
|
$annee_cal=$annee+1;
|
|
echo showCalendar($annee_cal."-".$mois_courrant,$club,$date_selectionnee,$plann,$menu);
|
|
}
|
|
else{
|
|
$mois_courrant=$mois_courrant+1;
|
|
echo showCalendar($annee."-".$mois_courrant,$club,$date_selectionnee,$plann,$menu);
|
|
}
|
|
echo "</td></tr>";
|
|
echo "</table>";
|
|
/* Formulaire de réservation */
|
|
if($resa_non_valide==0) {
|
|
echo "<form action='resa_bi.php' method='post'>";
|
|
echo "<table border='1' width='85%' style='border-width: 1px;'>";
|
|
echo "<input type='hidden' name='club' value='$club'>";
|
|
echo "<input type='hidden' name='jour' value='$jour'>";
|
|
echo "<input type='hidden' name='mois' value='$mois'>";
|
|
echo "<input type='hidden' name='annee' value='$annee'>";
|
|
echo "<input type='hidden' name='plann' value='$plann'>";
|
|
echo "<input type='hidden' name='menu' value='$menu'>";
|
|
$requete="SELECT id_reservable, nom FROM reservable WHERE id_club='$club'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$num_courts=mysqli_num_rows($reponse);
|
|
echo "<input type='hidden' name='nb_courts' value='$num_courts' id='idNbCourts'>";
|
|
echo "<tr><td colspan='6' bgcolor='#FFFACD'><center><strong>2ème étape : Choisissez le(s) Court(s) à réserver</strong></center></td>";
|
|
echo "<tr>";
|
|
$requete="SELECT id_reservable, nom FROM reservable WHERE id_club='$club'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$nb_courts_ligne=0;
|
|
while($nom_courts=mysqli_fetch_object($reponse)) {
|
|
echo "<td><input type='checkbox' name='terrains[]' value='$nom_courts->id_reservable'";
|
|
if((count($_POST) > 0 and $erreur==TRUE) or $type_log=='consult') {
|
|
if(count($terrains) > 0 and in_array($nom_courts->id_reservable, $terrains)) {
|
|
echo " checked";
|
|
}
|
|
}
|
|
echo ">$nom_courts->nom</td>";
|
|
$nb_courts_ligne++;
|
|
if($nb_courts_ligne%6==0 and $i<$num_courts) {
|
|
$nb_courts_ligne=0;
|
|
echo "</tr><tr>";
|
|
}
|
|
}
|
|
echo "</tr>";
|
|
echo "<tr><td colspan='6' bgcolor='#FFFACD'><center><strong>3ème étape : Indiquez le type et le motif de la réservation.<br />Pour les réservations de type Invité, veuillez saisir le nom du joueur adverse dans le motif.</strong></center></td></tr>";
|
|
echo "<tr><td colspan='3'><center>Type : <select name='type'>";
|
|
/* Controle si le joueur fait parti d'un groupe de joueur ayant un niveau d'accès spécifique */
|
|
$requete="SELECT * FROM joueurs_groupe jg, niveau_acces na WHERE na.id_groupe=jg.id_groupe AND na.id_club='$club' AND jg.id_joueur='$id_joueur_log'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$existe_niveau=mysqli_num_rows($reponse);
|
|
if($existe_niveau == 0) {
|
|
$req="SELECT * FROM rubriques_resa WHERE id_club='$club'";
|
|
$rep=mysqli_query($db_connection, $req) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
while($rubrique=mysqli_fetch_object($rep)) {
|
|
if(in_array($rubrique->nom, $types_defaut)) {
|
|
if($rubrique->nom=='Invite' and $solde_log > 0) {
|
|
echo "<option value='$rubrique->nom'";
|
|
if(count($_POST) > 0 and $erreur==TRUE and $type_resa=='Invite') {
|
|
echo " selected='true'";
|
|
}
|
|
echo ">$rubrique->nom</option>";
|
|
}
|
|
else if ($rubrique->nom!='Invite') {
|
|
echo "<option value='$rubrique->nom'";
|
|
if($rubrique->nom == 'Loisir' and ($type_resa=='' or $type_resa=='Loisir')) {
|
|
echo " selected='true'";
|
|
}
|
|
else if(count($_POST) > 0 and $erreur==TRUE and $type_resa==$rubrique->nom) {
|
|
echo " selected='true'";
|
|
}
|
|
echo ">$rubrique->nom</option>";
|
|
}
|
|
}
|
|
else {
|
|
echo "<option value='$rubrique->id_rubrique'";
|
|
if(count($_POST) > 0 and $erreur==TRUE and $type_resa==$rubrique->id_rubrique) {
|
|
echo " selected='true'";
|
|
}
|
|
echo ">$rubrique->nom</option>";
|
|
}
|
|
}
|
|
}
|
|
/* Pour les joueurs ayant un niveau d'accès spécifique */
|
|
else {
|
|
$rubriques=array();
|
|
/* Détecte les types de réservation que la personne a le droit de réserver */
|
|
while($niveau_acces=mysqli_fetch_object($reponse)) {
|
|
$req="SELECT rr.id_rubrique, rr.nom FROM rubriques_groupe rg, rubriques_resa rr";
|
|
$req.=" WHERE rg.id_groupe='$niveau_acces->id_groupe' AND rr.id_rubrique=rg.id_rubrique";
|
|
$rep=mysqli_query($db_connection, $req) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
while($rubrique=mysqli_fetch_object($rep)) {
|
|
if(! in_array($rubrique->id_rubrique, $rubriques)) {
|
|
array_push($rubriques, $rubrique->id_rubrique);
|
|
}
|
|
}
|
|
}
|
|
/* Récupère les droits visible par tous le monde */
|
|
$requete="SELECT id_rubrique FROM rubriques_resa WHERE id_club='$club' AND visible_joueur='oui'";
|
|
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
while($rubrique=mysqli_fetch_object($rep)) {
|
|
if(! in_array($rubrique->id_rubrique, $rubriques)) {
|
|
array_push($rubriques, $rubrique->id_rubrique);
|
|
}
|
|
}
|
|
/* Affichage des rubriques */
|
|
for($i=0;$i<count($rubriques);$i++) {
|
|
$requete="SELECT * FROM rubriques_resa WHERE id_rubrique='$rubriques[$i]'";
|
|
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$rubrique=mysqli_fetch_object($rep);
|
|
if(in_array($rubrique->nom, $types_defaut)) {
|
|
if($rubrique->nom=='Invite' and $solde_log > 0) {
|
|
echo "<option value='$rubrique->nom'";
|
|
if(count($_POST) > 0 and $erreur==TRUE and $type_resa=='Invite') {
|
|
echo " selected='true'";
|
|
}
|
|
echo ">$rubrique->nom</option>";
|
|
}
|
|
else if ($rubrique->nom!='Invite') {
|
|
echo "<option value='$rubrique->nom'";
|
|
if($rubrique->nom == 'Loisir' and ($type_resa=='' or $type_resa=='Loisir')) {
|
|
echo " selected='true'";
|
|
}
|
|
else if(count($_POST) > 0 and $erreur==TRUE and $type_resa==$rubrique->nom) {
|
|
echo " selected='true'";
|
|
}
|
|
echo ">$rubrique->nom</option>";
|
|
}
|
|
}
|
|
else {
|
|
echo "<option value='$rubrique->id_rubrique'";
|
|
if(count($_POST) > 0 and $erreur==TRUE and $type_resa==$rubrique->id_rubrique) {
|
|
echo " selected='true'";
|
|
}
|
|
echo ">$rubrique->nom</option>";
|
|
}
|
|
}
|
|
}
|
|
echo "</select></center></td>";
|
|
echo "<td colspan='3'><center>Motif Réservation : <input type='text' name='motif' size='30'";
|
|
if(count($_POST) > 0 and $erreur==TRUE) {
|
|
echo " value='$motif'";
|
|
}
|
|
echo "></center></td></tr>";
|
|
if($location == 0) {
|
|
echo "<tr><td colspan='6' bgcolor='#FFFACD'><center><strong>4ème étape (obligatoire pour les réservations en Loisir) :<br />";
|
|
echo "Saisissez le nom de votre adversaire puis cliquez sur Rechercher.<br />Choisissez ensuite votre adversaire dans la liste qui s'affiche.</strong></center></td></tr>";
|
|
if((count($_POST) == 0) or $liste_noms =="") {
|
|
echo "<tr><td colspan='6'><center>Nom de l'adversaire : <input type=text name='nom_adv' size='30'";
|
|
if(count($_POST) > 0 and $erreur==TRUE) {
|
|
echo "value='$adverse'";
|
|
}
|
|
echo "><input type='submit' name='bouton' value='Rechercher'></center><input type='hidden' name='adversaire' value='0'></td></tr>";
|
|
}
|
|
else if((count($_POST) > 0) or $liste_noms != "") {
|
|
echo "<tr><td colspan='3'><center>Nom de l'adversaire : <input type=text name='nom_adv' size='30'";
|
|
if(count($_POST) > 0 and $erreur==TRUE) {
|
|
echo "value='$nom_adv'";
|
|
}
|
|
echo "><input type='submit' name='bouton' value='Rechercher'></center></td>";
|
|
echo "<td colspan='3'><center>Sélectionner l'adversaire dans la liste : $liste_noms</center></td></tr>";
|
|
}
|
|
}
|
|
/* Horaire de la réservation */
|
|
echo "<tr><td colspan='6' bgcolor='#FFFACD'><center><strong>5ème étape : Indiquez les heures de début et de fin de réservation et validez</strong></center></td></tr>";
|
|
/* Recherche des heures ouvertures fermetures des terrains */
|
|
$requete="SELECT MIN(HOUR(heure_ouverture)), MAX(HOUR(heure_fermeture)) FROM reservable WHERE id_club='$club'";
|
|
$result=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$horaires=mysqli_fetch_array($result);
|
|
echo "<tr><td>Heure de début :</td><td><select name='heure_resa_debut'>";
|
|
for ($i=$horaires[0];$i<$horaires[1];$i++){
|
|
echo "<option value='$i'";
|
|
if((count($_POST) > 0 and $erreur==TRUE) or $type_log=='consult') {
|
|
if($i == $heure_debut) {
|
|
echo " selected='true'";
|
|
}
|
|
}
|
|
echo ">$i";
|
|
}
|
|
echo "</select>:";
|
|
if($adm==1) {
|
|
echo "<select name='min_resa_debut'><option value='00'>00</otpion><option value='30'>30</option></select>";
|
|
}
|
|
else {
|
|
echo "<input type='hidden' name='min_resa_debut' value='00'>00";
|
|
}
|
|
echo "</td>";
|
|
echo "<td>Heure de fin :</td><td><select name='heure_resa_fin'>";
|
|
for ($i=$horaires[0];$i<=$horaires[1];$i++){
|
|
echo "<option value='$i'";
|
|
if((count($_POST) > 0 and $erreur==TRUE) or $type_log=='consult') {
|
|
if($i == $heure_fin) {
|
|
echo " selected='true'";
|
|
}
|
|
}
|
|
echo ">$i";
|
|
}
|
|
echo "</select>:";
|
|
if($adm==1) {
|
|
echo "<select name='min_resa_fin'><option value='00'>00</otpion><option value='30'>30</option></select>";
|
|
}
|
|
else {
|
|
echo "<input type='hidden' name='min_resa_fin' value='00'>00";
|
|
}
|
|
echo "</td>";
|
|
echo "<td colspan='2'><center><input type='submit' name='bouton' value='Valider'></center></td></tr>";
|
|
echo "</table>";
|
|
echo "</form>";
|
|
}
|
|
else {
|
|
echo "<font size='4' color='#FF0000'><center><strong>Vous avez une réservation bloquée.<br />Pour pouvoir réserver de nouveau, un administrateur doit valider ou annuler votre derniè réservation.</strong></center></font>";
|
|
}
|
|
}
|
|
else {
|
|
echo "<font size='4' color='#FF0000'><center><strong>Réservation bloquée</strong></center></font>";
|
|
}
|
|
echo "<br />";
|
|
|
|
echo "<table border='1'>";
|
|
echo "<th colspan='6' bgcolor='#FFFACD'><strong>Légende des couleurs</strong></th>";
|
|
/* Affichage légende */
|
|
$req="SELECT * FROM rubriques_resa WHERE id_club='$club' ORDER BY tri ASC, nom ASC";
|
|
$rep=mysqli_query($db_connection, $req) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$nb=mysqli_num_rows($rep);
|
|
if($nb > 0) {
|
|
echo "<tr>";
|
|
for($i=1;$i<=$nb;$i++) {
|
|
$rubrique=mysqli_fetch_object($rep);
|
|
$req="SELECT couleur_hex FROM couleurs WHERE id_couleur='$rubrique->id_couleur'";
|
|
$rep1=mysqli_query($db_connection, $req) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$couleur=mysqli_fetch_object($rep1);
|
|
$req="SELECT couleur_hex FROM couleurs WHERE id_couleur='$rubrique->id_coul_police'";
|
|
$rep1=mysqli_query($db_connection, $req) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$couleur_pol=mysqli_fetch_object($rep1);
|
|
echo "<td bgcolor='$couleur->couleur_hex'><font color='$couleur_pol->couleur_hex'><strong><center>$rubrique->nom</center></strong></td>";
|
|
if($i%6 == 0) {
|
|
echo "</tr><tr>";
|
|
}
|
|
}
|
|
echo "</tr>";
|
|
}
|
|
?>
|
|
<th colspan='6' bgcolor='#FFFACD'><center><strong>Tournois</strong></center></th>
|
|
<tr>
|
|
<td bgcolor='#6699FF'><strong><center>Simple Hommes</center></strong></td>
|
|
<td bgcolor='#FF66FF'><strong><center>Simple Dames</center></strong></td>
|
|
<td bgcolor='#FFFF00' colspan='2'><strong><center>Jeunes</center></strong></td>
|
|
<td bgcolor='#99FF33' colspan='2'><strong><center>Doubles</center></td></strong></tr>
|
|
</tr>
|
|
</table>
|
|
<br />
|
|
</font>
|
|
<?php
|
|
if($plann != 'jour') {
|
|
echo "<p style='font-size:16px;text-align:center;'>";
|
|
echo "<a href='resa_bi.php?annee=$annee&mois=$mois&jour=$jour&plann=sem_terrains&lien_cal=0&id_club=$club'>Affichage avec les terrains</a>";
|
|
echo "  ";
|
|
echo "<a href='resa_bi.php?annee=$annee&mois=$mois&jour=$jour&plann=sem_horaires&lien_cal=0&id_club=$club'>Affichage avec les horaires</a>";
|
|
echo "</p>";
|
|
}
|
|
|
|
/* Affichage planning */
|
|
if($plann=='jour') {
|
|
affichage_jour($jour_cal, $mois_cal, $annee, $club, $adm,0, $menu, $id_joueur_log,4,0,0);
|
|
}
|
|
else if($plann=='sem_terrains') {
|
|
affichage_semaine_terrain($jour_cal,$mois_cal,$annee,$club,4);
|
|
}
|
|
else {
|
|
affichage_semaine($jour_cal,$mois_cal,$annee,$club,4);
|
|
}
|
|
|
|
echo "<br /><br />";
|
|
echo "</font>";
|
|
include("piedDePage.php");
|
|
}
|
|
else {
|
|
echo("Non autorisé - Redirection vers la page de consultation des terrains dans 2 secondes");
|
|
sleep(2);
|
|
redirection("consult_borne.php?id_club=$club");
|
|
}
|
|
|
|
/************************************************************/
|
|
/* Conversion d'un timestamp MySQL en timestamp Unix */
|
|
/* (AAAAMMJJHHMMSS) => secondes depuis le 01/01/1970 00:00 */
|
|
/************************************************************/
|
|
function conversion_ts_mysql($champ_ts) {
|
|
$ts=0;
|
|
|
|
$annee=substr($champ_ts,0,4);
|
|
$mois=substr($champ_ts,5,2);
|
|
$jour=substr($champ_ts,8,2);
|
|
$heure=substr($champ_ts,11,2);
|
|
$min=substr($champ_ts,14,2);
|
|
$sec=substr($champ_ts,17,2);
|
|
$ts=mktime($heure, $min, $sec, $mois, $jour, $annee);
|
|
|
|
return $ts;
|
|
}
|
|
|
|
/* Redirection vers la page indiquée en pâral */
|
|
function redirection($url) {
|
|
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=$url' />";
|
|
echo "</head>";
|
|
echo "<body>";
|
|
echo "<p><a href='$url'>Redirection automatique en cours</a></p>";
|
|
echo "</body></html>";
|
|
}
|
|
|
|
|
|
|
|
?>
|