207 lines
7.5 KiB
PHP
Executable File
207 lines
7.5 KiB
PHP
Executable File
<?php
|
|
session_start();
|
|
header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
|
|
if(isset($_SESSION['Admin']) and $_SESSION['Admin']==2 and isset($_SESSION['Club'])) {
|
|
$id_club=$_SESSION['Club'];
|
|
?>
|
|
<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 />";
|
|
|
|
$motif=$_POST['motif'];
|
|
$type=$_POST['type'];
|
|
$date_arret=$_POST['date_arret'];
|
|
$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'];
|
|
$ferie=$_POST['ferie'];
|
|
$debut=$_POST['date_debut'];
|
|
$tournoi_cat=$_POST['tournoi_cat'];
|
|
|
|
/* Jours fériés fixes */
|
|
include("constantes.php");
|
|
$dates_feries_fixe=array_keys($feries_fixe);
|
|
|
|
// Tableau contenant les jours
|
|
$tab_jours=array();
|
|
for($i=0;$i<7;$i++) {
|
|
$nom="jour_".$i;
|
|
if(isset($_POST[$nom])) {
|
|
array_push($tab_jours, $_POST[$nom]);
|
|
}
|
|
}
|
|
|
|
/* 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, $[''], $[''], $['']);
|
|
|
|
/* Début du planning */
|
|
if(strlen($debut)==10) {
|
|
list($jour,$mois,$annee)=explode("/",$debut);
|
|
$ts_date_debut=mktime(date("H"), date("i"), date("s"), $mois, $jour, $annee);
|
|
}
|
|
else {
|
|
$ts_date_debut=time();
|
|
}
|
|
|
|
// tableaux contenant les terrains
|
|
$tab_terrains=$_POST['terrains'];
|
|
|
|
// 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_jours)==0) {
|
|
echo "Vous n'avez coché aucune journée.<br />";
|
|
echo "Veuillez recommencer en cliquant <a href='creer_resa_spec.php'>ici</a>.";
|
|
}
|
|
else if(count($tab_terrains)==0) {
|
|
echo "Vous n'avez coché aucun terrain.<br />";
|
|
echo "Veuillez recommencer en cliquant <a href='creer_resa_spec.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($date_arret=="") {
|
|
echo "Vous n'avez pas saisi de date d'arrêt.<br />";
|
|
echo "Veuillez recommencer en cliquant <a href='creer_resa_spec.php'>ici</a>.";
|
|
}
|
|
else {
|
|
// Jour d'arret des programmations
|
|
list($jour,$mois,$annee)=explode("/",$date_arret);
|
|
$date_arret_uk="$annee-$mois-$jour";
|
|
|
|
/* Fériés en BDD */
|
|
$annee_arret=$annee;
|
|
$annee_debut=date("Y");
|
|
if($annee_arret == $annee_debut) {
|
|
$requete="SELECT date_ferie FROM feries WHERE YEAR(date_ferie) = '$annee_arret'";
|
|
}
|
|
else {
|
|
$requete="SELECT date_ferie FROM feries WHERE YEAR(date_ferie) >= '$annee_debut' AND YEAR(date_ferie) <= '$annee_arret'";
|
|
}
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$existe_feries=mysqli_num_rows($reponse);
|
|
$dates_variables=array();
|
|
if($existe_feries > 0) {
|
|
while($ferie=mysqli_fetch_object($reponse)) {
|
|
array_push($dates_variables, $ferie->date_ferie);
|
|
}
|
|
}
|
|
|
|
// Init au jour courant
|
|
$now_ts=$ts_date_debut;
|
|
|
|
// heures
|
|
$heure_debut="$heure_debut:$min_debut:00";
|
|
$heure_fin="$heure_fin:$min_fin:00";
|
|
|
|
/* 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
|
|
do {
|
|
$date_resa=date("Y-m-d", $now_ts);
|
|
$date_fr=date("d/m/Y", $now_ts);
|
|
$now_tab=getDate($now_ts);
|
|
$controle_ferie=date("d/m", $now_ts);
|
|
//trouve le jour demandé (ex mardi)
|
|
if(in_array($[''],$tab_jours)) {
|
|
$resa_ok=1;
|
|
/* Controle si la date est comprise dans les feries et que les résas dans les fériés sont activées */
|
|
/* Ferie fixe */
|
|
if(in_array($controle_ferie,$dates_feries_fixe) and $ferie != '1') {
|
|
$resa_ok=0;
|
|
}
|
|
/* Ferie variable (date qui change tous les ans */
|
|
if(in_array($date_resa,$dates_variables) and $ferie != '1') {
|
|
$resa_ok=0;
|
|
}
|
|
|
|
/* Si la résa est OK */
|
|
if($resa_ok==1) {
|
|
/* 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','$id_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 $date_fr : ajoutée avec succès<br />";
|
|
}
|
|
}
|
|
// Avance dune journée
|
|
$now_ts=$now_ts+(3600*24);
|
|
} while($date_resa!=$date_arret_uk);
|
|
echo "Les réservations ont étés correctement ajoutés au planning.<br />";
|
|
echo "Cliquez sur retour pour revenir au menu principal.";
|
|
}
|
|
|
|
//mysql_close($db_connection);
|
|
|
|
echo "<br /><br />";
|
|
include("deco_admin_club.php");
|
|
include("piedDePage.php");
|
|
}
|
|
else {
|
|
echo("Non autorisé - Redirection vers la page d'identification dans 2 secondes");
|
|
sleep(2);
|
|
include("admin_login.php");
|
|
}
|
|
|
|
?>
|