echo necessaire_bull_simple(); $max_per = 0; for ($i = 0; $i < count($id_classe); $i++) { $nb_per_classe = get_period_number($id_classe[$i]); if ($nb_per_classe > $max_per) { $max_per = $nb_per_classe; } } $titre = "<span id='span_avis_conseil'>Avis du conseil de classe</span>"; //$texte="<div id='contenu_infobulle_avis_conseil_classe'>Avis du conseil de classe</div>"; $texte = "\n<div style='float:right; width:16px'><a href='#' onclick=\"affiche_bull_simp2(); return false;\" title=\"Voir le bulletin simplifié.\"><img src='../images/icons/bulletin.png' class='icone16' alt='BullSimp' /></a></div>\n<input type='hidden' name='current_login_ele' id='current_login_ele' value='' />\n<input type='hidden' name='current_id_classe' id='current_id_classe' value='' />\n<div id='contenu_infobulle_avis_conseil_classe'>Avis du conseil de classe</div>"; $tabdiv_infobulle[] = creer_div_infobulle('div_avis_conseil_classe', $titre, "", $texte, "", 30, 0, 'y', 'y', 'n', 'n'); echo "<script type='text/javascript'>\n\t// <![CDATA[\n\tfunction affiche_avis_conseil(login_eleve, id_classe) {\n\t\tdocument.getElementById('current_login_ele').value=login_eleve;\n\t\tdocument.getElementById('current_id_classe').value=id_classe;\n\n\t\tnew Ajax.Updater(\$('contenu_infobulle_avis_conseil_classe'),'../lib/ajax_action.php?mode=tab_avis_conseil&ele_login='******'get'});\n\t\tafficher_div('div_avis_conseil_classe', 'y', 10, 10);\n\t}\n\n\tfunction affiche_bull_simp2() {\n\t\tlogin_eleve=document.getElementById('current_login_ele').value;\n\t\tid_classe=document.getElementById('current_id_classe').value;\n\t\tnum_per1=1;\n\t\tnum_per2={$max_per};\n\n\t\tdocument.getElementById('titre_entete_bull_simp').innerHTML='Bulletin simplifié de '+login_eleve+' période '+num_per1+' à '+num_per2;\n\t\tnew Ajax.Updater(\$('corps_bull_simp'),'../saisie/ajax_edit_limite.php?choix_edit=2&login_eleve='+login_eleve+'&id_classe='+id_classe+'&periode1='+num_per1+'&periode2='+num_per2,{method: 'get'});\n\n\t\tafficher_div('div_bull_simp', 'y', 10, 10);\n\t}\n\t//]]>\n</script>\n"; $cpt = 0; for ($i = 0; $i < count($id_classe); $i++) { $nb_per_classe = get_period_number($id_classe[$i]); echo "<p>Classe de <b>" . get_class_from_id($id_classe[$i]) . "</b><br />\n"; echo "<input type='hidden' name='id_classe[{$i}]' value='" . $id_classe[$i] . "' />\n"; $sql = "SELECT DISTINCT e.* FROM eleves e, j_eleves_classes jec WHERE (jec.id_classe='" . $id_classe[$i] . "' AND jec.login=e.login) ORDER BY e.nom,e.prenom,e.naissance;"; //echo "$sql<br />"; $res_ele = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_ele) == 0) { echo "Aucun élève dans cette classe.</p>\n"; } else { echo "<table class='boireaus' border='1' summary='Saisie avis'>\n"; //=========================== echo "<tr>\n"; echo "<th rowspan='4' colspan='2'>Elève</th>\n"; echo "<th colspan='3'>Avis du chef d'établissement</th>\n"; echo "<th colspan='3'>Avis du conseil de classe</th>\n"; echo "</tr>\n";
echo "<input type='hidden' name='id_classe' value='" . $id_classe . "' />\n"; echo "<p>Sélectionnez les classes auxquelles appartient le regroupement :"; //$call_data = mysql_query("SELECT * FROM classes ORDER BY classe"); //$sql="SELECT * FROM classes c, periodes p WHERE p.id_classe=c.id AND MAX(p.num_periode)='".get_period_number($id_classe)."' ORDER BY classe;"; $sql = "SELECT * FROM classes ORDER BY classe;"; //echo "$sql<br />"; $call_data = mysqli_query($GLOBALS["mysqli"], $sql); $nombre_lignes = mysqli_num_rows($call_data); if ($nombre_lignes != 0) { $i = 0; $tmp_tab_classe = array(); $tmp_tab_id_classe = array(); while ($i < $nombre_lignes) { $id_classe_temp = old_mysql_result($call_data, $i, "id"); $classe = old_mysql_result($call_data, $i, "classe"); if (get_period_number($id_classe_temp) == get_period_number($id_classe)) { $tmp_tab_classe[] = $classe; $tmp_tab_id_classe[] = $id_classe_temp; } $i++; } echo "<table width='100%'>\n"; echo "<tr valign='top' align='left'>\n"; echo "<td>\n"; //$nb_class_par_colonne=round($nombre_lignes/3); $nb_class_par_colonne = round(count($tmp_tab_classe) / 3); for ($i = 0; $i < count($tmp_tab_classe); $i++) { if ($i > 0 && round($i / $nb_class_par_colonne) == $i / $nb_class_par_colonne) { echo "</td>\n"; echo "<td>\n"; }
/** Met à jour un groupe dans la base * * * * @param int $_id_groupe Id du groupe * @param text $_name Le nom court * @param text $_description Description du groupe * @param text $_matiere l'id de la matière dans j_groupes_matieres * @param array $_classes tableau des Id des classes * @param type $_professeurs tableau des logins des enseignants * @param type $_eleves tableau des logins des élèves concernés * @return bool TRUE si tout c'est bien passé * @see get_group() * @see get_period_number() * @see test_before_eleve_removal() */ function update_group($_id_groupe, $_name, $_description, $_matiere, $_classes, $_professeurs, $_eleves) { global $msg; $former_groupe = get_group($_id_groupe); $errors = false; if ($_name != $former_groupe["name"] or $_description != $former_groupe["description"]) { $sql = "UPDATE groupes SET name = '" . $_name . "', description = '" . $_description . "' WHERE id = '" . $_id_groupe . "';"; $update = mysqli_query($GLOBALS["mysqli"], $sql); if (!$update) { $errors = true; $msg .= "ERREUR sur {$sql}<br />"; } } if ($_matiere != $former_groupe["matiere"]["matiere"]) { $sql = "UPDATE j_groupes_matieres SET id_matiere = '" . $_matiere . "' WHERE id_groupe = '" . $_id_groupe . "';"; $update2 = mysqli_query($GLOBALS["mysqli"], $sql); if (!$update2) { $errors = true; $msg .= "ERREUR sur {$sql}<br />"; } } // Mise à jour des classes $deleted_classes = array_diff($former_groupe["classes"]["list"], $_classes); $new_classes = array_diff($_classes, $former_groupe["classes"]["list"]); // Avant de modifier quoi que ce soit, il faut s'assurer que les nouvelles classes ont le même nombre de périodes $check_periods = get_period_number($former_groupe["classes"]["list"][0]); $per_error = false; foreach ($new_classes as $id_classe) { if (get_period_number($id_classe) != $check_periods) { $per_error = true; $msg .= "ERREUR: get_period_number({$id_classe})=" . get_period_number($id_classe) . " mais \$check_periods={$check_periods}<br />"; } } if (!$per_error) { $mat_priority = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT priority FROM matieres WHERE matiere = '" . $_matiere . "'"), 0); foreach ($new_classes as $id_classe) { $sql = "INSERT into j_groupes_classes SET id_groupe = '" . $_id_groupe . "', id_classe = '" . $id_classe . "', priorite = '" . $mat_priority . "';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (!$res) { $errors = true; $msg .= "ERREUR sur {$sql}<br />"; } } foreach ($deleted_classes as $id_classe) { $sql = "DELETE FROM j_groupes_classes WHERE (id_groupe = '" . $_id_groupe . "' AND id_classe = '" . $id_classe . "');"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (!$res) { $errors = true; $msg .= "ERREUR sur {$sql}<br />"; } } } else { $errors = true; } // Mise à jour des professeurs $deleted_profs = array_diff((array) $former_groupe["profs"]["list"], (array) $_professeurs); $new_profs = array_diff((array) $_professeurs, (array) $former_groupe["profs"]["list"]); foreach ($new_profs as $p_login) { $sql = "insert into j_groupes_professeurs set id_groupe = '" . $_id_groupe . "', login = '******';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (!$res) { $errors = true; $msg .= "ERREUR sur {$sql}<br />"; } } foreach ($deleted_profs as $p_login) { $sql = "delete from j_groupes_professeurs where (id_groupe = '" . $_id_groupe . "' and login = '******');"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (!$res) { $errors = true; $msg .= "ERREUR sur {$sql}<br />"; } } // Mise à jour des élèves // Cette première étape est juste pour les situations où l'on a envoyé un tableau vite comme argument // signalant que l'on ne veut pas manipuler les élèves if (count($_eleves) != 0) { foreach ($former_groupe["periodes"] as $period) { $deleted_eleves = array_diff((array) $former_groupe["eleves"][$period["num_periode"]]["list"], (array) $_eleves[$period["num_periode"]]); $new_eleves = array_diff((array) $_eleves[$period["num_periode"]], (array) $former_groupe["eleves"][$period["num_periode"]]["list"]); foreach ($new_eleves as $e_login) { $sql = "insert into j_eleves_groupes set id_groupe = '" . $_id_groupe . "', login = '******', periode = '" . $period["num_periode"] . "';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (!$res) { $errors = true; $msg .= "ERREUR sur {$sql}<br />"; } } foreach ($deleted_eleves as $e_login) { if (test_before_eleve_removal($e_login, $_id_groupe, $period["num_periode"])) { $sql = "delete from j_eleves_groupes where (id_groupe = '" . $_id_groupe . "' and login = '******' and periode = '" . $period["num_periode"] . "');"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (!$res) { $errors = true; $msg .= "ERREUR sur {$sql}<br />"; } } else { $msg .= "Erreur lors de la suppression de l'élève ayant le login '" . $e_login . "', pour la période '" . $period["num_periode"] . " (des notes ou appréciations existent).<br/>"; } } } } if ($errors) { return FALSE; } else { return TRUE; } }
echo "<p style='color:red'>ANOMALIE : Plus d'un élève semble correspondre à l'identifiant proposé.<br />" . $ligne . "</p>"; } else { $lig_ele = mysqli_fetch_object($res_ele); // Recherche des classes de l'élève: $sql = "SELECT DISTINCT id_classe FROM j_eleves_classes WHERE login='******';"; $res_clas = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_clas) == 0) { echo "<p style='color:red'>Élève {$lig_ele->nom} {$lig_ele->prenom} inscrit dans aucune classe.<br />" . $ligne . "</p>"; } else { echo $lig_ele->nom . " " . $lig_ele->prenom . " : "; while ($lig_clas = mysqli_fetch_object($res_clas)) { if (!isset($tab_classe[$lig_clas->id_classe])) { $tab_classe[$lig_clas->id_classe] = get_nom_classe($lig_clas->id_classe); } echo "(" . $tab_classe[$lig_clas->id_classe] . ") "; $nb_per = get_period_number($lig_clas->id_classe); //echo "(".$nb_per.") "; for ($loop = 0; $loop < count($col_option); $loop++) { // Pour chaque classe, recherche des groupes de l'option indiquée $sql = "SELECT DISTINCT jgc.id_groupe FROM j_groupes_classes jgc, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\tj_groupes_matieres jgm \n\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE jgc.id_classe='" . $lig_clas->id_classe . "' AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\tjgc.id_groupe=jgm.id_groupe AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\tjgm.id_matiere='" . $tabligne_entete[$col_option[$loop]] . "';"; //echo "$sql<br />"; $res_grp = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_grp) > 0) { while ($lig_grp = mysqli_fetch_object($res_grp)) { $sql = "SELECT 1=1 FROM j_eleves_groupes WHERE login='******' AND id_groupe='" . $lig_grp->id_groupe . "';"; //echo "$sql<br />"; $res_ele_grp = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_ele_grp) == 0 && $tabligne[$col_option[$loop]] != "") { for ($loop_per = 1; $loop_per < $nb_per + 1; $loop_per++) { $sql = "INSERT INTO j_eleves_groupes SET login='******', id_groupe='" . $lig_grp->id_groupe . "', periode='{$loop_per}';"; //echo "$sql<br />";
| <a href="add_group.php?mode=regroupement">Ajouter un regroupement (interclasses)</a> | <a href="add_group.php?mode=groupe">Ajouter un groupe à une classe</a> <?php // On va chercher les classes déjà existantes, et on les affiche. $call_data = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM classes ORDER BY classe"); $nombre_lignes = mysqli_num_rows($call_data); if ($nombre_lignes != 0) { $flag = 1; echo "<table cellpadding=3 cellspacing=0 border=0>\n"; $i = 0; while ($i < $nombre_lignes) { $id_classe = old_mysql_result($call_data, $i, "id"); $classe = old_mysql_result($call_data, $i, "classe"); // On n'affiche que si la classe en question n'est pas une classe virtuelle if (get_period_number($id_classe) != "0") { echo "<tr"; if ($flag == 1) { echo " class='fond_sombre'"; $flag = 0; } else { $flag = 1; } echo ">\n<td><b><a href='edit_class.php?id_classe=" . $id_classe . "'>" . $classe . "</a></b>"; echo "</td>\n"; echo "<td><a href='add_group.php?id_classe=" . $id_classe . "&mode=groupe'>Ajouter groupe</a></td>\n"; //$groups = get_groups_for_class($id_classe); $groups = get_groups_for_class($id_classe, "", "n"); echo "<td>\n"; foreach ($groups as $group) { $total = count($group["classes"]);