223 lines
9.1 KiB
PHP
Executable File
223 lines
9.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']==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("mysql_compat.php");
|
|
include("conf.php");
|
|
|
|
echo "<div id='contenu'>";
|
|
echo "<center><h1>Saisie des dates de rencontres à domicile - Fichier Excel</h1></center><br />";
|
|
|
|
/* Détermine si des dates ont étés saisies */
|
|
$id_equipe=$_POST['id_equipe'];
|
|
$nom_champ=$_POST['nom'];
|
|
$heure_debut=$_POST['heure'];
|
|
|
|
$rep='./liste_excel';
|
|
/* Calcul de la saison en cours */
|
|
$saison=date("Y");
|
|
$mois=date("m");
|
|
if($mois >= 10 and $mois <=12) {
|
|
$saison+=1;
|
|
}
|
|
|
|
/* Si selection d'un club pour les terrains */
|
|
if(isset($_POST['club']) and $_POST['club'] != 0) {
|
|
$id_club_terrains=$_POST['club'];
|
|
}
|
|
else {
|
|
$id_club_terrains=0;
|
|
}
|
|
|
|
if($nom_champ != "" and $heure != "") {
|
|
/* Controle si upload du fichier excel ok */
|
|
if($_FILES['fichier']['error'] == 0) {
|
|
/* Controle de la taille du fichier */
|
|
$taille_max=$_POST['MAX_FILE_SIZE'];
|
|
if($_FILES['fichier']['size'] <= $taille_max) {
|
|
/* Controle de l'extension du fichier */
|
|
$extensions_valides=array('csv');
|
|
$extension_fichier=substr(strrchr($_FILES['fichier']['name'], '.'), 1);
|
|
if(in_array($extension_fichier, $extensions_valides)) {
|
|
$requete="SELECT nom 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_equipe=str_replace("_"," ", $equipe->nom);
|
|
$nom_equipe.="_$saison";
|
|
$nom_fichier=$rep."/dates_".$nom_equipe.".csv";
|
|
$res=move_uploaded_file($_FILES['fichier']['tmp_name'], $nom_fichier);
|
|
if($res) {
|
|
$res_traite=traitement_fichier($id_equipe, $nom_fichier, $id_club_terrains, $heure, $nom_champ);
|
|
if($res_traite==0) {
|
|
echo "Traitement du fichier terminé avec succès.<br /><br />";
|
|
}
|
|
}
|
|
else {
|
|
echo "Erreur lors du transfert du fichier.<br />";
|
|
echo "Cliquez <a href='ajout_dates_champ_excel.php?id_equipe=$id_equipe'>ici</a> pour recommencer.";
|
|
}
|
|
}
|
|
else {
|
|
echo "L'extension du fichier doit être csv";
|
|
echo "Cliquez <a href='ajout_dates_champ_excel.php?id_equipe=$id_equipe'>ici</a> pour recommencer.";
|
|
}
|
|
}
|
|
else {
|
|
echo "Le fichier est trop gros.<br />";
|
|
echo "Cliquez <a href='ajout_dates_champ_excel.php?id_equipe=$id_equipe'>ici</a> pour recommencer.";
|
|
}
|
|
}
|
|
else {
|
|
echo "Erreur lors du transfert du fichier Excel.<br />";
|
|
echo "Cliquez <a href='ajout_dates_champ_excel.php?id_equipe=$id_equipe'>ici</a> pour recommencer.";
|
|
}
|
|
}
|
|
else {
|
|
echo "Le nom du championnat ou l'heure n'a pas été renseigné.<br />";
|
|
echo "Cliquez <a href='ajout_dates_champ_excel.php?id_equipe=$id_equipe'>ici</a> pour recommencer.";
|
|
}
|
|
|
|
echo "<br /><br />";
|
|
echo "<center><a href='dates_champ_suite.php?id_equipe=$id_equipe'>Retour à la liste des dates de rencontres</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");
|
|
}
|
|
|
|
function traitement_fichier($id_equipe, $nom_fichier, $id_club, $heure, $nom_champ) {
|
|
$res=0;
|
|
|
|
include("mysql_compat.php");
|
|
include("conf.php");
|
|
$db_connection=mysql_connect($db_host,$db_user,$password);
|
|
|
|
|
|
$file=fopen($nom_fichier, 'r');
|
|
$contenu_fichier=fread($file, filesize($nom_fichier));
|
|
fclose($file);
|
|
|
|
/* Recherche du sexe des joueurs de l'équipe receveuse */
|
|
$requete="SELECT sexe 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);
|
|
|
|
if(strpos($contenu_fichier, "\n") === false) {
|
|
$dates=array();
|
|
$dates[]=$contenu_fichier;
|
|
}
|
|
else {
|
|
$dates=explode("\n", $contenu_fichier);
|
|
}
|
|
|
|
for($i=0;$i<count($dates);$i++) {
|
|
$rencontre=$dates[$i];
|
|
/* Si les données concernant la rencontre est vide, on passe au suivant */
|
|
if($rencontre == "") {
|
|
continue;
|
|
}
|
|
$nom_equipe_adv=str_replace("\"", " ", $rencontre[0]);
|
|
$nom_equipe_adv=trim($nom_equipe_adv);
|
|
$date=str_replace("\"", " ", $rencontre[1]);
|
|
$date=trim($date);
|
|
/* Recherche de l'équipe adverse avec son nom */
|
|
$requete="SELECT id_equipe FROM equipes_champ WHERE nom='$nom_equipe_adv' AND sexe='$equipe->sexe'";
|
|
$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) {
|
|
$equipe_adv=mysqli_fetch_object($reponse);
|
|
list($jour, $mois, $annee)=explode("/", $date);
|
|
$date_sql="$annee-$mois-$jour";
|
|
list($heure, $min)=explode(":", $heure);
|
|
if($heure < 10 and strlen($heure) < 2) { $heure="0".$heure; }
|
|
if($min < 10 and strlen($min) < 2) { $min="0".$min; }
|
|
$heure_sql="$heure:$min:00";
|
|
/* Controle si une rencontre entre les 2 équipes existe déja en BDD */
|
|
$requete="SELECT id_date, date FROM dates_champ WHERE id_equipe='$id_equipe' AND id_equipe_adverse='$equipe_adv->id_equipe'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$existe_date = mysqli_num_rows($reponse);
|
|
/* La rencontre n'existe pas, alors on la c&e */
|
|
if($existe_date == 0) {
|
|
$requete="INSERT INTO dates_champ(id_equipe, id_equipe_adverse, id_club, nom_champ, date, heure) ";
|
|
$requete.="VALUES('$id_equipe','$equipe_adv->id_equipe','$id_club','$nom_champ','$date_sql','$heure_sql')";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
|
|
echo "La rencontre du $date a été ajouté avec succès.<br />";
|
|
}
|
|
/* Sinon on controle la date de la rencontre */
|
|
else {
|
|
$rencontre_bdd=mysqli_fetch_object($reponse);
|
|
/* Si la date est différente */
|
|
if($date_sql != $rencontre_bdd->date) {
|
|
$requete="UPDATE dates_champ SET date='$date_sql' WHERE id_date='$rencontre_bdd->id_date'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
|
|
echo "La date de la recontre avec l'équipe $nom_equipe_adv a été modifiée.<br />";
|
|
/* Controle si des dispos sont présentes en BDD */
|
|
$requete="SELECT id_dispo FROM dispo_champ WHERE id_date='$rencontre_bdd->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) {
|
|
$requete="DELETE FROM dispo_champ WHERE id_date='$rencontre_bdd->id_date'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
|
|
echo "Les disponibilité liées à cette rencontre ont étés effacés.<br />";
|
|
}
|
|
|
|
/* Controle si des matchs, réservations et convoc aux matchs sont présentes en BDD */
|
|
$requete="SELECT id_reservation FROM match_champ WHERE id_date='$rencontre_bdd->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) {
|
|
/* Pour chaque match */
|
|
while($match=mysqli_fetch_object($reponse)) {
|
|
/* Efface la résa */
|
|
$requete="DELETE FROM reservation WHERE id_reservation='$match->id_reservation'";
|
|
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
|
|
/* Efface les convocs */
|
|
$requete="DELETE FROM participant WHERE id_reservation='$match->id_reservation'";
|
|
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
}
|
|
/* Efface le match pour la rencontre */
|
|
$requete="DELETE FROM match_champ WHERE id_date='$rencontre_bdd->id_date'";
|
|
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
|
|
echo "Les matchs de la rencontreé liées à cette rencontre ont étés effacés.<br />";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
echo "$nom_equipe_adv : Equipe inconnue sur le site.<br />";
|
|
}
|
|
}
|
|
|
|
mysql_close($db_connection);
|
|
|
|
return $res;
|
|
}
|
|
|
|
?>
|