Files
resatennis_tyroltenn/www/tyroltenn/ajout_match_champ.php

202 lines
9.6 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']==3 and isset($_SESSION['Id'])) {
$id_cap=$_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");
include("constantes.php");
echo "<div id='contenu'>";
echo "<center><h1>Programmation des matchs de simple</h1></center>";
$id_equipe=$_POST['id_equipe'];
$id_date=$_POST['id_date'];
// print_r($_POST);
/* Nombre de matchs déja programmés */
$requete="SELECT id_match FROM match_champ WHERE id_date='$id_date'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$nb=mysqli_num_rows($reponse);
$matchs_restants=NB_MAX_MATCHS_RENCONTRE_CHAMP - $nb;
/* Informations concernant la rencontre */
$requete="SELECT * FROM dates_champ WHERE id_date='$id_date'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$rencontre=mysqli_fetch_object($reponse);
$requete="SELECT nom, type_champ FROM equipes_champ WHERE id_equipe='$id_equipe'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$equipe=mysqli_fetch_object($reponse);
/* Controle si des résas sont enregistrées sur les terrains demandés - Pas des résas de terrains loisir Heure début rencontre->heure fermture terrain*/
$terrains=array();
$requete="SELECT id_match FROM match_champ WHERE id_date='$id_date'";
$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) {
/* Recup des terrains concernés*/
for($i=0;$i<$matchs_restants;$i++) {
$nom_terrain="terrain_$i";
array_push($terrains, $_POST[$nom_terrain]);
}
/* Pour chaque, supprime les résas s'il y en a */
for($i=0;$i<count($terrains);$i++) {
/* Recup de l'heure de fermeture des terrains */
$id_terrain=$terrains[$i];
$requete="SELECT heure_fermeture 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);
/* Controle si des résas sont présentes */
$requete="SELECT id_reservation FROM reservation ";
$requete.="WHERE id_reservable='$id_terrain' AND heure_resa_deb >= '$rencontre->heure' AND heure_resa_fin <= '$terrain->heure_fermeture' AND date_resa='$rencontre->date' AND type<>'Autre'";
$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) {
while($resa=mysqli_fetch_object($reponse)) {
$requete="DELETE FROM reservation WHERE id_reservation='$resa->id_reservation'";
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
}
}
}
/* Pour chaque match restants */
for($i=0;$i<$matchs_restants;$i++) {
/* Pour chaque résa valable (toutes les informations saisies) */
$nom_debut="debut_$i";
$debut=$_POST[$nom_debut];
$nom_fin="fin_$i";
$fin=$_POST[$nom_fin];
$nom_terrain="terrain_$i";
$id_terrain=$_POST[$nom_terrain];
$nom_joueur="joueur_$i";
$id_joueur=$_POST[$nom_joueur];
if($equipe->type_champ=='corpo') {
$nom_joueur="joueur_adv_$i";
$id_joueur_adv=$_POST[$nom_joueur];
}
if($id_joueur != 0 and $id_terrain != 0 and $debut != "" and $fin !="") {
list($annee, $mois, $jour)=explode("-", $rencontre->date);
list($h, $m)=explode(":", $debut);
$ts_debut=mktime($h, $m, 0, $mois, $jour, $annee);
if($h<10 and strlen($h)<2) { $h="0".$h; }
$debut="$h:$m:00";
list($h, $m)=explode(":", $fin);
$ts_fin=mktime($h, $m, 0, $mois, $jour, $annee);
if($h<10 and strlen($h)<2) { $h="0".$h; }
$fin="$h:$m:00";
/* Controle si les horaires sont ok */
$horaires_ok=controleHoraires($ts_debut, $ts_fin);
if($horaires_ok==1) {
/* Controle si resa durant cet intervalle */
/* Requete à revoir */
$requete="SELECT id_reservation FROM reservation WHERE id_reservable='$id_terrain' AND date_resa='$rencontre->date' AND heure_resa_deb='$debut'";
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe=mysqli_num_rows($rep);
/* Si des resas sont presentes, on les annule */
if($existe>0) {
while($resa=mysqli_fetch_object($rep)) {
$requete="DELETE FROM reservation WHERE id_reservation='$resa->id_reservation'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$requete="DELETE FROM match_champ WHERE id_reservation='$resa->id_reservation'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$requete="DELETE FROM participant WHERE id_reservation='$resa->id_reservation'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
}
/* Controle si le joueur ne joue deja pas à cette heure la */
$requete="SELECT id_reservation FROM reservation WHERE id_joueur='$id_joueur' AND heure_resa_deb='$debut' AND date_resa='$rencontre->date'";
$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) {
/* Noms des équipes */
$requete="SELECT nom, type_champ FROM equipes_champ WHERE id_equipe='$id_equipe'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$equipe=mysqli_fetch_object($reponse);
$nom_equipe1=$equipe->nom;
$requete="SELECT nom FROM equipes_champ WHERE id_equipe='$rencontre->id_equipe_adverse'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$equipe_adv=mysqli_fetch_object($reponse);
$nom_equipe2=$equipe_adv->nom;
/* Motif : nom du championnat - equipe / equipe adverse - type_match (S/D) */
$motif="$rencontre->nom_champ -<br />$nom_equipe1 /<br /> $nom_equipe2 -<br />simple";
if($equipe->type_champ=='corpo') {
$requete="INSERT INTO reservation(type, type_reservation,id_joueur,id_joueur_adverse,heure_resa_deb,heure_resa_fin,date_resa,id_reservable,validation)";
$requete.=" VALUES('Championnat','$motif','$id_joueur','$id_joueur_adv','$debut','$fin','$rencontre->date','$id_terrain','1')";
}
else {
$requete="INSERT INTO reservation(type, type_reservation,id_joueur,heure_resa_deb,heure_resa_fin,date_resa,id_reservable,validation)";
$requete.=" VALUES('Championnat','$motif','$id_joueur','$debut','$fin','$rencontre->date','$id_terrain','1')";
}
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$requete="SELECT MAX(id_reservation) FROM reservation";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$rep=mysqli_fetch_array($reponse);
$id_resa=$rep[0];
$requete="INSERT INTO match_champ(id_date, type_match, id_reservation) VALUES('$id_date','simple','$id_resa')";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
echo "Le match ".($i+1)." a &eacute;t&eacute; ajout&eacute; avec succ&egrave;s.<br />";
}
else {
$requete="SELECT nom, prenom FROM joueur WHERE id_joueur='$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);
echo "Le joueur $joueur->prenom $joueur->nom joue d&eacute;ja un match &agrave; cette heure ($_POST[$nom_debut]).<br />";
}
}
else {
echo "Il y a un probl&egrave;me dans les horaires du match ".($i+1)."<br />";
}
}
}
echo "<br /><br />";
echo "<center><a href='prog_champ_suite2.php?id_equipe=$id_equipe&id_date=$id_date&id_club=$id_club&nom_champ=$nom_champ'>Retour &agrave; la programmation des matchs</a></center>";
echo "<br /><br />";
echo "<center><a href='prog_champ.php?id_equipe=$id_equipe'>Choisir une autre &eacute;quipe</a></center>";
echo "<br /><br />";
include("deco_champ.php");
include("piedDePage.php");
}
else {
echo("Non autorisé - Redirection vers la page d'identification dans 2 secondes");
sleep(2);
include("login_champ.php");
}
/* Les horaires sont au format Unix timestamp) */
function controleHoraires($debut, $fin) {
if($fin<=$debut) {
$res=0;
}
else if($debut>$fin) {
$res=0;
}
else {
$res=1;
}
return $res;
}
?>