Files
resatennis_tyroltenn/www/tyroltenn/Credit_admin.php

267 lines
12 KiB
PHP
Executable File

<?php
session_start();
if(isset($_SESSION['Admin']) and $_SESSION['Admin']==1) {
?>
<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("constantes.php");
include("conf.php");
echo "<div id='contenu'>";
echo "<center><h1>Ajout de jetons &agrave; un joueur dans un club sp&eacute;cifique</h1></center><br />";
if(count($_POST)==0) {
echo "<p style='font-size:14px;'>";
echo "Cette page permet d'ajouter des jetons &agrave; un joueur.<br />";
echo "Vous devez saisir les informations suivantes : <br />";
echo "<ul>";
echo "<li>Le num&eacute;ro FFT du club concern&eacute; ;</li>";
echo "<li>Pour un joueur licenci&eacute; &agrave; la FFT (adh&eacute;rent dans votre club ou un club diff&eacute;rent), saisissez le num&eacute;ro de licence, le t&eacute;l&eacute;phone et le nombre de jetons ;</li>";
echo "<li>Pour une location horaire, saisissez toutes les informations (nom, pr&eacute;nom, t&eacute;l&eacute;phone, nombre de jetons et num&eacute;ro FFT.</li>";
echo "</ul>";
echo "<center><h2>1 jeton &eacute;quivaut &agrave; une heure de r&eacute;servation</h2></center>";
echo "</p>";
echo "<form action='Credit_admin.php' method='post'>";
echo "<center><table>";
echo "<tr><td colspan='2' bgcolor='#FFFACD'><center><strong>Saisie obligatoire pour tous les joueurs</strong></center></td></tr>";
echo "<tr><td>Num&eacute;ro de licence FFT du club : </td><td><input type='text' name='num_fft' maxlength='8'></td></tr>";
echo "<tr><td>Num&eacute;ro de licence du joueur : </td><td><input type='text' name='num_fft' maxlength='8'></td></tr>";
echo "<tr><td>Num&eacute;ro de t&eacute;l&eacute;phone : </td><td><input type='text' name='num_tel' maxlength='10'><b>(sans espaces)</b></td></tr>";
$nb_jetons=constant("NB_JETONS");
echo "<tr><td>Nombre de jetons &agrave cr&eacute;diter : </td><td><input type='text' name='jetons' value='$nb_jetons'></td></tr>";
echo "<tr><td colspan='2' bgcolor='#FFFACD'><center><strong>obligatoire pour les locations horaires</strong></center></td></tr>";
echo "<tr><td>Nom : </td><td><input type='text' maxlength='30' name='nom'></td></tr>";
echo "<tr><td>Pr&eacute;nom : </td><td><input type='text' maxlength='30' name='prenom'></td></tr>";
echo "<tr><td></td><td><input type='submit' name='valider' value='Valider'></td></tr>";
echo "</table></center>";
echo "</form>";
}
else {
$num_club=$_POST['num_fft_club'];
$num_fft=$_POST['num_fft'];
$num_tel=$_POST['num_tel'];
$jetons=$_POST['jetons'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
/* Recherche du club */
/* Test si 8 caractères */
if(strlen($num_club) == 8) {
$requete="SELECT id_club FROM club WHERE numero_fft='$num_club'";
$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) {
$club=mysqli_fetch_object($reponse);
$id_club=$club->id_club;
}
else {
$id_club=0;
}
}
else if(strlen($num_club) < 8) {
echo "Le num&eacute;ro du club est trop court. Il doit faire 8 caract&egrave;res.";
echo "cliquez <a href='Credit_admin.php'>ici</a> pour recommencer.";
$id_club=0;
}
$id_joueur=0;
if(strlen($num_fft)==8 and strlen($num_tel)==10 and $id_club != 0) {
$licence_valide=verifierLicence($num_fft);
/* Licence valide à la FFT */
if($licence_valide==1) {
$requete="SELECT id_joueur FROM joueur WHERE numero_fft='$num_fft'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe=mysqli_num_rows($reponse);
/* Si le joueur n'existe pas */
if($existe == 0) {
/* Requete FFT pour la création auto du joueur */
recup_joueur($num_fft);
$requete="SELECT id_joueur FROM joueur WHERE numero_fft='$num_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);
$id_joueur=$joueur->id_joueur;
/* COntrole si un num tel existe pour le joueur */
$requete="SELECT numero FROM telephone WHERE id_joueur='$id_joueur'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe_tel=mysqli_num_rows($reponse);
if($existe_tel == 0) {
ajout_tel($id_joueur, $num_tel, $db_connection);
}
}
/* Pour les licences invalides */
else {
$requete="SELECT id_joueur FROM joueur WHERE numero_fft='$num_fft'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe=mysqli_num_rows($reponse);
/* Location horaire - Invité dans le club avec le nombre de jetons saisi */
if($existe == 0) {
/* Création du joueur */
$requete="INSERT INTO joueur(nom, prenom, numero_fft, e_mail, classement, visible, sexe, annee)";
$requete.=" VALUES('$nom','$prenom','$num_fft',NULL,'NC', 'oui','m','0')";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$requete="SELECT id_joueur FROM joueur WHERE numero_fft='$num_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);
$id_joueur=$joueur->id_joueur;
/* Ajoute le numéro de tel */
ajout_tel($id_joueur, $num_tel, $db_connection);
/* Création du compte invité pour la location horaire */
$temp="Invité";
$debut=date("Y-m-d H:i:s", time());
$fin=date("Y-m-d H:i:s", time()+(3600*24*365));
$requete="INSERT INTO compte(id_joueur, id_club, actif_debut, actif_fin, statut, droit,solde,cumul)";
$requete.=" VALUES('$id_joueur','$id_club','$debut','$fin','$temp','Usage','$jetons','0')";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
/* Sinon on selectionne le joueur */
else {
$joueur=mysqli_fetch_object($reponse);
$id_joueur=$joueur->id_joueur;
}
/* COntrole si un num tel existe pour le joueur */
$requete="SELECT numero FROM telephone WHERE id_joueur='$id_joueur'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$existe_tel=mysqli_num_rows($reponse);
if($existe_tel == 0) {
ajout_tel($id_joueur, $num_tel, $db_connection);
}
}
}
else if(strlen($num_fft)<8) {
echo "Le num&eacute;ro de licence FFT est trop court. Il doit faire 8 caract&egrave;s.<br />";
echo "cliquez <a href='Credit_admin.php'>ici</a> pour recommencer.";
}
else if(strlen($num_tel)<10) {
echo "Le num&eacute;ro de t&eacute;l&eacute;phone est trop court. Il doit faire 10 caract&egrave;s.<br />";
echo "cliquez <a href='Credit_admin.php'>ici</a> pour recommencer.";
}
else if($id_club == 0) {
echo "Le num&eacute;ro du club est inconnu sur le site.";
echo "cliquez <a href='Credit_admin.php'>ici</a> pour recommencer.";
}
/* Si un joueur est selectionné */
if($id_joueur != 0 and $id_club != 0) {
$requete="SELECT * FROM compte WHERE id_joueur='$id_joueur' 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_compte=mysqli_num_rows($reponse);
$compte=mysqli_fetch_object($reponse);
$licence_valide=verifierLicence($num_fft);
/* Si la licence est valide */
if($licence_valide==1) {
/* Compte existant pour le club */
if($existe_compte > 0) {
$solde_actu=$compte->solde;
$nb_jetons=$solde_actu + $jetons;
$requete="UPDATE compte SET solde='$nb_jetons' WHERE id_compte='$compte->id_compte'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
/* Si le compte est inexistant, on déclare le joueur en tant qu'invité du club */
else {
$temp="Invité";
$debut=date("Y-m-d H:i:s", time());
$fin=date("Y-m-d H:i:s", time()+(3600*24*365));
$requete="INSERT INTO compte(id_joueur, id_club, actif_debut, actif_fin, statut, droit,solde,cumul)";
$requete.=" VALUES('$id_joueur','$id_club','$debut','$fin','$temp','Usage','$jetons','0')";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
echo "Les jetons ont &eacute;t&eacute; cr&eacute;dit&eacute;s au joueur.Il lui reste $nb_jetons jetons disponibles.";
}
/* Licence bidon - location horaire */
else {
if($existe_compte > 0) {
$solde_actu=$compte->solde;
$nb_jetons=$solde_actu + $jetons;
$requete="UPDATE compte SET solde='$nb_jetons' WHERE id_compte='$compte->id_compte'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
/* Création d'une carte pour le joueur */
if(utf8_encode($compte->statut)=="Invité") {
$date=date("Y-m-d", time());
$requete="INSERT INTO location_horaire(id_joueur, id_club, date, jetons) VALUES('$id_joueur','$id_club','$date','$jetons')";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
echo "La location a bien &eacute;t&eacute; cr&eacute;e. Il reste $nb_jetons jetons disponibles pour le joueur.";
}
else {
echo "Les jetons ont &eacute;t&eacute; cr&eacute;dit&eacute;s au joueur. Il lui reste $nb_jetons jetons disponibles.";
}
}
else {
$temp="Invité";
$ts_debut=time();
$ts_fin=$ts_debut + (3600*24*365);
$debut=Date("YmdHis", $ts_debut);
$fin=Date("YmdHis", $ts_fin);
$requete="INSERT INTO compte(id_joueur, id_club, statut, droit, solde, actif_debut, actif_fin) VALUES('$joueur->id_joueur', '$id_club', '$temp', 'Usage', '$jetons', '$debut', '$fin')";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$requete="INSERT INTO location_horaire(id_joueur, id_club, date, jetons) VALUES('$id_joueur','$id_club','$date','$jetons')";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
echo "La location a bien &eacute;t&eacute; cr&eacute;e. Il reste $nb_jetons jetons disponibles pour le joueur.";
}
}
}
}
echo "<br /><br />";
include("deco_admin.php");
include("piedDePage.php");
}
else {
echo("Non autorisé - Redirection vers la page d'identification dans 2 secondes");
sleep(2);
include("admin_login.php");
}
/* fonction de controle de format de la licence FFT */
function verifierLicence($numero_fft){
$numero=0;
$res=1;
// controle de la licence si le numero de licence est valide (1234567K par ex,)
if(is_numeric($numero_fft[0])) {
for($i=0;$i<7;$i++){$numero=$numero+($numero_fft[$i]* pow (10,(6-$i)));}
$cle=$numero_fft[7];
$tab_lettres=array("A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z");
$mod=($numero % 23);
if ($mod==0){$mod=23;}
if(strtoupper($cle)!=$tab_lettres[$mod-1]){
$res=0;
}
}
else {
$res=0;
}
return $res;
}
/* Ajout du tel d'un joueur */
function ajout_tel($id_joueur, $num_tel, $db_connection) {
$groupe1=substr($num_tel, 0,2);
$groupe2=substr($num_tel, 2,2);
$groupe3=substr($num_tel, 4,2);
$groupe4=substr($num_tel, 6,2);
$groupe5=substr($num_tel, 8,2);
$num_tel="$groupe1 $groupe2 $groupe3 $groupe4 $groupe5";
if($groupe1=="06") {
$requete="INSERT INTO telephone(id_joueur,type,numero) VALUES('$id_joueur','portable','$num_tel')";
}
else {
$requete="INSERT INTO telephone(id_joueur,type,numero) VALUES('$id_joueur','maison','$num_tel')";
}
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
}
?>