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='/init_xml2/traite_xml_edt.php';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==0) { $sql="INSERT INTO droits SET id='/init_xml2/traite_xml_edt.php', administrateur='V', professeur='F', cpe='F', scolarite='F', eleve='F', responsable='F', secours='F', autre='F', description='Import des enseignements via un Export XML EDT', statut='';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); } if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } check_token(); function get_nom_complet_from_matiere($mat) { $sql="SELECT nom_complet FROM matieres WHERE matiere='$mat';"; $res_mat=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_mat)>0) { $lig_mat=mysqli_fetch_object($res_mat); return $lig_mat->nom_complet; } } $_SESSION['init_xml_groupes']="xml_edt"; $msg=""; $action=isset($_POST['action']) ? $_POST['action'] : (isset($_GET['action']) ? $_GET['action'] : ""); function get_corresp_edt($type, $nom) { $retour=""; $sql="SELECT nom_gepi FROM edt_corresp WHERE champ='$type' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $nom)."';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { $lig=mysqli_fetch_object($res); $retour=$lig->nom_gepi; } return $retour; } /* function get_id_groupe_from_tab_ligne($tab) { $retour=""; if((isset($tab['classe']))&&(isset($tab['prof_nom']))&&(isset($tab['prof_prenom']))&&(isset($tab['mat_code']))) { $chaine_nom_edt=$tab['classe']."|".$tab['prof_nom']."|".$tab['prof_prenom']."|".$tab['mat_code']; $retour=get_corresp_edt('choix_id_groupe', $chaine_nom_edt); } return $retour; } // Fonction utilisée pour renseigner edt_corresp2 avec les correspondances id_groupe, nom de regroupement EDT // La table edt_corresp2 est utilisée dans groupes/maj_inscript_ele_d_apres_edt.php function enregistre_corresp_EDT_classe_matiere_GEPI_id_groupe($id_groupe, $nom_groupe_edt, $mat_code_edt) { $sql="SELECT * FROM edt_corresp2 WHERE id_groupe='".$id_groupe."' AND nom_groupe_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $nom_groupe_edt)."';"; //echo "$sql
"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { $sql="INSERT INTO edt_corresp2 SET id_groupe='".$id_groupe."', nom_groupe_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $nom_groupe_edt)."', mat_code_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $mat_code_edt)."';;"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); } } */ //**************** EN-TETE ***************** $titre_page = "Outil d'initialisation de l'année : Importation XML EDT"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** include("init_xml_lib.php"); //debug_var(); /* 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(); } } */ // Etape... $step=isset($_POST['step']) ? $_POST['step'] : (isset($_GET['step']) ? $_GET['step'] : NULL); if(isset($_GET['ad_retour'])) { $_SESSION['ad_retour']=$_GET['ad_retour']; } //echo "\$_SESSION['ad_retour']=".$_SESSION['ad_retour']."
"; $mysql_collate=getSettingValue("mysql_collate") ? getSettingValue("mysql_collate") : ""; $chaine_mysql_collate=""; if($mysql_collate!="") {$chaine_mysql_collate="COLLATE $mysql_collate";} //unset($remarques); //$remarques=array(); // On va uploader le CSV dans le tempdir de l'utilisateur (administrateur) $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'])) { //echo "

Suppression des CSV

\n"; echo "

Suppression du XML

\n"; echo "

Retour Retour"; echo " | Autre import

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

Si le XML EDT est présent, il sera supprimé...

\n"; $tabfich=array("export_edt.xml"); for($i=0;$iSuppression de $tabfich[$i]... "; if(unlink("../temp/".$tempdir."/$tabfich[$i]")) { echo "réussie.

\n"; } else { echo "Echec! Vérifiez les droits d'écriture sur le serveur.

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

Première phase de l'import XML EDT

\n"; //echo "

Préparation des données élèves/classes/périodes/options

\n"; echo "

Retour Retour"; //echo " | Autre import"; echo " | Suppression d'un XML existant"; echo "

\n"; //echo "\n"; //if(!isset($_POST['is_posted'])) { if(!isset($step)) { echo "

Upload du fichier d'export EXP_COURS.xml d'EDT.

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

Veuillez fournir le fichier d'export EXP_COURS.xml :
\n"; echo "
\n"; echo "\n"; echo "\n"; echo add_token_field(); echo "

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

Remarques :

\n"; echo "\n"; } else { $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($step==0) { $xml_file = isset($_FILES["xml_file"]) ? $_FILES["xml_file"] : NULL; 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 "

\n"; // Il ne faut pas aller plus loin... // SITUATION A GERER require("../lib/footer.inc.php"); die(); } else { if(!file_exists($xml_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 ".$xml_file['name']." serait
\n"; echo "\$xml_file['size']=".volume_human($xml_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"; //$source_file=stripslashes($xml_file['tmp_name']); $source_file=$xml_file['tmp_name']; $dest_file="../temp/".$tempdir."/export_edt.xml"; $res_copy=copy("$source_file" , "$dest_file"); 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"; $cours_xml=simplexml_load_file($dest_file); if(!$cours_xml) { echo "

ECHEC du chargement du fichier avec simpleXML.

\n"; require("../lib/footer.inc.php"); die(); } $nom_racine=$cours_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_COURS.
Sa racine devrait être 'TABLE'.

\n"; require("../lib/footer.inc.php"); die(); } $tab_champs=array("NUMERO", "DUREE", "FREQUENCE", "MAT_CODE", "MAT_LIBELLE", "PROF_NOM", "PROF_PRENOM", "CLASSE", "SALLE", "ALTERNANCE", "MODALITE", "CO-ENS.", "POND.", "JOUR", "H.DEBUT", "EFFECTIF"); for($loop=0;$loopVeuillez maintenant compléter les correspondances utiles entre EDT et GEPI :

\n"; $sql="TRUNCATE TABLE edt_lignes;"; $vide_table = mysqli_query($GLOBALS["mysqli"], $sql); $cpt=0; $tab_cours=array(); foreach ($cours_xml->children() as $key => $cur_cours) { if($key=='Cours') { /* echo "

$key

"; echo "
";
								print_r($cur_cours);
								echo "
"; */ foreach ($cur_cours->children() as $key2 => $value2) { if(in_array($key2, $tab_champs)) { //$tab_cours[$cpt][$key2]=(string)$value2; $champ_courant=$tab_champs2[$key2]; //$tab_cours[$cpt]["$champ_courant"]=(string)$value2; $tab_cours[$cpt]["$champ_courant"]=trim($value2); //echo "$key2:$value2
"; } } /* echo "

\$tab_cours[$cpt]

"; echo "
";
								print_r($tab_cours[$cpt]);
								echo "
"; */ // Enregistrer la ligne dans edt_lignes $sql="INSERT INTO edt_lignes SET "; $sql_ajout=""; for($loop=0;$loop"; if(isset($tab_cours[$cpt][$champ_courant])) { if($sql_ajout!="") {$sql_ajout.=",";} $sql_ajout.=" ".$champ_courant."='".mysqli_real_escape_string($GLOBALS["mysqli"], $tab_cours[$cpt][$champ_courant])."'"; } } //echo "\$sql_ajout=$sql_ajout
"; if($sql_ajout!="") { $sql.=$sql_ajout; //echo "\$sql=$sql
"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); } flush(); $cpt++; } } echo "

Effectuer les rapprochements

"; } } } elseif($step==1) { $sql="SELECT * FROM edt_lignes ORDER BY numero;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Aucun enregistrement n'a été trouvé.

"; require("../lib/footer.inc.php"); die(); } $cpt=0; $ligne=array(); while($ligne[$cpt]=mysqli_fetch_assoc($res)) { $cpt++; } $cpt=0; $tab_mat=array(); $sql="SELECT matiere, nom_complet FROM matieres ORDER BY matiere;"; $res_mat=mysqli_query($GLOBALS["mysqli"], $sql); while($tab_mat[$cpt]=mysqli_fetch_assoc($res_mat)) { $cpt++; } echo "
".add_token_field()."

La ou les correspondances de matières EDT/GEPI suivantes ne sont pas encore enregistrées.

"; $tab_corresp_a_faire=array(); $tab_corresp_a_faire['matiere']=array(); $tab_corresp_a_faire['prof']=array(); $tab_corresp_a_faire['classe']=array(); $tab_corresp_a_faire['groupe']=array(); $tab_corresp_a_faire['salle']=array(); $tab_corresp_a_faire['jour']=array(); $tab_corresp_a_faire['h_debut']=array(); $tab_corresp_a_faire['frequence']=array(); for($loop=0;$loop 220 1h00 Q1 REM-FR REMEDIATION FR TOESCA VERONIQUE 6C 35 Q1 CG N 1 mardi 13h30 21 */ echo " "; $tab_corresp_a_faire['matiere'][]=$current_mat_code_edt; } } } echo "
".$current_mat_code_edt." :
"; $cpt=0; $tab_prof=array(); $sql="SELECT login, civilite, nom, prenom, etat FROM utilisateurs WHERE statut='professeur' ORDER BY nom, prenom;"; $res_prof=mysqli_query($GLOBALS["mysqli"], $sql); while($tab_prof[$cpt]=mysqli_fetch_assoc($res_prof)) { $cpt++; } echo "

La ou les correspondances d'identités de professeurs EDT/GEPI suivantes ne sont pas encore enregistrées.

"; for($loop=0;$loop "; $tab_corresp_a_faire['prof'][]=$ligne[$loop]['prof_nom']." ".$ligne[$loop]['prof_prenom']; } } } } echo "
".$ligne[$loop]['prof_nom']." ".$ligne[$loop]['prof_prenom']." :
"; $cpt=0; $tab_classe=array(); $sql="SELECT id, classe, nom_complet FROM classes ORDER BY classe, nom_complet;"; $res_classe=mysqli_query($GLOBALS["mysqli"], $sql); while($tab_classe[$cpt]=mysqli_fetch_assoc($res_classe)) { $cpt++; } /* echo "
";
			print_r($tab_classe);
			echo "
"; */ echo "

La ou les correspondances de classes EDT/GEPI suivantes ne sont pas encore enregistrées.
Ne renseignez que les lignes correspondant à des classes, pas à des groupes.
(il est normal que vous conserviez ici des lignes non associées (tous les groupes))

"; for($loop=0;$loop "; $tab_corresp_a_faire['classe'][]=$ligne[$loop]['classe']; } } } } echo "
".$ligne[$loop]['classe']." :
"; $texte_infobulle="
"; $tabdiv_infobulle[]=creer_div_infobulle("div_infos_groupes","Groupes possibles","",$texte_infobulle,"",40,0,'y','y','n','n'); echo "

La ou les correspondances de groupes EDT/GEPI suivantes ne sont pas encore enregistrées.
Les cases ont été pré-cochées/détectées en recherchant la chaine correspondant au nom de classe dans le nom de groupe.
Prenez le temps de compléter/corriger si nécessaire.
Ou Tout décocher si vous préférez.

"; $cpt=0; for($loop=0;$loop "; $tab_corresp_a_faire['groupe'][]=$ligne[$loop]['classe']; } } } } echo "
".$ligne[$loop]['classe']." : "; for($loop2=0;$loop2 - "; $cpt++; } } echo "
"; $cpt=0; $tab_salle=array(); $sql="SELECT * FROM salle_cours ORDER BY numero_salle, nom_salle;"; $res_salle=mysqli_query($GLOBALS["mysqli"], $sql); while($tab_salle[$cpt]=mysqli_fetch_assoc($res_salle)) { $cpt++; } /* echo "
";
				print_r($tab_salle);
				echo "
"; */ echo "

La ou les correspondances de salles EDT/GEPI suivantes ne sont pas encore enregistrées.

"; for($loop=0;$loop "; $tab_corresp_a_faire['salle'][]=$ligne[$loop]['salle']; } } } } echo "
".$ligne[$loop]['salle']." : "; $current_edt_salle=trim($ligne[$loop]['salle']); echo "
"; $tab_jour=array("lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche"); echo "

La ou les correspondances de jours EDT/GEPI suivantes ne sont pas encore enregistrées.

"; for($loop=0;$loop "; $tab_corresp_a_faire['jour'][]=$ligne[$loop]['jour']; } } } } echo "
".$ligne[$loop]['jour']." :
"; $tab_creneaux=get_heures_debut_fin_creneaux(); echo "

La ou les correspondances d'horaires de début de cours EDT/GEPI suivantes ne sont pas encore enregistrées.

"; for($loop=0;$loop "; $tab_corresp_a_faire['h_debut'][]=$ligne[$loop]['h_debut']; } } } } echo "
".$ligne[$loop]['h_debut']." : Demi-créneau
"; $cpt=0; $tab_semaine=array(); $sql="SELECT DISTINCT type_edt_semaine FROM edt_semaines;"; $res_semaine=mysqli_query($GLOBALS["mysqli"], $sql); while($tab_semaine[$cpt]=mysqli_fetch_assoc($res_semaine)) { $cpt++; } echo "

La ou les correspondances de types de semaines EDT/GEPI suivantes ne sont pas encore enregistrées.

"; for($loop=0;$loop "; $tab_corresp_a_faire['frequence'][]=$ligne[$loop]['frequence']; } } } } echo "
".$ligne[$loop]['frequence']." :
"; echo "

".js_checkbox_change_style('checkbox_change', 'texte_', "y")."

A FAIRE : Pouvoir afficher à titre de contrôle... et pouvoir supprimer des associations enregistrées.

"; } elseif($step==2) { if(!isset($_POST['is_posted'])) { echo "

ERREUR : Une partie des variables n'as pas été POSTée.
Vous avez probablement un module PHP qui limite le nombre de variables transmises (suhosin?)

\n"; require("../lib/footer.inc.php"); die(); } //debug_var(); // matiere $corresp_matiere_a_enregistrer=isset($_POST['corresp_matiere_a_enregistrer']) ? $_POST['corresp_matiere_a_enregistrer'] : NULL; if(isset($corresp_matiere_a_enregistrer)) { $nb_reg=0; $nb_del=0; foreach($corresp_matiere_a_enregistrer as $id_ligne => $nom_gepi) { $sql="SELECT * FROM edt_lignes WHERE id='$id_ligne';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { $lig=mysqli_fetch_object($res); if($nom_gepi=="") { $sql="DELETE FROM edt_corresp WHERE champ='matiere' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->mat_code)."';"; $del=mysqli_query($GLOBALS["mysqli"], $sql); if(!$del) { echo "Erreur : $sql
"; } else { $nb_del++; } } else { $sql="SELECT * FROM edt_corresp WHERE champ='matiere' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->mat_code)."';"; $res2=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res2)>0) { $lig2=mysqli_fetch_object($res2); echo "$lig->mat_code était préalablement associée à $lig2->nom_gepi
"; $sql="UPDATE edt_corresp SET champ='matiere', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->mat_code)."', nom_gepi='$nom_gepi' WHERE id='$lig2->id';"; $update=mysqli_query($GLOBALS["mysqli"], $sql); if(!$update) { echo "Erreur : $sql
"; } else { $nb_reg++; } } else { $sql="INSERT INTO edt_corresp SET champ='matiere', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->mat_code)."', nom_gepi='$nom_gepi';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert) { echo "Erreur : $sql
"; } else { $nb_reg++; } } } } else { echo "Enregistrement non trouvé pour la ligne n°$id_ligne correspondant à $nom_gepi
"; } } echo "$nb_reg associations matières effectuées.
"; } // prof $corresp_prof_a_enregistrer=isset($_POST['corresp_prof_a_enregistrer']) ? $_POST['corresp_prof_a_enregistrer'] : NULL; if(isset($corresp_prof_a_enregistrer)) { $nb_reg=0; $nb_del=0; foreach($corresp_prof_a_enregistrer as $id_ligne => $nom_gepi) { $sql="SELECT * FROM edt_lignes WHERE id='$id_ligne';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { $lig=mysqli_fetch_object($res); if($nom_gepi=="") { $sql="DELETE FROM edt_corresp WHERE champ='prof' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->prof_nom." ".$lig->prof_prenom)."';"; $del=mysqli_query($GLOBALS["mysqli"], $sql); if(!$del) { echo "Erreur : $sql
"; } else { $nb_del++; } } else { $sql="SELECT * FROM edt_corresp WHERE champ='prof' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->prof_nom." ".$lig->prof_prenom)."';"; $res2=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res2)>0) { $lig2=mysqli_fetch_object($res2); echo "$lig->prof_nom $lig->prof_prenom était préalablement associée à $lig2->nom_gepi
"; $sql="UPDATE edt_corresp SET champ='prof', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->prof_nom." ".$lig->prof_prenom)."', nom_gepi='$nom_gepi' WHERE id='$lig2->id';"; $update=mysqli_query($GLOBALS["mysqli"], $sql); if(!$update) { echo "Erreur : $sql
"; } else { $nb_reg++; } } else { $sql="INSERT INTO edt_corresp SET champ='prof', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->prof_nom." ".$lig->prof_prenom)."', nom_gepi='$nom_gepi';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert) { echo "Erreur : $sql
"; } else { $nb_reg++; } } } } else { echo "Enregistrement non trouvé pour la ligne n°$id_ligne correspondant à $nom_gepi
"; } } echo "$nb_reg associations professeurs effectuées.
"; } // classe $corresp_classe_a_enregistrer=isset($_POST['corresp_classe_a_enregistrer']) ? $_POST['corresp_classe_a_enregistrer'] : NULL; if(isset($corresp_classe_a_enregistrer)) { $nb_reg=0; $nb_del=0; foreach($corresp_classe_a_enregistrer as $id_ligne => $nom_gepi) { $sql="SELECT * FROM edt_lignes WHERE id='$id_ligne';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { $lig=mysqli_fetch_object($res); if($nom_gepi=="") { $sql="DELETE FROM edt_corresp WHERE champ='classe' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->classe)."';"; $del=mysqli_query($GLOBALS["mysqli"], $sql); if(!$del) { echo "Erreur : $sql
"; } else { $nb_del++; } } else { $sql="SELECT * FROM edt_corresp WHERE champ='classe' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->classe)."';"; $res2=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res2)>0) { $lig2=mysqli_fetch_object($res2); echo "$lig->classe était préalablement associée à $lig2->nom_gepi
"; $sql="UPDATE edt_corresp SET champ='classe', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->classe)."', nom_gepi='$nom_gepi' WHERE id='$lig2->id';"; $update=mysqli_query($GLOBALS["mysqli"], $sql); if(!$update) { echo "Erreur : $sql
"; } else { $nb_reg++; } } else { $sql="INSERT INTO edt_corresp SET champ='classe', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->classe)."', nom_gepi='$nom_gepi';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert) { echo "Erreur : $sql
"; } else { $nb_reg++; } } } } else { echo "Enregistrement non trouvé pour la ligne n°$id_ligne correspondant à $nom_gepi
"; } } echo "$nb_reg associations classes effectuées.
"; } // salle $tab_salle_cours=get_tab_salle_cours(); $corresp_salle_a_enregistrer=isset($_POST['corresp_salle_a_enregistrer']) ? $_POST['corresp_salle_a_enregistrer'] : NULL; if(isset($corresp_salle_a_enregistrer)) { //echo "

1

"; $nb_reg=0; $nb_del=0; foreach($corresp_salle_a_enregistrer as $id_ligne => $nom_gepi) { $sql="SELECT * FROM edt_lignes WHERE id='$id_ligne';"; //echo "$sql
"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { $lig=mysqli_fetch_object($res); if($nom_gepi=="") { $sql="DELETE FROM edt_corresp WHERE champ='salle' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->salle)."';"; $del=mysqli_query($GLOBALS["mysqli"], $sql); if(!$del) { echo "Erreur : $sql
"; } else { $nb_del++; } } else { $temoin_erreur="n"; if($nom_gepi=="___SALLE_A_CREER___") { $nom_gepi=remplace_accents($lig->salle, "all"); $sql="SELECT 1=1 FROM salle_cours WHERE numero_salle='".$nom_gepi."';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==0) { $sql="INSERT INTO salle_cours SET numero_salle='".$nom_gepi."', nom_salle='".$nom_gepi."'"; //echo "$sql
"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert) { echo "Erreur : $sql
"; $temoin_erreur="y"; } else { $tab_salle_cours=get_tab_salle_cours(); } } } if($temoin_erreur=="n") { $sql="SELECT * FROM edt_corresp WHERE champ='salle' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->salle)."';"; $res2=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res2)>0) { $lig2=mysqli_fetch_object($res2); echo "$lig->salle était préalablement associée à ".$tab_salle_cours['indice'][$lig2->nom_gepi]['numero_salle']." (".$tab_salle_cours['indice'][$lig2->nom_gepi]['nom_salle'].")
"; $sql="UPDATE edt_corresp SET champ='salle', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->salle)."', nom_gepi='$nom_gepi' WHERE id='$lig2->id';"; $update=mysqli_query($GLOBALS["mysqli"], $sql); if(!$update) { echo "Erreur : $sql
"; } else { $nb_reg++; } } else { $sql="INSERT INTO edt_corresp SET champ='salle', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->salle)."', nom_gepi='$nom_gepi';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert) { echo "Erreur : $sql
"; } else { $nb_reg++; } } } } } else { echo "Enregistrement non trouvé pour la ligne n°$id_ligne correspondant à $nom_gepi
"; } } echo "$nb_reg associations salles effectuées.
"; } // jour $corresp_jour_a_enregistrer=isset($_POST['corresp_jour_a_enregistrer']) ? $_POST['corresp_jour_a_enregistrer'] : NULL; if(isset($corresp_jour_a_enregistrer)) { $nb_reg=0; $nb_del=0; foreach($corresp_jour_a_enregistrer as $id_ligne => $nom_gepi) { $sql="SELECT * FROM edt_lignes WHERE id='$id_ligne';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { $lig=mysqli_fetch_object($res); if($nom_gepi=="") { $sql="DELETE FROM edt_corresp WHERE champ='jour' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->jour)."';"; $del=mysqli_query($GLOBALS["mysqli"], $sql); if(!$del) { echo "Erreur : $sql
"; } else { $nb_del++; } } else { $sql="SELECT * FROM edt_corresp WHERE champ='jour' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->jour)."';"; $res2=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res2)>0) { $lig2=mysqli_fetch_object($res2); echo "$lig->jour était préalablement associée à $lig2->nom_gepi
"; $sql="UPDATE edt_corresp SET champ='jour', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->jour)."', nom_gepi='$nom_gepi' WHERE id='$lig2->id';"; $update=mysqli_query($GLOBALS["mysqli"], $sql); if(!$update) { echo "Erreur : $sql
"; } else { $nb_reg++; } } else { $sql="INSERT INTO edt_corresp SET champ='jour', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->jour)."', nom_gepi='$nom_gepi';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert) { echo "Erreur : $sql
"; } else { $nb_reg++; } } } } else { echo "Enregistrement non trouvé pour la ligne n°$id_ligne correspondant à $nom_gepi
"; } } echo "$nb_reg associations jours effectuées.
"; } // groupes $nb_reg=0; $sql="SELECT * FROM edt_lignes;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { while($lig=mysqli_fetch_object($res)) { if(isset($_POST['corresp_groupe_a_enregistrer_'.$lig->id])) { $current_ligne_grp=$_POST['corresp_groupe_a_enregistrer_'.$lig->id]; $chaine_classes="|"; for($loop=0;$loopclasse)."';"; $res2=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res2)>0) { $lig2=mysqli_fetch_object($res2); echo "$lig->classe était préalablement associée à $lig2->nom_gepi
"; $sql="UPDATE edt_corresp SET champ='groupe', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->classe)."', nom_gepi='$chaine_classes' WHERE id='$lig2->id';"; $update=mysqli_query($GLOBALS["mysqli"], $sql); if(!$update) { echo "Erreur : $sql
"; } else { $nb_reg++; } } else { $sql="INSERT INTO edt_corresp SET champ='groupe', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->classe)."', nom_gepi='$chaine_classes';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert) { echo "Erreur : $sql
"; } else { $nb_reg++; } } } } echo "$nb_reg associations classes/groupes effectuées.
"; } // h_debut $corresp_h_debut_a_enregistrer=isset($_POST['corresp_h_debut_a_enregistrer']) ? $_POST['corresp_h_debut_a_enregistrer'] : NULL; $corresp_h_debut_demi_creneau=isset($_POST['corresp_h_debut_demi_creneau']) ? $_POST['corresp_h_debut_demi_creneau'] : array(); if(isset($corresp_h_debut_a_enregistrer)) { $nb_reg=0; $nb_del=0; foreach($corresp_h_debut_a_enregistrer as $id_ligne => $nom_gepi) { $sql="SELECT * FROM edt_lignes WHERE id='$id_ligne';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { $lig=mysqli_fetch_object($res); if($nom_gepi=="") { $sql="DELETE FROM edt_corresp WHERE champ='h_debut' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->h_debut)."';"; $del=mysqli_query($GLOBALS["mysqli"], $sql); if(!$del) { echo "Erreur : $sql
"; } else { $nb_del++; } } else { if(isset($corresp_h_debut_demi_creneau[$id_ligne])) { $nom_gepi.="|0.5"; } else { $nom_gepi.="|0"; } $sql="SELECT * FROM edt_corresp WHERE champ='h_debut' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->h_debut)."';"; $res2=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res2)>0) { $lig2=mysqli_fetch_object($res2); echo "$lig->h_debut était préalablement associée à $lig2->nom_gepi
"; $sql="UPDATE edt_corresp SET champ='h_debut', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->h_debut)."', nom_gepi='$nom_gepi' WHERE id='$lig2->id';"; $update=mysqli_query($GLOBALS["mysqli"], $sql); if(!$update) { echo "Erreur : $sql
"; } else { $nb_reg++; } } else { $sql="INSERT INTO edt_corresp SET champ='h_debut', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->h_debut)."', nom_gepi='$nom_gepi';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert) { echo "Erreur : $sql
"; } else { $nb_reg++; } } } } else { echo "Enregistrement non trouvé pour la ligne n°$id_ligne correspondant à $nom_gepi
"; } } echo "$nb_reg associations d'heure de début de cours effectuées.
"; } // frequence $corresp_frequence_a_enregistrer=isset($_POST['corresp_frequence_a_enregistrer']) ? $_POST['corresp_frequence_a_enregistrer'] : NULL; if(isset($corresp_frequence_a_enregistrer)) { $nb_reg=0; $nb_del=0; foreach($corresp_frequence_a_enregistrer as $id_ligne => $nom_gepi) { $sql="SELECT * FROM edt_lignes WHERE id='$id_ligne';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { $lig=mysqli_fetch_object($res); if($nom_gepi=="") { $sql="DELETE FROM edt_corresp WHERE champ='frequence' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->frequence)."';"; $del=mysqli_query($GLOBALS["mysqli"], $sql); if(!$del) { echo "Erreur : $sql
"; } else { $nb_del++; } } else { $sql="SELECT * FROM edt_corresp WHERE champ='frequence' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->frequence)."';"; $res2=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res2)>0) { $lig2=mysqli_fetch_object($res2); echo "$lig->frequence était préalablement associée à $lig2->nom_gepi
"; $sql="UPDATE edt_corresp SET champ='frequence', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->frequence)."', nom_gepi='$nom_gepi' WHERE id='$lig2->id';"; $update=mysqli_query($GLOBALS["mysqli"], $sql); if(!$update) { echo "Erreur : $sql
"; } else { $nb_reg++; } } else { $sql="INSERT INTO edt_corresp SET champ='frequence', nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->frequence)."', nom_gepi='$nom_gepi';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert) { echo "Erreur : $sql
"; } else { $nb_reg++; } } } } else { echo "Enregistrement non trouvé pour la ligne n°$id_ligne correspondant à $nom_gepi
"; } } echo "$nb_reg associations de semaines A/B effectuées.
"; } /* $classe_udt=isset($_POST['classe_udt']) ? $_POST['classe_udt'] : array(); $classe=isset($_POST['classe']) ? $_POST['classe'] : array(); //$id_classe=isset($_POST['id_classe']) ? $_POST['id_classe'] : array(); $matiere_udt=isset($_POST['matiere_udt']) ? $_POST['matiere_udt'] : array(); $matiere=isset($_POST['matiere']) ? $_POST['matiere'] : array(); $prof_udt=isset($_POST['prof_udt']) ? $_POST['prof_udt'] : array(); $login_prof=isset($_POST['login_prof']) ? $_POST['login_prof'] : array(); */ echo "

Suppression des enseignements, associations élèves/enseignements, classes/enseignements et professeurs/enseignements.

\n"; $del = @mysqli_query($GLOBALS["mysqli"], "DELETE FROM groupes;"); $del = @mysqli_query($GLOBALS["mysqli"], "DELETE FROM j_eleves_groupes;"); $del = @mysqli_query($GLOBALS["mysqli"], "DELETE FROM j_groupes_classes;"); $del = @mysqli_query($GLOBALS["mysqli"], "DELETE FROM j_groupes_professeurs;"); $del = @mysqli_query($GLOBALS["mysqli"], "DELETE FROM j_groupes_matieres;"); $del = @mysqli_query($GLOBALS["mysqli"], "DELETE FROM j_signalement;"); $del = @mysqli_query($GLOBALS["mysqli"], "DELETE FROM j_groupes_visibilite;"); $del = @mysqli_query($GLOBALS["mysqli"], "DELETE FROM acces_cdt_groupes;"); // On conserve les associations profs/matières //$del = @mysql_query("DELETE FROM j_professeurs_matieres;"); $enseignements_deja_traites=array(); $sql="SELECT * FROM edt_lignes ORDER BY numero;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Aucun enregistrement n'a été trouvé???

"; require("../lib/footer.inc.php"); die(); } while($tab=mysqli_fetch_assoc($res)) { /* 1 1h00 H AGL1 ANGLAIS LV1 COURSIER-FRIMONT ARIANE 6B 24 H CG N 1 lundi 08h00 21 */ $current_nom_regroupement_edt=preg_replace("/\[/", "", preg_replace("/\]/", "", $tab['classe'])); $edt_cours_id_groupe=""; $edt_cours_id_salle=""; $edt_cours_jour_semaine=""; $edt_cours_id_definie_periode=""; $edt_cours_duree=""; $edt_cours_heuredeb_dec=""; $edt_cours_id_semaine=""; $edt_cours_login_prof=""; if($tab['classe']=='') { echo "

Le cours n°".$tab['numero']." n'est associé à aucune classe dans EDT.
Il se peut qu'il s'agisse de l'emploi du temps d'un(e) surveillant(e) en permanence,...
Ce cas n'est pas géré.

"; echo "
";
						print_r($tab);
						echo "
"; } else { /* Array ( [id] => 1 [numero] => 1 [classe] => 6B [mat_code] => AGL1 [mat_libelle] => ANGLAIS LV1 [prof_nom] => COURSIER-FRIMONT [prof_prenom] => ARIANE [salle] => 24 [jour] => lundi [h_debut] => 08h00 [duree] => 1h00 [frequence] => H [alternance] => H [effectif] => 21 [modalite] => CG [co_ens] => N [pond] => 1 ) */ $id_ligne=$tab['id']; $matiere=get_corresp_edt("matiere", $tab['mat_code']); $classe=get_corresp_edt("classe", $tab['classe']); $groupes=get_corresp_edt("groupe", $tab['classe']); $salle=get_corresp_edt("salle", $tab['salle']); $prof=get_corresp_edt("prof", $tab['prof_nom']." ".$tab['prof_prenom']); $jour=get_corresp_edt("jour", $tab['jour']); $h_debut=get_corresp_edt("h_debut", $tab['h_debut']); $frequence=get_corresp_edt("frequence", $tab['frequence']); $classe_aff=$classe; if(preg_match("/^[0-9]{1,}$/", $classe)) { if(!isset($tab_classe[$classe])) { $tab_classe[$classe]=get_nom_classe($classe); } $classe_aff=$tab_classe[$classe]; } // Lors de l'initialisation, il n'y a pas encore de groupe enregistré... ?? // Si... si $chaine_classes=""; $groupes_aff=""; $tmp_nom_groupe=""; if(preg_match("/^\[.*\]$/", $tab['classe'])) { $tmp_nom_groupe=preg_replace("/^\[/", "", preg_replace("/\]$/", "", $tab['classe'])); $groupes_aff=$tmp_nom_groupe; } $tmp_tab=explode("|", $groupes); for($loop=0;$loopCours n°".$tab['numero']."
"; echo "matiere=$matiere
"; echo "classe=$classe
"; echo "classe_aff=$classe_aff
"; echo "groupes=$groupes
"; echo "groupes_aff=$groupes_aff
"; echo "prof=$prof
"; if(($matiere!="")&&($prof!="")) { $edt_cours_login_prof=$prof; $prof_aff=""; if($prof!="") { if(!isset($tab_prof[$prof])) { $tab_prof[$prof]=civ_nom_prenom($prof); } $prof_aff=$tab_prof[$prof]; } echo "prof_aff=$prof_aff
"; $reg_matiere=$matiere; $matiere_nom_complet=get_valeur_champ('matieres', "matiere='$matiere'", "nom_complet"); $matiere_categorie_id=get_valeur_champ('matieres', "matiere='$matiere'", "categorie_id"); if($matiere_nom_complet=="") { echo "Matière non trouvée dans la table 'matieres'... on n'enregistre pas.
"; } else { $reg_nom_groupe=$matiere; $reg_nom_complet=$matiere_nom_complet; $reg_categorie=$matiere_categorie_id; $chaine_id_classe=""; $reg_clazz=array(); if($classe!="") { $reg_clazz[]=$classe; $chaine_id_classe=$classe; } else { // C'est un regroupement (en principe). $temp=explode("|", trim($groupes)); sort($temp); for($loop=0;$loopLe cours n°".$tab['numero']." correspond à un enseignement déjà traité.
\n"; } else { $create=create_group($reg_nom_groupe, $reg_nom_complet, $reg_matiere, $reg_clazz, $reg_categorie); if(!$create) { echo "Erreur lors de la création du groupe.
"; } else { $enseignements_deja_traites[]=$reg_nom_groupe."|".$reg_nom_complet."|".$reg_matiere."|".$chaine_id_classe; $sql="INSERT INTO edt_corresp2 SET id_groupe='$create', mat_code_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $tab['mat_code'])."', nom_groupe_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $tab['classe'])."';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if($insert) { echo "Enregistrement de l'association groupe dans edt_corresp2.
"; } else { echo "Erreur lors de l'enregistrement de l'association groupe dans edt_corresp2.
"; } $reg_professeurs=array(); $reg_professeurs[]=$prof; // Et si il y a plusieurs profs associés? ça se présente comment? $sql="SELECT 1=1 FROM j_professeurs_matieres WHERE id_professeur='$prof' AND id_matiere='$matiere';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==0) { $sql="SELECT ordre_matieres FROM j_professeurs_matieres WHERE id_professeur='$prof' ORDER BY ordre_matieres DESC LIMIT 1;"; $res_max_ordre_matiere=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_max_ordre_matiere)==0) { $ordre_mat=1; } else { $lig_ordre_mat=mysqli_fetch_object($res_max_ordre_matiere); $ordre_mat=$lig_ordre_mat->ordre_matieres+1; } $sql="INSERT INTO j_professeurs_matieres SET id_professeur='$prof', id_matiere='$matiere', ordre_matieres='$ordre_mat';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert) {echo "
ERREUR lors de l'association du professeur $prof avec la matière $matiere
\n";} else {echo " (association du professeur avec la matière $matiere)
";} } $tab_eleves_groupe_toutes_periodes=array(); $reg_eleves=array(); $current_group=get_group($create); foreach ($current_group["periodes"] as $period) { $reg_eleves[$period['num_periode']]=array(); $cpt_clas=0; $sql=""; foreach($reg_clazz as $tmp_id_classe){ if($cpt_clas>0) {$sql.=" UNION ";} $sql.="(SELECT jec.login FROM j_eleves_classes jec, eleves e, classes c WHERE id_classe='$tmp_id_classe' AND periode='".$period['num_periode']."' AND jec.login=e.login AND jec.id_classe=c.id ORDER BY e.nom, e.prenom)"; $cpt_clas++; } //$sql.=" ORDER BY c.classe, e.nom, e.prenom;"; //echo "$sql
"; $res_ele=mysqli_query($GLOBALS["mysqli"], $sql); $nb_ele=mysqli_num_rows($res_ele); if($nb_ele>0){ $cpt_ele=1; while($lig_ele=mysqli_fetch_object($res_ele)) { $reg_eleves[$period['num_periode']][]=$lig_ele->login; //echo $lig_ele->login."
"; if(!in_array($lig_ele->login, $tab_eleves_groupe_toutes_periodes)) { $tab_eleves_groupe_toutes_periodes[]=$lig_ele->login; } $cpt_ele++; } } } $code_modalite_elect_eleves=array(); for($loop=0;$loop0) { $lig_cme=mysqli_fetch_object($res_cme); $code_modalite_elect_eleves[$lig_cme->code_modalite_elect]["eleves"][]=$tab_eleves_groupe_toutes_periodes[$loop]; } } if ((count($reg_professeurs) == 0)&&(count($reg_eleves) == 0)) { echo "Groupe sans élève ni professeur.
"; } else { $update_grp=update_group($create, $reg_nom_groupe, $reg_nom_complet, $reg_matiere, $reg_clazz, $reg_professeurs, $reg_eleves, $code_modalite_elect_eleves); if(!$update_grp) { echo "Erreur lors de l'inscription des professeurs et élèves dans le groupe.
"; } } } } } } } } /* echo "

On ne va pas plus loin pour le moment.

"; require("../lib/footer.inc.php"); die(); //++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ echo "

Prise en compte des options des élèves

\n"; //echo "

Import des professeurs principaux
Il est probable que cette information n'était pas dans le fichier de STS, l'import des professeurs principaux risque de ne rien donner... mais qui ne tente rien...

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