Example #1
0
/** 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;
}
Example #2
0
     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&nbsp;:<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 . "&nbsp;:<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).