199 lines
7.0 KiB
PHP
Executable File
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é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érer les badges du club automatiquement.<br />";
|
|
echo "Voici le format de données : ";
|
|
echo "<ul>";
|
|
echo "<li>Le numéro du badge ;</li>";
|
|
echo "<li>Le nom OU le numéro de licence de la personne</li>";
|
|
echo "<li>le prénom de la personne si vous avez mis son nom avant.</li>";
|
|
echo "</ul>";
|
|
echo "Les données doivent être séparé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é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 été selectionné.";
|
|
}
|
|
|
|
/* 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 à 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é.<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;
|
|
}
|
|
|
|
?>
|