Files
resatennis_tyroltenn/www/tyroltenn/resa_bi.php

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 &agrave; venir";
}
else {
$plann_suiv='jour';
$bouton="Affichage planning jour selectionn&eacute;";
}
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&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'>";
echo "<font style='font-size:18px;'><a href='deco_borne.php?id_club=$club'>Se d&eacute;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 &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é") {
$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 &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 licenci&eacute; au club de $reponse1->nom. Il vous reste $compte->solde jeton disponible.</p>";
}
else if($compte->solde > 100) {
echo "<p>Vous &ecirc;tes licenci&eacute; au club de $reponse1->nom.<br />Vous n'&ecirc;tes pas limit&eacute; 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 &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>";
}
}
echo "<h3><center>N'oubliez pas de vous d&eacute;connecter lorsque vous aurez termin&eacute; !!</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&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 />";
echo "Si la r&eacute;servation est un match officiel,<br /> vous pouvez saisir le num&eacute;ro de licence FFT de votre adversaire dans la case pr&eacute;vue &agrave; 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&eacute;neau horaire voulu pour r&eacute;server ce cr&eacute;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&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) {
echo "<strong>Les r&eacute;servations de type Loisir sont d&eacute;sormais limit&eacute;es &agrave; $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&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='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&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') {
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(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>";
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 />";
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&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 $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&eacute;servation bloqu&eacute;e.<br />Pour pouvoir r&eacute;server de nouveau, un administrateur doit valider ou annuler votre derni&egrave; 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 "<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 "&nbsp;&nbsp;&nbsp";
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>";
}
?>