Files
resatennis_tyroltenn/www/tyroltenn/terrain_suite3.php

816 lines
34 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'];
include ("conf.php");
include ("gestion_infos.php");
include("constantes.php");
include("fct_affichage_planning.php");
if(count($_GET) > 0 and $_GET['type_log']!='consult') {
$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=0;
}
if($plann=='jour') {
$plann_suiv='semaine';
$bouton="Affichage planning semaine &agrave; venir";
}
else {
$plann_suiv='jour';
$bouton="Affichage planning jour selectionn&eacute;";
}
$liste_noms="";
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) {
$club=$_POST['club'];
$jour=$_POST['jour'];
$mois=$_POST['mois'];
$annee=$_POST['annee'];
$type_resa=$_POST['type'];
$motif=$_POST['motif'];
$id_adverse=$_POST['adversaire'];
$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_adv=$_POST['nom_adv'];
$nom_bouton=$_POST['bouton'];
$menu=$_POST['menu'];
$plann=$_POST['plann'];
/*if(($adm==0 and $sponsor==0 and (! empty($nom_adv)) and $type_resa=='Loisir') or (empty($nom_adv) and $type_resa != 'Loisir')) {*/
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 $sponsor==0 and $location==0 and empty($nom_adv)) {
$message_erreur="Vous devez saisir un nom de joueur pour les reservations en Loisir !!";
}
$erreur=TRUE;
//echo "<script type='text/javascript'>";
//echo "document.location.href='terrain_suite3.php#date_form';";
//echo "</script>";
}
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!="" and $type_resa!="") {
/* Test si un adversaire est présent dans le cas d'une réservation en Loisir */
if(($type_resa =='Loisir' and $adm==0 and $sponsor==0 and $location==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 $sponsor==0 and $location==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>";
$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&eacute;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'>";
include("deco_resa.php");
echo "</div>";
/* 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);
echo "<div class='droite'>";
echo "<a href='terrain_suite3.php?annee=$annee&mois=$mois&jour=$jour&plann=$plann_suiv&lien_cal=0&id_club=$club'>$bouton</a>";
echo "</div>";
echo "<br /><br />";
echo "<center><p><font color='#FF6B21' size='+2'>";
$compte_act=0; /* indique si le compte est activé ou désactivé */
$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.inc3.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 "<center> STATUS $compte->statut </center>"; */
$compte_ok=0;
/*if(utf8_encode($compte->statut)=="Invité") {*/
if($compte->statut=="Invité") {
$invite=1;
$invite_solde=$compte->solde;
$compte_ok=1;
if($compte->solde > 1 and $compte->solde <=100) {
echo "<p>Vous &ecirc;tes invit&eacute; au club de $reponse1->nom. Il vous reste $compte->solde jetons disponibles.</p>";
}
else if($compte->solde == 1) {
echo "<p>Vous &ecirc;tes invit&eacute; au club de $reponse1->nom. Il vous reste $compte->solde jeton disponible.</p>";
}
else if($compte->solde > 100) {
echo "<p>Vous &ecirc;tes invit&eacute; au club de $reponse1->nom.<br />Vous n'&ecirc;tes pas limit&eacute; en nombre de jetons.</p>";
}
else {
echo "<p>Vous &ecirc;tes invit&eacute; au club de $reponse1->nom. Vous n'avez plus de jetons disponibles et donc vous ne pouvez plus r&eacute;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é") {
/* else if(utf8_encode($compte->statut)=="MembreLicencié") {*/
$compte_ok=1;
/* Affichage d'une AG s'il y en a une */
afficher_ag($club);
/* Type du compte */
if($compte->solde > 1 and $compte->solde <=100) {
echo "<p>Vous &ecirc;tes licenci&eacute; au club de $reponse1->nom. Il vous reste $compte->solde jetons disponibles sur votre carte.</p>";
}
else if($compte->solde == 1) {
echo "<p>Vous &ecirc;tes invit&eacute; au club de $reponse1->nom. Il vous reste $compte->solde jeton disponible sur votre carte.</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;
/* Test si le joueur est un sponsor - resa illimite */
$saison=date("Y");
if(date("m") >= 10 and date("m")<=12) {
$saison+=1;
}
$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;
echo "<br /><br />Vous &ecirc;tes sponsor de ce club<br />";
}
else {
$sponsor=0;
}
echo "<br />";
}
if($compte_ok==1) {
$ts_now=time();
$ts_debut=conversion_ts_mysql($compte->actif_debut);
$ts_fin=conversion_ts_mysql($compte->actif_fin);
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 &agrave; renouveler aupr&egrave;s du club.</strong></font>";
}
}
else if($ts_fin == $ts_debut) {
$compte_act=0;
echo "<font color='#FF0000' size='+1'><strong>Votre compte a &eacute;t&eacute; d&eacute;sactiv&eacute; par l'administrateur du club.</strong></font>";
}
}
/* Clic sur un lien du calendrier ? */
if(isset($_GET['lien_cal'])) {
$lien=$_GET['lien_cal'];
}
else {
$lien=0;
}
$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>");
$1_row=mysqli_fetch_row($1);
$nb_terrains=$1_row[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&eacute;servations de terrains durant le tournoi,<br />veuillez r&eacute;server au $reponse1->telephone. <br />";
$texte.="Merci de votre compr&eacute;hension.</strong></font>";
$affiche_tournoi=1;
}
}
echo "$texte</center>";
echo "<font color='#FF0000' size='+1'><center>";
echo "R&eacute;servation des terrains du $club_nom->nom<br />Vous pouvez &eacute;galement r&eacute;server par t&eacute;l&eacute;phone au 0891 678 900<br /><br />";
$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 and $sponsor == 0) {
echo "<strong>Les r&eacute;servations de type Loisir sont d&eacute;sormais limit&eacute;es &agrave; $quota->duree_resa_loisir heure</strong>";
}
else if($quota->duree_resa_loisir > 1 and $sponsor == 0) {
echo "<strong>Les r&eacute;servations de type Loisir sont d&eacute;sormais limit&eacute;es &agrave; $quota->duree_resa_loisir heures</strong>";
}
else if($sponsor == 1) {
echo "<strong>Vous n'&ecirc;tes pas limit&eacute; par la dur&eacute;e des r&eacute;servations.</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;
}
echo "<p style='font-weight:bold;font-size:14px;text-align:center;'>";
echo "Vous pouvez cliquer dans la case correspondante au terrain et au cr&eacute;neau horaire voulu pour r&eacute;server ce cr&eacute;neau.";
echo "</p>";
echo "<a id='#date_form'></a>";
/* 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==0 or $adm==1 or $sponsor==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&egrave;re &eacute;tape : Choisissez la date en cliquant dessus (en rouge : aujourd'hui ; en vert : date de r&eacute;servation)</strong></center></td>";
echo "<tr><td colspan='5' bgcolor='#FFFACD'><font size='+1'><center><strong>DATE DE R&Eacute;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='terrain_suite3.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&egrave;me &eacute;tape : Choisissez le(s) Court(s) &agrave; r&eacute;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' and count($_GET)>0)) {
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&egrave;me &eacute;tape : Indiquez le type et le motif de la r&eacute;servation.<br />Pour les r&eacute;servations de type Invit&eacute;, 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(($rubrique->visible_joueur=='oui' or $adm==1) and $rubrique->nom != 'Libre') {
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&eacute;servation : <input type='text' name='motif' size='30'";
if(count($_POST) > 0 and $erreur==TRUE) {
echo " value='$motif'";
}
echo "></center></td></tr>";
/* Obligatoire pour les réservations en Loisir (pas les joueurs en locations horaires */
if($location == 0) {
echo "<tr><td colspan='6' bgcolor='#FFFACD'><center><strong>4&egrave;me &eacute;tape (obligatoire pour les r&eacute;servations en Loisir) :<br />";
if($liste_noms =="") {
echo "Saisissez les premi&egrave;res lettres du nom de votre adversaire puis cliquez sur Rechercher.</strong></center></td></tr>";
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) and $liste_noms != "") {
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>";
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&eacute;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&egrave;me &eacute;tape : Indiquez les heures de d&eacute;but et de fin de r&eacute;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&eacute;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 (count($_GET) >0 and $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 (count($_GET) >0 and $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&eacute;servation bloqu&eacute;e.<br />Pour pouvoir r&eacute;server de nouveau, un administrateur doit valider ou annuler votre derni&egrave;re r&eacute;servation.</strong></center></font>";
}
}
else if($resa_non_valide == 1) {
echo "<font size='4' color='#FF0000'><center><strong>Vous avez une r&eacute;servation bloqu&eacute;e.<br />Pour pouvoir r&eacute;server de nouveau, un administrateur doit valider ou annuler votre derni&egrave;re r&eacute;servation.</strong></center></font>";
}
else {
echo "<font size='4' color='#FF0000'><center><strong>R&eacute;servation bloqu&eacute;e</strong></center></font>";
}
echo "<br />";
echo "<table border='1'>";
echo "<th colspan='6' bgcolor='#FFFACD'><strong>L&eacute;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 "<center>";
echo "<a href='terrain_suite3.php?annee=$annee&mois=$mois&jour=$jour&plann=sem_terrains&lien_cal=0&id_club=$club'>Affichage avec les terrains</a>";
echo "&nbsp;&nbsp;&nbsp";
echo "<a href='terrain_suite3.php?annee=$annee&mois=$mois&jour=$jour&plann=sem_horaires&lien_cal=0&id_club=$club'>Affichage avec les horaires</a>";
echo "</center>";
}
/* Affichage planning */
if($plann=='jour') {
affichage_jour($jour_cal, $mois_cal, $annee, $club, $adm,0, $menu, $id_joueur_log,2,0,0,0);
}
else if($plann=='sem_terrains') {
affichage_semaine_terrain($jour_cal,$mois_cal,$annee,$club,2);
}
else {
affichage_semaine($jour_cal,$mois_cal,$annee,$club,1);
}
echo "<br /><br />";
echo "</font>";
include("piedDePage.php");
}
else {
echo("Non autorisé - Redirection vers la page d'identification dans 2 secondes");
sleep(2);
include("login_resa.php");
}
/*****************************************************/
/* fonction de controle de format de la licence FFT */
/*****************************************************/
function verifierLicence($numero_fft){
$numero=0;
$res=1;
// controle de la licence si le numero de licence est valide (1234567K par ex,)
if(is_numeric($numero_fft[0])) {
for($i=0;$i<7;$i++){$numero=$numero+($numero_fft[$i]* pow (10,(6-$i)));}
$cle=$numero_fft[7];
$tab_lettres=array("A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z");
$mod=($numero % 23);
if ($mod==0){$mod=23;}
if(strtoupper($cle)!=$tab_lettres[$mod-1]){
$res=0;
}
}
else {
$res=0;
}
return $res;
}
/************************************************************/
/* 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;
}
?>