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