Files
resatennis_tyroltenn/www/tyroltenn/Credit_admin_club.php

354 lines
16 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']==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");
include("constantes.php");
include("conf.php");
include("fct_nouvjoueur.php");
echo "<div id='contenu'>";
echo "<center><h1>Cr&eacute;ditez le compte d'un joueur - Location horaire</h1></center>";
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>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 d'heures de r&eacute;servation (les heures sont converties en jetons automatiquement - si le joueur a une carte &agrave; l'ann&eacute;e dans votre club, veuillez cocher la case correspondante - les quotas pour ces joueurs sont les m&ecirc;mes que ceux des joueurs licenci&eacute;s dans votre club);</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 demi-heure de r&eacute;servation</h2></center>";
echo "</p>";
$id_joueur=0;
if(count($_GET) > 0 and isset($_GET['licence'])) {
$num_fft=$_GET['licence'];
$requete="SELECT t.numero,j.nom, j.prenom, j.id_joueur FROM telephone t, joueur j WHERE j.id_joueur=t.id_joueur AND j.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);
if($existe > 0) {
$num_tel=mysqli_fetch_object($reponse);
$id_joueur=$num_tel->id_joueur;
$nom=$num_tel->nom;
$prenom=$num_tel->prenom;
$tel=str_replace(" ","",$num_tel->numero);
}
}
else {
$num_fft="";
$tel="";
$nom="";
$prenom="";
}
echo "<form action='Credit_admin_club.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 du joueur : </td><td><input type='text' name='num_fft' maxlength='8' value='$num_fft'></td></tr>";
echo "<tr><td>Num&eacute;ro de t&eacute;l&eacute;phone : </td><td><input type='text' name='num_tel' maxlength='10' value='$tel'><b>(sans espaces)</b></td></tr>";
$nb_jetons=constant("NB_JETONS");
echo "<tr><td><input type='checkbox' name='carte_resa' value='1000'";
$requete="SELECT solde 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>");
$compte_club=mysqli_fetch_object($reponse);
if(count($_GET) > 0 and $id_joueur > 0 and $compte_club->solde > 100) {
echo " checked";
$nb_jetons=0;
}
else {
$nb_jetons=constant("NB_JETONS");
}
echo ">R&eacute;servations illimit&eacute;es (carte &agrave; l'ann&eacute;e)</td></tr>";
echo "<tr><td>Nombre d'heures de r&eacute;servation &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' value='$nom'></td></tr>";
echo "<tr><td>Pr&eacute;nom : </td><td><input type='text' maxlength='30' name='prenom' value='$prenom'></td></tr>";
echo "<tr><td></td><td><input type='submit' name='valider' value='Valider'></td></tr>";
echo "</table></center>";
echo "</form>";
}
else {
$num_fft=$_POST['num_fft'];
$num_tel=$_POST['num_tel'];
$jetons=$_POST['jetons'];
$jetons*=2;
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$carte_resa=$_POST['carte_resa'];
$id_joueur=0;
if(strlen($num_fft)==8 and strlen($num_tel)==10) {
$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);
}
/* 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_resa.php?licence=$num_fft'>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;res.<br />";
echo "cliquez <a href='Credit_admin_club.php?licence=$num_fft'>ici</a> pour recommencer.";
}
/* Si un joueur est selectionné */
if($id_joueur != 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);
$existe_location=0;
$solde_actu=0;
/* Détermine si le joueur a une location horaire */
if(utf8_encode($compte->statut)=="Invité" and $licence_valide==0) {
/* Recherche d'une dernière location horaire */
$requete="SELECT id_carte, jetons FROM location_horaire 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_location=mysqli_num_rows($reponse);
if($existe_location > 0) {
$location=mysqli_fetch_object($reponse);
}
}
/* Si ce joueur a une carte à l'année */
if($carte_resa==1000) {
$nb_jetons=1000;
}
else {
/* Si le compte existe, on recup le solde actuel */
if($existe_compte > 0) {
$solde_actu=$compte->solde;
}
/* Si carte a l'annee */
if($solde_actu==1000) {
$nb_jetons=$jetons;
}
/* Sinon on crédite les jetons sur le compte */
else {
$nb_jetons=$solde_actu + $jetons;
}
}
/* Si la licence est valide */
if($licence_valide==1) {
/* Compte existant pour le club */
if($existe_compte > 0) {
$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="MembreLicencié";
/* Controle le club où le joueur est licencié */
$requete="SELECT id_club FROM compte WHERE statut='$temp' AND id_joueur='$id_joueur'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
$nb=mysqli_num_rows($reponse);
if($nb > 0) {
$club_licencie=mysqli_fetch_object($reponse);
$id_club_licencie=$club_licencie->id_club;
if($id_club == $id_club_licencie) {
$temp="MembreLicencié";
}
else {
$temp="Invité";
}
}
else {
$temp="MembreLicencié";
}
$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','$nb_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.";
if($carte_resa==1000) {
echo "Le joueur a maintenant les r&eacute;servations illimit&eacute;es sur vos terrains.";
}
else {
echo "Il lui reste $nb_jetons jetons disponibles.";
}
}
/* Licence bidon - location horaire */
else {
if($existe_compte > 0) {
/* Update du compte du joueur */
$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());
if($existe_location == 0) {
$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.";
}
else {
$jetons_carte=$location->jetons;
$jetons_carte+=$jetons;
$requete="UPDATE location_horaire SET date='$date', jetons='$jetons_carte' WHERE id_carte='$location->id_carte'";
$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; modifi&eacute;e.";
}
if($carte_resa==1000) {
echo "Le joueur a les r&eacute;servations illimit&eacute;es sur les terrains de votre club.";
}
else {
echo "Il lui reste $nb_jetons jetons disponibles.";
}
}
else {
echo "Les jetons ont &eacute;t&eacute; cr&eacute;dit&eacute;s au joueur.";
if($carte_resa==1000) {
echo "Le joueur a les r&eacute;servations illimit&eacute;es sur les terrains de votre club.";
}
else {
echo "Il lui reste $nb_jetons jetons disponibles.";
}
}
}
else {
$temp="Invité";
$ts_debut=time();
$ts_fin=$ts_debut + (3600*24*365);
$debut=Date("Y-m-d H:i:s", $ts_debut);
$fin=Date("Y-m-d H:i:s", $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', '$nb_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','$nb_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.";
if($carte_resa==1000) {
echo "Le joueur a les r&eacute;servations illimit&eacute;es sur les terrains de votre club.";
}
else {
echo "Il reste $nb_jetons jetons disponibles pour le joueur.";
}
}
}
}
}
echo "<br /><br />";
echo "<center><a href='liste_jetons.php'>Retour &agrave; la liste des jetons des joueurs du club</a></center>";
echo "<br />";
echo "<center><a href='liste_location.php'>Retour &agrave; la liste des locations horaires du club</a></center>";
echo "<br /><br />";
include("deco_admin_club.php");
include("piedDePage.php");
}
else {
echo("Non autoris&eacute; - 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>");
}
?>