211 lines
8.5 KiB
PHP
Executable File
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 à l'équipe</h1></center><br />";
|
|
|
|
if(count($_POST)==0) {
|
|
echo "<p>";
|
|
echo "Cette page vous permet de charger automatiquement les joueurs d'une de vos équipe à l'aide d'un fichier Excel.<br />";
|
|
echo "Les données doivent avoir le format suivante dans le fichier (fichier Excel au format texte csv - séparateur de colonnes : ; - separateur de chaines : \" ) :";
|
|
echo "<ul>";
|
|
echo "<li>Le numéro de licence FFT du joueur ;</li>";
|
|
echo "<li>Le numéro de télé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'équipe concerné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é avec succès.<br /><br />";
|
|
}
|
|
else {
|
|
echo "Le fichier traité 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 ê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;
|
|
}
|
|
|
|
?>
|