0) { fclose($handle); $handle=ouvre_adresse_web($num_fft); $tableauJoueurs=array(); $nb_pages=(int)($nb_licencies/10); if(($nb_licencies%10)!=0) { $nb_pages++; } $nb_lic_temp=$nb_licencies; for($niveau=0;$niveau<($nb_pages*10);$niveau=$niveau+10) { if($nb_lic_temp>=10) { $nb_lic_page=10; $nb_lic_temp=$nb_lic_temp-$nb_lic_page; } else { $nb_lic_page=$nb_lic_temp; } if($niveau==0) { $handle=ouvre_adresse_web($num_fft); $tableauJoueurs=lecturePage($niveau,$nb_pages,$nb_lic_page, $handle, $tableauJoueurs); } else { $handle=ouvre_page($niveau, $num_fft); $tableauJoueurs=lecturePage($niveau,$nb_pages,$nb_lic_page, $handle, $tableauJoueurs); } } //lectureTableau($tableauJoueurs); insertion_bdd($tableauJoueurs); } else { echo "Aucun licencié trouvé"; } include("extraction_fft.php"); } /* Charge la première page de la recherche */ function ouvre_adresse_web($num_fft) { $ad_web="http://www.fft.fr/palmares/bdd/recherche_licencies/liste_licencies.asp?NOM=&PRENOM=&LICENCE=&NUMERO_CLUB=%s&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"; } } /* Charge les pages suivantes de la recherche */ function ouvre_page($niveau, $num_fft) { $ad_web="http://www.fft.fr/palmares/bdd/recherche_licencies/liste_licencies.asp?NOM=&PRENOM=&LICENCE=&NUMERO_CLUB=%s&CLASSEMENT=&ANNEE_NAISSANCE=&Rechercher=Rechercher&Niveau=%s"; $ad_web=sprintf($ad_web, $num_fft, $niveau); if($file_handle=fopen($ad_web,"r")) { return $file_handle; } else { echo "Erreur ouverture fichier"; } } /* Lit la page en cours */ function lecturePage($niveau, $nb_pages, $nb_lic_page, $file_handle, $tableauJoueurs) { passeEnTeteHtml($file_handle); PasseEnTeteBody($file_handle); PasseLiensPage($niveau,$nb_pages, $file_handle); passeEnTeteJoueurs($file_handle); for($i=0;$i<$nb_lic_page;$i++) $tableauJoueurs=donnees_joueur($file_handle, $tableauJoueurs); return $tableauJoueurs; } /* Passe le bandeau de liens vers les pages annexes */ function PasseLiensPage($niveau, $nb_pages, $file_handle) { for($i=0;$i<2;$i++) passeTag($file_handle); $page=($niveau/10)+1; for($i=0;$i<$nb_pages;$i++) { if($page==($i+1)) { for($j=0;$j<2;$j++) passeTag($file_handle); passeElement($file_handle); for($j=0;$j<2;$j++) passeTag($file_handle); } else { for($j=0;$j<6;$j++) passeTag($file_handle); passeElement($file_handle); for($j=0;$j<3;$j++) passeTag($file_handle); } } if($page==1 or $page==$nb_pages) { for($i=0;$i<3;$i++) passeTag($file_handle); } else { for($i=0;$i<6;$i++) passeTag($file_handle); } passeElement($file_handle); for($i=0;$i<16;$i++) passeTag($file_handle); } /* 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 passeEnTeteHtml($file_handle) { for($i=0;$i<4;$i++) passeTag($file_handle); passeElement($file_handle); for($i=0;$i<12;$i++) passeTag($file_handle); } /* Recherche dans la page le nombre de licenciés inscrits au club */ /* utile pour le nombre de pages et le nombre de joueurs à charger */ function recup_nb_licencies($file_handle) { passeEnTeteHtml($file_handle); for($i=0;$i<6;$i++) passeTag($file_handle); passeElement($file_handle); for($i=0;$i<13;$i++) passeTag($file_handle); passeElement($file_handle); for($i=0;$i<2;$i++) passeTag($file_handle); while($c!='<') { $c=fgetc($file_handle); $str.=$c; } $nb_licencies=(int)$str; return $nb_licencies; } /* passeEnTeteJoueurs */ function passeEnTeteJoueurs($file_handle) { passeTag($file_handle); } /* lecture des données de chaque joueur */ function donnees_joueur($file_handle, $tableauJoueurs) { /* contient les données d'un joueur */ $tabJoueur=array(); /* Nom Prénom*/ for($i=0;$i<5;$i++) passeTag($file_handle); $tabJoueur=lecture_Element($file_handle, $tabJoueur); /* Année */ for($i=0;$i<7;$i++) passeTag($file_handle); passeElement($file_handle); for($i=0;$i<7;$i++) passeTag($file_handle); $tabJoueur=lecture_Annee($file_handle, $tabJoueur); /* Sexe */ for($i=0;$i<7;$i++) passeTag($file_handle); passeElement($file_handle); for($i=0;$i<4;$i++) passeTag($file_handle); $tabJoueur=lecture_Element($file_handle, $tabJoueur); /* Licence */ for($i=0;$i<8;$i++) passeTag($file_handle); passeElement($file_handle); for($i=0;$i<3;$i++) passeTag($file_handle); $tabJoueur=lecture_Element($file_handle, $tabJoueur); /* 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); $tabJoueur=lecture_Element($file_handle, $tabJoueur); /* 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); $tabJoueur=lecture_Element($file_handle, $tabJoueur); /* Club Numéro Fédé */ for($i=0;$i<8;$i++) passeTag($file_handle); passeElement($file_handle); for($i=0;$i<4;$i++) passeTag($file_handle); $tabJoueur=lecture_Element($file_handle, $tabJoueur); /* 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); $tabJoueur=lecture_Element($file_handle, $tabJoueur); /* Classement Année précédente */ for($i=0;$i<7;$i++) passeTag($file_handle); passeElement($file_handle); for($i=0;$i<6;$i++) passeTag($file_handle); $tabJoueur=lecture_Element($file_handle, $tabJoueur); /* Catégorie */ for($i=0;$i<11;$i++) passeTag($file_handle); passeElement($file_handle); for($i=0;$i<5;$i++) passeTag($file_handle); $tabJoueur=lecture_DateEnreg($file_handle, $tabJoueur); /* Se positionne à la fin du bloc joueurs */ for($i=0;$i<9;$i++) passeTag($file_handle); passeElement($file_handle); for($i=0;$i<4;$i++) passeTag($file_handle); array_push($tableauJoueurs, $tabJoueur); /* retourne le tableau contenant les données des joueurs */ return $tableauJoueurs; } /* Lit les donnees utiles et les placent dans un tableau */ function PasseEnTeteBody($file_handle) { /* Passe le nombre de licecies du club */ for($i=0;$i<6;$i++) passeTag($file_handle); passeElement($file_handle); for($i=0;$i<13;$i++) passeTag($file_handle); passeElement($file_handle); for($i=0;$i<2;$i++) passeTag($file_handle); passeElement($file_handle); /* Passe le commentaire du haut de page ( joueurs ayant fait un match ) */ for($i=0;$i<9;$i++) passeTag($file_handle); passeElement($file_handle); for($i=0;$i<7;$i++) passeTag($file_handle); passeElement($file_handle); } /* 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); array_push($tableauJoueur, $str); return $tableauJoueur; } /* Affiche le tableau à l'écran */ function lectureTableau($tableauJoueur) { print_r($tableauJoueur); } /* Insère le contenu du tableau dans la base */ function insertion_bdd($tableauJoueurs) { include ("conf.php"); $db_connection=mysql_connect($db_host,$db_user,$password); mysql_select_db($db_name,$db_connection); for($i=0;$i=65 and $ascii<=90) { $nom=$nom." ".$prenom; $prenom=$prenom1; } else { $nom=$nom; $prenom=$prenom." ".$prenom1; } } if($tableauJoueurs[$i][2]=='H') { $sexe='m'; } else { $sexe='f'; } $nom=addslashes($nom); $nom=ucwords(strtolower($nom)); $numero_fft=$tableauJoueurs[$i][3]; /* controle si le joueur existe deja dans la base */ $requete="SELECT id_joueur FROM joueur WHERE numero_fft='$numero_fft'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $existe=mysql_num_rows($reponse); if($existe==0) { $annee=$tableauJoueurs[$i][1]; $classement=$tableauJoueurs[$i][5]; $requete="INSERT INTO joueur(nom, prenom, annee, sexe, classement, numero_fft) VALUES('$nom', '$prenom', '$annee','$sexe','$classement', '$numero_fft')"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $requete="SELECT MAX(id_joueur) FROM joueur"; $reponse1=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $joueur=mysql_fetch_array($reponse1); $numfft_club=$tableauJoueurs[$i][6]; $requete="SELECT id_club FROM club WHERE numero_fft='$numfft_club'"; $reponse2=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $club=mysql_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]; } list($enr_jour, $enr_mois, $enr_annee)=explode("/", $tableauJoueurs[$i][9]); $fin_annee=$enr_annee+1; $debut="$enr_annee$enr_mois$enr_jour$debut_tab[hours]$debut_tab[minutes]$debut_tab[seconds]"; $debut="$enr_annee$enr_mois$enr_jour$debut_tab[hours]$debut_tab[minutes]$debut_tab[seconds]"; // Ajoute un mois a la fin du compte $fin_mois=$enr_mois+1; if($fin_mois>12) { $fin_annee=$enr_annee+2; $fin_mois=1; } else { $fin_annee=$enr_annee+1; } $fin="$fin_annee$fin_mois$enr_jour$debut_tab[hours]$debut_tab[minutes]$debut_tab[seconds]"; $now=getdate(); if ($now[mon]<10) {$now[mon]="0".$now[mon];} if ($now[mday]<10) {$now[mday]="0".$now[mday];} if($now[year]>$fin_annee) { $invit=1; } else if ($now[year]>=$fin_annee and $now[mon]>$fin_mois) { $invit=1; } else if ($now[year]>=$fin_annee and $now[mon]>=$fin_mois and $now[mday]>$enr_jour) { $invit=1; } else { $invit=0; } $id_joueur=$joueur[0]; if($invit==1) { $requete="INSERT INTO compte(id_joueur, id_club, statut, droit, actif_debut, actif_fin, solde) VALUES('$id_joueur','$club->id_club','$temp1','Usage','$debut','$fin','10')"; } else { $requete="INSERT INTO compte(id_joueur, id_club, statut, droit, actif_debut, actif_fin) VALUES('$joueur[0]','$club->id_club','$temp','Usage','$debut','$fin')"; } $reponse3=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); echo "$debut - $fin\n"; } /* si la personne existe deja en base */ else { $annee=$tableauJoueurs[$i][1]; $classement=$tableauJoueurs[$i][5]; $numero_fft=$tableauJoueurs[$i][3]; $requete="UPDATE joueur SET nom='$nom', prenom='$prenom', annee='$annee', sexe='$sexe', classement='$classement' WHERE numero_fft='$numero_fft'"; $reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $requete="SELECT id_joueur FROM joueur WHERE numero_fft='$numero_fft'"; $reponse1=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $joueur=mysql_fetch_array($reponse1); $numfft_club=$tableauJoueurs[$i][6]; $requete="SELECT id_club FROM club WHERE numero_fft='$numfft_club'"; $reponse2=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); $club=mysql_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]; } list($enr_jour, $enr_mois, $enr_annee)=explode("/", $tableauJoueurs[$i][9]); $fin_annee=$enr_annee+1; $debut="$enr_annee$enr_mois$enr_jour$debut_tab[hours]$debut_tab[minutes]$debut_tab[seconds]"; // Ajoute un mois a la fin du compte $fin_mois=$enr_mois+1; if($fin_mois>12) { $fin_annee=$enr_annee+2; $fin_mois=1; } else { $fin_annee=$enr_annee+1; } $fin="$fin_annee$fin_mois$enr_jour$debut_tab[hours]$debut_tab[minutes]$debut_tab[seconds]"; $now=getdate(); if ($now[mon]<10) {$now[mon]="0".$now[mon];} if ($now[mday]<10) {$now[mday]="0".$now[mday];} if($now[year]>$fin_annee) { $invit=1; } else if ($now[year]>=$fin_annee and $now[mon]>$fin_mois) { $invit=1; } else if ($now[year]>=$fin_annee and $now[mon]>=$fin_mois and $now[mday]>$enr_jour) { $invit=1; } else { $invit=0; } $id_joueur=$joueur[0]; $requete="SELECT id_compte, droit FROM compte WHERE id_joueur='$id_joueur' AND id_club='$club->id_club'"; if($invit==1) { $requete="UPDATE compte SET id_club='$club->id_club', statut='$temp1', droit='Usage', actif_debut='$debut', actif_fin='$fin', solde='10' WHERE id_joueur='$joueur[0]'"; } else { $requete="UPDATE compte SET id_club='$club->id_club', statut='$temp', droit='Usage', actif_debut='$debut', actif_fin='$fin' WHERE id_joueur='$joueur[0]'"; } $reponse3=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."
"); echo "$debut - $fin\n"; } } }