Files
resatennis_tyroltenn/www/tyroltenn/joueurs_equipe_excel.php

211 lines
8.5 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");
$db_connection=mysql_connect($db_host,$db_user,$password);
echo "<div id='contenu'>";
echo "<center><h1>Ajout de joueurs &agrave; l'&eacute;quipe</h1></center><br />";
if(count($_POST)==0) {
echo "<p>";
echo "Cette page vous permet de charger automatiquement les joueurs d'une de vos &eacute;quipe &agrave; l'aide d'un fichier Excel.<br />";
echo "Les donn&eacute;es doivent avoir le format suivante dans le fichier (fichier Excel au format texte csv - s&eacute;parateur de colonnes : ; - separateur de chaines : \" ) :";
echo "<ul>";
echo "<li>Le num&eacute;ro de licence FFT du joueur ;</li>";
echo "<li>Le num&eacute;ro de t&eacute;l&eacute;phone du joueur (fixe ou portable) </li>";
echo "<Li>L'adresse e-mail du joueur s'il en a une.</li>";
echo "</ul>";
echo "</p>";
echo "<form action='joueurs_equipe_excel.php' method='post' type='multipart/form-data'>";
echo "<center><table>";
echo "<input type='hidden' name='MAX_FILE_SIZE' size='10000'>";
echo "<tr><td>Selectionnez l'&eacute;quipe concern&eacute;e : </td><td><select name='equipe'>";
$requete="SELECT id_equipe, nom FROM equipes_champ WHERE id_capitaine='$id_cap'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
while($equipe=mysqli_fetch_object($reponse)) {
echo "<option value='$equipe->id_equipe'>$equipe->nom</option>";
}
echo "</select></td></tr>";
echo "<tr><td>Fichier Excel : </td><td><input type='file' name='fichier'></td></tr>";
echo "<tr><td colspan='2'><center><input type='submit' name='valider' value='Valider'></td></tr>";
echo "</table></center>";
echo "</form>";
}
else if(count($_POST) > 0) {
$id_equipe=$_POST['equipe'];
/* Réppertoire Excel */
$rep="./liste_excel";
/* 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."/joueurs_".$nom_equipe.".csv";
$res=move_uploaded_file($_FILES['fichier']['tmp_name'], $nom_fichier);
if($res) {
$res_traite=traitement_fichier($id_equipe, $nom_fichier, $db_connection);
if($res_traite==0) {
echo "Traitement du fichier termin&eacute; avec succ&egrave;s.<br /><br />";
}
else {
echo "Le fichier trait&eacute; est vide !<br />";
echo "Cliquez <a href='joueurs_equipe_excel.php'>ici</a> pour recommencer.";
}
}
else {
echo "Erreur lors du transfert du fichier.<br />";
echo "Cliquez <a href='joueurs_equipe_excel.php'>ici</a> pour recommencer.";
}
}
else {
echo "L'extension du fichier doit &ecirc;tre csv";
echo "Cliquez <a href='joueurs_equipe_excel.php'>ici</a> pour recommencer.";
}
}
else {
echo "Le fichier est trop gros.<br />";
echo "Cliquez <a href='joueurs_equipe_excel.php'>ici</a> pour recommencer.";
}
}
else {
echo "Erreur lors du transfert du fichier Excel.<br />";
echo "Cliquez <a href='joueurs_equipe_excel.php'>ici</a> pour recommencer.";
}
}
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");
}
include_once("fct_nouvjoueur.php");
function traitement_fichier($id_equipe, $nom_fichier, $db_connection) {
$res=0;
/* Ouverture et lecture du fichier */
$fichier=fopen($nom_fichier, 'r');
$contenu_fichier=fread($fichier, filesize($nom_fichier));
fclose($fichier);
$joueurs=array();
/* Fichier windows ? */
if(strpos($contenu_fichier, "\r\n") !== false) {
$joueurs=explode("\r\n", $contenu_fichier);
}
/* Fichier Unix ? */
else if(strpos($contenu_fichier, "\n") !== false) {
$joueurs=explode("\n", $contenu_fichier);
}
else {
$joueurs[]=$contenu_fichier;
}
/* Traietement des données */
if(count($joueurs) > 0) {
/* Pour chaque joueur */
for($i=0;$i<count($joueurs);$i++) {
list($numero_fft, $telephone, $email)=explode(";", $joueurs[$i]);
/* Supprime les guillements, les blancs et les espaces dans chaque chaine */
$numero_fft=str_replace("\"", "", $numero_fft); $numero_fft=str_replace(" ", "", $numero_fft); $numero_fft=trim($numero_fft);
$telephone=str_replace("\"", "", $telephone); $telephone=str_replace(" ", "", $telephone); $telephone=trim($telephone);
$email=str_replace("\"", "", $email); $email=str_replace(" ", "", $email); $email=trim($email);
if(strlen($numero_fft)==8) {
/* COntrole si le joueur existe en BDD */
$requete="SELECT id_joueur FROM joueur WHERE numero_fft='$numero_fft'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
if($existe == 0) {
recup_joueur($numero_fft);
$requete="SELECT id_joueur FROM joueur WHERE numero_fft='$numero_fft'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
$joueur=mysqli_fetch_object($reponse);
/* Telephone */
if(strlen($telephone)==10) {
$groupe1=substr($telephone,0,2);
$groupe2=substr($telephone,2,2);
$groupe3=substr($telephone,4,2);
$groupe4=substr($telephone,6,2);
$groupe5=substr($telephone,8,2);
if($groupe1==06) {
$type='portable';
}
else {
$type='maison';
}
$telephone="$groupe1 $groupe2 $groupe3 $groupe4 $groupe5";
/* Recherche si le numero de tel correspond au joueur en BDD */
$requete="SELECT id_telephone FROM telephone WHERE id_joueur='$joueur->id_joueur' AND type='$type'";
$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) {
$tel=mysqli_fetch_object($reponse);
$requete="UPDATE telephone SET numero='$telephone' WHERE id_telephone='$tel->id_telephone'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
else {
$requete="INSERT INTO telephone(id_joueur, numero, type) VALUES('$joueur->id_joueur','$telephone','$type)";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
}
/* Email */
if($email != "") {
$requete="UPDATE joueur SET e_mail='$email' WHERE id_joueur='$joueur->id_joueur'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
/* Inscription du joueur dans l'équipe */
$requete="SELECT * FROM eq_champ_joueurs WHERE id_joueur='$joueur->id_joueur' AND id_equipe='$id_equipe'";
$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="INSERT INTO eq_champ_joueurs(id_equipe, id_joueur) VALUES('$id_equipe','$joueur->id_joueur')";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
}
}
}
else {
$res=1;
}
return $res;
}
?>