402 lines
16 KiB
PHP
Executable File
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éservation des terrains du ",$titre,"</title>";
|
|
}
|
|
else {
|
|
echo "<title>Tyroltenn.net - Borne de Ré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é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é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éservations de terrains durant le tournoi,<br />veuillez réserver au $club->telephone. <br />";
|
|
$texte.="Merci de votre compré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éservation des terrains du ",$titre,"<br />Vous pouvez également réserver par téléphone au 0891 6789 00 (0.225€/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éservations sont désormais limitées à $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éneau horaire voulu pour réserver ce cré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ère étape : Choisissez la date en cliquant dessus (en rouge : aujourd'hui ; en vert : date de réservation)</b></center></td>";
|
|
echo "<tr><td colspan='5' bgcolor='#FFFACD'><font size='+1'><center><b>DATE DE RÉ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ème étape : Choisissez le(s) Court(s) à ré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ème étape : Indiquez le type de la ré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ème étape : Indiquez les heures de début et de fin de réservation et validez</b></center></td></tr>";
|
|
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($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é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;
|
|
}
|
|
?>
|