Files
resatennis_tyroltenn/www/tyroltenn/planning_resa_suite.php.old

200 lines
6.1 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");
mysql_select_db($db_name,$db_connection);
echo "<div id='contenu'>";
echo "<center><h1>Planning d'un terrain &agrave; la semaine</h1></center><br />";
// 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(! ereg("\n", $contenu_fichier)) {
$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=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$existe_feries=mysql_num_rows($reponse);
$dates_variables=array();
if($existe_feries > 0) {
while($ferie=mysql_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
/* Si pas de date de début, on commence 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 == $now[wday]) {
/* 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=mysql_query($requete, $db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br />");
$res_tab=mysql_fetch_object($res);
$nb=mysql_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=mysql_query($requete, $db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<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=mysql_query($requete, $db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br />");
}
}
$ts=$ts+(3600*24);
} while($date_jour != $date_arret);
}
}
}
mysql_close($db_connection);
echo "Les r&eacute;servations ont &eacute;t&eacute;s ajout&eacute;s avec succ&egrave;s.";
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");
}
?>