security_check(); if ($resultat_session == 'c') { header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes"); die(); } else if ($resultat_session == '0') { header("Location: ../logout.php?auto=1"); die(); } // INSERT INTO `droits` VALUES ('/eleves/import_communes.php', 'V', 'F', 'F', 'V', 'F', 'F', 'F', 'F', 'Import des communes de naissance', ''); if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } $ele_lieu_naissance=getSettingValue("ele_lieu_naissance") ? getSettingValue("ele_lieu_naissance") : "n"; /* function extr_valeur($lig) { unset($tabtmp); $tabtmp=explode(">",my_ereg_replace("<",">",$lig)); return trim($tabtmp[2]); } function ouinon($nombre) { if($nombre==1) {return "O";}elseif($nombre==0) {return "N";}else {return "";} } function sexeMF($nombre) { //if($nombre==2) {return "F";}else {return "M";} if($nombre==2) {return "F";}elseif($nombre==1) {return "M";}else {return "";} } */ function affiche_debug($texte) { // Passer à 1 la variable pour générer l'affichage des infos de debug... $debug=0; if($debug==1) { echo "".$texte.""; flush(); } } // Initialisation du répertoire actuel de sauvegarde $dirname = getSettingValue("backup_directory"); function info_debug($texte) { global $step; global $dirname; $debug=0; if($debug==1) { //$fich_debug=fopen("/tmp/debug_maj_import2.txt","a+"); $fich_debug=fopen("../backup/".$dirname."/debug_import_communes.txt","a+"); fwrite($fich_debug,"$step;$texte;".time()."\n"); fclose($fich_debug); } } $csv_communes_complet=isset($_POST['csv_communes_complet']) ? $_POST['csv_communes_complet'] : (isset($_GET['csv_communes_complet']) ? $_GET['csv_communes_complet'] : NULL); // Etape... $step=isset($_POST['step']) ? $_POST['step'] : (isset($_GET['step']) ? $_GET['step'] : NULL); $parcours_diff=isset($_POST['parcours_diff']) ? $_POST['parcours_diff'] : NULL; $nb_parcours=isset($_POST['nb_parcours']) ? $_POST['nb_parcours'] : NULL; $stop=isset($_POST['stop']) ? $_POST['stop'] : (isset($_GET['stop']) ? $_GET['stop'] :'n'); //$style_specifique="responsables/maj_import2"; $gepiSchoolRne=getSettingValue("gepiSchoolRne") ? getSettingValue("gepiSchoolRne") : ""; $mysql_collate=getSettingValue("mysql_collate") ? getSettingValue("mysql_collate") : ""; $chaine_mysql_collate=""; if($mysql_collate!="") {$chaine_mysql_collate="COLLATE $mysql_collate";} //**************** EN-TETE ***************** $titre_page = "Import des communes de naissance"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** //debug_var(); echo "

"; echo "Retour Retour"; //echo "

\n"; // 20160809 if(isset($csv_communes_complet)) { echo " | Import des pays

Import d'un fichier de communes

"; if(!isset($step)) { echo "
"; if ($gepiSettings['unzipped_max_filesize']>=0) { echo "

Sélectionnez le fichier communes.csv.zip :
"; } else { echo "

Veuillez dézipper le fichier (évitez de l'ouvrir/modifier/enregistrer avec un tableur) et fournissez le fichier communes.csv :
"; } echo "

".add_token_field()."


NOTES

\n"; } else { echo "

Transfert du fichier des communes

\n"; $csv_file = isset($_FILES["communes_csv_file"]) ? $_FILES["communes_csv_file"] : NULL; if(!is_uploaded_file($csv_file['tmp_name'])) { echo "

L'upload du fichier a échoué.

\n"; echo "

Les variables du php.ini peuvent peut-être expliquer le problème:
\n"; echo "post_max_size=$post_max_size
\n"; echo "upload_max_filesize=$upload_max_filesize
\n"; echo "

\n"; require("../lib/footer.inc.php"); die(); } else { if(!file_exists($csv_file['tmp_name'])) { echo "

Le fichier aurait été uploadé... mais ne serait pas présent/conservé.

\n"; echo "

Les variables du php.ini peuvent peut-être expliquer le problème:
\n"; echo "post_max_size=$post_max_size
\n"; echo "upload_max_filesize=$upload_max_filesize
\n"; echo "et le volume de ".$csv_file['name']." serait
\n"; echo "\$csv_file['size']=".volume_human($csv_file['size'])."
\n"; echo "

\n"; require("../lib/footer.inc.php"); die(); } echo "

Le fichier a été uploadé.

\n"; // On va uploader le fichier CSV dans le tempdir de l'utilisateur (administrateur, ou scolarité pour les màj Sconet) $tempdir=get_user_temp_directory(); if(!$tempdir) { echo "

Il semble que le dossier temporaire de l'utilisateur ".$_SESSION['login']." ne soit pas défini!?

\n"; // Il ne faut pas aller plus loin... // SITUATION A GERER } /* echo "\$csv_file['tmp_name']=".$csv_file['tmp_name']."
\n"; echo "\$tempdir=".$tempdir."
\n"; echo "

Les variables du php.ini peuvent peut-être expliquer le problème:
\n"; echo "post_max_size=$post_max_size
\n"; echo "upload_max_filesize=$upload_max_filesize
\n"; echo "\$csv_file['size']=".volume_human($csv_file['size'])."
\n"; echo "

\n"; */ //$source_file=stripslashes($csv_file['tmp_name']); $source_file=$csv_file['tmp_name']; $dest_file="../temp/".$tempdir."/communes.csv"; //$res_copy=copy("$source_file" , "$dest_file"); //echo $source_file." -> ".$dest_file.'
'; //=============================================================== // ajout prise en compte des fichiers ZIP: Marc Leygnac $unzipped_max_filesize=getSettingValue('unzipped_max_filesize')*1024*1024; // $unzipped_max_filesize = 0 pas de limite de taille pour les fichiers extraits // $unzipped_max_filesize < 0 extraction zip désactivée if($unzipped_max_filesize>=0) { $fichier_emis=$csv_file['name']; $extension_fichier_emis=my_strtolower(strrchr($fichier_emis,".")); if (($extension_fichier_emis==".zip")||($csv_file['type']=="application/zip")) { $dest_zip_file="../temp/".$tempdir."/communes.csv.zip"; $res_copy=copy("$source_file" , "$dest_zip_file"); require_once('../lib/pclzip.lib.php'); //$archive = new PclZip($dest_file); $archive = new PclZip($dest_zip_file); if (($list_file_zip = $archive->listContent()) == 0) { echo "

Erreur : ".$archive->errorInfo(true)."

\n"; require("../lib/footer.inc.php"); die(); } if(sizeof($list_file_zip)!=1) { echo "

Erreur : L'archive contient plus d'un fichier.

\n"; require("../lib/footer.inc.php"); die(); } /* echo "

\$list_file_zip[0]['filename']=".$list_file_zip[0]['filename']."
\n"; echo "\$list_file_zip[0]['size']=".$list_file_zip[0]['size']."
\n"; echo "\$list_file_zip[0]['compressed_size']=".$list_file_zip[0]['compressed_size']."

\n"; */ //echo "

\$unzipped_max_filesize=".$unzipped_max_filesize."

\n"; if(($list_file_zip[0]['size']>$unzipped_max_filesize)&&($unzipped_max_filesize>0)) { echo "

Erreur : La taille du fichier extrait (".$list_file_zip[0]['size']." octets) dépasse la limite paramétrée ($unzipped_max_filesize octets).

\n"; require("../lib/footer.inc.php"); die(); } $res_extract=$archive->extract(PCLZIP_OPT_PATH, "../temp/".$tempdir); if ($res_extract != 0) { echo "

Le fichier uploadé a été dézippé.

\n"; $fichier_extrait=$res_extract[0]['filename']; //echo "Fichier extrait: ".$fichier_extrait."
"; //unlink("$dest_file"); // Pour Wamp... $res_copy=rename("$fichier_extrait" , "$dest_file"); } else { echo "

Echec de l'extraction de l'archive ZIP.

\n"; require("../lib/footer.inc.php"); die(); } } else { $res_copy=copy("$source_file" , "$dest_file"); } } else { $res_copy=copy("$source_file" , "$dest_file"); } //fin ajout prise en compte des fichiers ZIP //=============================================================== if(!$res_copy) { echo "

La copie du fichier vers le dossier temporaire a échoué.
Vérifiez que l'utilisateur ou le groupe apache ou www-data a accès au dossier temp/$tempdir

\n"; // Il ne faut pas aller plus loin... // SITUATION A GERER require("../lib/footer.inc.php"); die(); } else { echo "

La copie du fichier vers le dossier temporaire a réussi.

\n"; echo "

Insertion des communes : "; $cpt=0; $fich=fopen($dest_file,"r"); while(!feof($fich)) { if($cpt>0) { echo ", "; } $ligne=trim(fgets($fich,4096)); //echo "

Ligne $i: $ligne
\n"; unset($tab); $tab=explode(";",$ligne); if((mb_strtolower($tab[0])!="n_com")&&(mb_strtoupper($tab[0])!="CODE_COMMUNE_INSEE")&&(isset($tab[2]))) { $code_commune_insee=$tab[0]; $departement=$tab[1]; $commune=$tab[2]; //$sql="SELECT 1=1 FROM communes WHERE code_commune_insee='".mysqli_real_escape_string($GLOBALS['mysqli'], $code_commune_insee)."' AND departement='".mysqli_real_escape_string($GLOBALS['mysqli'], $departement)."' AND commune='".mysqli_real_escape_string($GLOBALS['mysqli'], $commune)."';"; $sql="SELECT 1=1 FROM communes WHERE code_commune_insee='".mysqli_real_escape_string($GLOBALS['mysqli'], $code_commune_insee)."';"; //echo "$sql
\n"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { echo "".$commune; if($departement!="") { echo " ($departement)"; } echo ""; } else { $sql="INSERT INTO communes SET code_commune_insee='".mysqli_real_escape_string($GLOBALS['mysqli'], $code_commune_insee)."', departement='".mysqli_real_escape_string($GLOBALS['mysqli'], $departement)."', commune='".mysqli_real_escape_string($GLOBALS['mysqli'], $commune)."';"; //echo "$sql
\n"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if($insert) { echo "".$commune; if($departement!="") { echo " ($departement)"; } echo ""; } else { echo "".$commune; if($departement!="") { echo " ($departement)"; } echo ""; } } $cpt++; flush(); } } echo "

Terminé.

"; /* $sql="TRUNCATE TABLE tempo2;"; $res0=mysqli_query($GLOBALS["mysqli"], $sql); $sql="SELECT e.* FROM eleves e LEFT JOIN communes c ON c.code_commune_insee=e.lieu_naissance where c.code_commune_insee is NULL;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); while($lig=mysqli_fetch_object($res)) { if($lig->lieu_naissance!='') { $sql="INSERT INTO tempo2 SET col1='$lig->login', col2='$lig->lieu_naissance';"; $res2=mysqli_query($GLOBALS["mysqli"], $sql); } } echo "\n"; //echo "Suite"; echo "Suite"; */ } } } require("../lib/footer.inc.php"); die(); } if(isset($step)) { if(($step==0)|| ($step==1)|| ($step==2) ) { echo "
Stop"; echo add_token_field(); echo "
\n"; echo "
\n"; echo creer_div_infobulle("div_stop","","","Ce bouton permet s'il est coché d'interrompre les passages automatiques à la page suivante","",12,0,"n","n","y","n"); echo "\n"; echo "\n"; } } // On fournit les fichiers CSV générés depuis les XML de SCONET... //if (!isset($is_posted)) { if(!isset($step)) { echo " | Import des pays"; echo " | Importer tout un fichier de communes sans se limiter aux lieux de naissances des élèves déjà inscrits"; echo "

\n"; echo "

Import des communes de naissance des élèves

\n"; $sql="SELECT e.* FROM eleves e WHERE e.lieu_naissance='';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); $nb_lieu_nais_non_renseignes=mysqli_num_rows($res); if($nb_lieu_nais_non_renseignes>0) { if($nb_lieu_nais_non_renseignes==1) { echo "

".$nb_lieu_nais_non_renseignes." lieu de naissance n'est pas renseigné : \n"; $lig=mysqli_fetch_object($res); echo casse_mot($lig->nom)." ".casse_mot($lig->prenom,'majf2'); echo "

\n"; } elseif($nb_lieu_nais_non_renseignes>1) { echo "

".$nb_lieu_nais_non_renseignes." lieux de naissance ne sont pas renseignés : \n"; $cpt=0; while($lig=mysqli_fetch_object($res)) { if($cpt>0) {echo ", ";} echo casse_mot($lig->nom)." ".casse_mot($lig->prenom,'majf2'); // Pour des tests... echo " (UPDATE eleves SET lieu_naissance='' WHERE login='$lig->login';)
"; $cpt++; } echo "

\n"; } // METTRE DES LIENS VERS LES FICHES ELEVES // MODIFIER LA FICHE ELEVE POUR PERMETTRE LA SAISIE D'UNE COMMUNE ET FAIRE UNE RECHERCHE SUR LE CODE COMMUNE CORRESPONDANT DANS communes if(getSettingValue('import_maj_xml_sconet')==1) { echo "

Effectuez une mise à jour depuis Sconet pour renseigner les code_commune_insee des lieux de naissance des élèves.

\n"; } echo "


\n"; } $sql="SELECT e.* FROM eleves e LEFT JOIN communes c ON c.code_commune_insee=e.lieu_naissance where c.code_commune_insee is NULL;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); //if(mysql_num_rows($res)==0) { if(mysqli_num_rows($res)<=$nb_lieu_nais_non_renseignes) { echo "

Tous les lieux de naissances saisis pour les élèves ont leur correspondant dans la table 'communes'.

\n"; require("../lib/footer.inc.php"); die(); } $sql="TRUNCATE TABLE tempo2;"; $res0=mysqli_query($GLOBALS["mysqli"], $sql); $retour_commune_manquante=""; $retour_commune_etrangere=""; $cpt=0; $cpt2=0; while($lig=mysqli_fetch_object($res)) { if($lig->lieu_naissance!='') { if(strstr($lig->lieu_naissance,'@')) { if($cpt2>0) {$retour_commune_etrangere.="
";} $retour_commune_etrangere.=casse_mot($lig->nom)." ".casse_mot($lig->prenom,'majf2')." (".get_commune($lig->lieu_naissance,1).")"; $cpt2++; } else { if($cpt>0) {$retour_commune_manquante.=", ";} $retour_commune_manquante.=casse_mot($lig->nom)." ".casse_mot($lig->prenom,'majf2'); $cpt++; } } } if($cpt>0) { echo "

Les lieux de naissance sont manquants pour "; echo $retour_commune_manquante; echo "

\n"; } else { echo "

Tous les lieux de naissance dans une commune française sont renseignés.

\n"; } if($retour_commune_etrangere!='') { echo "

Les lieux de naissance dans des communes étrangères sont :

\n"; echo "

"; echo $retour_commune_etrangere; echo "

\n"; echo "

Si ces lieux sont correctement renseignés, vous n'avez rien à faire.
Sinon... il faut attendre qu'une page soit développée pour remplir les lieux de naissance à l'étranger en dehors de la méthode 'Import Sconet'.

\n"; } echo "


\n"; if($cpt>0) { echo "

Vous allez importer les correspondances code_commune_insee/nom de commune depuis un fichier CSV.
Ce fichier est volumineux (la France compte quelques communes;o).
Il serait dommage de faire enfler inutilement votre base en la remplissant avec toutes les communes de France.
Cette page va donc parcourir le fichier, remplir une table temporaire et n'en retenir finalement que les communes correspondant à vos élèves.
Le fichier à fournir ci-dessous peut être téléchargé ici : http://www.sylogix.org/attachments/download/1132/communes1209.csv.zip

\n"; echo "
\n"; //echo "\n"; echo "\n"; //echo "\n"; if ($gepiSettings['unzipped_max_filesize']>=0) { echo "

Sélectionnez le fichier communes.csv.zip :
\n"; } else { echo "

Veuillez dézipper le fichier (évitez de l'ouvrir/modifier/enregistrer avec un tableur) et fournissez le fichier communes.csv :
\n"; } echo "
\n"; echo "Parcourir le fichier par tranches de lignes.
\n"; //============================== // AJOUT pour tenir compte de l'automatisation ou non: //echo "\n"; echo "

\n"; //============================== echo add_token_field(); echo "

\n"; echo "
\n"; echo "


\n"; echo "

A FAIRE: proposer d'importer une bonne fois pour toutes les communes.
Signaler la taille de la table obtenue.

\n"; } echo "

NOTES : La prise en compte, pour les lieux de naissance, des communes importées dépend du paramétrage dans la page de Configuration générale de 'ele_lieu_naissance'.
"; echo "Le paramétrage est actuellement ele_lieu_naissance=".getSettingValue('ele_lieu_naissance').""; echo "

\n"; } else { if($step>0) { echo " | Import des communes"; } echo " | Import des pays"; echo "

\n"; check_token(false); //echo "\$step=$step
\n"; // On va uploader le fichier CSV dans le tempdir de l'utilisateur (administrateur, ou scolarité pour les màj Sconet) $tempdir=get_user_temp_directory(); if(!$tempdir) { echo "

Il semble que le dossier temporaire de l'utilisateur ".$_SESSION['login']." ne soit pas défini!?

\n"; // Il ne faut pas aller plus loin... // SITUATION A GERER } $post_max_size=ini_get('post_max_size'); $upload_max_filesize=ini_get('upload_max_filesize'); $max_execution_time=ini_get('max_execution_time'); $memory_limit=ini_get('memory_limit'); $nblig=isset($_POST['nblig']) ? $_POST['nblig'] : (isset($_GET['nblig']) ? $_GET['nblig'] : 500); //if(!isset($_POST['step'])) { switch($step) { case 0: // Affichage des informations élèves echo "

Transfert du fichier des communes

\n"; $csv_file = isset($_FILES["communes_csv_file"]) ? $_FILES["communes_csv_file"] : NULL; if(!is_uploaded_file($csv_file['tmp_name'])) { echo "

L'upload du fichier a échoué.

\n"; echo "

Les variables du php.ini peuvent peut-être expliquer le problème:
\n"; echo "post_max_size=$post_max_size
\n"; echo "upload_max_filesize=$upload_max_filesize
\n"; echo "

\n"; // Il ne faut pas aller plus loin... // SITUATION A GERER require("../lib/footer.inc.php"); die(); } else { if(!file_exists($csv_file['tmp_name'])) { echo "

Le fichier aurait été uploadé... mais ne serait pas présent/conservé.

\n"; echo "

Les variables du php.ini peuvent peut-être expliquer le problème:
\n"; echo "post_max_size=$post_max_size
\n"; echo "upload_max_filesize=$upload_max_filesize
\n"; echo "et le volume de ".$csv_file['name']." serait
\n"; echo "\$csv_file['size']=".volume_human($csv_file['size'])."
\n"; echo "

\n"; // Il ne faut pas aller plus loin... // SITUATION A GERER require("../lib/footer.inc.php"); die(); } echo "

Le fichier a été uploadé.

\n"; /* echo "\$csv_file['tmp_name']=".$csv_file['tmp_name']."
\n"; echo "\$tempdir=".$tempdir."
\n"; echo "

Les variables du php.ini peuvent peut-être expliquer le problème:
\n"; echo "post_max_size=$post_max_size
\n"; echo "upload_max_filesize=$upload_max_filesize
\n"; echo "\$csv_file['size']=".volume_human($csv_file['size'])."
\n"; echo "

\n"; */ //$source_file=stripslashes($csv_file['tmp_name']); $source_file=$csv_file['tmp_name']; $dest_file="../temp/".$tempdir."/communes.csv"; //$res_copy=copy("$source_file" , "$dest_file"); //echo $source_file." -> ".$dest_file.'
'; //=============================================================== // ajout prise en compte des fichiers ZIP: Marc Leygnac $unzipped_max_filesize=getSettingValue('unzipped_max_filesize')*1024*1024; // $unzipped_max_filesize = 0 pas de limite de taille pour les fichiers extraits // $unzipped_max_filesize < 0 extraction zip désactivée if($unzipped_max_filesize>=0) { $fichier_emis=$csv_file['name']; $extension_fichier_emis=my_strtolower(strrchr($fichier_emis,".")); if (($extension_fichier_emis==".zip")||($csv_file['type']=="application/zip")) { $dest_zip_file="../temp/".$tempdir."/communes.csv.zip"; $res_copy=copy("$source_file" , "$dest_zip_file"); require_once('../lib/pclzip.lib.php'); //$archive = new PclZip($dest_file); $archive = new PclZip($dest_zip_file); if (($list_file_zip = $archive->listContent()) == 0) { echo "

Erreur : ".$archive->errorInfo(true)."

\n"; require("../lib/footer.inc.php"); die(); } if(sizeof($list_file_zip)!=1) { echo "

Erreur : L'archive contient plus d'un fichier.

\n"; require("../lib/footer.inc.php"); die(); } /* echo "

\$list_file_zip[0]['filename']=".$list_file_zip[0]['filename']."
\n"; echo "\$list_file_zip[0]['size']=".$list_file_zip[0]['size']."
\n"; echo "\$list_file_zip[0]['compressed_size']=".$list_file_zip[0]['compressed_size']."

\n"; */ //echo "

\$unzipped_max_filesize=".$unzipped_max_filesize."

\n"; if(($list_file_zip[0]['size']>$unzipped_max_filesize)&&($unzipped_max_filesize>0)) { echo "

Erreur : La taille du fichier extrait (".$list_file_zip[0]['size']." octets) dépasse la limite paramétrée ($unzipped_max_filesize octets).

\n"; require("../lib/footer.inc.php"); die(); } $res_extract=$archive->extract(PCLZIP_OPT_PATH, "../temp/".$tempdir); if ($res_extract != 0) { echo "

Le fichier uploadé a été dézippé.

\n"; $fichier_extrait=$res_extract[0]['filename']; //echo "Fichier extrait: ".$fichier_extrait."
"; //unlink("$dest_file"); // Pour Wamp... $res_copy=rename("$fichier_extrait" , "$dest_file"); } else { echo "

Echec de l'extraction de l'archive ZIP.

\n"; require("../lib/footer.inc.php"); die(); } } else { $res_copy=copy("$source_file" , "$dest_file"); } } else { $res_copy=copy("$source_file" , "$dest_file"); } //fin ajout prise en compte des fichiers ZIP //=============================================================== if(!$res_copy) { echo "

La copie du fichier vers le dossier temporaire a échoué.
Vérifiez que l'utilisateur ou le groupe apache ou www-data a accès au dossier temp/$tempdir

\n"; // Il ne faut pas aller plus loin... // SITUATION A GERER require("../lib/footer.inc.php"); die(); } else { echo "

La copie du fichier vers le dossier temporaire a réussi.

\n"; $sql="TRUNCATE TABLE tempo2;"; $res0=mysqli_query($GLOBALS["mysqli"], $sql); $sql="SELECT e.* FROM eleves e LEFT JOIN communes c ON c.code_commune_insee=e.lieu_naissance where c.code_commune_insee is NULL;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); while($lig=mysqli_fetch_object($res)) { if($lig->lieu_naissance!='') { $sql="INSERT INTO tempo2 SET col1='$lig->login', col2='$lig->lieu_naissance';"; $res2=mysqli_query($GLOBALS["mysqli"], $sql); } } echo "\n"; //echo "Suite"; echo "Suite"; require("../lib/footer.inc.php"); die(); } } break; case 1: echo "

Parcours du fichier des communes

\n"; // AFFICHER UN TEMON SUR LE NOMBRE DE LIGNES ENCORE PRESENTES... OU DEJA PARCOURUES $compteur=isset($_GET['compteur']) ? $_GET['compteur'] : 1; //$nblig=isset($_GET['nblig']) ? $_GET['nblig'] : 100; $delais=1000; $nb_tranches=ceil(38894/$nblig); echo "

Tranche $compteur/$nb_tranches :"; $src_file="../temp/".$tempdir."/communes.csv"; $dest_file="../temp/".$tempdir."/_communes.csv"; @unlink($dest_file); if(!rename($src_file,$dest_file)) { echo "

Erreur lors du traitement initial (renommage) du fichier communes.csv en _communes.csv

\n"; require("../lib/footer.inc.php"); die(); } echo " Lecture de $nblig lignes.

\n"; $tab_ele=array(); $tab_lieu=array(); $sql="SELECT * FROM tempo2;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); $cpt=0; while($lig=mysqli_fetch_object($res)) { $tab_ele[$cpt]=$lig->col1; $tab_lieu[$cpt]=$lig->col2; $cpt++; } $fin_fichier='n'; $temoin_trouve=0; // On ne va lire/traiter que les 100 premières lignes du fichier // Le fichier en compte 38894... ça fait 389 passages si une commune recherchée est à la fin... $fich=fopen($dest_file,"r"); for($i=0;$i<$nblig;$i++) { if(feof($fich)) { $fin_fichier='y'; break; } $ligne=trim(fgets($fich,4096)); //echo "

Ligne $i: $ligne
\n"; unset($tab); $tab=explode(";",$ligne); $code_commune_insee=$tab[0]; if(in_array($code_commune_insee,$tab_lieu)) { // Effectuer le traitement $delais=3000; $departement=$tab[1]; $commune=$tab[2]; if($temoin_trouve==0) {echo "

";} echo "Lieu de naissance trouvé : $code_commune_insee -> $commune
\n"; $sql="INSERT INTO communes SET code_commune_insee='$code_commune_insee', departement='$departement', commune='".addslashes($commune)."';"; //echo "$sql
\n"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); $sql="DELETE FROM tempo2 WHERE col2='$code_commune_insee';"; //echo "$sql
\n"; $del=mysqli_query($GLOBALS["mysqli"], $sql); $temoin_trouve++; } } $sql="SELECT 1=1 FROM tempo2;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); $nb_eleves_a_traiter=mysqli_num_rows($res); if($fin_fichier=='y') { fclose($fich); if($nb_eleves_a_traiter==0) { echo "

Tous les lieux de naissance ont été trouvés.

\n"; unlink($dest_file); } else { if($nb_eleves_a_traiter==1) { echo "

Un lieu de naissance n'a pas été trouvé et le fichier communes.csv a été entièrement parcouru : \n"; } else { echo "

Le lieu de naissance n'a pas été trouvé pour $nb_eleves_a_traiter élèves et le fichier communes.csv a été entièrement parcouru (???) : "; } // A FAIRE: Lister les élèves $sql="SELECT e.login,e.nom,e.prenom,e.lieu_naissance, t.col2 FROM tempo2 t, eleves e WHERE e.login=t.col1 ORDER BY e.nom, e.prenom;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); $cpt=0; if(mysqli_num_rows($res)==0) { echo "Aucun élève trouvé"; echo ".

\n"; } else { echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $alt=1; while($lig=mysqli_fetch_object($res)) { $alt=$alt*(-1); echo "\n"; echo "\n"; echo "\n"; echo "\n"; //if($cpt>0) {echo ", ";} //echo casse_mot($lig->nom)." ".casse_mot($lig->prenom,'majf2')." ($lig->col2)"; //$cpt++; } echo "
ÉlèveLieu
".casse_mot($lig->nom)." ".casse_mot($lig->prenom,'majf2')."$lig->col2
\n"; } //echo ".

\n"; echo "

NOTE : Les élèves nés dans une commune étrangère peuvent apparaître comme non trouvés dans le fichier de communes.
Si les informations entre parenthèses sont correctes, il n'y a pas lieu de s'alarmer.

\n"; } } else { $suite=fread($fich,filesize($dest_file)); $dest_file="../temp/".$tempdir."/communes.csv"; $fich2=fopen($dest_file,"w+"); fwrite($fich2,$suite); fclose($fich2); fclose($fich); if($nb_eleves_a_traiter==0) { echo "

Tous les lieux de naissance ont été trouvés.

\n"; unlink($dest_file); } else { if($nb_eleves_a_traiter==1) { echo "

Un lieu de naissance doit encore être recherché.

\n"; } else { echo "

Les lieux de naissance doivent encore être recherchés pour $nb_eleves_a_traiter élèves.

\n"; } // Si on n'a pas trouvé tous les lieux de naissance manquants: Générer le code javascript pour relancer la boucle $compteur++; echo "\n"; //echo "Suite"; echo "Suite"; } } break; } } echo "


\n"; require("../lib/footer.inc.php"); ?>