223 lines
7.3 KiB
PHP
Executable File
223 lines
7.3 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>Planning d'un terrain à 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) {
|
|
|
|
// Planning semaine - terrain/salle spécifique
|
|
// Format ligne
|
|
// Jour de la semaine heure_debut heure_fin Code Motif
|
|
// Codes :
|
|
// CT Cours Tennis E: Entretien A : autre TT : championnat tennis
|
|
|
|
// Donnees HTML
|
|
$reservable=$_POST['terrain'];
|
|
$date_fin_planning=$_POST['date_arret'];
|
|
$ferie=$_POST['ferie'];
|
|
$date_debut=$_POST['debut'];
|
|
|
|
/* Festion de la date de début du planning */
|
|
if(empty($date_debut) or strlen($date_debut)<10) {
|
|
$ts_debut=time();
|
|
}
|
|
else {
|
|
list($jour,$mois,$annee)=explode("/", $date_debut);
|
|
$ts_debut=mktime(7,0,0,$mois,$jour,$annee);
|
|
}
|
|
|
|
/* Jours fériés fixes */
|
|
include("constantes.php");
|
|
$dates_feries_fixe=array_keys($feries_fixe);
|
|
|
|
// Tableau jour
|
|
$tab_jours=array("dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi");
|
|
|
|
//ouverture planning
|
|
$contenu_fichier=$_POST['planning'];
|
|
if(strpos($contenu_fichier, "\n") === false) {
|
|
$lignes=array();
|
|
$lignes[]=$contenu_fichier;
|
|
}
|
|
else {
|
|
$lignes=explode("\n",$contenu_fichier);
|
|
}
|
|
|
|
// Date arret au format anglais
|
|
list($jour,$mois,$annee)=explode("/",$date_fin_planning);
|
|
$date_arret="$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);
|
|
}
|
|
}
|
|
|
|
for($resa=0;$resa<count($lignes);$resa++) {
|
|
/* Enleve les retours à la ligne */
|
|
$lignes[$resa]=str_replace("\n","",$lignes[$resa]);
|
|
list($jour, $heure_debut, $heure_fin, $code, $motif)=explode("\t",$lignes[$resa]);
|
|
/* Enleve les espaces en debut et fin de chaine */
|
|
$jour=trim($jour);
|
|
$jour=strtolower($jour);
|
|
$heure_debut=trim($heure_debut);
|
|
$heure_fin=trim($heure_fin);
|
|
$code=trim($code);
|
|
$motif=trim($motif);
|
|
|
|
if($jour != "" and $heure_debut != "" and $heure_fin !="" and $code!="" and $motif!="") {
|
|
// Détermine le code du jour
|
|
if(in_array($jour, $tab_jours)) {
|
|
$num_jour=array_search($jour, $tab_jours);
|
|
}
|
|
else {
|
|
$num_jour=-1;
|
|
}
|
|
|
|
// Horaires
|
|
if(strpos(':', $heure_debut)==1)
|
|
$heure_debut="0".$heure_debut.":00";
|
|
else
|
|
$heure_debut=$heure_debut.":00";
|
|
if(strpos(':', $heure_fin)==1)
|
|
$heure_fin="0".$heure_fin.":00";
|
|
else
|
|
$heure_fin=$heure_fin.":00";
|
|
|
|
// Code Réservation
|
|
$id_joueur='1275';
|
|
if($code=="E") {
|
|
$type_resa="Entretien";
|
|
}
|
|
else if($code=="TT") {
|
|
$type_resa="Championnat";
|
|
}
|
|
else if($code=="CT") {
|
|
$type_resa="Cours";
|
|
}
|
|
else if($code=="LT") {
|
|
$type_resa="Loisir";
|
|
}
|
|
else {
|
|
$type_resa="Autre";
|
|
}
|
|
|
|
/* Prépare le texte du motif */
|
|
$motif_resa="$motif";
|
|
|
|
// Si le jour et l'id du joueur est ok
|
|
if($num_jour>=0 and $id_joueur>0) {
|
|
// Maintenant
|
|
$ts=$ts_debut;
|
|
do {
|
|
$now=getDate($ts);
|
|
$date_jour=date("Y-m-d", $ts);
|
|
$date_fr=date("d/m/Y", $ts);
|
|
$controle_ferie=date("d/m", $ts);
|
|
// Si le jour correspond au jour demandé
|
|
if($num_jour == $['']) {
|
|
/* COntrole des jours fériés */
|
|
$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) {
|
|
// Controle si résa à cette heure la
|
|
$requete="SELECT id_reservation FROM reservation WHERE date_resa='$date_jour' AND heure_resa_deb='$heure_debut' AND id_reservable='$reservable'";
|
|
$res=mysqli_query( $db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br />");
|
|
$res_tab=mysqli_fetch_object($res);
|
|
$nb=mysqli_num_rows($res);
|
|
// ON supprime la reservation
|
|
if($nb>0) {
|
|
$id_resa=$res_tab->id_reservation;
|
|
$requete="DELETE FROM reservation WHERE id_reservation='$id_resa'";
|
|
$res=mysqli_query( $db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br />");
|
|
}
|
|
$requete="INSERT INTO reservation(type,id_tournoi,id_categorie,type_reservation,id_joueur,heure_resa_deb, heure_resa_fin,date_resa,id_reservable) VALUES('$type_resa','0','0','$motif_resa','$id_joueur','$heure_debut','$heure_fin','$date_jour','$reservable')";
|
|
$res=mysqli_query( $db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br />");
|
|
}
|
|
}
|
|
$ts=$ts+(3600*24);
|
|
} while($date_jour != $date_arret);
|
|
}
|
|
}
|
|
}
|
|
echo "Les réservations ont étés ajoutés avec succès.";
|
|
}
|
|
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");
|
|
}
|
|
|
|
?>
|