Files
resatennis_tyroltenn/www/tyroltenn/ajout_dates_champ_excel_suite.php

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 &agrave; 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&eacute; avec succ&egrave;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 &ecirc;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 &eacute;t&eacute; renseign&eacute;.<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 &agrave; 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 &eacute;t&eacute; ajout&eacute; avec succ&egrave;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'&eacute;quipe $nom_equipe_adv a &eacute;t&eacute; modifi&eacute;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&eacute; li&eacute;es &agrave; cette rencontre ont &eacute;t&eacute;s effac&eacute;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&eacute; li&eacute;es &agrave; cette rencontre ont &eacute;t&eacute;s effac&eacute;s.<br />";
}
}
}
}
else {
echo "$nom_equipe_adv : Equipe inconnue sur le site.<br />";
}
}
mysql_close($db_connection);
return $res;
}
?>