/** Renvoie un tableau des groupes d'une classe * * ATTENTION: Avec les catégories, les groupes dans aucune catégorie n'apparaissent pas. * * * @param int $_id_classe Id de la classe * @param string $ordre Détermine l'ordre de tri * @param string $d_apres_categories Détermine comment on prend en compte les catégories * @return array Le tableau des groupes * (on ne récupère que les indices id, name, description du groupe et les classes associées, * pas les indices profs, eleves, periodes, matieres) */ function get_groups_for_class($_id_classe, $ordre = "", $d_apres_categories = "n") { global $get_groups_for_class_avec_proflist, $get_groups_for_class_avec_visibilite; // ATTENTION: Avec les catégories, les groupes dans aucune catégorie n'apparaissent pas. // Avec le choix "n" sur les catégories, on reste sur un fonctionnement proche de celui d'origine (cf old_way) if (!is_numeric($_id_classe)) { $_id_classe = "0"; } if ($d_apres_categories == "auto") { $d_apres_categories = "n"; $sql = "SELECT display_mat_cat FROM classes WHERE id='" . $_id_classe . "';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) > 0) { $d_apres_categories = old_mysql_result($res, 0, "display_mat_cat"); } } if ($d_apres_categories == 'y') { $sql = "SELECT DISTINCT g.name, g.id, g.description, jgm.id_matiere\n\t\t\t\tFROM j_groupes_classes jgc, \n\t\t\t\t\tj_groupes_matieres jgm, \n\t\t\t\t\tj_matieres_categories_classes jmcc, \n\t\t\t\t\tmatieres m, \n\t\t\t\t\tmatieres_categories mc,\n\t\t\t\t\tgroupes g\n\t\t\t\tWHERE ( mc.id=jmcc.categorie_id AND \n\t\t\t\t\tjgc.categorie_id = jmcc.categorie_id AND \n\t\t\t\t\tjgc.id_classe=jmcc.classe_id AND \n\t\t\t\t\tjgc.id_classe='" . $_id_classe . "' AND \n\t\t\t\t\tjgm.id_groupe=jgc.id_groupe AND \n\t\t\t\t\tm.matiere = jgm.id_matiere AND\n\t\t\t\t\tg.id=jgc.id_groupe)\n\t\t\t\tORDER BY jmcc.priority,mc.priority,jgc.priorite,m.nom_complet, g.name;"; } else { if ($ordre == "old_way") { // Ce que l'on avait auparavant. $sql = "select DISTINCT g.name, g.id, g.description " . "from groupes g, j_groupes_classes j " . "where (" . "g.id = j.id_groupe " . " and j.id_classe = '" . $_id_classe . "'" . ") ORDER BY j.priorite, g.name"; } else { $sql = "select DISTINCT g.name, g.id, g.description, jgm.id_matiere FROM groupes g, \n\t\t\t\t\tj_groupes_classes jgc, \n\t\t\t\t\tj_groupes_matieres jgm\n\t\t\t\tWHERE (\n\t\t\t\t\tjgc.id_classe='" . $_id_classe . "' AND\n\t\t\t\t\tjgm.id_groupe=jgc.id_groupe\n\t\t\t\t\tAND jgc.id_groupe=g.id\n\t\t\t\t\t)\n\t\t\t\tORDER BY jgc.priorite,jgm.id_matiere, g.name;"; } } $query = mysqli_query($GLOBALS["mysqli"], $sql); $nb = mysqli_num_rows($query); $temp = array(); for ($i = 0; $i < $nb; $i++) { $temp[$i]["name"] = old_mysql_result($query, $i, "name"); $temp[$i]["description"] = old_mysql_result($query, $i, "description"); $temp[$i]["id"] = old_mysql_result($query, $i, "id"); $temp[$i]["matiere"]["matiere"] = old_mysql_result($query, $i, "id_matiere"); $get_classes = mysqli_query($GLOBALS["mysqli"], "SELECT c.id, c.classe, c.nom_complet FROM classes c, j_groupes_classes j WHERE (" . "c.id = j.id_classe and j.id_groupe = '" . $temp[$i]["id"] . "')"); $nb_classes = mysqli_num_rows($get_classes); for ($k = 0; $k < $nb_classes; $k++) { $c_id = old_mysql_result($get_classes, $k, "id"); $c_classe = old_mysql_result($get_classes, $k, "classe"); $c_nom_complet = old_mysql_result($get_classes, $k, "nom_complet"); $temp[$i]["classes"][] = array("id" => $c_id, "classe" => $c_classe, "nom_complet" => $c_nom_complet); if ($k == 0) { $temp[$i]["classlist_string"] = ""; } else { $temp[$i]["classlist_string"] .= ", "; } $temp[$i]["classlist_string"] .= $c_classe; } if ($get_groups_for_class_avec_proflist == "y") { $tmp_grp = get_profs_for_group($temp[$i]["id"]); $temp[$i]["proflist_string"] = $tmp_grp['proflist_string']; $temp[$i]['profs']["proflist_string"] = $tmp_grp['proflist_string']; } if ($get_groups_for_class_avec_visibilite == "y") { $tmp_grp = get_visibilite_for_group($temp[$i]["id"]); $temp[$i]["visibilite"] = $tmp_grp['visibilite']; } } return $temp; }
foreach ($groups as $current_group) { $alt = $alt * -1; echo "<tr class='lig{$alt} white_hover'>\n"; echo "<td>\n"; echo "<input type='checkbox' name='id_groupe[]' id='id_groupe_{$cpt}' value='" . $current_group['id'] . "' onchange='change_style_groupe({$cpt})' />\n"; echo "</td>\n"; echo "<td>\n"; echo "<label id='label_groupe_{$cpt}' for='id_groupe_{$cpt}'> " . $current_group['name'] . "</label>\n"; echo "</td>\n"; echo "<td>\n"; echo "<label for='id_groupe_{$cpt}'>"; echo $current_group['description']; echo "</label>"; echo "</td>\n"; echo "<td>\n"; $profs_grp = get_profs_for_group($current_group['id']); echo $profs_grp['proflist_string']; echo "</td>\n"; echo "<td>\n"; echo $current_group['classlist_string']; echo "</td>\n"; echo "</tr>\n"; $cpt++; } echo "</table>\n"; } echo "</blockquote>\n"; //echo "<input type='hidden' name='choix_enseignements' value='y' />\n"; //echo "<p style='color:red'>A FAIRE: Ajouter le choix Du/Au à ce niveau</p>\n"; echo "<p>"; echo "Exporter le(s) cahier(s) de textes de la date : ";
$sql = "SELECT DISTINCT id_groupe FROM edt_corresp2 WHERE nom_groupe_edt='" . mysqli_real_escape_string($GLOBALS["mysqli"], $lig->nom_groupe_edt) . "';"; $res_grp = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_grp) == 0) { echo "<p>Aucun groupe n'est associé au nom EDT " . $lig->nom_groupe_edt . ".</p>"; } else { $tab_info_grp = array(); $tab_ele_grp = array(); $tab_prof_grp = array(); echo "<p style='margin-left:3em;text-indent:-3em;'>Le ou les groupes suivants sont associés à ce nom de regroupement d'élèves EDT :<br />"; while ($lig_grp = mysqli_fetch_object($res_grp)) { $tab_info_grp[$lig_grp->id_groupe] = get_info_grp($lig_grp->id_groupe); echo $tab_info_grp[$lig_grp->id_groupe] . "<br />"; $tmp_tab = get_eleves_from_groupe($lig_grp->id_groupe, $num_periode); $tab_ele_grp[$lig_grp->id_groupe]['list'] = $tmp_tab['list']; $tab_ele_grp[$lig_grp->id_groupe]['users'] = $tmp_tab['users']; $tab_prof_grp[$lig_grp->id_groupe] = get_profs_for_group($lig_grp->id_groupe); } echo "</p>"; $nom_groupe_edt = $lig->nom_groupe_edt; $current_nom_groupe = preg_replace("/\\[/", "", preg_replace("/\\]/", "", $lig->nom_groupe_edt)); $sql = "SELECT nom,prenom,date_naiss,sexe,n_national,groupes FROM edt_eleves_lignes \n\t\t\t\tWHERE (groupes like '{$current_nom_groupe}' OR \n\t\t\t\t\tgroupes like '{$current_nom_groupe}, %' OR \n\t\t\t\t\tgroupes like '%, {$current_nom_groupe}, %' OR \n\t\t\t\t\tgroupes like '%, {$current_nom_groupe}');"; $res_ele = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_ele) == 0) { echo "<p>Aucun élève n'a dans ses groupes le nom EDT " . $current_nom_groupe . ".</p>"; } else { $tab_ele_regroupement_edt = array(); echo "<p style='margin-left:3em;text-indent:-3em;'>Le ou les élèves suivants ont dans leurs groupes le nom EDT " . $current_nom_groupe . " :<br />"; $cpt_ele = 0; while ($lig_ele = mysqli_fetch_object($res_ele)) { echo $lig_ele->nom . " " . $lig_ele->prenom . " (" . $lig_ele->date_naiss . ") (" . $lig_ele->n_national . ")"; // Si $lig_ele->n_national est vide, il faut tenter d'identifier autrement l'élève (nom, prénom, date de naissance).