453 lines
14 KiB
PHP
Executable File
453 lines
14 KiB
PHP
Executable File
<?php
|
|
//header('Content-Type: text/html; charset=ISO-8859-1');
|
|
|
|
include("fct_nouv_club.php");
|
|
|
|
//recup_joueur("8951844P");
|
|
|
|
function recup_joueur($num_fft) {
|
|
$erreur=0;
|
|
$licence_ok=test_licence_ok($num_fft);
|
|
if($licence_ok==1) {
|
|
echo "Licence ok";
|
|
$handle=ouvre_adresse_web_joueur($num_fft);
|
|
passeEnTeteHtmlJoueur($handle);
|
|
$tab=lectureDonneesHtmlJoueur($handle);
|
|
//lectureTableauJoueur($tab);
|
|
insertion_bdd_joueur($tab);
|
|
fclose($handle);
|
|
$erreur=0;
|
|
}
|
|
else {
|
|
echo "Licence inexistante";
|
|
$erreur=1;
|
|
}
|
|
return $erreur;
|
|
}
|
|
|
|
|
|
function ouvre_adresse_web_joueur($num_fft) {
|
|
$ad_web="http://www.fft.fr/palmares/bdd/recherche_licencies/liste_licencies.asp?NOM=&PRENOM=&LICENCE=%s&NUMERO_CLUB=&image.x=0&image.y=0";
|
|
$ad_web=sprintf($ad_web, $num_fft);
|
|
if($file_handle=fopen($ad_web,"r")) {
|
|
return $file_handle;
|
|
}
|
|
else {
|
|
echo "Erreur ouverture fichier";
|
|
}
|
|
}
|
|
|
|
/* Passe les balises HTML */
|
|
function passeTag($file_handle) {
|
|
while($c!='>') {
|
|
$c=fgetc($file_handle);
|
|
//echo $c;
|
|
}
|
|
|
|
}
|
|
|
|
/* Passe un élément inutile */
|
|
function passeElement($file_handle) {
|
|
while($c!='<') {
|
|
$c=fgetc($file_handle);
|
|
//echo $c;
|
|
}
|
|
}
|
|
|
|
/* Passe l'en-tete du fichier html */
|
|
function passeEnTeteHtmlJoueur($file_handle) {
|
|
passeTag($file_handle);passeTag($file_handle);passeTag($file_handle);passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
passeTag($file_handle);passeTag($file_handle);passeTag($file_handle);passeTag($file_handle);passeTag($file_handle);passeTag($file_handle);
|
|
passeTag($file_handle);passeTag($file_handle);
|
|
passeTag($file_handle);
|
|
passeTag($file_handle);passeTag($file_handle);passeTag($file_handle);
|
|
}
|
|
|
|
function test_licence_ok($num_fft) {
|
|
$ad_web="http://www.fft.fr/palmares/bdd/recherche_licencies/liste_licencies.asp?NOM=&PRENOM=&LICENCE=%s&NUMERO_CLUB=&image.x=0&image.y=0";
|
|
$ad_web=sprintf($ad_web, $num_fft);
|
|
$html = implode ('', file ($ad_web));
|
|
|
|
if(ereg("Aucun", $html)>0) {
|
|
$ok=0;
|
|
}
|
|
else {
|
|
$ok=1;
|
|
}
|
|
|
|
return $ok;
|
|
}
|
|
|
|
/* Lit les donnees utiles et les placent dans un tableau */
|
|
function LectureDonneesHtmlJoueur($file_handle) {
|
|
/* Liste des licenciés */
|
|
$tableauJoueur=array();
|
|
for($i=0;$i<6;$i++)
|
|
passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
|
|
|
|
/* Nombre de licenciées trouvés */
|
|
for($i=0;$i<13;$i++)
|
|
passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
for($i=0;$i<2;$i++)
|
|
passeTag($file_handle);
|
|
$tableauJoueur=lecture_Element($file_handle, $tableauJoueur);
|
|
|
|
/* Nom Prénom*/
|
|
for($i=0;$i<16;$i++)
|
|
passeTag($file_handle);
|
|
$tableauJoueur=lecture_Element($file_handle, $tableauJoueur);
|
|
|
|
/* Année */
|
|
for($i=0;$i<7;$i++)
|
|
passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
for($i=0;$i<7;$i++)
|
|
passeTag($file_handle);
|
|
$tableauJoueur=lecture_Annee($file_handle, $tableauJoueur);
|
|
|
|
/* Sexe */
|
|
for($i=0;$i<7;$i++)
|
|
passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
for($i=0;$i<4;$i++)
|
|
passeTag($file_handle);
|
|
$tableauJoueur=lecture_Element($file_handle, $tableauJoueur);
|
|
|
|
/* Licence */
|
|
for($i=0;$i<8;$i++)
|
|
passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
for($i=0;$i<3;$i++)
|
|
passeTag($file_handle);
|
|
$tableauJoueur=lecture_Element($file_handle, $tableauJoueur);
|
|
|
|
/* Année (cotisation) */
|
|
for($i=0;$i<6;$i++)
|
|
passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
for($i=0;$i<7;$i++)
|
|
passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
passeTag($file_handle);
|
|
$tableauJoueur=lecture_Element($file_handle, $tableauJoueur);
|
|
|
|
/* Classement Année courante */
|
|
for($i=0;$i<8;$i++)
|
|
passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
for($i=0;$i<7;$i++)
|
|
passeTag($file_handle);
|
|
$tableauJoueur=lecture_Element($file_handle, $tableauJoueur);
|
|
|
|
/* Club Numéro Fédé */
|
|
for($i=0;$i<8;$i++)
|
|
passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
for($i=0;$i<3;$i++)
|
|
passeTag($file_handle);
|
|
$tableauJoueur=lecture_Element($file_handle, $tableauJoueur);
|
|
|
|
/* Catégorie */
|
|
/*for($i=0;$i<3;$i++)
|
|
passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
for($i=0;$i<7;$i++)
|
|
passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
for($i=0;$i<7;$i++)
|
|
passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
passeTag($file_handle);
|
|
$tableauJoueur=lecture_Element($file_handle, $tableauJoueur);*/
|
|
|
|
/* Classement Année précédente */
|
|
for($i=0;$i<5;$i++)
|
|
passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
for($i=0;$i<6;$i++)
|
|
passeTag($file_handle);
|
|
for($i=0;$i<10;$i++)
|
|
passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
for($i=0;$i<7;$i++)
|
|
passeTag($file_handle);
|
|
$tableauJoueur=lecture_Element($file_handle, $tableauJoueur);
|
|
|
|
|
|
/* Date renouvellement licence */
|
|
for($i=0;$i<10;$i++)
|
|
passeTag($file_handle);
|
|
passeElement($file_handle);
|
|
for($i=0;$i<5;$i++)
|
|
passeTag($file_handle);
|
|
$tableauJoueur=lecture_DateEnreg($file_handle, $tableauJoueur);
|
|
|
|
/* retourne le tableau contenant les données des joueurs */
|
|
return $tableauJoueur;
|
|
}
|
|
|
|
/* place l'élément dans le tableau */
|
|
function lecture_Element($file_handle, $tableauJoueur) {
|
|
while($c!='<') {
|
|
$c=fgetc($file_handle);
|
|
$str.=$c;
|
|
}
|
|
/* enleve le '<' et les espaces */
|
|
$str=substr($str, 0, strlen($str)-1);
|
|
$str=trim($str);
|
|
array_push($tableauJoueur, $str);
|
|
return $tableauJoueur;
|
|
}
|
|
|
|
/* Place l'année de naissance dans le tableau */
|
|
function lecture_Annee($file_handle, $tableauJoueur) {
|
|
while($c!='<') {
|
|
$c=fgetc($file_handle);
|
|
$str.=$c;
|
|
}
|
|
/* enleve le '<' , le $nbsp; et les espaces */
|
|
$str=substr($str, 6, 4);
|
|
$str=trim($str);
|
|
array_push($tableauJoueur, $str);
|
|
return $tableauJoueur;
|
|
}
|
|
|
|
/* Place la date d'enregistrement */
|
|
function lecture_DateEnreg($file_handle, $tableauJoueur) {
|
|
while($c!='<') {
|
|
$c=fgetc($file_handle);
|
|
$str.=$c;
|
|
}
|
|
/* enleve le '<' , le $nbsp; et les espaces */
|
|
$str=substr($str, 6, 10);
|
|
$str=trim($str);
|
|
//$str=str_replace("< ","",$str);
|
|
array_push($tableauJoueur, $str);
|
|
return $tableauJoueur;
|
|
}
|
|
|
|
/* Fonction de test - Affiche le tableau à l'écran */
|
|
function lectureTableauJoueur($tableauJoueur) {
|
|
print_r($tableauJoueur);
|
|
}
|
|
|
|
/* Insertion du nouveau joueur dans la base */
|
|
function insertion_bdd_joueur($tableauJoueur) {
|
|
include ("conf.php");
|
|
list($nom, $prenom, $prenom1, $prenom2)=explode(" ",$tableauJoueur[1]);
|
|
if($prenom1!="" and $prenom2!="") {
|
|
$nom=$nom." ".$prenom;
|
|
$prenom=$prenom1." ".$prenom2;
|
|
}
|
|
else if ($prenom1!="") {
|
|
$tabToto=substr($prenom,1,1);
|
|
$ascii=ord($tabToto);
|
|
/* si le deuxième caractère est une majuscule */
|
|
if($ascii>=65 and $ascii<=90) {
|
|
$nom=$nom." ".$prenom;
|
|
$prenom=$prenom1;
|
|
}
|
|
else {
|
|
$nom=$nom;
|
|
$prenom=$prenom." ".$prenom1;
|
|
}
|
|
}
|
|
$nom=addslashes($nom);
|
|
$prenom=addslashes($prenom);
|
|
if($tableauJoueur[3]=='H') {
|
|
$sexe='m';
|
|
}
|
|
else {
|
|
$sexe='f';
|
|
}
|
|
/* controle si le joueur existe deja dans la base */
|
|
$numero_fft=$tableauJoueur[4];
|
|
$requete="SELECT id_joueur, classement FROM joueur WHERE numero_fft='$numero_fft'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno()." : ".mysqli_error()."<br>");
|
|
$existe=mysqli_num_rows($reponse);
|
|
if($existe==0) {
|
|
$annee=$tableauJoueur[2];
|
|
if($tableauJoueur[6]=="A venir") {
|
|
$classement="NC";
|
|
}
|
|
else {
|
|
$classement=$tableauJoueur[6];
|
|
}
|
|
$requete="INSERT INTO joueur(nom, prenom, annee, sexe, classement, numero_fft) VALUES('$nom', '$prenom', '$annee','$sexe','$classement', '$numero_fft')";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno()." : ".mysqli_error()."<br>");
|
|
$requete="SELECT MAX(id_joueur) FROM joueur";
|
|
$reponse1=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno()." : ".mysqli_error()."<br>");
|
|
$joueur=mysqli_fetch_array($reponse1);
|
|
$numfft_club=$tableauJoueur[7];
|
|
$requete="SELECT id_club FROM club WHERE numero_fft='$numfft_club'";
|
|
$reponse2=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno()." : ".mysqli_error()."<br>");
|
|
$existe=mysqli_num_rows($reponse2);
|
|
/* Si le club n'existe pas le creer en base */
|
|
if($existe==0 and ! (empty($numfft_club))) {
|
|
recup_club($numfft_club);
|
|
$requete="SELECT id_club FROM club WHERE numero_fft='$numfft_club'";
|
|
$reponse2=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno()." : ".mysqli_error()."<br>");
|
|
}
|
|
$club=mysqli_fetch_object($reponse2);
|
|
$temp=utf8_decode("MembreLicencié");
|
|
$temp1=utf8_decode("Invité");
|
|
$debut_tab=getdate(); /* tenir compte de la date d'enregistrement */
|
|
if($debut_tab[seconds]==0) {
|
|
$debut_tab[seconds]="00";
|
|
}
|
|
else if ($debut_tab[seconds]<10) {
|
|
$debut_tab[seconds]="0".$debut_tab[seconds];
|
|
}
|
|
if($debut_tab[hours]==0) {
|
|
$debut_tab[hours]="00";
|
|
}
|
|
else if ($debut_tab[hours]<10) {
|
|
$debut_tab[hours]="0".$debut_tab[hours];
|
|
}
|
|
if($debut_tab[minutes]==0) {
|
|
$debut_tab[minutes]="00";
|
|
}
|
|
else if ($debut_tab[minutes]<10) {
|
|
$debut_tab[minutes]="0".$debut_tab[minutes];
|
|
}
|
|
/* Initialement tableau de 10 */
|
|
list($enr_jour, $enr_mois, $enr_annee)=explode("/", $tableauJoueur[9]);
|
|
$ts_enr=mktime(0,0,0,$enr_mois, $enr_jour, $enr_annee);
|
|
if(time() > ($ts_enr+(3600*24*430))) {
|
|
$paye='non';
|
|
}
|
|
else {
|
|
$paye='oui';
|
|
}
|
|
$ts_debut=mktime($debut_tab[hours],$debut_tab[minutes],$debut_tab[seconds],$enr_mois,$enr_jour,$enr_annee);
|
|
// Ajoute un mois a la fin du compte
|
|
$debut=Date("Y-m-d H:i:s",$ts_debut);
|
|
// Ajoute un mois a la fin du compte
|
|
$ts_fin=$ts_debut+(3600*24*430);
|
|
$fin=Date("Y-m-d H:i:s",$ts_fin);
|
|
$now=time();
|
|
if($now>=$ts_fin) {
|
|
$invit=1;
|
|
}
|
|
else {
|
|
$invit=0;
|
|
}
|
|
if($invit==1) {
|
|
$requete="INSERT INTO compte(id_joueur, id_club, statut, droit, actif_debut, actif_fin, solde,paiement) VALUES('$joueur[0]','$club->id_club','$temp1','Usage','$debut','$fin','10','$paye')";
|
|
}
|
|
else {
|
|
$requete="INSERT INTO compte(id_joueur, id_club, statut, droit, actif_debut, actif_fin,paiement,solde) VALUES('$joueur[0]','$club->id_club','$temp','Usage','$debut','$fin','$paye','1000')";
|
|
}
|
|
$reponse3=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno()." : ".mysqli_error()."<br>");
|
|
}
|
|
/* si la personne existe deja en base */
|
|
else {
|
|
$annee=$tableauJoueur[2];
|
|
if($tableauJoueur[6]=="A venir") {
|
|
$joueur=mysqli_fetch_object($reponse);
|
|
$classement=$joueur->classement;
|
|
if($classement=="") {
|
|
$classement="NC";
|
|
}
|
|
}
|
|
else {
|
|
$classement=$tableauJoueur[6];
|
|
}
|
|
$requete="UPDATE joueur SET nom='$nom', prenom='$prenom', annee='$annee', sexe='$sexe', classement='$classement' WHERE numero_fft='$numero_fft'";
|
|
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno()." : ".mysqli_error()."<br>");
|
|
$requete="SELECT id_joueur FROM joueur WHERE numero_fft='$numero_fft'";
|
|
$reponse1=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno()." : ".mysqli_error()."<br>");
|
|
$joueur=mysqli_fetch_array($reponse1);
|
|
$numfft_club=$tableauJoueur[7];
|
|
$requete="SELECT id_club FROM club WHERE numero_fft='$numfft_club'";
|
|
$reponse2=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno()." : ".mysqli_error()."<br>");
|
|
$existe=mysqli_num_rows($reponse2);
|
|
/* Si le club n'existe pas le creer en base */
|
|
if($existe==0) {
|
|
recup_club($numfft_club);
|
|
$requete="SELECT id_club FROM club WHERE numero_fft='$numfft_club'";
|
|
$reponse2=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno()." : ".mysqli_error()."<br>");
|
|
}
|
|
$club=mysqli_fetch_object($reponse2);
|
|
$temp=utf8_decode("MembreLicencié");
|
|
$temp1=utf8_decode("Invité");
|
|
$debut_tab=getdate(); /* tenir compte de la date d'enregistrement */
|
|
if($debut_tab[seconds]==0) {
|
|
$debut_tab[seconds]="00";
|
|
}
|
|
else if ($debut_tab[seconds]<10) {
|
|
$debut_tab[seconds]="0".$debut_tab[seconds];
|
|
}
|
|
if($debut_tab[hours]==0) {
|
|
$debut_tab[hours]="00";
|
|
}
|
|
else if ($debut_tab[hours]<10) {
|
|
$debut_tab[hours]="0".$debut_tab[hours];
|
|
}
|
|
if($debut_tab[minutes]==0) {
|
|
$debut_tab[minutes]="00";
|
|
}
|
|
else if ($debut_tab[minutes]<10) {
|
|
$debut_tab[minutes]="0".$debut_tab[minutes];
|
|
}
|
|
/* Initialement tableau de 10 */
|
|
list($enr_jour, $enr_mois, $enr_annee)=explode("/", $tableauJoueur[9]);
|
|
$ts_enr=mktime(0,0,0,$enr_mois, $enr_jour, $enr_annee);
|
|
$paye='non';
|
|
$ts_debut=mktime($debut_tab[hours],$debut_tab[minutes],$debut_tab[seconds],$enr_mois,$enr_jour,$enr_annee);
|
|
$debut=date("Y-m-d H:i:s",$ts_debut);
|
|
// Ajoute un mois a la fin du compte
|
|
$ts_fin=$ts_debut+(3600*24*430);
|
|
$fin=date("Y-m-d H:i:s",$ts_fin);
|
|
$now=time();
|
|
if($now>=$ts_fin) {
|
|
$invit=1;
|
|
}
|
|
else {
|
|
$invit=0;
|
|
}
|
|
$id_joueur=$joueur[0];
|
|
$requete="SELECT id_compte, droit, paiement, moyen_paiement, montant FROM compte WHERE id_joueur='$id_joueur' AND id_club='$club->id_club'";
|
|
$reponse3=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno()." : ".mysqli_error()."<br>");
|
|
$existe=mysqli_num_rows($reponse3);
|
|
if($existe==0) {
|
|
if($invit==1) {
|
|
$requete="INSERT INTO compte (id_joueur, id_club, statut, actif_debut, actif_fin, solde,paiement) VALUES('$joueur[0]','$club->id_club','$temp1','$debut', '$fin','0','$paye')";
|
|
}
|
|
else {
|
|
$requete="INSERT INTO compte (id_joueur, id_club, statut, actif_debut, actif_fin,paiement,solde) VALUES('$joueur[0]','$club->id_club','$temp', '$debut', '$fin','$paye','1000')";
|
|
}
|
|
}
|
|
else {
|
|
$compte=mysqli_fetch_object($reponse3);
|
|
$paiement = $compte->paiement;
|
|
/* Si le paiement de la licence a été effectuée */
|
|
if($paiement == 'oui') {
|
|
$montant = $compte->montant;
|
|
$moyen_paiement = $compte->moyen_paiement;
|
|
}
|
|
else {
|
|
$montant = "";
|
|
$moyen_paiement = 'autre';
|
|
}
|
|
/* Si compte invité */
|
|
if($invit==1) {
|
|
$requete="UPDATE compte SET id_club='$club->id_club', statut='$temp1',droit='$compte->droit', actif_debut='$debut', actif_fin='$fin', solde='0',paiement='$paiement', moyen_paiement='$moyen_paiement', montant='$montant' WHERE id_compte='$compte->id_compte'";
|
|
}
|
|
else {
|
|
$requete="UPDATE compte SET id_club='$club->id_club', statut='$temp', droit='$compte->droit', actif_debut='$debut', actif_fin='$fin',paiement='$paiement', moyen_paiement='$moyen_paiement', montant='$montant', solde='1000' WHERE id_compte='$compte->id_compte'";
|
|
}
|
|
}
|
|
$reponse3=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno()." : ".mysqli_error()."<br>");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
?>
|
|
|