Fix PHP 8.5 compatibility: mysqli conversion, utf8_decode removal, collation fixes, null-safety, unquoted array keys, -> fix, conversion_ts_mysql NULL guard
This commit is contained in:
453
www/tyroltenn/fct_nouvjoueur.php.git
Executable file
453
www/tyroltenn/fct_nouvjoueur.php.git
Executable file
@@ -0,0 +1,453 @@
|
||||
<?php
|
||||
include("../mysql_compat.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(strpos($html, "Aucun") !== false) {
|
||||
$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($db_connection)()." : ".mysqli_error($db_connection)()."<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($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
||||
$requete="SELECT MAX(id_joueur) FROM joueur";
|
||||
$reponse1=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<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($db_connection)()." : ".mysqli_error($db_connection)()."<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($db_connection)()." : ".mysqli_error($db_connection)()."<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($['']==0) {
|
||||
$['']="00";
|
||||
}
|
||||
else if ($['']<10) {
|
||||
$['']="0".$[''];
|
||||
}
|
||||
if($['']==0) {
|
||||
$['']="00";
|
||||
}
|
||||
else if ($['']<10) {
|
||||
$['']="0".$[''];
|
||||
}
|
||||
if($['']==0) {
|
||||
$['']="00";
|
||||
}
|
||||
else if ($['']<10) {
|
||||
$['']="0".$[''];
|
||||
}
|
||||
/* 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($[''],$[''],$[''],$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($db_connection)()." : ".mysqli_error($db_connection)()."<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($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
||||
$requete="SELECT id_joueur FROM joueur WHERE numero_fft='$numero_fft'";
|
||||
$reponse1=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."<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($db_connection)()." : ".mysqli_error($db_connection)()."<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($db_connection)()." : ".mysqli_error($db_connection)()."<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($['']==0) {
|
||||
$['']="00";
|
||||
}
|
||||
else if ($['']<10) {
|
||||
$['']="0".$[''];
|
||||
}
|
||||
if($['']==0) {
|
||||
$['']="00";
|
||||
}
|
||||
else if ($['']<10) {
|
||||
$['']="0".$[''];
|
||||
}
|
||||
if($['']==0) {
|
||||
$['']="00";
|
||||
}
|
||||
else if ($['']<10) {
|
||||
$['']="0".$[''];
|
||||
}
|
||||
/* 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($[''],$[''],$[''],$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($db_connection)()." : ".mysqli_error($db_connection)()."<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 <20>t<EFBFBD> effectu<74>e */
|
||||
if($paiement == 'oui') {
|
||||
$montant = $compte->montant;
|
||||
$moyen_paiement = $compte->moyen_paiement;
|
||||
}
|
||||
else {
|
||||
$montant = "";
|
||||
$moyen_paiement = 'autre';
|
||||
}
|
||||
/* Si compte invit<69> */
|
||||
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($db_connection)()." : ".mysqli_error($db_connection)()."<br>");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user