173 lines
7.0 KiB
PHP
Executable File
173 lines
7.0 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'];
|
|
?>
|
|
<html>
|
|
|
|
<head>
|
|
<meta http-equiv="Content-Language" content="fr">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
|
|
<title>LE SERVEUR VOCAL DE RESERVATION DES SALLES DE TENNIS</title>
|
|
<link rel="stylesheet" href="style.css" type="text/css">
|
|
</head>
|
|
|
|
<body>
|
|
<div id="tout">
|
|
<?php
|
|
include("enTete.php");
|
|
include("menu.php");
|
|
include("conf.php");
|
|
|
|
echo "<div id='contenu'>";
|
|
echo "<center><h1>Création d'une réservation spécifique à la semaine</h1></center><br />";
|
|
|
|
if($type=='joueur') {
|
|
$requete="SELECT id_joueur, nom, prenom, mot_passe 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);
|
|
$adm=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, mot_passe 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);
|
|
$adm=1;
|
|
$id_club=$admin->id_club;
|
|
}
|
|
|
|
if($adm==1) {
|
|
$motif=$_POST['motif'];
|
|
$type=$_POST['type'];
|
|
$dates=$_POST['dates'];
|
|
$num_fft=$_POST['num_fft'];
|
|
$heure_debut=$_POST['heure_debut'];
|
|
$heure_fin=$_POST['heure_fin'];
|
|
$min_debut=$_POST['min_debut'];
|
|
$min_fin=$_POST['min_fin'];
|
|
$tournoi_cat=$_POST['tournoi_cat'];
|
|
|
|
/* calcul des timestamp de début et fin */
|
|
$now_tab=getDate(time());
|
|
$ts_debut=mktime($heure_debut, $min_debut, 0, $[''], $[''], $['']);
|
|
$ts_fin=mktime($heure_fin, $min_fin, 0, $[''], $[''], $['']);
|
|
|
|
|
|
// tableaux contenant les terrains
|
|
$tab_terrains=array();
|
|
$requete="SELECT id_reservable 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>");
|
|
while($terrain=mysqli_fetch_object($reponse)) {
|
|
$nom="terrain_".$terrain->id_reservable;
|
|
if(isset($_POST[$nom])) {
|
|
array_push($tab_terrains, $_POST[$nom]);
|
|
}
|
|
}
|
|
|
|
// id du joueur
|
|
$requete="SELECT id_joueur FROM joueur WHERE numero_fft='$num_fft'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$nb=mysqli_num_rows($reponse);
|
|
if($nb>0) {
|
|
$joueur=mysqli_fetch_object($reponse);
|
|
}
|
|
|
|
/* Gestion des erreurs */
|
|
if(count($tab_terrains)==0) {
|
|
echo "Vous n'avez coché aucun terrain.<br />";
|
|
echo "Veuillez recommencer en cliquant <a href='creer_resa_date_ar.php'>ici</a>.";
|
|
}
|
|
else if($nb==0) {
|
|
echo "Le numéro de licence que vous avez saisi est inconnu de notre site.<br />";
|
|
echo "Veuillez recommencer en cliquant <a href='creer_resa_spec.php'>ici</a>.";
|
|
}
|
|
else if($ts_debut >= $ts_fin) {
|
|
echo "Les horaires que vous avez saisi ne sont pas corrects.<br />";
|
|
echo "Veuillez recommencer en cliquant <a href='creer_resa_spec.php'>ici</a>.";
|
|
}
|
|
else if($dates=="") {
|
|
echo "Vous n'avez pas saisi de dates pour les réservations.<br />";
|
|
echo "Veuillez recommencer en cliquant <a href='creer_resa_spec.php'>ici</a>.";
|
|
}
|
|
else {
|
|
// heures
|
|
$heure_debut="$heure_debut:$min_debut:00";
|
|
$heure_fin="$heure_fin:$min_fin:00";
|
|
|
|
/* Si une date a été saisie (pas de \n trouvé) */
|
|
if(strpos($dates, "\n") === false) {
|
|
$dates_tab=array();
|
|
$dates_tab[]=$dates;
|
|
}
|
|
else {
|
|
$dates_tab=explode("\n",$dates);
|
|
}
|
|
|
|
/* Tournoi ? */
|
|
if($type=='Tournoi') {
|
|
list($id_tournoi, $id_categorie)=explode('-', $tournoi_cat);
|
|
}
|
|
else {
|
|
$id_tournoi=0;
|
|
$id_categorie=0;
|
|
}
|
|
|
|
// Pour la période aujourd'hui -> date d'arrêt
|
|
for($cpt=0;$cpt<count($dates_tab);$cpt++) {
|
|
list($jour, $mois, $annee)=explode("/", $dates_tab[$cpt]);
|
|
$annee=trim($annee); $mois=trim($mois); $jour=trim($jour);
|
|
$date_resa="$annee-$mois-$jour";
|
|
/* Pour chaque terrain */
|
|
for($i=0;$i<count($tab_terrains);$i++) {
|
|
$reservable=$tab_terrains[$i];
|
|
$id_joueur=$joueur->id_joueur;
|
|
// COntrole si résa à cette heure la
|
|
//$requete="SELECT id_reservation FROM reservation WHERE date_resa='$date_resa' AND heure_resa_deb='$heure_debut' AND id_reservable='$reservable'";
|
|
$requete="SELECT id_reservation, heure_resa_deb, heure_resa_fin FROM reservation WHERE date_resa='$date_resa' AND id_reservable='$reservable' AND ((heure_resa_deb >= '$heure_debut' AND heure_resa_deb<'$heure_fin') OR (heure_resa_fin>'$heure_debut' AND heure_resa_fin<='$heure_fin') OR (heure_resa_deb<='$heure_debut' AND heure_resa_fin>='$heure_fin'))";
|
|
$res=mysqli_query( $db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br />");
|
|
$nb=mysqli_num_rows($res);
|
|
// ON supprime la reservation
|
|
if($nb>0) {
|
|
while($res_tab=mysqli_fetch_object($res)) {
|
|
$id_resa=$res_tab->id_reservation;
|
|
$requete="DELETE FROM reservation WHERE id_reservation='$id_resa'";
|
|
$reponse=mysqli_query( $db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br />");
|
|
}
|
|
}
|
|
if(is_numeric($type)) {
|
|
$requete="INSERT INTO reservation(type,id_tournoi,id_categorie,type_reservation,id_joueur,heure_resa_deb, heure_resa_fin,date_resa,id_reservable,id_rubrique) VALUES('Autre','$îd_tournoi','$id_categorie','$motif','$id_joueur','$heure_debut','$heure_fin','$date_resa','$reservable','$type')";
|
|
}
|
|
else {
|
|
$requete="INSERT INTO reservation(type,id_tournoi,id_categorie,type_reservation,id_joueur,heure_resa_deb, heure_resa_fin,date_resa,id_reservable,id_rubrique) VALUES('$type','$id_tournoi','$id_categorie','$motif','$id_joueur','$heure_debut','$heure_fin','$date_resa','$reservable','0')";
|
|
}
|
|
$res=mysqli_query( $db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br />");
|
|
}
|
|
echo "Réservation du $jour/$mois/$annee : ajouté<br />";
|
|
}
|
|
echo "Les réservations ont étés correctement ajoutés au planning.<br />";
|
|
echo "Cliquez sur retour pour revenir au menu principal.";
|
|
}
|
|
}
|
|
else {
|
|
echo "<center><b>Cette page est réservée aux administrateurs de réservations.</b></center>";
|
|
}
|
|
|
|
|
|
mysql_close($db_connection);
|
|
|
|
echo "<br /><br />";
|
|
include("deco_resa.php");
|
|
include("piedDePage.php");
|
|
}
|
|
else {
|
|
echo("Non autorisé - Redirection vers la page d'identification dans 2 secondes");
|
|
sleep(2);
|
|
include("login_resa.php");
|
|
}
|