Files
resatennis_tyroltenn/www/tyroltenn/resa_borne.php

402 lines
16 KiB
PHP
Executable File

<?php
include ("conf.php");
/* Si réservation effectuée */
if(count($_POST) > 0) {
$id_joueur=$_POST['id_joueur'];
$jour=$_POST['jour'];
$mois=$_POST['mois'];
$annee=$_POST['annee'];
$type=$_POST['type'];
$nom_resa=$_POST['nom'];
$heure_debut=$_POST['heure_resa_debut'];
$min_debut=$_POST['min_resa_debut'];
$heure_fin=$_POST['heure_resa_fin'];
$min_fin=$_POST['min_resa_fin'];
include_once("resa_borne_suite.php");
$message_erreur=reservation($id_joueur, $jour, $mois, $annee, $type, $nom_resa, $heure_debut, $heure_fin, $min_debut, $min_fin, $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(count($_GET) > 0) {
// Id borne club
$id_joueur=$_GET['borne'];
}
include_once("constantes.php");
echo "<html>";
echo "<head>";
$requete="SELECT j.nom,j.prenom FROM joueur j WHERE id_joueur='$id_joueur'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$reptab=mysqli_fetch_array($reponse);
$nom=$reptab[0];
$prenom=$reptab[1];
/* test si borne connecté */
$borne=0;
$requete="SELECT * FROM compte WHERE id_joueur='$id_joueur' AND statut='Borne'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe_borne=mysqli_num_rows($reponse);
if($existe_borne>0) {
$borne=1;
$compte=mysqli_fetch_object($reponse);
$id_club=$compte->id_club;
$requete1="SELECT nom,telephone FROM club WHERE id_club LIKE '$id_club'";
$result1=mysqli_query($db_connection, $requete1) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$club=mysqli_fetch_object($result1);
$titre=$club->nom;
echo "<title>Tyroltenn.net - Borne de R&eacute;servation des terrains du ",$titre,"</title>";
}
else {
echo "<title>Tyroltenn.net - Borne de R&eacute;servation</title>";
}
echo "<link rel='stylesheet' href='style.css' type='text/css'>";
echo "</head>";
if ($borne==0){
echo '<body bgcolor="#FFFFFF" text="#000000" link="#3333CC" vlink="#666699" alink="#990099">';
echo "<center><font color=FF0000><h3><b>La borne contient un num&eacute;ro invalide.<br />";
echo "Cliquez <a href='menu_admin_club.php'>ici</a> pour revenir au menu d'administration.</b></h3></font></center>";
echo "</body>";
echo "</html>";
}
else {
echo '<body';
if(count($_POST) > 0 and $message_erreur != "") {
echo " onload='javascript:alert(\"$message_erreur\");'";
}
echo '>';
echo '<center><p align="center"><font face="Tahoma" color="#FFA000" size="4">';
echo "<font color='#FF6B21' size='+2'>Bienvenue sur la $prenom de r&eacute;servation des terrains de tennis de $nom</font>";
echo "<br />";
include("calendrier/calendrier.incborne.php");
include("calendrier/string.inc.php");
/* Clic sur un lien du calendrier ? */
if(isset($_GET['lien_cal'])) {
$lien=$_GET['lien_cal'];
}
else {
$lien=0;
}
/* 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);
}
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);
}
else {
$timestamp=time();
}
$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();
}
/* Si heure de réservation */
if(isset($_GET['heure'])) {
$heure_resa_deb=$_GET['heure'];
$heure_resa_fin=$heure_resa_deb+1;
}
else {
$heure_resa_deb=$_GET['heure'];
$heure_resa_fin=$heure_resa_deb+1;
}
$mois_courrant=date('m', $timestamp);
$mois=date('m', $timestamp);
$jour=date("d", $timestamp);
$annee=date("Y",$timestamp);
$aujourdhui = date("Ymd", $timestamp);
$requete2="SELECT count(*) from reservable where id_club LIKE '$id_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'";
$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='$id_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'><b>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 $club->telephone. <br />";
$texte.="Merci de votre compr&eacute;hension.</b></font>";
$affiche_tournoi=1;
}
}
echo "<center>$texte</center>";
/* Recherche des heures ouvertures fermetures des terrains */
$requete="SELECT MIN(HOUR(heure_ouverture)), MAX(HOUR(heure_fermeture)) FROM reservable WHERE id_club='$id_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);
/* controle du nombre de reservations pour cette journée pour ce joueur */
$date_resa=$annee."-".$mois."-".$jour;
$requete="SELECT COUNT(id_reservation) FROM reservation WHERE id_joueur='$id_joueur' AND date_resa='$date_resa'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$nb_resa_jour=mysqli_fetch_array($reponse);
include("constantes.php");
$titre="$club->nom";
echo "<font color=ff0000 size='+1'>R&eacute;servation des terrains du ",$titre,"<br />Vous pouvez &eacute;galement r&eacute;server par t&eacute;l&eacute;phone au 0891 6789 00 (0.225&euro;/min)</font><br /><br />";
$requete="SELECT duree_borne FROM quota_resa WHERE id_club='$id_club'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe=mysqli_num_rows($reponse);
if($existe > 0) {
$quota_resa=mysqli_fetch_object($reponse);
$duree=$quota_resa->duree_borne;
if($duree > 0) {
echo "<font color=ff0000 size='+1'><b>Les r&eacute;servations sont d&eacute;sormais limit&eacute;es &agrave; $duree ";
if($duree == 1) {
echo "heure";
}
else if($duree > 1) {
echo "heures";
}
echo "</b></font><br /><br />";
}
}
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>";
/* si le joueur peut réserver un terrain, afficher le formulaire (si nombre de jetons suffisants et nb resa par jour pas dépassé */
$duree_resa=1;
$mois_courrant=$mois_courrant-1;
echo "<center><table border='1' width='80%' style='border-width: 1px;'>";
echo "<tr><td colspan='5' bgcolor='#FFFACD'><center><b>1&egrave;re &eacute;tape : Choisissez la date en cliquant dessus (en rouge : aujourd'hui ; en vert : date de r&eacute;servation)</b></center></td>";
echo "<tr><td colspan='5' bgcolor='#FFFACD'><font size='+1'><center><b>DATE DE R&Eacute;SERVATION : le ",$jour," ",monthNumToName($mois)," ",$annee,"</b></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,$id_club,$date_selectionnee,$id_joueur);
}
else{
echo showCalendar($annee."-".$mois_courrant,$id_club,$date_selectionnee,$id_joueur);
}
echo "</td><td bgcolor='#FFEEAD' HEIGHT='40'><center>";
$mois_courrant=$mois_courrant+1;
echo showCalendar($annee."-".$mois_courrant,$id_club,$date_selectionnee,$id_joueur);
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,$id_club,$date_selectionnee,$id_joueur);
}
else{
$mois_courrant=$mois_courrant+1;
echo showCalendar($annee."-".$mois_courrant,$id_club,$date_selectionnee,$id_joueur);
}
echo "</td></tr>";
echo "</table>";
echo "<form action='resa_borne.php' method='post'>";
echo "<table border='1' width='80%' style='border-width: 1px;'>";
echo "<input type='hidden' name='id_joueur' value='$id_joueur'>";
echo "<input type='hidden' name='jour' value='$jour'>";
echo "<input type='hidden' name='mois' value='$mois'>";
echo "<input type='hidden' name='annee' value='$annee'>";
$requete="SELECT id_reservable, nom FROM reservable WHERE id_club='$id_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><b>2&egrave;me &eacute;tape : Choisissez le(s) Court(s) &agrave; r&eacute;server</b></center></td>";
echo "<tr>";
$requete="SELECT id_reservable, nom FROM reservable WHERE id_club='$id_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($_GET['reservable'] == $nom_courts->id_reservable) {
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><b>3&egrave;me &eacute;tape : Indiquez le type de la r&eacute;servation et votre nom</b></center></td></tr>";
echo "<tr><td>Type : </td><td><select name='type'>";
$req="SELECT * FROM rubriques_resa WHERE id_club='$id_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) {
if(in_array($rubrique->nom, $types_defaut)) {
if($rubrique->nom != 'Invite') {
echo "<option value='$rubrique->nom'";
if($rubrique->nom=='Loisir') {
echo " selected='true'";
}
echo ">$rubrique->nom</option>";
}
}
else {
echo "<option value='$rubrique->id_rubrique'>$rubrique->nom</option>";
}
}
}
echo "</select></td>";
echo "<td colspan='4'><center>Entrer votre nom : <input type='text' name='nom' size='20'></center></td></tr>";
echo "<tr><td colspan='6' bgcolor='#FFFACD'><center><b>4&egrave;me &eacute;tape : Indiquez les heures de d&eacute;but et de fin de r&eacute;servation et validez</b></center></td></tr>";
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($heure_resa_deb==$i) {
echo "selected='true'";
}
echo ">$i";
}
echo "</select>:";
echo "<input type='hidden' name='min_resa_debut' value='00'>00</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($heure_resa_fin==$i) {
echo "selected='true'";
}
echo ">$i";
}
echo "</select>:";
echo "<input type='hidden' name='min_resa_fin' value='00'>00</td>";
echo "<td colspan='2'><center><input type='submit' name='reserver' value='Valider'></center></td></tr>";
echo "</table>";
echo "</form>";
echo "<br />";
echo "</table>";
?>
<table border='1'>
<th colspan='6' bgcolor='#FFFACD'><b>L&eacute;gende des couleurs</b></th>
<?php
/* Affichage légende */
$req="SELECT * FROM rubriques_resa WHERE id_club='$id_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 />
<?php
/* Fonction d'affichage de la borne */
include("fct_affichage_planning.php");
affichage_jour($jour, $mois, $annee, $id_club, 0, 1,0, $id_joueur,$cons, 0,0,1);
}
echo "<br /><br />";
include("piedDePage.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;
}
?>