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 ('/responsables/corrige_ele_id.php', 'V', 'F', 'F', 'F', 'F', 'F', 'F', 'Correction des ELE_ID d apres Sconet', '');
if (!checkAccess()) {
header("Location: ../logout.php?auto=1");
die();
}
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();
}
}
function maj_ini_prenom($prenom){
$prenom2="";
$tab1=explode("-",$prenom);
for($i=0;$i ";
echo "
Retour";
//echo "
Cette page est destinée à corriger les champs ELE_ID de la table 'eleves' et de la table 'responsables2' d'après le fichier ElevesSansAdresses.xml de Sconet.
La correction n'est possible que si les ELENOET sont corrects.
NOTE: Après une phase d'analyse, les corrections seront proposées.
\n"; } else{ /* if($step>0){ echo " | Correction des ELE_ID d'apres Sconet"; } */ echo "\n"; check_token(); // 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 } $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'); //if(!isset($_POST['step'])){ switch($step){ case 0: // Affichage des informations élèves 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 "
Le fichier a été uploadé.
\n"; /* echo "\$xml_file['tmp_name']=".$xml_file['tmp_name']."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 "\$xml_file['size']=".volume_human($xml_file['size'])."
\n";
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']."
\$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']; 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="DROP TABLE IF EXISTS temp_gep_import2;"; //echo "$sql\n";
echo "Analyse du fichier pour extraire les associations ELENOET/ELE_ID d'élèves affectés dans une classe... La première phase s'est passée sans erreur. $nb_err erreur. $nb_err erreurs $stat associations identifiant élève/classe ont été inséré(s) dans la table 'temp_gep_import2'. ERREUR: Il n'a pas été possible d'ouvrir le fichier en lecture... Le XML élève n'a pas l'air présent dans le dossier temporaire. Lecture du fichier Elèves... Terminé. ";
echo "Analyse du fichier pour extraire les informations de la section ELEVES...
\n";
// PARTIE
\n";
$temoin_structures++;
}
//if(strstr($ligne[$cpt],"
\n";
$temoin_structures++;
break;
}
if($temoin_structures==1){
//if(strstr($ligne[$cpt],"
\n";
unset($tabtmp);
//$tabtmp=explode('"',strstr($ligne[$cpt]," ELEVE_ID="));
$tabtmp=explode('"',strstr($ligne," ELEVE_ID="));
//$tmp_eleve_id=trim($tabtmp[1]);
$eleves[$i]['eleve_id']=trim($tabtmp[1]);
$eleves[$i]["structures"]=array();
$j=0;
$temoin_struct_ele=1;
}
//if(strstr($ligne[$cpt],"
\n";
break;
}
}
}
}
}
$cpt++;
}
fclose($fp);
$nb_err=0;
// $cpt: Identifiant id_tempo
$id_tempo=1;
for($i=0;$i
\n";
$nb_err++;
}
$id_tempo++;
}
}
if($nb_err==0) {
echo "Suite de l'analyse du XML
\n";
$dest_file="../temp/".$tempdir."/eleves.xml";
$fp=fopen($dest_file,"r");
if(!$fp){
echo "
Auriez-vous sauté une étape???
");
unset($tab_ele_id);
$tab_ele_id=array();
$cpt=0;
// Pourquoi est-ce que cela ne fonctionne pas en mysql_fetch_object()???
// TROUVé: C'EST SENSIBLE à LA CASSE: IL FAUDRAIT $lig->ELE_ID
//while($lig=mysql_fetch_object($res_ele_id)){
while($lig=mysqli_fetch_array($res_ele_id)){
//$tab_ele_id[$cpt]="$lig->ele_id";
$tab_ele_id[$cpt]=$lig[0];
affiche_debug("\$tab_ele_id[$cpt]=$tab_ele_id[$cpt]
");
$cpt++;
}
/*
echo "
\n";
//echo "\n";
while(!feof($fp)){
$ligne[]=fgets($fp,4096);
}
fclose($fp);
//echo "
\n";
//echo "\n";
$cpt=0;
$eleves=array();
$temoin_eleves=0;
$temoin_ele=0;
$temoin_options=0;
$temoin_scol=0;
//Compteur élève:
$i=-1;
$tab_champs_eleve=array("ID_NATIONAL",
"ELENOET",
"NOM",
"NOM_DE_FAMILLE",
"NOM_USAGE",
"PRENOM",
"DATE_NAISS",
"DOUBLEMENT",
"DATE_SORTIE",
"CODE_REGIME",
"DATE_ENTREE",
"CODE_MOTIF_SORTIE",
"CODE_SEXE",
);
$tab_champs_scol_an_dernier=array("CODE_STRUCTURE",
"CODE_RNE",
"SIGLE",
"DENOM_PRINC",
"DENOM_COMPL",
"LIGNE1_ADRESSE",
"LIGNE2_ADRESSE",
"LIGNE3_ADRESSE",
"LIGNE4_ADRESSE",
"BOITE_POSTALE",
"MEL",
"TELEPHONE",
"LL_COMMUNE_INSEE"
);
// PARTIE
\n";
//if(strstr($ligne[$cpt],"
\n";
flush();
$temoin_eleves++;
}
//if(strstr($ligne[$cpt],"
\n";
flush();
$temoin_eleves++;
break;
}
if($temoin_eleves==1){
//if(strstr($ligne[$cpt],"
\n";
unset($tabtmp);
//$tabtmp=explode('"',strstr($ligne[$cpt]," ELEVE_ID="));
$tabtmp=explode('"',strstr($ligne," ELEVE_ID="));
$eleves[$i]["eleve_id"]=trim($tabtmp[1]);
affiche_debug("\$eleves[$i][\"eleve_id\"]=".$eleves[$i]["eleve_id"]."
\n");
unset($tabtmp);
//$tabtmp=explode('"',strstr($ligne[$cpt]," ELENOET="));
$tabtmp=explode('"',strstr($ligne," ELENOET="));
$eleves[$i]["elenoet"]=trim($tabtmp[1]);
//echo "\$eleves[$i][\"elenoet\"]=".$eleves[$i]["elenoet"]."
\n";
$temoin_ele=1;
}
//if(strstr($ligne[$cpt],"
\n");
break;
}
}
if(isset($eleves[$i]["date_naiss"])){
// A AMELIORER:
// On passe plusieurs fois dans la boucle (autant de fois qu'il y a de lignes pour l'élève en cours après le repérage de la date...)
//echo $eleves[$i]["date_naiss"]."
\n";
unset($naissance);
$naissance=explode("/",$eleves[$i]["date_naiss"]);
//$eleve_naissance_annee=$naissance[2];
//$eleve_naissance_mois=$naissance[1];
//$eleve_naissance_jour=$naissance[0];
if(isset($naissance[2])){
$eleve_naissance_annee=$naissance[2];
}
else{
$eleve_naissance_annee="";
}
if(isset($naissance[1])){
$eleve_naissance_mois=$naissance[1];
}
else{
$eleve_naissance_mois="";
}
if(isset($naissance[0])){
$eleve_naissance_jour=$naissance[0];
}
else{
$eleve_naissance_jour="";
}
$eleves[$i]["date_naiss"]=$eleve_naissance_annee.$eleve_naissance_mois.$eleve_naissance_jour;
}
}
else{
//echo "$i - ";
//$eleves[$i]["scolarite_an_dernier"]=array();
for($loop=0;$loop
\n");
break;
}
}
}
/*
if(strstr($ligne[$cpt],"
"; print_r($eleves); echo ""; */ //=========================== // A FAIRE: boireaus 20071115 // Insérer ici un tableau comme dans la partie ADRESSES pour simuler une barre de progression //=========================== $stat=0; $nb_err=0; for($i=0;$i
La deuxième phase s'est passée sans erreur.
\n"; echo "\n"; } elseif($nb_err==1) { echo "$nb_err erreur.
\n"; } else{ echo "$nb_err erreurs
\n"; } } echo "$stat enregistrement(s) ont été mis à jour dans la table 'temp_gep_import2'.
\n"; echo "\n"; require("../lib/footer.inc.php"); die(); break; case 2: echo "Suppression de eleves.xml... "; if(unlink("../temp/".$tempdir."/eleves.xml")){ echo "réussie.
\n"; } else{ echo "Echec! Vérifiez les droits d'écriture sur le serveur.\n"; } } if(isset($_POST['is_posted'])) { $ele_id=isset($_POST['ele_id']) ? $_POST['ele_id'] : NULL; $old_ele_id=isset($_POST['old_ele_id']) ? $_POST['old_ele_id'] : NULL; $elenoet=isset($_POST['elenoet']) ? $_POST['elenoet'] : NULL; $nb_ele_id=isset($_POST['nb_ele_id']) ? $_POST['nb_ele_id'] : 0; $cpt=0; if(isset($ele_id)) { //for($i=0;$i$cpt correction(s) effectuée(s).
\n"; } } echo "\n"; if(isset($cpt)) { echo "\n"; } break; case 3: echo "$cpt correction(s) effectuée(s).
\n"; } } echo "\n"; if(isset($cpt)) { echo "\n"; } break; } } echo "