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();
}
if (!checkAccess()) {
header("Location: ../logout.php?auto=1");
die();
}
//**************** EN-TETE *****************
$titre_page = "Outil d'initialisation de l'année : Importation des responsables des élèves";
require_once("../lib/header.inc.php");
//**************** FIN EN-TETE *****************
require_once("init_xml_lib.php");
// Etape...
$step=isset($_POST['step']) ? $_POST['step'] : (isset($_GET['step']) ? $_GET['step'] : NULL);
$verif_tables_non_vides=isset($_POST['verif_tables_non_vides']) ? $_POST['verif_tables_non_vides'] : NULL;
// Passer à 'y' pour afficher les requêtes
$debug_resp='n';
if(isset($_GET['ad_retour'])){
$_SESSION['ad_retour']=$_GET['ad_retour'];
}
//echo "\$_SESSION['ad_retour']=".$_SESSION['ad_retour']."
";
include("../lib/initialisation_annee.inc.php");
$liste_tables_del = $liste_tables_del_etape_resp;
// On va uploader les fichiers XML 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 } // ======================================================= // EST-CE ENCORE UTILE? if(isset($_GET['nettoyage'])) { check_token(false); //echo "
Retour";
echo " | Autre import
Si des fichiers XML existent, ils seront supprimés...
\n"; //$tabfich=array("f_ele.csv","f_ere.csv"); $tabfich=array("responsables.xml"); for($i=0;$i
Retour";
//echo " | Autre import";
echo " | Suppression des fichiers XML existants";
echo "
Si vous poursuivez la procédure ces données seront effacées.
\n"; echo "Les tables vidées seront : $chaine_tables
\n"; echo "\n"; $sql="SELECT 1=1 FROM utilisateurs WHERE statut='responsable';"; if($debug_resp=='y') {echo "$sqlIl existe un ou des comptes responsables de l'année passée, et vous n'avez pas mis ces comptes en réserve pour imposer le même login/mot de passe cette année.
Est-ce bien un choix délibéré ou un oubli de votre part?
Pour conserver ces login/mot de de passe de façon à ne pas devoir re-distribuer ces informations (et éviter de perturber ces utilisateurs), vous pouvez procéder à la mise en réserve avant d'initialiser l'année dans la page Changement d'année (vous y trouverez aussi la possibilité de conserver les comptes élèves (s'ils n'ont pas déjà été supprimés) et bien d'autres actions à ne pas oublier avant l'initialisation).
ATTENTION ...
Vous ne devez procéder à cette opération uniquement si la constitution des classes a été effectuée !
"; print_r($xml_file); echo ""; */ if(!is_uploaded_file($xml_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 "
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 ".$xml_file['name']." serait
\n";
echo "\$xml_file['size']=".volume_human($xml_file['size'])."
\n";
echo "
Il semblerait que l'absence d'extension .XML ou .ZIP puisse aussi provoquer ce genre de symptômes.
Dans ce cas, ajoutez l'extension et ré-essayez.
Le fichier a été uploadé.
\n"; //$source_file=stripslashes($xml_file['tmp_name']); $source_file=$xml_file['tmp_name']; $dest_file="../temp/".$tempdir."/responsables.xml"; $res_copy=copy("$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=$xml_file['name']; $extension_fichier_emis=my_strtolower(mb_strrchr($fichier_emis,".")); if (($extension_fichier_emis==".zip")||($xml_file['type']=="application/zip")) { require_once('../lib/pclzip.lib.php'); $archive = new PclZip($dest_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(); } 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']; 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(); } } } //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
La copie du fichier vers le dossier temporaire a réussi.
\n"; //$sql="CREATE TABLE IF NOT EXISTS temp_resp_pers_import ( $sql="CREATE TABLE IF NOT EXISTS resp_pers ( `pers_id` varchar(10) NOT NULL, `login` varchar(50) NOT NULL, `nom` varchar(30) NOT NULL, `prenom` varchar(30) NOT NULL, `civilite` varchar(5) NOT NULL, `tel_pers` varchar(255) NOT NULL, `tel_port` varchar(255) NOT NULL, `tel_prof` varchar(255) NOT NULL, `mel` varchar(100) NOT NULL, `adr_id` varchar(10) NOT NULL, PRIMARY KEY (`pers_id`) ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;"; $create_table = mysqli_query($GLOBALS["mysqli"], $sql); //$sql="TRUNCATE TABLE temp_resp_pers_import;"; $sql="TRUNCATE TABLE resp_pers;"; $vide_table = mysqli_query($GLOBALS["mysqli"], $sql); /* // On va lire plusieurs fois le fichier pour remplir des tables temporaires. $fp=fopen($dest_file,"r"); if($fp){ echo "Lecture du fichier Responsables...
\n";
//echo "
\n"; while(!feof($fp)){ $ligne[]=fgets($fp,4096); } fclose($fp); //echo "Terminé.
\n"; } */ flush(); $resp_xml=simplexml_load_file($dest_file); if(!$resp_xml) { echo "ECHEC du chargement du fichier avec simpleXML.
\n"; require("../lib/footer.inc.php"); die(); } $nom_racine=$resp_xml->getName(); if(my_strtoupper($nom_racine)!='BEE_RESPONSABLES') { echo "ERREUR: Le fichier XML fourni n'a pas l'air d'être un fichier XML Responsables.
\n"; require("../lib/footer.inc.php"); die(); } /*
Sa racine devrait être 'BEE_RESPONSABLES'.TEL_RNE 2011 22/05/2012 22/05/2012 08:09:38 ... */ $xml_uaj=""; $xml_horodatage=""; $objet_parametres=($resp_xml->PARAMETRES); foreach ($objet_parametres->children() as $key => $value) { if($key=='ANNEE_SCOLAIRE') { //$annee_scolaire=$value; if(!preg_match("/^$value/", getSettingValue('gepiYear'))) { echo " ATTENTION : L'année scolaire du fichier XML ($value) ne semble pas correspondre à l'année scolaire paramétrée dans Gepi (".getSettingValue('gepiYear').").
Auriez-vous récupéré un XML de l'année précédente ou de l'année prochaine (il arrive que l'on bascule dans Sconet en juin ou courant septembre) ?
\n"; //$nb_err++; } } elseif($key=='HORODATAGE') { $xml_horodatage=$value; } elseif($key=='UAJ') { $xml_uaj=$value; } } //saveSetting('ts_maj_sconet', strftime("%Y-%m-%d %H:%M:%S")); $texte_maj_sconet="Fichier XML élève"; if($xml_uaj!="") {$texte_maj_sconet.=" ($xml_uaj)";} if($xml_horodatage!="") {$texte_maj_sconet.=" du $xml_horodatage";} $texte_maj_sconet.="
"; echo $texte_maj_sconet; //enregistre_log_maj_sconet($texte_maj_sconet); echo "Analyse du fichier pour extraire les informations de la section PERSONNES...
\n"; $personnes=array(); $tab_champs_personne=array("NOM", "NOM_USAGE", "NOM_DE_FAMILLE", "PRENOM", "LC_CIVILITE", "TEL_PERSONNEL", "TEL_PORTABLE", "TEL_PROFESSIONNEL", "MEL", "ACCEPTE_SMS", "ADRESSE_ID", "CODE_PROFESSION", "COMMUNICATION_ADRESSE" ); // PARTIE// Compteur personnes: $i=-1; $objet_personnes=($resp_xml->DONNEES->PERSONNES); foreach ($objet_personnes->children() as $personne) { //echo(" Personne
"); $i++; $personnes[$i]=array(); foreach($personne->attributes() as $key => $value) { ////$personnes[$i][my_strtolower($key)]=trim($value); $personnes[$i][my_strtolower($key)]=trim(nettoyer_caracteres_nom($value, "an", " .@'-", "")); } foreach($personne->children() as $key => $value) { if(in_array(my_strtoupper($key),$tab_champs_personne)) { $personnes[$i][my_strtolower($key)]=nettoyer_caracteres_nom(preg_replace('/"/',' ',preg_replace("/'$/","",preg_replace("/^'/"," ",$value))), "an", " .@'_-", ""); } } if($debug_import=='y') { echo " Tableau \$personnes[$i] :"; print_r($personnes[$i]); echo ""; } } $nb_err=0; $stat=0; $i=0; $nb_utilisateurs_responsables_restaures=0; while($i\n"); $res_insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$res_insert){ echo "Erreur lors de la requête $sql
\n"; flush(); $nb_err++; } else{ $sql="SELECT * FROM tempo_utilisateurs WHERE identifiant1='".$personnes[$i]["personne_id"]."' AND statut='responsable';"; if($debug_resp=='y') {echo "$sql
";} $res_tmp_u=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_tmp_u)>0) { $lig_tmp_u=mysqli_fetch_object($res_tmp_u); $sql="SELECT statut FROM utilisateurs WHERE login='".$lig_tmp_u->login."';"; $test_u=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test_u)>0) { $lig_test_u=mysqli_fetch_object($test_u); if($lig_test_u->statut!='responsable') { echo "ANOMALIE : Un compte d'utilisateur $lig_test_u->statut existait pour le login $lig_tmp_u->login mis en réserve pour ".$personnes[$i]["nom"]." ".$personnes[$i]["prenom"]." :
$sql
"; } else { echo "ATTENTION : Un compte d'utilisateur $lig_test_u->statut existe déjà pour le login $lig_tmp_u->login.
Est-ce le même que le responsable nouvellement créé ???
Un Nettoyage des tables serait peut-être bienvenu.
$sql
"; } } else { // On vérifie si le login existe déjà: $test_unicite = test_unique_login($lig_tmp_u->login, "y"); if ($test_unicite != 'yes') { echo "ATTENTION : Un compte d'utilisateur existe déjà pour le login $lig_tmp_u->login mis en réserve pour ".$personnes[$i]["nom"]." ".$personnes[$i]["prenom"].".
"; } else { $sql="INSERT INTO utilisateurs SET login='".$lig_tmp_u->login."', nom='".mysqli_real_escape_string($GLOBALS["mysqli"], $personnes[$i]["nom"])."', prenom='".mysqli_real_escape_string($GLOBALS["mysqli"], $personnes[$i]["prenom"])."', "; if(isset($personnes[$i]["lc_civilite"])){ $sql.="civilite='".casse_mot($personnes[$i]["lc_civilite"],'majf2')."', "; } $sql.="password='".$lig_tmp_u->password."', salt='".$lig_tmp_u->salt."', email='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig_tmp_u->email)."', statut='responsable', etat='inactif', change_mdp='n', auth_mode='".$lig_tmp_u->auth_mode."';"; if($debug_resp=='y') {echo "$sql
";} $insert_u=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert_u) { echo "Erreur lors de la création du compte utilisateur pour ".$personnes[$i]["nom"]." ".$personnes[$i]["prenom"]." :
$sql
"; } else { $nb_utilisateurs_responsables_restaures++; $sql="UPDATE resp_pers SET login='".$lig_tmp_u->login."' WHERE pers_id='".$personnes[$i]["personne_id"]."';"; if($debug_resp=='y') {echo "$sql
";} $update_rp=mysqli_query($GLOBALS["mysqli"], $sql); $sql="UPDATE tempo_utilisateurs SET temoin='recree' WHERE identifiant1='".$personnes[$i]["personne_id"]."' AND statut='responsable';"; if($debug_resp=='y') {echo "$sql
";} $update_tmp_u=mysqli_query($GLOBALS["mysqli"], $sql); } } } } $stat++; } $i++; } if ($nb_err != 0) { echo "Lors de l'enregistrement des données PERSONNES, il y a eu $nb_err erreurs. Essayez de trouvez la cause de l'erreur et recommencez la procédure avant de passer à l'étape suivante.
\n"; } else { echo "L'importation des personnes (responsables) dans la base GEPI a été effectuée avec succès (".$stat." enregistrements au total).
\n"; } if($nb_utilisateurs_responsables_restaures>0) { echo "$nb_utilisateurs_responsables_restaures compte(s) d'utilisateur(s) responsable(s) a(ont) été restauré(s) (avec leur(s) mot(s) de passe), mais ils sont actuellement inactifs.
\n"; } //echo "
Lorsque vous voudrez rouvrir l'accès responsable, vous devrez activer les comptes responsables dans Gestion des bases/Comptes utilisateurs/Responsables.$stat enregistrement(s) ont été inséré(s) dans la table 'temp_resp_pers_import'.
\n"; //echo "$stat enregistrement(s) ont été inséré(s) dans la table 'resp_pers'.
\n"; echo "
\n"; require("../lib/footer.inc.php"); die(); } } } // Fin du $step=0 elseif($step==1) { check_token(false); $dest_file="../temp/".$tempdir."/responsables.xml"; $resp_xml=simplexml_load_file($dest_file); if(!$resp_xml) { echo "ECHEC du chargement du fichier avec simpleXML.
\n"; require("../lib/footer.inc.php"); die(); } $nom_racine=$resp_xml->getName(); if(my_strtoupper($nom_racine)!='BEE_RESPONSABLES') { echo "ERREUR: Le fichier XML fourni n'a pas l'air d'être un fichier XML Responsables.
\n"; require("../lib/footer.inc.php"); die(); } //$sql="CREATE TABLE IF NOT EXISTS temp_responsables2_import ( $sql="CREATE TABLE IF NOT EXISTS responsables2 ( `ele_id` varchar(10) NOT NULL, `pers_id` varchar(10) NOT NULL, `resp_legal` varchar(1) NOT NULL, `pers_contact` varchar(1) NOT NULL ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;"; $create_table = mysqli_query($GLOBALS["mysqli"], $sql); //$sql="TRUNCATE TABLE temp_responsables2_import;"; $sql="TRUNCATE TABLE responsables2;"; $vide_table = mysqli_query($GLOBALS["mysqli"], $sql); flush(); echo "
Sa racine devrait être 'BEE_RESPONSABLES'."; echo "Analyse du fichier pour extraire les informations de la section RESPONSABLES...
\n"; } if ($nb_err!=0) { echo "
\n"; $responsables=array(); $tab_champs_responsable=array("ELEVE_ID", "PERSONNE_ID", "RESP_LEGAL", "CODE_PARENTE", "RESP_FINANCIER", "PERS_PAIMENT", "PERS_CONTACT" ); // PARTIE// Compteur responsables: $i=-1; $objet_resp=($resp_xml->DONNEES->RESPONSABLES); foreach ($objet_resp->children() as $responsable_eleve) { //echo(" Personne
"); $i++; $responsables[$i]=array(); foreach($responsable_eleve->children() as $key => $value) { if(in_array(my_strtoupper($key),$tab_champs_responsable)) { //$responsables[$i][my_strtolower($key)]=nettoyer_caracteres_nom(preg_replace('/"/',' ',preg_replace("/'/"," ",$value)), "an", " .@'-", ""); $responsables[$i][my_strtolower($key)]=preg_replace('/[^0-9]/', '', $value); } } if($debug_import=='y') { echo "Tableau \$responsables[$i] :"; print_r($responsables[$i]); echo ""; } } $nb_err=0; $stat=0; $i=0; while($i\n"); $res_test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_test)==0){ //$sql="INSERT INTO temp_responsables2_import SET "; $sql="INSERT INTO responsables2 SET "; $sql.="ele_id='".$responsables[$i]["eleve_id"]."', "; $sql.="pers_id='".$responsables[$i]["personne_id"]."', "; $sql.="resp_legal='".$responsables[$i]["resp_legal"]."', "; $sql.="pers_contact='".$responsables[$i]["pers_contact"]."';"; affiche_debug("$sql
\n"); $res_insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$res_insert){ echo "Erreur lors de la requête $sql
\n"; flush(); $nb_err++; } else{ $stat++; } } else { $sql="SELECT nom, prenom FROM eleves WHERE ele_id='".$responsables[$i]["eleve_id"]."';"; affiche_debug("$sql
\n"); $res_ele_anomalie=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_ele_anomalie)>0){ $lig_ele_anomalie=mysqli_fetch_object($res_ele_anomalie); echo "Anomalie sconet: Plusieurs responsables légaux n°".$responsables[$i]["resp_legal"]." sont déclarés pour l'élève ".$lig_ele_anomalie->prenom." ".$lig_ele_anomalie->nom."
\n"; $nb_err++; } else { $sql="SELECT ELENOM, ELEPRE, DIVCOD FROM temp_gep_import2 WHERE ELE_ID='".$responsables[$i]["eleve_id"]."';"; affiche_debug("$sql
Seule la première responsabilité a été enregistrée.
Vous devriez faire le ménage dans Sconet et faire une mise à jour par la suite.
\n"); $res_ele_anomalie=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_ele_anomalie)>0){ // Si l'élève associé n'est ni dans 'eleves', ni dans 'temp_gep_import2', on ne s'en occupe pas. $sql="SELECT civilite,nom,prenom FROM temp_resp_pers_import WHERE pers_id='".$responsables[$i]["personne_id"]."';"; $res_resp_anomalie=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_resp_anomalie)>0){ $lig_resp_anomalie=mysqli_fetch_object($res_resp_anomalie); echo "Anomalie sconet: Plusieurs responsables légaux n°".$responsables[$i]["resp_legal"]." sont déclarés pour l'élève ".$lig_ele_anomalie->ELEPRE." ".$lig_ele_anomalie->ELENOM." (".$lig_ele_anomalie->DIVCOD.").
\n"; } else { echo "
L'un d'eux est: ".$lig_resp_anomalie->civilite." ".$lig_resp_anomalie->nom." ".$lig_resp_anomalie->prenom."Anomalie sconet: Plusieurs responsables légaux n°".$responsables[$i]["resp_legal"]." sont déclarés pour l'élève ".$lig_ele_anomalie->ELEPRE." ".$lig_ele_anomalie->ELENOM." (".$lig_ele_anomalie->DIVCOD.")
\n"; } $nb_err++; } } //$nb_err++; } $i++; } $sql="SELECT r.pers_id,r.ele_id FROM responsables2 r LEFT JOIN eleves e ON e.ele_id=r.ele_id WHERE e.ele_id is NULL;"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0){ echo "
L'élève n'a semble-t-il pas été ajouté à la table 'eleves'.
Par ailleurs, la personne responsable semble inexistante, mais l'association avec l'identifiant de responsable n°".$responsables[$i]["personne_id"]." existe dans le XML fourni???
L'anomalie n'est pas grave pour Gepi; par contre il serait bon de corriger dans Sconet.Suppression de responsabilités sans élève.\n"; flush(); $cpt_nett=0; while($lig_nett=mysqli_fetch_object($test)){ //if($cpt_nett>0){echo ", ";} //echo "".$lig_nett->pers_id.""; $sql="DELETE FROM responsables2 WHERE pers_id='$lig_nett->pers_id' AND ele_id='$lig_nett->ele_id';"; $nettoyage=mysqli_query($GLOBALS["mysqli"], $sql); //flush(); $cpt_nett++; } //echo ".
\n"; echo "
$cpt_nett associations aberrantes supprimées.Lors de l'enregistrement des données de RESPONSABLES, il y a eu $nb_err erreurs. Essayez de trouvez la cause de l'erreur et recommencez la procédure avant de passer à l'étape suivante.
\n"; } else { echo "L'importation des relations eleves/responsables dans la base GEPI a été effectuée avec succès (".$stat." enregistrements au total).
\n"; } //echo "$stat enregistrement(s) ont été inséré(s) dans la table 'temp_responsables2_import'.
\n"; echo "\n"; require("../lib/footer.inc.php"); die(); } // Fin du $step=1 elseif($step==2){ check_token(false); $dest_file="../temp/".$tempdir."/responsables.xml"; $resp_xml=simplexml_load_file($dest_file); if(!$resp_xml) { echo "ECHEC du chargement du fichier avec simpleXML.
\n"; require("../lib/footer.inc.php"); die(); } $nom_racine=$resp_xml->getName(); if(my_strtoupper($nom_racine)!='BEE_RESPONSABLES') { echo "ERREUR: Le fichier XML fourni n'a pas l'air d'être un fichier XML Responsables.
\n"; require("../lib/footer.inc.php"); die(); } $sql="CREATE TABLE IF NOT EXISTS resp_adr ( `adr_id` varchar(10) NOT NULL, `adr1` varchar(100) NOT NULL, `adr2` varchar(100) NOT NULL, `adr3` varchar(100) NOT NULL, `adr4` varchar(100) NOT NULL, `cp` varchar(6) NOT NULL, `pays` varchar(50) NOT NULL, `commune` varchar(50) NOT NULL, PRIMARY KEY (`adr_id`) ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;"; $create_table = mysqli_query($GLOBALS["mysqli"], $sql); //$sql="TRUNCATE TABLE temp_resp_adr_import;"; $sql="TRUNCATE TABLE resp_adr;"; $vide_table = mysqli_query($GLOBALS["mysqli"], $sql); flush(); echo "Analyse du fichier pour extraire les informations de la section ADRESSES...
Sa racine devrait être 'BEE_RESPONSABLES'.
\n"; $adresses=array(); $tab_champs_adresse=array("LIGNE1_ADRESSE", "LIGNE2_ADRESSE", "LIGNE3_ADRESSE", "LIGNE4_ADRESSE", "CODE_POSTAL", "LL_PAYS", "CODE_DEPARTEMENT", "LIBELLE_POSTAL", "COMMUNE_ETRANGERE" ); // PARTIE// Compteur adresses: $i=-1; $objet_adresses=($resp_xml->DONNEES->ADRESSES); foreach ($objet_adresses->children() as $adresse) { //echo(" Adresse
\n"; } } echo "
"); $i++; $adresses[$i]=array(); foreach($adresse->attributes() as $key => $value) { //$adresses[$i][my_strtolower($key)]=trim($value); } foreach($adresse->children() as $key => $value) { if(in_array(my_strtoupper($key),$tab_champs_adresse)) { //$adresses[$i][my_strtolower($key)]=nettoyer_caracteres_nom(preg_replace('/"/',' ',preg_replace("/'$/","",preg_replace("/^'/"," ",$value))), "an", " .'-", " "); $adresses[$i][my_strtolower($key)]=nettoyer_caracteres_nom(preg_replace("/'$/","",preg_replace("/^'/"," ",$value)), "an", " .'-", " "); } } if($debug_import=='y') { echo " Tableau \$adresses[$i] :"; print_r($adresses[$i]); echo ""; } } $nb_err=0; $stat=0; $i=0; while($i\n"); $res_insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$res_insert){ echo "Erreur lors de la requête $sql
\n"; flush(); $nb_err++; } else{ $stat++; } $i++; } if ($nb_err != 0) { echo "Lors de l'enregistrement des données ADRESSES des responsables, il y a eu $nb_err erreurs. Essayez de trouvez la cause de l'erreur et recommencez la procédure avant de passer à l'étape suivante.
\n"; } else { echo "L'importation des adresses de responsables dans la base GEPI a été effectuée avec succès (".$stat." enregistrements au total).
\n"; } //echo "$stat enregistrement(s) ont été mis à jour dans la table 'temp_resp_adr_import'.
\n"; echo "\n"; require("../lib/footer.inc.php"); die(); } else{ check_token(false); // TERMINé? // A LA DERNIERE ETAPE, IL FAUT SUPPRIMER LE FICHIER "../temp/".$tempdir."/responsables.xml" if(file_exists("../temp/".$tempdir."/responsables.xml")) { echo "Suppression de responsables.xml... "; if(unlink("../temp/".$tempdir."/responsables.xml")){ echo "réussie.
\n"; } else{ echo "Echec! Vérifiez les droits d'écriture sur le serveur.\n"; require("../lib/footer.inc.php"); die(); } } } require("../lib/footer.inc.php"); ?>