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 ('/groupes/edit_class_grp_lot.php', 'V', 'F', 'F', 'F', 'F', 'F', 'Gestion des enseignements simples par lot.', ''); if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } $id_classe = isset($_GET['id_classe']) ? $_GET['id_classe'] : (isset($_POST['id_classe']) ? $_POST["id_classe"] : NULL); if (!is_numeric($id_classe)) $id_classe = 0; $classe = get_classe($id_classe); $display = isset($_GET['display']) ? $_GET['display'] : (isset($_POST['display']) ? $_POST["display"] : NULL); if ($display != "new") $display = "current"; //$tri_matiere=isset($_GET['tri_matiere']) ? $_GET['tri_matiere'] : (isset($_POST['tri_matiere']) ? $_POST["tri_matiere"] : "alpha"); $tri_matiere=isset($_GET['tri_matiere']) ? $_GET['tri_matiere'] : (isset($_POST['tri_matiere']) ? $_POST["tri_matiere"] : "priorite"); $msg=""; // ================================= // AJOUT: boireaus $chaine_options_classes=""; $sql="SELECT id, classe FROM classes ORDER BY classe"; $res_class_tmp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_class_tmp)>0){ $id_class_prec=0; $id_class_suiv=0; $temoin_tmp=0; $cpt_classe=0; $num_classe=-1; while($lig_class_tmp=mysqli_fetch_object($res_class_tmp)){ if($lig_class_tmp->id==$id_classe){ // Index de la classe dans les \n"; $temoin_tmp=1; if($lig_class_tmp=mysqli_fetch_object($res_class_tmp)){ $chaine_options_classes.="\n"; $id_class_suiv=$lig_class_tmp->id; } else{ $id_class_suiv=0; } } else { $chaine_options_classes.="\n"; } if($temoin_tmp==0){ $id_class_prec=$lig_class_tmp->id; } $cpt_classe++; } }// ================================= if (isset($_POST['is_posted'])) { check_token(); $checkmat=$_POST['checkmat']; //$id_grp=$_POST['id_grp']; $id_grp=isset($_POST['id_grp']) ? $_POST['id_grp'] : NULL; $prof=$_POST['prof']; $id_matiere=$_POST['id_matiere']; echo "\n"; $nb_nouveaux_groupes=0; $nb_grp_maj=0; //for($i=0;$i\n"; if($id_matiere[$i]!=""){ if(isset($checkmat[$i])){ if($checkmat[$i]=="nouveau_groupe"){ // C'est un nouveau groupe echo "\n"; $sql="SELECT * FROM matieres WHERE matiere='$id_matiere[$i]'"; $resultat_matiere=mysqli_query($GLOBALS["mysqli"], $sql); $ligne_matiere=mysqli_fetch_object($resultat_matiere); $reg_clazz[0]=$id_classe; //$create = create_group($reg_nom_groupe, $reg_nom_complet, $reg_matiere, $reg_clazz); //echo "\n"; $create = create_group($id_matiere[$i], $ligne_matiere->nom_complet, $id_matiere[$i], $reg_clazz); if (!$create) { //echo "\n"; $msg .= "Erreur lors de la création du groupe $id_matiere[$i]"; } else { $nb_nouveaux_groupes++; $id_groupe=$create; $sql="INSERT INTO j_groupes_professeurs VALUES('$id_groupe','$prof[$i]','')"; $resultat_prof=mysqli_query($GLOBALS["mysqli"], $sql); // Affectation de tous les élèves de la classe dans le groupe: $current_group = get_group($id_groupe); $reg_professeurs = (array)$current_group["profs"]["list"]; unset($reg_eleves); $reg_eleves = array(); /* //$sql="SELECT * FROM periodes WHERE id_classe='$id_classe'"; $sql="SELECT DISTINCT login FROM j_eleves_classes WHERE id_classe='$id_classe' ORDER BY periode,login"; $result_list_eleves=mysql_query($sql); while($ligne_eleve=mysql_fetch_object($result_list_eleves)){ $reg_eleves[$ligne_eleve->periode][]=$ligne_eleve->login; } */ $tab_eleves_groupe_toutes_periodes=array(); $sql="SELECT * FROM periodes WHERE id_classe='$id_classe'"; $result_list_periodes=mysqli_query($GLOBALS["mysqli"], $sql); while($ligne_periode=mysqli_fetch_object($result_list_periodes)){ //echo "\n"; //echo "\$ligne_periode->num_periode=$ligne_periode->num_periode
\n"; $reg_eleves[$ligne_periode->num_periode]=array(); //$sql="SELECT DISTINCT login FROM j_eleves_classes WHERE id_classe='$id_classe' ORDER BY periode,login"; $sql="SELECT DISTINCT login FROM j_eleves_classes WHERE id_classe='$id_classe' AND periode='$ligne_periode->num_periode' ORDER BY periode,login"; $result_list_eleves=mysqli_query($GLOBALS["mysqli"], $sql); while($ligne_eleve=mysqli_fetch_object($result_list_eleves)){ $reg_eleves[$ligne_periode->num_periode][]=$ligne_eleve->login; //echo "\n"; if(!in_array($ligne_eleve->login, $tab_eleves_groupe_toutes_periodes)) { $tab_eleves_groupe_toutes_periodes[]=$ligne_eleve->login; } } } $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]; } } $create = update_group($id_groupe, $id_matiere[$i], $ligne_matiere->nom_complet, $id_matiere[$i], $reg_clazz, $reg_professeurs, $reg_eleves, $code_modalite_elect_eleves); if (!$create) { $msg .= "Erreur lors de la mise à jour du groupe $id_matiere[$i]"; } //else { // $msg .= "Le groupe a bien été mis à jour."; //} } } elseif($checkmat[$i]!=""){ // Mise à jour du groupe $id_groupe=$checkmat[$i] $id_groupe=$checkmat[$i]; //echo "\$id_groupe=$id_groupe
\n"; $group=get_group($id_groupe); $sql="SELECT * FROM matieres WHERE matiere='$id_matiere[$i]'"; $resultat_matiere=mysqli_query($GLOBALS["mysqli"], $sql); $ligne_matiere=mysqli_fetch_object($resultat_matiere); $reg_clazz[0]=$id_classe; /* for($k=0;$k\n"; } */ //$create = update_group($id_groupe, $reg_nom_groupe, $reg_nom_complet, $reg_matiere, $reg_clazz, $reg_professeurs, $reg_eleves); //echo "\n"; //echo "update_group($id_groupe, $id_matiere[$i], $ligne_matiere->nom_complet, $id_matiere[$i], $reg_clazz, ".$group["profs"]["list"].", ".$group["eleves"]["list"].");
\n"; //$create = update_group($id_groupe, $id_matiere[$i], $ligne_matiere->nom_complet, $id_matiere[$i], $reg_clazz, $group["profs"]["list"], $group["eleves"]["list"]); if(isset($group["profs"]["list"])){ $tabprof=$group["profs"]["list"]; } else{ $tabprof=array(); } if(isset($group["eleves"]["list"])){ $tabele=$group["eleves"]["list"]; } else{ $tabele=array(); } $tab_modalites=$group["modalites"]; $create = update_group($id_groupe, $id_matiere[$i], $ligne_matiere->nom_complet, $id_matiere[$i], $reg_clazz, $tabprof, $tabele,$tab_modalites); if (!$create) { $msg .= "Erreur lors de la mise à jour du groupe $id_matiere[$i]"; } else{ if($prof[$i]==""){ $sql="DELETE FROM j_groupes_professeurs WHERE id_groupe='$id_groupe'"; $resultat_suppr_prof=mysqli_query($GLOBALS["mysqli"], $sql); } else{ $sql="SELECT * FROM j_groupes_professeurs WHERE id_groupe='$id_groupe' AND login='$prof[$i]'"; $resultat_verif_prof=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($resultat_verif_prof)==0){ // On supprime le professeur précédemment affecté s'il y en avait un pour mettre le nouveau: $sql="DELETE FROM j_groupes_professeurs WHERE id_groupe='$id_groupe'"; $resultat_suppr_prof=mysqli_query($GLOBALS["mysqli"], $sql); $sql="INSERT INTO j_groupes_professeurs VALUES('$id_groupe','$prof[$i]','')"; $resultat_prof=mysqli_query($GLOBALS["mysqli"], $sql); $nb_grp_maj++; } else{ // Le prof est déjà affecté au groupe. } } } } } else{ // On supprime le groupe: //$id_groupe=$checkmat[$i]; $id_groupe=$id_grp[$i]; if($id_groupe!=""){ //echo "Suppression... \$id_groupe=$id_groupe
"; if(test_before_group_deletion($id_groupe)){ if(!delete_group($id_groupe)){ $msg.="Erreur lors de la suppression du groupe.
"; } else { $msg.="Groupe n°$id_groupe supprimé.
"; } } else{ $msg.="Des notes sons saisies pour ce groupe. La suppression du groupe n°$id_groupe n'est pas possible.
"; } } } } } } if($nb_nouveaux_groupes>0) { $msg.="$nb_nouveaux_groupes enseignement(s) ajouté(s).
"; } if($nb_grp_maj>0) { $msg.="$nb_grp_maj enseignement(s) mis à jour.
"; } if($msg=="") { $msg="Aucune modification n'a été proposée.
"; } } $javascript_specifique[] = "lib/tablekit"; $utilisation_tablekit="ok"; $themessage = 'Des informations ont été modifiées. Voulez-vous vraiment quitter sans enregistrer ?'; //**************** EN-TETE ************************************** //$titre_page = "Gestion des groupes"; $titre_page = "Gestion des enseignements 'simples' par lot"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ********************************** //debug_var(); echo "
\n"; echo "

\n"; echo "Retour Retour"; if($id_class_prec!=0){echo " | Classe précédente";} if($chaine_options_classes!="") { echo "\n"; echo " | \n"; } if($id_class_suiv!=0){echo " | Classe suivante";} //========================= // AJOUT: boireaus 20081224 $titre="Navigation"; $texte=""; $texte.=" Périodes
"; include "../lib/periodes.inc.php"; if($nb_periode>1) { // On a $nb_periode = Nombre de périodes + 1 $texte.=" Élèves
"; } $texte.=" Enseignements
"; //$texte.=" config.simplifiée
"; $texte.=" Paramètres"; $ouvrir_infobulle_nav=getSettingValue("ouvrir_infobulle_nav"); if($ouvrir_infobulle_nav=="y") { $texte.="

\n"; } else { $texte.="
\n"; } $texte.="\n"; $tabdiv_infobulle[]=creer_div_infobulle('navigation_classe',$titre,"",$texte,"",14,0,'y','y','n','n'); echo " | "; echo "Navigation"; echo ""; //========================= echo " | Création par lots"; echo "

\n"; echo "
\n"; ?> Gestion des enseignements simples pour la classe :" . $classe["classe"]."\n"; echo "

Ne doivent être saisis ici que les enseignements ne concernant qu'une classe (pas les regroupements) et un seul professeur par matière.

\n"; echo "\n"; // On peut basculer entre deux modes de saisie : seulement les groupes déjà associés, ou bien nouveaux groupes if ($display == "current") { echo "

Ajouter de nouveaux groupes

"; } else { echo "

Editer les groupes existants

"; } if($tri_matiere=='alpha') { echo "

Les matières sont triées par ordre alphabétique.
Trier les matières par priorité

\n"; } else { echo "

Les matières sont triées par priorité.
Trier les matières par ordre alphabétique

\n"; } //echo "
"; echo "\n"; echo add_token_field(); echo "\n"; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; if($tri_matiere=='alpha') { //$result_matiere=mysql_query("SELECT matiere, nom_complet FROM matieres ORDER BY matiere"); $result_matiere=mysqli_query($GLOBALS["mysqli"], "SELECT matiere, nom_complet, priority FROM matieres ORDER BY nom_complet, matiere"); } else { $result_matiere=mysqli_query($GLOBALS["mysqli"], "SELECT matiere, nom_complet, priority FROM matieres ORDER BY priority"); } $nb_mat=mysqli_num_rows($result_matiere); $cpt=0; $alt=1; while($ligne_matiere=mysqli_fetch_object($result_matiere)){ $groupe_existant="non"; $alt=$alt*(-1); $display_current = false; // Récupération des infos déjà saisies: $sql="SELECT jgm.id_groupe FROM j_groupes_classes jgc, j_groupes_matieres jgm WHERE jgc.id_classe='$id_classe' AND jgm.id_matiere='$ligne_matiere->matiere' AND jgc.id_groupe=jgm.id_groupe"; $result_grp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($result_grp)==0 and $display == "new") { $display_current = true; echo "\n"; echo "\n"; } elseif(mysqli_num_rows($result_grp)==1 and $display == "current") { $display_current = true; echo "\n"; $ligne_grp=mysqli_fetch_object($result_grp); $sql="SELECT * FROM j_groupes_professeurs WHERE id_groupe='$ligne_grp->id_groupe'"; $result_verif_grp_prof=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($result_verif_grp_prof)>1){ //echo "\n"; echo "\n"; //echo "\n"; echo "\n"; $groupe_existant="trop"; } else { $sql="SELECT * FROM j_groupes_classes jgc, j_groupes_matieres jgm WHERE jgc.id_groupe='$ligne_grp->id_groupe' AND jgm.id_matiere='$ligne_matiere->matiere' AND jgc.id_groupe=jgm.id_groupe"; //echo "\n"; $result_verif_grp_classes=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($result_verif_grp_classes)==1) { echo "\n"; $groupe_existant="oui"; } else { //echo "\n"; echo "\n"; //echo "\n"; echo "\n"; $groupe_existant="trop"; } } } elseif(mysqli_num_rows($result_grp)>1 and $display == "current") { $display_current = true; echo "\n"; // C'est le bazar... plusieurs groupes existent pour cette matière dans cette classe //echo "\n"; echo "\n"; //echo "\n"; echo "\n"; $groupe_existant="trop"; } //echo "\n"; if($groupe_existant!="trop" and $display_current) { echo "\n"; echo "\n"; //$sql="SELECT jpm.id_professeur,u.nom,u.prenom,u.civilite FROM j_professeurs_matieres jpm, matieres m, utilisateurs u WHERE jpm.id_matiere=m.matiere AND m.matiere='$ligne_matiere->matiere' AND u.login=jpm.id_professeur ORDER BY jpm.id_professeur"; $sql="SELECT jpm.id_professeur,u.nom,u.prenom,u.civilite FROM j_professeurs_matieres jpm, matieres m, utilisateurs u WHERE jpm.id_matiere=m.matiere AND m.matiere='$ligne_matiere->matiere' AND u.login=jpm.id_professeur AND u.etat='actif' ORDER BY jpm.id_professeur"; $result_prof=mysqli_query($GLOBALS["mysqli"], $sql); echo "\n"; echo "\n"; } $cpt++; } echo "
 MatièrePrioritéProfesseur
\n"; echo "\n"; echo "\n"; //echo "\n"; //echo "\n"; //echo "\n"; echo "
Le groupe associé à la matière $ligne_matiere->matiere pour cette classe a plusieurs professeurs définis.
Ce n'est pas un enseignement 'simple'.
A traiter ailleurs...
 $ligne_matiere->matiere: groupe complexe (plusieurs professeurs), accessible par Gérer les enseignements.$ligne_matiere->nom_complet: géré ici (autres professeurs impliqués)$sql\n"; echo "\n"; echo "\n"; echo "\n"; echo "Le groupe associé à la matière $ligne_matiere->matiere est associé à plusieurs classes.
Ce n'est pas un enseignement 'simple'.
A traiter ailleurs...
 $ligne_matiere->matiere: groupe complexe (plusieurs classes), accessible par Gérer les enseignements.$ligne_matiere->nom_complet: géré ici (autres classes impliquées)
La matière $ligne_matiere->matiere a plusieurs groupes définis pour cette classe.
Ce n'est pas un enseignement 'simple'.
Elle devra être traitée ailleurs...
 $ligne_matiere->matiere: groupe complexe (plusieurs classes), accessible par Gérer les enseignements.$ligne_matiere->nom_complet: géré ici (autres classes et plusieurs professeurs impliqués)\n"; echo "".htmlspecialchars($ligne_matiere->nom_complet).""; echo "\n"; echo "$ligne_matiere->priority\n"; echo "\n"; echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "

\n"; echo "
\n"; /* //$groups = get_groups_for_class($id_classe); $groups = get_groups_for_class($id_classe,"","n"); foreach ($groups as $group) { //$group["description"] $current_group = get_group($group["id"]); } foreach($current_group["profs"]["list"] as $prof) { if (!$first) echo ", "; echo $current_group["profs"]["users"][$prof]["prenom"]; echo " "; echo $current_group["profs"]["users"][$prof]["nom"]; $first = false; } */ if($ouvrir_infobulle_nav=='y') { echo "\n"; } require("../lib/footer.inc.php"); ?>