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='/edt_organisation/import_edt_edt.php';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==0) { $sql="INSERT INTO droits SET id='/edt_organisation/import_edt_edt.php', administrateur='V', professeur='F', cpe='F', scolarite='F', eleve='F', responsable='F', secours='F', autre='F', description='Import des EDT depuis un XML EDT', statut='';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); } if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } $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, $ecraser="n") { global $debug_import_edt; $sql="SELECT * FROM edt_corresp2 WHERE id_groupe='".$id_groupe."' AND nom_groupe_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $nom_groupe_edt)."';"; if($debug_import_edt=="y") { echo htmlentities($sql)."
\n"; } $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { if($ecraser=="n") { $sql="SELECT * FROM edt_corresp2 WHERE id_groupe='".$id_groupe."' AND nom_groupe_edt!='".mysqli_real_escape_string($GLOBALS["mysqli"], $nom_groupe_edt)."';"; if($debug_import_edt=="y") { echo htmlentities($sql)."
\n"; } $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { $lig=mysqli_fetch_object($test); if($debug_import_edt=="y") { echo "Groupe n°$id_groupe déjà associé à ".$lig->nom_groupe_edt."
\n"; } } else { $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)."';"; if($debug_import_edt=="y") { echo htmlentities($sql)."
\n"; } $insert=mysqli_query($GLOBALS["mysqli"], $sql); } } else { $sql="UPDATE edt_corresp2 SET nom_groupe_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $nom_groupe_edt)."', mat_code_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $mat_code_edt)."' WHERE id_groupe='".$id_groupe."';"; if($debug_import_edt=="y") { echo htmlentities($sql)."
\n"; } $insert=mysqli_query($GLOBALS["mysqli"], $sql); } } if($debug_import_edt=="y") { echo "==============================
\n"; } } // A FAIRE: Pouvoir afficher les correspondances enregistrées dans edt_corresp2 // REMARQUE: On peut avoir plusieurs noms de regroupements EDT associés à un enseignement. // Cas un peu bizarre de la mise à jour partielle du nom de groupe [3ALL1GR.1] // en [GR_3C3D_BIL] sur une partie seulement des cours d'ALL1 et AGL1 bilangues du EXP_COURS.xml $sql="CREATE TABLE IF NOT EXISTS edt_corresp ( id int(11) NOT NULL AUTO_INCREMENT, champ VARCHAR(100) NOT NULL DEFAULT '', nom_edt VARCHAR(255) NOT NULL DEFAULT '', nom_gepi 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_lignes ( id int(11) NOT NULL AUTO_INCREMENT, numero varchar(255) NOT NULL default '', classe varchar(255) NOT NULL default '', mat_code varchar(255) NOT NULL default '', mat_libelle varchar(255) NOT NULL default '', prof_nom varchar(255) NOT NULL default '', prof_prenom varchar(255) NOT NULL default '', salle varchar(255) NOT NULL default '', jour varchar(255) NOT NULL default '', h_debut varchar(255) NOT NULL default '', duree varchar(255) NOT NULL default '', frequence varchar(10) NOT NULL default '', alternance varchar(10) NOT NULL default '', effectif varchar(255) NOT NULL default '', modalite varchar(255) NOT NULL default '', co_ens varchar(255) NOT NULL default '', pond varchar(255) NOT NULL default '', traitement varchar(100) NOT NULL default '', details_cours VARCHAR(255) NOT NULL DEFAULT '', PRIMARY KEY (id) ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;"; $create_table=mysqli_query($GLOBALS["mysqli"], $sql); // ALTER TABLE edt_lignes ADD traitement VARCHAR( 100 ) NOT NULL DEFAULT '' AFTER pond; // ALTER TABLE edt_lignes ADD id_groupe INT( 11 ) NOT NULL DEFAULT '0' AFTER traitement; // ALTER TABLE edt_lignes CHANGE id_groupe details_cours VARCHAR(255) NOT NULL DEFAULT ''; $sql="CREATE TABLE IF NOT EXISTS edt_corresp2 ( id int(11) NOT NULL AUTO_INCREMENT, id_groupe int(11) NOT NULL, mat_code_edt VARCHAR(255) NOT NULL DEFAULT '', nom_groupe_edt VARCHAR(255) NOT NULL DEFAULT '', PRIMARY KEY (id) ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;"; $create_table=mysqli_query($GLOBALS["mysqli"], $sql); if(isset($_GET['afficher_details_groupe_gepi'])) { if((isset($_GET['id_groupe']))&&(preg_match("/[0-9]{1,}/", $_GET['id_groupe']))) { $info_grp=get_info_grp($_GET['id_groupe']); $tab_ele=get_eleves_from_groupe($_GET['id_groupe']); if((isset($tab_ele['users']))&&(count($tab_ele['users'])>0)) { echo "
"; echo "

$info_grp

"; foreach($tab_ele['users'] as $current_login => $current_ele) { echo $current_ele['nom']." ".$current_ele['prenom']."
"; } echo "Effectif : ".count($tab_ele['users']).""; echo "

"; echo "
"; } else { echo "

$info_grp

Aucun élève dans le groupe ou groupe non associé au prof ?

"; } } else { echo "

Identifiant de groupe invalide.

"; } die(); } if(($action=="editer_corresp")&&(isset($_GET['vider']))) { check_token(); $tab_champs=array("matiere", "classe", "groupe", "salle", "jour", "prof", "h_debut", "frequence"); if(in_array($_GET['vider'], $tab_champs)) { $sql="DELETE FROM edt_corresp WHERE champ='".$_GET['vider']."';"; $del=mysqli_query($GLOBALS["mysqli"], $sql); $msg.="Correspondances '".$_GET['vider']."' supprimées.
"; } } if(($action=="editer_corresp")&&(isset($_POST['suppr']))) { check_token(); $cpt_suppr=0; $suppr=$_POST['suppr']; for($loop=0;$loop"; } } $msg.=$cpt_suppr." correspondance(s) supprimée(s).
"; } if((isset($_GET['rechercher_groupes_possibles']))&&(isset($_GET['num']))) { if(preg_match("/^[0-9]{1,}/", $_GET['num'])) { $sql="SELECT * FROM edt_lignes WHERE id='".$_GET['num']."';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Aucun enregistrement pour la ligne n°".$_GET['num']."

"; } else { $ligne=mysqli_fetch_assoc($res); $matiere=get_corresp_edt("matiere", $ligne['mat_code']); /* $prof=get_corresp_edt("prof", $ligne['prof_nom']." ".$ligne['prof_prenom']); $classe=get_corresp_edt("classe", $ligne['classe']); $salle=get_corresp_edt("salle", $ligne['salle']); $jour=get_corresp_edt("jour", $ligne['jour']); $h_debut=get_corresp_edt("h_debut", $ligne['h_debut']); $duree=get_corresp_edt("duree", $ligne['duree']); $frequence=get_corresp_edt("frequence", $ligne['frequence']); */ $prof=$ligne['prof_nom']." ".$ligne['prof_prenom']; $classe=$ligne['classe']; $salle=$ligne['salle']; $jour=$ligne['jour']; $h_debut=$ligne['h_debut']; $duree=$ligne['duree']; $frequence=$ligne['frequence']; $login_prof=get_corresp_edt("prof", $ligne['prof_nom']." ".$ligne['prof_prenom']); echo "

Cours : $classe
Matière : $matiere
Professeur : $prof
Salle : $salle
Le $jour à $h_debut pour une durée de $duree en semaine $frequence.

"; $sql = "SELECT DISTINCT jgm.id_groupe FROM j_groupes_matieres jgm, j_groupes_classes jgc, classes c, groupes g WHERE (" . "jgm.id_matiere='".$matiere."' AND jgm.id_groupe=g.id AND jgm.id_groupe=jgc.id_groupe AND jgc.id_classe=c.id) ". "ORDER BY c.classe, g.name, g.description;" ; $res_grp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_grp)==0) { echo "

Aucun groupe associé à la matière $matiere.

"; } else { if($login_prof!="") { $grp_prof=array(); $sql = "SELECT jgp.id_groupe FROM j_groupes_professeurs jgp WHERE login = '" . $login_prof . "';" ; $res_prof=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_prof)>0) { while($lig_prof=mysqli_fetch_object($res_prof)) { $grp_prof[]=$lig_prof->id_groupe; } } } echo "

Groupes associés à la matière $matiere :

"; } } } else { echo "Numéro d'enregistrement invalide."; } die(); } $sql="SELECT 1=1 FROM edt_corresp;"; $test=mysqli_query($GLOBALS["mysqli"], $sql); $nb_reg_edt_corresp=mysqli_num_rows($test); $sql="SELECT 1=1 FROM edt_lignes;"; $test=mysqli_query($GLOBALS["mysqli"], $sql); $nb_reg_edt_lignes=mysqli_num_rows($test); $javascript_specifique[] = "lib/tablekit"; $utilisation_tablekit="ok"; //**************** EN-TETE ***************** $titre_page = "Import EDT EDT"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** //debug_var(); $debug_import_edt="n"; echo "

Retour 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 ";} $edt_edt_last_upload=getSettingValue("edt_edt_last_upload"); if($edt_edt_last_upload!="") { echo " (dernier upload ".strftime("%d/%m/%Y à %H:%M:%S", $edt_edt_last_upload).")"; } echo "

Import des EDT depuis un XML d'EDT

"; // 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"; require("../lib/footer.inc.php"); die(); } if($action=="") { echo "
".add_token_field()."

Veuillez fournir l'export EXP_COURS.xml d'EDT :

NOTES :

"; require("../lib/footer.inc.php"); die(); } elseif($action=="upload") { check_token(false); $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'); $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"; require("../lib/footer.inc.php"); die(); } 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"; 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.

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

Le fichier a été uploadé.

\n"; $source_file=$xml_file['tmp_name']; $dest_file="../temp/".$tempdir."/edt_cours.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"; require("../lib/footer.inc.php"); die(); } 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(); } /* ... 24 1h00 H MATHS MATHEMATIQUES BOIREAU STEPHANE 4B 14 H CG N 1 lundi 09h00 29 ... */ $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;$loopchildren() 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++; } } saveSetting("edt_edt_last_upload", time()); echo "

Effectuer les rapprochements

"; require("../lib/footer.inc.php"); die(); } elseif($action=="rapprochements") { $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.
Tout décocher
(En cas de doute sur les classes associées, commencer par effectuer l'association des matières en décochant tout dans cette section... et valider en bas de page.
Revenez ensuite aux rapprochements.
Les associations non encore effectuées seront re-proposées, mais les matières reconnues permettront d'identifier plus facilement les classes en cliquant sur les icones Chercher
).

"; $cpt=0; for($loop=0;$loop "; $tab_corresp_a_faire['groupe'][]=$ligne[$loop]['classe']; } } } } echo "
Chercher
".$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")."

Dans le tableau des rapprochements de groupe, utiliser les infos matière et prof associés à l'enregistrement de edt_lignes pour afficher une aide au choix des classes (liste des groupes de la matière,...)

"; require("../lib/footer.inc.php"); die(); } elseif($action=="enregistrer_rapprochements") { // 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';"; //echo "$sql
"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { $lig=mysqli_fetch_object($res); /* echo "
";
				print_r($lig);
				echo "
"; */ if($nom_gepi=="") { $sql="DELETE FROM edt_corresp WHERE champ='matiere' AND nom_edt='".mysqli_real_escape_string($GLOBALS["mysqli"], $lig->mat_code)."';"; //echo "$sql
"; $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';"; //echo "$sql
"; $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';"; //echo "$sql
"; $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)) { $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';"; $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)) { /* echo "
";
			print_r($lig);
			echo "
"; */ 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)."';"; //echo "$sql
"; $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';"; //echo "$sql
"; $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';"; //echo "$sql
"; $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.
"; } echo "

L'étape suivante consiste à effectuer le remplissage de l'emploi du temps en suivant le lien Remplir l'EDT ci-dessus sous le bandeau d'entête.

"; require("../lib/footer.inc.php"); die(); } elseif($action=="remplir_edt_cours") { check_token(false); $sql="SELECT * FROM edt_lignes WHERE traitement='cours_identifie_cree';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); $nb_cours_crees=mysqli_num_rows($res); $sql="SELECT * FROM edt_lignes WHERE traitement='choix_effectue';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); $nb_cours_choix_effectue=mysqli_num_rows($res); //if(($nb_cours_crees==0)&&($nb_cours_choix_effectue==0)) { if($nb_cours_choix_effectue==0) { echo "

Vous allez effectuer le remplissage des cours d'après les rapprochements effectués en commençant par vider la table 'edt_cours' (les cours créés préalablement dans l'emploi du temps (à la main ou par import) seront supprimés ;
Cela ne supprime pas les enseignements et tout ce qui y est associé ;
Seul le contenu de l'emploi du temps sera d'abord vidé
).
Une large partie des enseignements devrait être identifiée et la création de cours effectuée sans intervention de votre part.
Les indéterminés vous seront proposés.

Vider puis remplir l'emploi du temps

"; } else { echo "

Vous allez effectuer le remplissage des cours d'après les rapprochements effectués en commençant par vider la table 'edt_cours' (les cours créés préalablement dans l'emploi du temps (à la main ou par import) seront supprimés ;
Cela ne supprime pas les enseignements et tout ce qui y est associé ;
Seul le contenu de l'emploi du temps sera d'abord vidé
).
Une large partie des enseignements devrait être identifiée et la création de cours effectuée sans intervention de votre part.
Les indéterminés vous seront proposés.

Des cours ont été créés préalablement et des choix effectués pour les indéterminés.
Vous pouvez choisir :