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(); } //====================================================================================== $sql="SELECT 1=1 FROM droits WHERE id='/groupes/correction_inscriptions_grp_csv.php';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==0) { $sql="INSERT INTO droits SET id='/groupes/correction_inscriptions_grp_csv.php', administrateur='V', professeur='F', cpe='F', scolarite='F', eleve='F', responsable='F', secours='F', autre='F', description='Correction des inscriptions dans des groupes d après un CSV', statut='';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); } //====================================================================================== // Section checkAccess() à décommenter en prenant soin d'ajouter le droit correspondant: if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } //====================================================================================== //$projet=isset($_POST['projet']) ? $_POST['projet'] : (isset($_GET['projet']) ? $_GET['projet'] : NULL); //$is_posted=isset($_POST['is_posted']) ? $_POST['is_posted'] : NULL; $action=isset($_POST['action']) ? $_POST['action'] : NULL; $col_login=isset($_POST['col_login']) ? $_POST['col_login'] : NULL; $col_elenoet=isset($_POST['col_elenoet']) ? $_POST['col_elenoet'] : NULL; $col_option=isset($_POST['col_option']) ? $_POST['col_option'] : NULL; //**************** EN-TETE ***************** $titre_page = "Correction membres groupes"; //echo "
\n"; //**************** FIN EN-TETE ***************** //debug_var(); if(!isset($action)) { echo "Retour à la Gestion des classes
\n"; echo "Veuillez fournir un fichier CSV au format... approprié... pour corriger les inscriptions dans les groupes existants.
\n"; echo "\n"; echo "NOTES :
La présente page est destinée à effectuer des inscriptions/désinscriptions d'élèves de groupes existants en fournissant un CSV des inscriptions.
Le format de CSV envisagé correspond à ce qui est produit par le module Genèse des classes à savoir quelque chose comme :
NOM;PRENOM;NAISSANCE;ELENOET;CLASSE;AGL1;AGL2;ALL1;ALL2;ATHLE;DECP3;ESP2;LATIN;Redoublement;Depart
Dans cet exemple, ELENOET sera la clé pour identifier l'élève.
Les autres clés valides sont LOGIN pour le moment et dans le futur ELE_ID, INE.
Les noms des colonnes doivent coïncider avec les noms de matières dans Gepi.
Il est proposé après l'envoi du fichier de choisir les colonnes à prendre en compte.
Un élève sera considéré comme suivant la matière si la colonne correspondante est non vide.
Si un élève suit telle matière, il sera inscrit dans tous les enseignements de la matière (tous les enseignements associés à la classe de l'élève tout de même).
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"; $tempdir=get_user_temp_directory(); $source_file=$csv_file['tmp_name']; $dest_file="../temp/".$tempdir."/correction_inscriptions_grp.csv"; $res_copy=copy("$source_file" , "$dest_file"); // Le nom est ok. On ouvre le fichier $fp=fopen($dest_file,"r"); if(!$fp) { // Aie : on n'arrive pas à ouvrir le fichier... Pas bon. echo "Impossible d'ouvrir le fichier CSV !
\n"; echo "Cliquer ici pour recommencer !
\n"; require("../lib/footer.inc.php"); die(); } // Lecture de la ligne d'entête du CSV $ligne=trim(fgets($fp, 4096)); $tabligne_entete=explode(";",$ligne); echo ""; require("../lib/footer.inc.php"); die(); } //================================================ if((isset($action))&&($action=="inscriptions_desinscriptions")) { echo "\n"; echo "Vous n'avez pas choisi de colonne identifiant LOGIN ou ELENOET.
"; require("../lib/footer.inc.php"); die(); } $tempdir=get_user_temp_directory(); $dest_file="../temp/".$tempdir."/correction_inscriptions_grp.csv"; $fp=fopen($dest_file,"r"); if(!$fp) { // Aie : on n'arrive pas à ouvrir le fichier... Pas bon. echo "Impossible d'ouvrir le fichier CSV !
\n"; echo "Cliquer ici pour recommencer !
\n"; require("../lib/footer.inc.php"); die(); } $ligne=trim(fgets($fp, 4096)); echo "Ligne d'entête :
$ligne
Identifiant choisi : ELENOET
La colonne identifiant choisie est la n°".$col_elenoet." : ".$tabligne_entete[$col_elenoet]."
Identifiant choisi : LOGIN
La colonne identifiant choisie est la n°".$col_login." : ".$tabligne_entete[$col_login]."
Les colonnes à traiter sont les colonnes :
";
for($loop=0;$loop
Les inscriptions vont apparaitre en vert et les désinscriptions en rouge.
Si aucune inscription verte ou rouge n'apparait, c'est que les inscriptions sont conformes au fichier CSV.
Élève non trouvé pour l'identifiant ".$tabligne[$col_identifiant].".
".$ligne."
ANOMALIE : Plus d'un élève semble correspondre à l'identifiant proposé.
".$ligne."
Élève $lig_ele->nom $lig_ele->prenom inscrit dans aucune classe.
".$ligne."