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/maj_inscript_ele_d_apres_edt.php';";
$test=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($test)==0) {
$sql="INSERT INTO droits SET id='/groupes/maj_inscript_ele_d_apres_edt.php',
administrateur='V',
professeur='F',
cpe='F',
scolarite='F',
eleve='F',
responsable='F',
secours='F',
autre='F',
description='Import des inscriptions élèves depuis un XML EDT',
statut='';";
$insert=mysqli_query($GLOBALS["mysqli"], $sql);
}
if (!checkAccess()) {
header("Location: ../logout.php?auto=1");
die();
}
$sql="CREATE TABLE IF NOT EXISTS edt_eleves_lignes (
id int(11) NOT NULL AUTO_INCREMENT,
nom varchar(255) NOT NULL default '',
prenom varchar(255) NOT NULL default '',
date_naiss varchar(255) NOT NULL default '',
sexe varchar(255) NOT NULL default '',
n_national varchar(255) NOT NULL default '',
classe varchar(255) NOT NULL default '',
groupes varchar(255) NOT NULL default '',
option_1 varchar(255) NOT NULL default '',
option_2 varchar(255) NOT NULL default '',
option_3 varchar(255) NOT NULL default '',
option_4 varchar(255) NOT NULL default '',
option_5 varchar(255) NOT NULL default '',
option_6 varchar(255) NOT NULL default '',
option_7 varchar(255) NOT NULL default '',
option_8 varchar(255) NOT NULL default '',
option_9 varchar(255) NOT NULL default '',
option_10 varchar(255) NOT NULL default '',
option_11 varchar(255) NOT NULL default '',
option_12 varchar(255) NOT NULL default '',
PRIMARY KEY (id)
) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;";
$create_table=mysqli_query($GLOBALS["mysqli"], $sql);
$sql="CREATE TABLE IF NOT EXISTS edt_tempo (
id int(11) NOT NULL AUTO_INCREMENT,
col1 varchar(255) NOT NULL default '',
col2 varchar(255) NOT NULL default '',
PRIMARY KEY (id)
) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;";
$create_table=mysqli_query($GLOBALS["mysqli"], $sql);
$acces_prepa_conseil_edit_limite="y";
if(!acces('/prepa_conseil/edit_limite.php', $_SESSION['statut'])) {
$acces_prepa_conseil_edit_limite="n";
}
/*
"NOM",
"PRENOM",
"DATE_NAISS",
"SEXE",
"N_NATIONAL",
"CLASSE",
"GROUPES",
"OPTION_1",
"OPTION_2",
"OPTION_3",
"OPTION_4",
"OPTION_5",
"OPTION_6",
"OPTION_7",
"OPTION_8",
"OPTION_9",
"OPTION_10",
"OPTION_11",
"OPTION_12"*/
$debug_import_edt="n";
$avec_colonnes_detail_groupes_eleves="y"; // Le paramètre $debug_import_edt ci-dessus affecté à 'y' force l'affichage des colonnes groupes/classes EDT.
$msg="";
$action=isset($_POST['action']) ? $_POST['action'] : (isset($_GET['action']) ? $_GET['action'] : "");
$num_periode=isset($_POST['num_periode']) ? $_POST['num_periode'] : (isset($_GET['num_periode']) ? $_GET['num_periode'] : NULL);
$id_groupe=isset($_POST['id_groupe']) ? $_POST['id_groupe'] : (isset($_GET['id_groupe']) ? $_GET['id_groupe'] : NULL);
if(isset($_POST['MajInscriptEleEdtEnvoiMail'])) {
check_token();
if(!saveSetting('MajInscriptEleEdtEnvoiMail', $_POST['MajInscriptEleEdtEnvoiMail'])) {
$msg="Erreur lors de l'enregistrement du paramètre 'MajInscriptEleEdtEnvoiMail' (".strftime("%d/%m/%Y à %H:%M:%S").").
";
}
else {
$msg="Enregistrement du paramètre 'MajInscriptEleEdtEnvoiMail' effectué (".strftime("%d/%m/%Y à %H:%M:%S").").
";
}
}
if((isset($_POST['mode']))&&($_POST['mode']=="cherche_eleve")) {
$nom_ele=isset($_POST['nom_ele']) ? $_POST['nom_ele'] : NULL;
$prenom_ele=isset($_POST['prenom_ele']) ? $_POST['prenom_ele'] : NULL;
if((isset($nom_ele))&&(isset($prenom_ele))) {
//$sql="SELECT * FROM eleves WHERE nom LIKE '%".mysqli_real_escape_string($GLOBALS['mysqli'], $nom_ele)."%' AND prenom LIKE '%".mysqli_real_escape_string($GLOBALS['mysqli'], $prenom_ele)."%' ORDER BY nom, prenom;";
$sql="SELECT * FROM eleves WHERE nom LIKE '%".preg_replace("/[^A-Za-z]/u", "%", $nom_ele)."%' AND prenom LIKE '%".preg_replace("/[^A-Za-z]/u", "%", $prenom_ele)."%' ORDER BY nom, prenom;";
//echo "$sql
";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res)==0) {
echo "
Aucun élève trouvé.
"; } else { echo "Nom | Prénom | Naissance | INE | Classes |
---|---|---|---|---|
".$lig->nom." | ".$lig->prenom." | ".formate_date($lig->naissance)." | "; if($lig->no_gep!=""){ //echo 'no_gep.'\';cacher_div(\'div_search\');return false;\">'.$lig->no_gep.''; echo ''.$lig->no_gep.''; } else{ echo "Non renseigné"; } echo " | ".get_chaine_liste_noms_classes_from_ele_login($lig->login)." |
Nom ou prénom non transmis.
"; } die(); } // 20151021 if($action=="corrige_ine_eleve") { check_token(); //debug_var(); $edt_eleves_lignes_id=isset($_POST['edt_eleves_lignes_id']) ? $_POST['edt_eleves_lignes_id'] : NULL; $ine_corrige=isset($_POST['ine_corrige']) ? $_POST['ine_corrige'] : NULL; $nom_eleve=isset($_POST['nom_eleve']) ? $_POST['nom_eleve'] : array(); $prenom_eleve=isset($_POST['prenom_eleve']) ? $_POST['prenom_eleve'] : array(); if(!isset($edt_eleves_lignes_id)) { $msg.="Aucun identifiant élève de la table 'edt_eleves_lignes' n'a été transmis.L'identifiant de groupe Gepi et celui EDT ne correspondent pas.
"; } else { $sql="UPDATE edt_lignes SET traitement='', details_cours='' WHERE details_cours LIKE '".$_GET['id_groupe']."|%';"; $mise_a_blanc=mysqli_query($GLOBALS["mysqli"], $sql); $sql="DELETE FROM edt_corresp2 WHERE nom_groupe_edt IN (SELECT col1 FROM edt_tempo WHERE id='".$_GET['id_edt_tempo']."') AND id_groupe='".$_GET['id_groupe']."';"; //echo "$sqlL'identifiant de groupe Gepi et celui EDT ne correspondent pas.
"; } else { $ts=time(); //echo "L'identifiant de groupe Gepi et celui EDT correspondent.
"; // Problème: On peut avoir plusieurs regroupements EDT associés à un id_groupe selon ce qui a été sélectionné dans l'import EDT //$sql="SELECT * FROM edt_corresp2 WHERE id_groupe='".$_GET['id_groupe']."';"; //$sql="SELECT * FROM edt_corresp2 WHERE id_groupe='".$_GET['id_groupe']."' AND nom_groupe_edt LIKE '[%]';"; //$sql="SELECT * FROM edt_corresp2 WHERE id_groupe='".$_GET['id_groupe']."' AND nom_groupe_edt LIKE '[%]' AND nom_groupe_edt IN (SELECT col1 FROM edt_tempo);"; $sql="SELECT * FROM edt_corresp2 WHERE id_groupe='".$_GET['id_groupe']."' AND (nom_groupe_edt LIKE '[%]' OR nom_groupe_edt LIKE '%<%>%') AND nom_groupe_edt IN (SELECT col1 FROM edt_tempo);"; // Si on a plusieurs enregistrements, ça ne convient pas. //echo "$sqlAucun regroupement EDT n'est associé au groupe Gepi n°".$_GET['id_groupe'].".
"; } elseif(mysqli_num_rows($res_grp)>1) { echo "Plusieurs regroupements EDT sont associés au groupe Gepi n°".$_GET['id_groupe'].".
Vous devez commencer par supprimer la ou les associations en trop.
Les regroupements associés sont :
";
while($lig_grp=mysqli_fetch_object($res_grp)) {
$sql="SELECT id FROM edt_tempo WHERE col1='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig_grp->nom_groupe_edt)."';";
//echo "$sql
";
$res_id=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_id)>0) {
$lig_id=mysqli_fetch_object($res_id);
echo "$lig_grp->nom_groupe_edt
";
}
else {
echo "$lig_grp->nom_groupe_edt
";
}
//$current_nom_groupe=preg_replace("/\[/", "", preg_replace("/\]/", "", $lig_grp->nom_groupe_edt));
//echo "\$current_nom_groupe=$current_nom_groupe
";
}
echo "
Le ou les groupes suivants sont associés à ce nom de regroupement d'élèves EDT : Le regroupement EDT est vide.
";
$lig_grp=mysqli_fetch_object($res_grp);
/*
//echo "\$lig_grp->nom_groupe_edt=$lig_grp->nom_groupe_edt
";
$current_nom_groupe=preg_replace("/\[/", "", preg_replace("/\]/", "", $lig_grp->nom_groupe_edt));
//echo "\$current_nom_groupe=$current_nom_groupe
";
*/
$nom_groupe_edt=$lig_grp->nom_groupe_edt;
$nom_groupe_edt_clean=preg_replace("/\[/", "", preg_replace("/\]/", "", $lig_grp->nom_groupe_edt));
//$chaine_nom_groupe="";
/*
$current_nom_groupe=preg_replace("/\[/", "", preg_replace("/\]/", "", $lig->nom_groupe_edt));
$sql="SELECT nom,prenom,date_naiss,sexe,n_national,groupes FROM edt_eleves_lignes
WHERE (groupes like '$current_nom_groupe' OR
groupes like '$current_nom_groupe, %' OR
groupes like '%, $current_nom_groupe, %' OR
groupes like '%, $current_nom_groupe');";
$sql="SELECT nom,prenom,date_naiss,sexe,n_national,groupes FROM edt_eleves_lignes
WHERE (groupes like '$current_nom_groupe' OR
groupes like '$current_nom_groupe, %' OR
groupes like '%, $current_nom_groupe, %' OR
groupes like '%, $current_nom_groupe');";
echo "$sql
";
*/
//$sql="";
$sql="SELECT nom,prenom,date_naiss,sexe,n_national,groupes FROM edt_eleves_lignes
WHERE (";
$tmp_tab_nom_groupe=explode(",", $lig_grp->nom_groupe_edt);
$loop2=0;
for($loop=0;$loop
";
}
$res_ele=mysqli_query($GLOBALS["mysqli"], $sql);
$ts=time();
//echo "
Temps écoulé ".($ts-$ts0)."
";
if(mysqli_num_rows($res_ele)==0) {
echo "
";
}
echo $lig_ele->nom." ".$lig_ele->prenom." (".$lig_ele->date_naiss.") (".$lig_ele->n_national.")";
// Si $lig_ele->n_national est vide, il faut tenter d'identifier autrement l'élève (nom, prénom, date de naissance).
if($lig_ele->n_national!="") {
$sql="SELECT login, date_sortie FROM eleves WHERE no_gep='".$lig_ele->n_national."';";
}
else {
$sql="SELECT login, date_sortie FROM eleves WHERE nom='".$lig_ele->nom."' AND prenom='".$lig_ele->prenom."';";
}
//echo "$sql
";
$res_nn=mysqli_query($GLOBALS["mysqli"], $sql);
$ts=time();
//echo "
Temps écoulé ".($ts-$ts0)."
";
if(mysqli_num_rows($res_nn)==0) {
echo " INE ".$lig_ele->n_national." non trouvé dans la table 'eleves'";
$reserves_sur_maj++;
}
elseif(mysqli_num_rows($res_nn)==1) {
$lig_nn=mysqli_fetch_object($res_nn);
$tab_ele_regroupement_edt['login'][]=$lig_nn->login;
$tab_ele_regroupement_edt['date_sortie'][]=$lig_nn->date_sortie;
$tab_ele_regroupement_edt['nom'][]=$lig_ele->nom;
$tab_ele_regroupement_edt['prenom'][]=$lig_ele->prenom;
$tab_ele_regroupement_edt['date_naiss'][]=$lig_ele->date_naiss;
$tab_ele_regroupement_edt['n_national'][]=$lig_ele->n_national;
//echo "
\$lig_nn->login=$lig_nn->login
";
//echo "
\$num_periode=$num_periode
";
$id_classe="";
$classe="";
$tmp_tab=get_class_periode_from_ele_login($lig_nn->login);
/*
echo "";
print_r($tmp_tab);
echo "
";
*/
if(isset($tmp_tab['periode'][$num_periode]['id_classe'])) {
$id_classe=$tmp_tab['periode'][$num_periode]['id_classe'];
$inscrire="y";
// Contrôler que le $id_classe est bien associé au groupe
if(!in_array($id_classe, $reg_clazz)) {
// Il faudrait vérifier que le nombre de périodes de la classe est le même que pour les classes déjà inscrites.
$sql="SELECT MAX(num_periode) AS maxper FROM periodes WHERE id_classe='$id_classe';";
$res_per=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_per)==0) {
$inscrire="n";
echo "
La classe de l'élève ".$lig_ele->nom." ".$lig_ele->prenom." n'a pas de période (l'élève ne peut pas être ajouté au groupe Gepi)";
$texte_mail.="Ajout de ".$lig_ele->nom." ".$lig_ele->prenom." impossible (élève non trouvé).\n";
$reserves_sur_maj++;
}
else {
$lig_per=mysqli_fetch_object($res_per);
if($lig_per->maxper==count($current_group["periodes"])) {
$reg_clazz[]=$id_classe;
}
else {
$inscrire="n";
echo "
La classe de l'élève ".$lig_ele->nom." ".$lig_ele->prenom." n'a pas le même nombre de périodes que les autres classes du groupe (l'élève ne peut pas être ajouté au groupe Gepi)";
$texte_mail.="Ajout de ".$lig_ele->nom." ".$lig_ele->prenom." impossible (nombre de périodes incompatible).\n";
$reserves_sur_maj++;
}
}
}
if($inscrire=="y") {
$reg_eleves[$num_periode][]=$lig_nn->login;
}
}
else {
echo "
L'élève ".$lig_ele->nom." ".$lig_ele->prenom." n'est dans aucune classe (il ne peut pas être ajouté au groupe Gepi)";
$texte_mail.="Ajout de ".$lig_ele->nom." ".$lig_ele->prenom." impossible (élève inscrit dans aucune classe).\n";
$reserves_sur_maj++;
}
$tab_ele_regroupement_edt['id_classe'][]=$id_classe;
if(isset($tmp_tab['periode'][$num_periode]['classe'])) {$classe=$tmp_tab['periode'][$num_periode]['classe'];}
$tab_ele_regroupement_edt['classe'][]=$classe;
}
else {
echo " Plusieurs élèves trouvés dans la table 'eleves' pour cet INE (???)";
$reserves_sur_maj++;
}
$cpt_ele++;
}
echo "
Mise à jour du groupe en période $num_periode : ";
$update = update_group($_GET['id_groupe'], $reg_nom_groupe, $reg_nom_complet, $reg_matiere, $reg_clazz, $reg_professeurs, $reg_eleves, $code_modalite_elect_eleves);
if($update) {
echo "SUCCES";
if($reserves_sur_maj>0) {echo " avec les réserves mentionnées plus haut.";}
$texte_mail.="\nNouvelle composition du groupe en période $num_periode:\n";
for($loop=0;$loop
Retour"; /* if($nb_reg_edt_corresp>0) {echo " | Editer les correspondances enregistrées ";} if($nb_reg_edt_lignes>0) {echo " | Effectuer les rapprochements d'après le dernier XML envoyé";} if($nb_reg_edt_lignes>0) {echo " | Remplir l'EDT d'après le dernier XML envoyé et d'après les rapprochements effectués";} */ if($action!="") {echo " | Autre import ";} $sql="SELECT 1=1 FROM edt_eleves_lignes LIMIT 5;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { echo " | Effectuer les comparaisons d'après le dernier EDT_ELEVES.xml importé "; } $sql="SELECT 1=1 FROM edt_corresp2 LIMIT 5;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { echo " | Contrôler les associations groupe Gepi/nom de regroupement EDT "; } echo " | Importer l'emploi du temps "; echo "
Il semble que le dossier temporaire de l'utilisateur ".$_SESSION['login']." ne soit pas défini!?
\n"; require("../lib/footer.inc.php"); die(); } if($action=="") { // 20160908 : Ajouter un formulaire pour activer/désactiver l'envoi de mail if(getSettingANon("MajInscriptEleEdtEnvoiMail")) { $checked_envoi_y=""; $checked_envoi_n=" checked"; } else { $checked_envoi_y=" checked"; $checked_envoi_n=""; } 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 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=$xml_file['tmp_name']; $dest_file="../temp/".$tempdir."/edt_eleves.xml"; $res_copy=copy("$source_file" , "$dest_file"); $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(); } /* 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(); } //unlink("$dest_file"); // Pour Wamp... $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(); } } } 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"; echo "Ré-écriture d'un XML élagué.
\n"; echo ""; $f=fopen($dest_file, "r"); $dest_file2="../temp/".$tempdir."/edt_eleves_elague.xml"; $f2=fopen($dest_file2, "w+"); fwrite($f2, '$nb_ele élève(s) trouvés dans ce fichier.
ATTENTION : Si ce n'est pas l'effectif de l'établissement, vous avez peut-être oublié de sélectionner des classes pour réaliser l'export EXP_ELEVE.xml.
Si une classe n'est pas sélectionnée, les enseignements/groupes multi-classe qui font intervenir cette classe pourraient être amputés de membres de cette classe.
Exemple : Si vous avez un groupe AGL1_4B_4C faisant intervenir des élèves de 4B et 4C, mais que seule la 4B a été sélectionnée, il vous sera proposé par la suite de désincrire du groupe les élèves de 4C puisque non trouvés dans le fichier XML parmi les membres du regroupement EDT associé à AGL1_4B_4C.
ECHEC du chargement du fichier avec simpleXML.
\n"; require("../lib/footer.inc.php"); die(); } /* $nom_racine=$eleves_xml->getName(); if(my_strtoupper($nom_racine)!='TABLE') { echo "ERREUR: Le fichier XML fourni n'a pas l'air d'être un fichier XML EXP_ELEVES.
Sa racine devrait être 'TABLE'.
$lig->nom nom."\" /> id."\" /> | $lig->prenom prenom."\" /> | $lig->date_naiss | $lig->n_national | $lig->classe |
Nom | Prénom | Naissance | INE (EDT) | Classe | INE corrigé | Chercher |
---|
Rechercher les modifications d'appartenance aux groupes/enseignements.
"; echo ""; require("../lib/footer.inc.php"); die(); } elseif($action=="comparer") { echo ""; if(!isset($num_periode)) { echo "Aucune période n'est encore définie.
"; } else { echo "Rechercher les différences d'affectation des élèves sur :
";
while($lig=mysqli_fetch_object($res)) {
echo "la num_periode."'>période ".$lig->num_periode."
";
}
echo "
Aucun enregistrement n'a été trouvé dans 'edt_corresp2'.
"; require("../lib/footer.inc.php"); die(); } $tab_corresp_classe=array(); $sql="select * from edt_corresp where champ='classe';"; $res_corresp_classe=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_corresp_classe)>0) { while($lig_corresp_classe=mysqli_fetch_object($res_corresp_classe)) { $tab_corresp_classe[]=$lig_corresp_classe->nom_edt; } } // 20160504 $tab_eleves_sortis=array(); $sql="SELECT DISTINCT login FROM eleves WHERE date_sortie IS NOT NULL AND date_sortie NOT LIKE '0000-00-00%' AND date_sortie<='".strftime("%Y-%m-%d %H:%M:%S")."';"; //echo "$sql"; print_r($tab_eleves_sortis); echo ""; */ $sql="TRUNCATE edt_tempo;"; $menage=mysqli_query($GLOBALS["mysqli"], $sql); echo " "; $tab_nom_classe=array(); $cpt_regroupement=0; $chaine_js_div=""; while($lig=mysqli_fetch_object($res)) { $sql="INSERT INTO edt_tempo set col1='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->nom_groupe_edt)."';"; if($debug_import_edt=="y") { echo "$sql
Regroupement d'élèves ".$lig->nom_groupe_edt."
"; $sql="SELECT DISTINCT id_groupe FROM edt_corresp2 WHERE nom_groupe_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->nom_groupe_edt)."';"; if($debug_import_edt=="y") { echo "$sqlAucun groupe n'est associé au nom EDT ".$lig->nom_groupe_edt.".
"; } else { $tab_info_grp=array(); $tab_ele_grp=array(); $tab_prof_grp=array(); echo "Le ou les groupes suivants sont associés à ce nom de regroupement d'élèves EDT :
";
while($lig_grp=mysqli_fetch_object($res_grp)) {
$tab_info_grp[$lig_grp->id_groupe]=get_info_grp($lig_grp->id_groupe);
echo $tab_info_grp[$lig_grp->id_groupe]."
";
$tmp_tab=get_eleves_from_groupe($lig_grp->id_groupe, $num_periode);
$tab_ele_grp[$lig_grp->id_groupe]['list']=$tmp_tab['list'];
$tab_ele_grp[$lig_grp->id_groupe]['users']=$tmp_tab['users'];
$tab_prof_grp[$lig_grp->id_groupe]=get_profs_for_group($lig_grp->id_groupe);
}
echo "
Aucun élève n'a dans ses groupes le nom EDT ".$current_nom_groupe.".
"; //echo "Aucun élève n'a dans ses groupes le nom EDT ".$chaine_nom_groupe.".
"; echo "Aucun élève n'a dans ses groupes le nom EDT ".$nom_groupe_edt.".
"; } else { $tab_ele_regroupement_edt=array(); echo "Le ou les élèves suivants ont dans leurs groupes le nom EDT ".$current_nom_groupe." :
";
$cpt_ele=0;
while($lig_ele=mysqli_fetch_object($res_ele)) {
echo $lig_ele->nom." ".$lig_ele->prenom." (".$lig_ele->date_naiss.") (".$lig_ele->n_national.")";
// Si $lig_ele->n_national est vide, il faut tenter d'identifier autrement l'élève (nom, prénom, date de naissance).
if($lig_ele->n_national!="") {
$sql="SELECT login, date_sortie FROM eleves WHERE no_gep='".$lig_ele->n_national."';";
}
else {
$sql="SELECT login, date_sortie FROM eleves WHERE nom='".$lig_ele->nom."' AND prenom='".$lig_ele->prenom."';";
}
//echo "$sql
";
$res_nn=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_nn)==0) {
echo " INE non trouvé dans la table 'eleves'";
}
elseif(mysqli_num_rows($res_nn)==1) {
$lig_nn=mysqli_fetch_object($res_nn);
$tab_ele_regroupement_edt['id_edt_eleves_lignes'][]=$lig_ele->id;
$tab_ele_regroupement_edt['login'][]=$lig_nn->login;
$tab_ele_regroupement_edt['date_sortie'][]=$lig_nn->date_sortie;
$tab_ele_regroupement_edt['nom'][]=$lig_ele->nom;
$tab_ele_regroupement_edt['prenom'][]=$lig_ele->prenom;
$tab_ele_regroupement_edt['date_naiss'][]=$lig_ele->date_naiss;
$tab_ele_regroupement_edt['n_national'][]=$lig_ele->n_national;
/*
$classes="";
$tmp_tab=get_class_from_ele_login($lig_nn->login);
if(isset($tmp_tab['liste_nbsp'])) {$classes=$tmp_tab['liste_nbsp'];}
*/
$id_classe="";
$classe="";
$tmp_tab=get_class_periode_from_ele_login($lig_nn->login);
if(isset($tmp_tab['periode'][$num_periode]['id_classe'])) {$id_classe=$tmp_tab['periode'][$num_periode]['id_classe'];}
$tab_ele_regroupement_edt['id_classe'][]=$id_classe;
if(isset($tmp_tab['periode'][$num_periode]['classe'])) {$classe=$tmp_tab['periode'][$num_periode]['classe'];}
$tab_ele_regroupement_edt['classe'][]=$classe;
}
else {
echo " Plusieurs élèves trouvés dans la table 'eleves' pour cet INE (???)";
}
echo "
";
$cpt_ele++;
}
echo "
Effectif : $cpt_ele
"; foreach($tab_ele_grp as $current_id_groupe => $current_tab_ele) { $tab_test_association_grp_classe=array(); $diff=array_diff($current_tab_ele['list'], $tab_ele_regroupement_edt['login']); $diff2=array_diff($tab_ele_regroupement_edt['login'], $current_tab_ele['list']); $au_moins_une_vraie_diff=0; foreach($diff as $current_diff) { if(!in_array($current_diff, $tab_eleves_sortis)) { //echo "$current_diffLe groupe ".$tab_info_grp[$current_id_groupe]." est à jour.
"; } else { /* echo "diff"; print_r($diff); echo ""; echo "diff2
"; print_r($diff2); echo ""; */ $temoin_bull_ou_cn_non_vide=0; $temoin_differences++; echo "
Différences pour ".$tab_info_grp[$current_id_groupe]."
"; /* echo ""; print_r($diff); echo ""; echo "
"; print_r($diff2); echo ""; */ //================================== $details_lignes=""; $sql="SELECT * FROM edt_lignes WHERE classe='".mysqli_real_escape_string($GLOBALS["mysqli"], $nom_groupe_edt)."' ORDER BY mat_code, prof_nom, prof_prenom, jour, h_debut;"; //$details_lignes.="
Regroupement EDT ".htmlentities($nom_groupe_edt_clean)." ".$details_lignes." |
Enseignement Gepi ".$tab_info_grp[$current_id_groupe]; if(isset($tab_prof_grp[$current_id_groupe]["users"])) { echo " "; $cpt_prof=0; foreach($tab_prof_grp[$current_id_groupe]["users"] as $tab_prof){ if($cpt_prof>0){echo ", ";} echo casse_mot($tab_prof['prenom'],'majf2')." ".my_strtoupper($tab_prof['nom']); echo affiche_lien_edt_prof($tab_prof["login"], $tab_prof["prenom"]." ".$tab_prof["nom"]); } } echo " |
||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Effectif : ".count($tab_ele_regroupement_edt['login'])." |
Effectif : ".count($current_tab_ele['users'])." ";
$sql="SELECT MAX(p.num_periode) AS maxper FROM j_groupes_classes jgc, periodes p WHERE p.id_classe=jgc.id_classe AND jgc.id_groupe='$current_id_groupe';";
$res_per=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_per)==0) {
$maxper=$num_periode;
}
else {
$lig_per=mysqli_fetch_object($res_per);
$maxper=$lig_per->maxper;
}
for($loop_per=$num_periode;$loop_per<=$maxper;$loop_per++) {
echo "
Mettre à jour en période $loop_per
Groupe n°$current_id_groupe
|
Afficher tous les regroupements
N'afficher que les regroupements avec différence trouvée
Voici les associations groupe Gepi/nom de regroupement EDT
Deux formulaires vont être proposés :
Le deuxième permet de contrôler qu'un groupe Gepi n'est pas associé à plusieurs regroupements EDT (et de corriger si nécessaire).
Aucune association n'est enregistrée.
"; } else { echo " "; } //================================================================= echo ""; $sql="SELECT DISTINCT ec.id_groupe FROM classes c, j_groupes_classes jgc, edt_corresp2 ec WHERE c.id=jgc.id_classe AND jgc.id_groupe=ec.id_groupe ORDER BY c.classe, ec.mat_code_edt;"; //echo "$sqlAucune association n'est enregistrée.
"; } else { $tab_assoc_a_1=array(); echo "Regroupement EDT associé à ".get_info_grp($id_groupe)."
"; $sql="SELECT * FROM edt_corresp WHERE champ='groupe' ORDER BY nom_edt;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "Aucune association n'est enregistrée.
"; } else { $tab_assoc=array(); $sql="SELECT * FROM edt_corresp2 WHERE id_groupe='$id_groupe' ORDER BY nom_groupe_edt;"; $res2=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res2)>0) { while($lig2=mysqli_fetch_object($res2)) { $tab_assoc[]=$lig2->nom_groupe_edt; } } if(count($tab_assoc)>1) { echo "ANOMALIE : Le groupe/enseignement Gepi est associé à ".count($tab_assoc)." regroupements EDT (";
for($loop=0;$loop
Il ne devrait y en avoir qu'un.
Choisissez ci-dessous le bon et validez.