security_check();
if ($resultat_session == 'c') {
header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes");
die();
} else if ($resultat_session == '0') {
header("Location: ../logout.php?auto=1");
die();
}
// INSERT INTO droits VALUES ('/init_xml2/init_alternatif.php', 'V', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'Initialisation année scolaire', '');
if (!checkAccess()) {
header("Location: ../logout.php?auto=1");
die();
}
require_once("init_xml_lib.php");
$msg="";
$cat=isset($_POST['cat']) ? $_POST['cat'] : (isset($_GET['cat']) ? $_GET['cat'] : NULL);
$mode=isset($_POST['mode']) ? $_POST['mode'] : (isset($_GET['mode']) ? $_GET['mode'] : NULL);
$login_prof=isset($_POST['login_prof']) ? $_POST['login_prof'] : '';
$matiere=isset($_POST['matiere']) ? $_POST['matiere'] : '';
$id_classe=isset($_POST['id_classe']) ? $_POST['id_classe'] : array();
if(isset($_POST['is_posted'])) {
check_token();
if(($cat=='profs')&&($mode=='prof')) {
if($login_prof=='') {
$msg.="Aucun login professeur n'a été proposé. \$matiere[$j]=".$matiere[$j]." Si l'emploi du temps n'est pas encore remonté vers STS, vous disposez d'un fichier sts_emp_RNE_ANNEE.xml incomplet. Une fois les enseignements créés, il faut poursuivre ici pour faire le ménage des affectations d'élèves dans les enseignements en tenant compte des saisies d'options dans Sconet. NOTE :
\n";
}
else {
$matiere=isset($_POST['matiere']) ? $_POST['matiere'] : array();
$max_ordre_matiere=0;
$tab_matieres_profs=array();
$sql="SELECT id_matiere, ordre_matieres FROM j_professeurs_matieres WHERE id_professeur='".$login_prof."';";
//echo "$sql
";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res)>0) {
while($lig=mysqli_fetch_object($res)) {
$tab_matieres_profs[]=$lig->id_matiere;
if($lig->ordre_matieres>$max_ordre_matiere) {$max_ordre_matiere=$lig->ordre_matieres;}
}
}
for($i=0;$i
";
if($mode=='prof') {
$login_prof=$_POST['login_prof_inactif'];
}
}
if(isset($_POST['update_profs_des_groupes'])) {
check_token();
$tab_champs=array('profs');
$id_groupe=isset($_POST['id_groupe']) ? $_POST['id_groupe'] : array();
//for($i=0;$i
\n";
}
//$i++;
}
}
if(isset($_GET['suppr_groupe'])) {
check_token();
if(!preg_match('/^[0-9]*$/', $_GET['suppr_groupe'])) {
$msg.="Le groupe n°".$_GET['suppr_groupe']." n'existe pas.
\n";
}
else {
if(test_before_group_deletion($_GET['suppr_groupe'])) {
$sql="SELECT 1=1 FROM cn_cahier_notes ccn, cn_conteneurs cc, cn_devoirs cd, cn_notes_devoirs cnd WHERE ccn.id_cahier_notes=cc.id_racine AND cc.id=cd.id_conteneur AND cd.id=cnd.id_devoir AND ccn.id_groupe='".$_GET['suppr_groupe']."';";
$test=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($test)>0) {
$msg.="Le groupe n°".$_GET['suppr_groupe']." ne peut pas être supprimé car des notes de devoirs ont été saisies.
\n";
}
else {
$delete=delete_group($_GET['suppr_groupe']);
if($delete) {
$msg.="Le groupe n°".$_GET['suppr_groupe']." a été supprimé.
\n";
}
else {
$msg.="Erreur lors de la suppression du groupe n°".$_GET['suppr_groupe'].".
\n";
}
}
}
else {
$msg.="Le groupe n°".$_GET['suppr_groupe']." ne peut pas être supprimé car des bulletins ne sont pas vides.
\n";
}
}
}
if(isset($_POST['add_groupes_classes'])) {
check_token();
$nb_reg=0;
$matiere=isset($_POST['matiere']) ? $_POST['matiere'] : array();
// On ne met aucun prof au départ
$tab_profs=array();
for($i=0;$i
";
//echo "\$description=".$description."
";
//echo "\$id_classe[$i]=".$id_classe[$i]." (".get_nom_classe($id_classe[$i]).")
";
$creation=create_group($matiere[$j], $description, $matiere[$j], array($id_classe[$i]), -1);
//echo "create_group($matiere[$j], $description, $matiere[$j], array($id_classe[$i]), -1)
";
if((!$creation)||(!preg_match('/^[0-9]*$/',$creation))) {
$msg.="Erreur lors de la création d'un groupe de $matiere[$j] en ".get_nom_classe($id_classe[$i]).".
\n";
}
else {
/*
echo "Profs:
";
echo "";
print_r($tab_profs[$j]);
echo "
";
echo "Eleves:
";
echo "";
print_r($tab_eleves);
echo "
";
*/
//$id_groupe=mysql_insert_id();
$id_groupe=$creation;
$code_modalite_elect_eleves=array();
for($loop=0;$loop
";
if(!$update) {
$msg.="Erreur lors du remplissage de l'enseignement de $matiere[$j] en ".get_nom_classe($id_classe[$i]).".
\n";
}
else {
$nb_reg++;
}
}
}
}
}
if(($msg=="")&&($nb_reg>0)) {
$msg="Création des groupes effectuée.
\n";
}
unset($id_classe);
}
$themessage = 'Des informations ont été modifiées. Voulez-vous vraiment quitter sans enregistrer ?';
//**************** EN-TETE *****************
$titre_page = "Outil d'initialisation de l'année";
require_once("../lib/header.inc.php");
//**************** FIN EN-TETE *****************
//debug_var();
echo "\n";
echo "Quatrième phase d'initialisation
Initialisation alternative
\n";
echo "Si vous ne disposez pas non plus d'un export CSV d'UnDeuxTemps pour initialiser les enseignements, vous pouvez effectuer la création ici.
Il convient de suivre les liens dans l'ordre :\n";
echo "
\n";
echo "
Prise en compte des options
ATTENTION : Cette étape ne doit être réalisée que lors de l'initialisation de l'année (pas en cours d'année).
\n";
echo "Dans cette phase, aucune table n'est vidée.
Il est donc possible de se servir de cette page pour ajouter des associations en cours d'année.
Choisir :
\n"; echo "Aucun professeur n'a été choisi.
Retour
Aucun professeur ne correspond au login '$login_prof'.
Retour
Aucun matière n'a été choisie.
Retour
La matière $matiere n'existe pas.
Retour
A FAIRE: Activer un prof inactif
"; echo "\n"; echo js_confirm_changement_prof('form3', 0); echo "Aucune classe avec élèves n'existe encore.
\n"; require("../lib/footer.inc.php"); die(); } // Choix des classes dont il faudra lister les groupes echo "\n"; echo "\n"; echo "\n"; /* echo "NOTES :
Il est recommandé pour gagner du temps de commencer par sélectionner plusieurs classes et d'y créer les enseignements classiques (MATHS, FRANC, HIGEO,...) et de n'ajouter que par la suite les enseignements n'existant que dans certaines classes.
Vous pouvez si vous préférez créer tous les enseignements d'une sélection de classe et supprimer ensuite les enseignements n'existant pas dans certaines de ces classes.
Dans ce dispositif aucun enseignement regroupement de plusieurs classes n'est créé.
Vous pourrez cependant fusionner par la suite les enseignements créés dans plusieurs classes.
Pour cela, la procédure est Gestion des bases/Gestion des classes/<Une_des_classes>/Enseignements/<Le_nom_de_l_enseignement>/fusionner le groupe avec un ou des groupes existants
Afficher ici les associations déjà effectuées et permettre d'associer les profs.
"; echo "Voici les associations déjà effectuées.
Vous pouvez y effectuer les associations enseignements/professeurs.
".$tab_classe[$i]['classe']."
\n"; //$groups=get_groups_for_class($tab_classe[$i]['id_classe']); /* $sql="SELECT DISTINCT g.name, g.id, g.description FROM j_groupes_classes jgc, j_groupes_matieres jgm, j_matieres_categories_classes jmcc, matieres m, matieres_categories mc, groupes g WHERE ( mc.id=jmcc.categorie_id AND jgc.categorie_id = jmcc.categorie_id AND jgc.id_classe=jmcc.classe_id AND jgc.id_classe='".$tab_classe[$i]['id_classe']."' AND jgm.id_groupe=jgc.id_groupe AND m.matiere = jgm.id_matiere AND g.id=jgc.id_groupe) ORDER BY jmcc.priority,mc.priority,jgc.priorite,m.nom_complet, g.name;"; */ $sql="select g.name, g.id, g.description FROM groupes g, j_groupes_classes jgc, j_groupes_matieres jgm WHERE ( jgc.id_classe='".$tab_classe[$i]['id_classe']."' AND jgm.id_groupe=jgc.id_groupe AND jgc.id_groupe=g.id ) ORDER BY jgc.priorite,jgm.id_matiere, g.name;"; //echo "$sqlNOTES :
Il est recommandé pour gagner du temps de commencer par sélectionner plusieurs classes et d'y créer les enseignements classiques (MATHS, FRANC, HIGEO,...) et de n'ajouter que par la suite les enseignements n'existant que dans certaines classes.
Vous pouvez si vous préférez créer tous les enseignements d'une sélection de classe et supprimer ensuite les enseignements n'existant pas dans certaines de ces classes.
Dans ce dispositif aucun enseignement regroupement de plusieurs classes n'est créé.
Vous pourrez cependant fusionner par la suite les enseignements créés dans plusieurs classes.
Pour cela, la procédure est Gestion des bases/Gestion des classes/<Une_des_classes>/Enseignements/<Le_nom_de_l_enseignement>/fusionner le groupe avec un ou des groupes existants
A ce stade, les enseignements créés contiennent tous les élèves de la classe correspondante.
La table 'temp_gep_import2' contient les options suivies par les élèves comme saisi dans Sconet.
Une fois les enseignements créés, il faut poursuivre ici pour faire le ménage des affectations d'élèves dans les enseignements en tenant compte des saisies d'options dans Sconet.
Prise en compte des options
ATTENTION : Cette étape ne doit être réalisée que lors de l'initialisation de l'année (pas en cours d'année).
NOTES :
\n"; echo "