378 lines
17 KiB
PHP
Executable File
378 lines
17 KiB
PHP
Executable File
<?php
|
|
session_start();
|
|
if(isset($_SESSION['type']) and isset($_SESSION['id'])) {
|
|
$type=$_SESSION['type'];
|
|
$id=$_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("constantes.php");
|
|
include("conf.php");
|
|
|
|
echo "<div id='contenu'>";
|
|
/* Informations joueur */
|
|
if($type=='joueur') {
|
|
$requete="SELECT id_joueur, nom, prenom, mot_passe FROM joueur WHERE id_joueur='$id'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$joueur=mysqli_fetch_object($reponse);
|
|
$adm=0;
|
|
}
|
|
else {
|
|
$requete="SELECT id_joueur, id_club FROM admin_resa WHERE id_admin='$id'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$admin=mysqli_fetch_object($reponse);
|
|
$id_club=$admin->id_club;
|
|
$requete="SELECT id_joueur, nom, prenom, mot_passe FROM joueur WHERE id_joueur='$admin->id_joueur'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
|
$joueur=mysqli_fetch_object($reponse);
|
|
$adm=1;
|
|
}
|
|
echo "<h1><center>Créditez un compte d'un joueur / Location horaire</center></h1>";
|
|
|
|
if($adm==1) {
|
|
if(count($_POST)==0) {
|
|
echo "<p style='font-size:14px;'>";
|
|
echo "Cette page permet d'ajouter des jetons à un joueur.<br />";
|
|
echo "Vous devez saisir les informations suivantes : <br />";
|
|
echo "<ul>";
|
|
echo "<li>Pour un joueur licencié à la FFT (adhérent dans votre club ou un club différent), saisissez le numéro de licence, le téléphone et le nombre d'heures de réservations (les heures sont converties en jetons automatiquement - si le joueur a une carte à l'année dans votre club, veuillez cocher la case correspondante - les quotas pour ces joueurs sont les mêmes que ceux des joueurs licenciés dans votre club);</li>";
|
|
echo "<li>Pour une location horaire, saisissez toutes les informations (nom, téléphone, nombre de jetons et numéro FFT.</li>";
|
|
echo "</ul>";
|
|
echo "<center><h2>1 jeton équivaut à une demi-heure de ré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_resa.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éro de licence du joueur : </td><td><input type='text' name='num_fft' maxlength='8' value='$num_fft'></td></tr>";
|
|
echo "<tr><td>Numéro de téléphone : </td><td><input type='text' name='num_tel' maxlength='10' value='$tel'><b>(sans espaces)</b></td></tr>";
|
|
|
|
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éservations illimitées (carte à l'année)</td></tr>";
|
|
echo "<tr><td>Nombre d'heures de réservations à ajouter : </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é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; // Passage aux demi-heures
|
|
$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);
|
|
$prenom="location";
|
|
/* 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éro de licence FFT est trop court. Il doit faire 8 caractères.<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éro de téléphone est trop court. Il doit faire 10 caractères.<br />";
|
|
echo "cliquez <a href='credit_admin_resa.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) {
|
|
// echo "Location existe <br />";
|
|
$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=utf8_decode("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=utf8_decode("MembreLicencié");
|
|
}
|
|
else {
|
|
$temp=utf8_decode("Invité");
|
|
}
|
|
}
|
|
else {
|
|
$temp=utf8_decode("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 été crédités au joueur.";
|
|
if($carte_resa==1000) {
|
|
echo "Le joueur a maintenant les réservations illimité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 été créé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 été modifiée.";
|
|
}
|
|
if($carte_resa==1000) {
|
|
echo "Le joueur a les réservations illimitées sur les terrains de votre club.";
|
|
}
|
|
else {
|
|
echo "Il lui reste $nb_jetons jetons disponibles.";
|
|
}
|
|
}
|
|
else {
|
|
echo "Les jetons ont été crédités au joueur.";
|
|
if($carte_resa==1000) {
|
|
echo "Le joueur a les réservations illimitées sur les terrains de votre club.";
|
|
}
|
|
else {
|
|
echo "Il lui reste $nb_jetons jetons disponibles.";
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
$temp=utf8_decode("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>");
|
|
$date=date("Y-m-d", time());
|
|
$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 été crée.";
|
|
if($carte_resa==1000) {
|
|
echo "Le joueur a les réservations illimité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_resa.php'>Retour à la liste des jetons des joueurs du club</a></center>";
|
|
echo "<br />";
|
|
echo "<center><a href='liste_location_resa.php'>Retour à la liste des locations horaires du club</a></center>";
|
|
}
|
|
else {
|
|
echo "Vous n'êtes pas administrateur.";
|
|
}
|
|
|
|
echo "<br /><br />";
|
|
include("deco_resa.php");
|
|
include("piedDePage.php");
|
|
}
|
|
else {
|
|
echo("Non autorisé - Redirection vers la page d'identification dans 2 secondes");
|
|
sleep(2);
|
|
include("login_resa.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>");
|
|
}
|
|
|
|
?>
|