Files
resatennis_tyroltenn/www/tyroltenn/badge_excel.php

199 lines
7.0 KiB
PHP
Executable File

<?php
session_start();
if(isset($_SESSION['Admin']) and $_SESSION['Admin']==2 and isset($_SESSION['Club'])) {
$id_club=$_SESSION['Club'];
?>
<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");
echo "<div id='contenu'>";
echo "<center><h1>D&eacute;claration d'un nouveau badge</h1></center>";
/* Affichage formulaire */
if(count($_POST)==0) {
echo "<p>";
echo "Donnez le nom du fichier excel (format texte csv) pour ins&eacute;rer les badges du club automatiquement.<br />";
echo "Voici le format de donn&eacute;es : ";
echo "<ul>";
echo "<li>Le num&eacute;ro du badge ;</li>";
echo "<li>Le nom OU le num&eacute;ro de licence de la personne</li>";
echo "<li>le pr&eacute;nom de la personne si vous avez mis son nom avant.</li>";
echo "</ul>";
echo "Les donn&eacute;es doivent &ecirc;tre s&eacute;par&eacute;es par un point virgule.";
echo "</p>";
echo "<form action='badge_excel.php' method='post' enctype='multipart/form-data'>";
echo "<center><table>";
echo "<tr><td align='center'>Saisissez le nom du fichier ou cliquez sur parcourir pour donner le nom du fichier puis valider</td></tr>";
echo "<tr><td align='center'><input type='file' name='fichier'></td></tr>";
echo "<input type='hidden' name='MAX_FILE_SIZE' value='10000'>";
echo "<tr><td align='center'><input type='submit' name='valider' value='Valider'></td></tr>";
echo "</table></center>";
echo "</form>";
}
else {
$rep="./liste_excel/";
$saison=date("Y");
$mois=date("m");
if($mois >=10 and $mois<=12) { $saison+=1; }
$nom_fichier=$rep."badge_".$saison.".csv";
$ok=0;
/* 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 and $_FILES['fichier'][size] > 0) {
/* Controle de l'extension du fichier */
$ext=explode(".", $_FILES['fichier'][name]);
if(strcmp($ext[1], "csv")==0) {
$res=move_uploaded_file($_FILES['fichier'][tmp_name], $nom_fichier);
if($res==TRUE) {
$ok=1;
}
else {
echo "erreur lors du d&eacute;placement du fichier";
}
}
else {
echo "Erreur. L'extension du fichier n'est pas bonne.";
}
}
else {
echo "Erreur. La taille du fichier n'est pas bonne.";
}
}
else {
echo "Erreur : aucun fichier n'a &eacute;t&eacute; selectionn&eacute;.";
}
/* Si le traitement du fichier est ok */
if($ok==1) {
insertion_badges(3, $nom_fichier);
}
}
echo "<br /><br />";
echo "<center><a href='liste_badge.php'>Retour &agrave; la liste des badges</a></center>";
echo "<br /><br />";
include("deco_admin_club.php");
include("piedDePage.php");
}
else {
echo("Non autorisé - Redirection vers la page d'identification dans 2 secondes");
sleep(2);
include("admin_login.php");
}
function insertion_badges($id_club, $nom_fichier) {
include("mysql_compat.php");
include("conf.php");
$db_connection=mysql_connect($db_host, $db_user, $password);
/* Lecture du fichier */
$fichier=fopen($nom_fichier,'r');
$contenu_fichier=fread($fichier, filesize($nom_fichier));
fclose($fichier);
/* Découpage du fichier - Une ligne par joueurs */
if(strpos($contenu_fichier, "\n") === false) {
$badges=array();
$badges[]=$contenu_fichier;
}
else {
$badges=explode("\n", $contenu_fichier);
}
/* Pour chaque badge */
for($i=0;$i<count($badges);$i++) {
$id_joueur=0;
list($num_badge, $nom_fft, $prenom)=explode(";", $badges[$i]);
$nom_fft=str_replace("\"","", $nom_fft); $nom_fft=trim($nom_fft);
$prenom=str_replace("\"","", $prenom); $prenom=trim($prenom);
$num_badge=str_replace("\"","", $num_badge); $num_badge=trim($num_badge);
/* Respect du format de données */
if($num_badge!="" and $nom_fft!="") {
/* Prénom ? */
if($prenom != "") {
echo "Nom : $nom_fft $prenom";
$nom_fft=ucfirst(strtolower($nom_fft));
$requete="SELECT c.id_joueur, c.actif_debut, c.actif_fin, j.prenom FROM compte c, joueur j ";
$requete.="WHERE j.nom='$nom_fft' AND j.id_joueur=c.id_joueur";
$reponse=mysqli_query( $db_connection, $requete) or die("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe_nom=mysqli_num_rows($reponse);
echo " - $existe_nom / ";
if($existe_nom>0) {
while($compte_joueur=mysqli_fetch_object($reponse) and $id_joueur==0) {
$prenom=utf8_decode(strtolower($prenom));
$prenom_bdd=strtolower($compte_joueur->prenom);
echo "$prenom - $prenom_bdd / ";
if(eregi($prenom, $prenom_bdd)) {
/* Controle si le joueur dispose déja d'un badge */
$requete="SELECT id_badge, numero_badge FROM badge_joueurs WHERE id_joueur='$compte_joueur->id_joueur' AND numero_badge='$num_badge' AND id_club='$id_club'";
$rep=mysqli_query( $db_connection, $requete) or die("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe_badge=mysqli_num_rows($rep);
if($existe_badge == 0) {
$id_joueur=$compte_joueur->id_joueur;
}
}
}
echo "<br />";
}
}
/* SI pas de prénom -> numero FFT */
else {
/* Récupération de l'id du joueur et controle si son compte est actif dans ce club */
$requete="SELECT c.id_joueur, c.actif_debut, c.actif_fin FROM compte c, joueur j ";
$requete.="WHERE j.numero_fft='$nom_fft' AND j.id_joueur=c.id_joueur";
$reponse=mysqli_query( $db_connection, $requete) or die("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$compte_joueur=mysqli_fetch_object($reponse);
/* Controle si le joueur dispose déja d'un badge */
$requete="SELECT id_badge, numero_badge FROM badge_joueurs WHERE id_joueur='$compte_joueur->id_joueur' AND numero_badge='$num_badge' AND id_club='$id_club'";
$reponse=mysqli_query( $db_connection, $requete) or die("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe_badge=mysqli_num_rows($reponse);
if($existe_badge == 0) {
$id_joueur=$compte_joueur->id_joueur;
}
}
/* Si le badge peut être inséré en BDD */
if($id_joueur != 0) {
$requete="INSERT INTO badge_joueurs(id_joueur, id_club, numero_badge) VALUES('$id_joueur','$id_club','$num_badge')";
$reponse=mysqli_query( $db_connection, $requete) or die("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
echo "\tBadge num $num_badge ajout&eacute;.<br />";
}
}
}
mysql_close($db_connection);
}
function conversion_ts_mysql($champ_ts) {
$annee=substr($champ_ts, 0, 4);
$mois=substr($champ_ts, 5, 2);
$jour=substr($champ_ts, 8, 2);
$heure=substr($champ_ts, 11, 2);
$min=substr($champ_ts, 14, 2);
$sec=substr($champ_ts, 17, 2);
$ts=mktime($heure, $min, $sec, $mois, $jour, $annee);
return $ts;
}
?>