Ejemplo n.º 1
0
                 $sql = "INSERT INTO j_eleves_groupes SET login='******', id_groupe='{$lig_grp_inscr->id_groupe}', periode='" . $change_inscription_eleves_periodes[$loop] . "';";
                 $insert = mysqli_query($GLOBALS["mysqli"], $sql);
                 if ($insert) {
                     $nb_reg_ok++;
                 } else {
                     $msg .= "<br />ERREUR lors de l'inscription de " . get_nom_prenom_eleve($current_eleve_login) . " du groupe n°" . $lig_grp_inscr->id_groupe . " en période " . $change_inscription_eleves_periodes[$loop];
                 }
             }
         }
     }
 } else {
     for ($loop = 0; $loop < count($change_inscription_eleves_periodes); $loop++) {
         $sql = "SELECT login FROM j_eleves_groupes WHERE id_groupe='{$lig_grp_inscr->id_groupe}' AND periode='" . $change_inscription_eleves_periodes[$loop] . "';";
         $res_ele_inscr = mysqli_query($GLOBALS["mysqli"], $sql);
         while ($lig_ele_inscr = mysqli_fetch_object($res_ele_inscr)) {
             if (!test_before_eleve_removal($lig_ele_inscr->login, $lig_grp_inscr->id_groupe, $change_inscription_eleves_periodes[$loop])) {
                 $msg .= "<br />" . get_nom_prenom_eleve($lig_ele_inscr->login) . " a un bulletin non vide en période " . $change_inscription_eleves_periodes[$loop];
             } elseif (nb_notes_ele_dans_tel_enseignement($lig_ele_inscr->login, $lig_grp_inscr->id_groupe, $change_inscription_eleves_periodes[$loop]) > 0) {
                 $msg .= "<br />" . get_nom_prenom_eleve($lig_ele_inscr->login) . " a un bulletin non vide en période " . $change_inscription_eleves_periodes[$loop];
             } else {
                 $sql = "DELETE FROM j_eleves_groupes WHERE login='******' AND id_groupe='{$lig_grp_inscr->id_groupe}' AND periode='" . $change_inscription_eleves_periodes[$loop] . "';";
                 $del = mysqli_query($GLOBALS["mysqli"], $sql);
                 if ($del) {
                     $nb_reg_ok++;
                 } else {
                     $msg .= "<br />ERREUR lors de la désinscription de " . get_nom_prenom_eleve($lig_ele_inscr->login) . " du groupe n°" . $lig_grp_inscr->id_groupe . " en période " . $change_inscription_eleves_periodes[$loop];
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
         echo "<td>" . $current_group["eleves"]["users"][$e_login]["classe"] . "</td>";
     }
     echo "\n";
 }
 foreach ($current_group["periodes"] as $period) {
     if ($period["num_periode"] != "") {
         echo "<td align='center'>";
         //=========================
         //$sql="SELECT 1=1 FROM j_eleves_classes WHERE login='******' AND id_classe='".$new_classe."' AND periode='".$period["num_periode"]."'";
         $sql = "SELECT 1=1 FROM j_eleves_classes WHERE login='******' AND {$chaine_sql_classe} AND periode='" . $period["num_periode"] . "'";
         //=========================
         $res_test = mysqli_query($GLOBALS["mysqli"], $sql);
         if (mysqli_num_rows($res_test) > 0) {
             // Test sur la présence de notes dans cn ou de notes/app sur bulletin
             $bull_non_vide = "n";
             if (!test_before_eleve_removal($e_login, $current_group['id'], $period["num_periode"])) {
                 $bull_non_vide = "y";
                 if ($_SESSION['statut'] == 'professeur') {
                     echo "<a href='../saisie/saisie_appreciations.php?id_groupe={$id_groupe}&amp;periode_cn=" . $period["num_periode"] . "#saisie_app_" . $e_login . "' target='_blank' title=\"Voir, dans une nouvelle fenêtre, mes saisies dans le bulletin de cet élève.\"><img id='img_bull_non_vide_" . $period["num_periode"] . "_" . $num_eleve . "' src='../images/icons/bulletin_16.png' width='16' height='16' title='Bulletin non vide' alt='Bulletin non vide' /></a>";
                 } else {
                     echo "<img id='img_bull_non_vide_" . $period["num_periode"] . "_" . $num_eleve . "' src='../images/icons/bulletin_16.png' width='16' height='16' title='Bulletin non vide' alt='Bulletin non vide' />";
                 }
             }
             $sql = "SELECT DISTINCT id_devoir FROM cn_notes_devoirs cnd, cn_devoirs cd, cn_cahier_notes ccn WHERE (cnd.login = '******' AND cnd.statut='' AND cnd.id_devoir=cd.id AND cd.id_racine=ccn.id_cahier_notes AND ccn.id_groupe = '" . $current_group['id'] . "' AND ccn.periode = '" . $period["num_periode"] . "')";
             $test_cn = mysqli_query($GLOBALS["mysqli"], $sql);
             $nb_notes_cn = mysqli_num_rows($test_cn);
             if ($nb_notes_cn > 0) {
                 if ($_SESSION['statut'] == 'professeur') {
                     echo "<a href='../cahier_notes/index.php??id_groupe={$id_groupe}&amp;periode_num=" . $period["num_periode"] . "#saisie_app_" . $e_login . "' target='_blank' title=\"Voir, dans une nouvelle fenêtre, mes saisies dans le carnet de notes pour cet élève.\"><img id='img_cn_non_vide_" . $period["num_periode"] . "_" . $num_eleve . "' src='../images/icons/cn_16.png' width='16' height='16' title='Carnet de notes non vide: {$nb_notes_cn} notes' alt='Carnet de notes non vide: {$nb_notes_cn} notes' /></a>";
                 } else {
                     echo "<img id='img_cn_non_vide_" . $period["num_periode"] . "_" . $num_eleve . "' src='../images/icons/cn_16.png' width='16' height='16' title='Carnet de notes non vide: {$nb_notes_cn} notes' alt='Carnet de notes non vide: {$nb_notes_cn} notes' />";
         $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 />";
                 $insert = mysqli_query($GLOBALS["mysqli"], $sql);
                 if (!$insert) {
                     echo "<span style='color:red'>ERREUR</span> ";
                 }
             }
             echo "<span style='color:green' title=\"Inscription de l'élève dans les groupes de " . $tabligne_entete[$col_option[$loop]] . "\">" . $tabligne_entete[$col_option[$loop]] . "</span> ";
         } elseif (mysqli_num_rows($res_ele_grp) > 0 && $tabligne[$col_option[$loop]] == "") {
             for ($loop_per = 1; $loop_per < $nb_per + 1; $loop_per++) {
                 if (test_before_eleve_removal($lig_ele->login, $lig_grp->id_groupe, $loop_per)) {
                     $sql = "DELETE FROM j_eleves_groupes WHERE login='******' AND id_groupe='" . $lig_grp->id_groupe . "' AND periode='{$loop_per}';";
                     //echo "$sql<br />";
                     $del = mysqli_query($GLOBALS["mysqli"], $sql);
                     if (!$del) {
                         echo "<span style='color:red'>ERREUR</span> ";
                     }
                     echo "<span style='color:red' title=\"Désinscription de l'élève des groupes de " . $tabligne_entete[$col_option[$loop]] . "\">" . $tabligne_entete[$col_option[$loop]] . "</span> ";
                 } else {
                     echo "<span style='color:plum' title=\"Désinscription impossible de l'élève des groupes de " . $tabligne_entete[$col_option[$loop]] . " en période {$loop_per}.\">" . $tabligne_entete[$col_option[$loop]] . " (bulletins non vides P{$loop_per})</span> ";
                 }
             }
         }
     }
 } else {
     if ($tabligne[$col_option[$loop]] != "") {
Ejemplo n.º 4
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;
    }
}
Ejemplo n.º 5
0
    echo "<p>Liste des élèves en " . htmlspecialchars($current_group["name"]) . " - " . htmlspecialchars($current_group["description"]) . " (<i>" . $current_group["classlist_string"] . "</i>)<br />\n";
    /*
    echo "<pre>";
    print_r($current_group);
    echo "</pre>";
    */
    $cpt = 0;
    foreach ($current_group["eleves"][$num_periode]["users"] as $tab_ele) {
        // Pour ne traiter que les élèves de la classe courante:
        $sql = "SELECT 1=1 FROM j_eleves_classes WHERE login='******'login'] . "' AND periode='{$num_periode}' AND id_classe='{$id_classe}';";
        $test = mysqli_query($GLOBALS["mysqli"], $sql);
        if (mysqli_num_rows($test) > 0) {
            if ($cpt > 0) {
                echo ", ";
            }
            if (test_before_eleve_removal($tab_ele['login'], $current_group['id'], $num_periode)) {
                echo "<span style='color: red'>";
            } else {
                echo "<span style='color: green'>";
            }
            echo $tab_ele['nom'] . " " . $tab_ele['prenom'];
            echo "</span>\n";
            $cpt++;
        }
    }
    echo "</p>\n";
}
if (!isset($_GET['confirmation_menage']) || $_GET['confirmation_menage'] == 'n') {
    echo "<p><a href='" . $_SERVER['PHP_SELF'] . "?id_classe={$id_classe}&amp;num_periode={$num_periode}&amp;confirmation_menage=y" . add_token_in_url() . "'>Confirmer les désinscriptions</a>.</p>\n";
}
echo "<p><br /></p>\n";
 foreach ($current_tab_ele['users'] as $current_login_ele => $current_ele) {
     $temoin = "";
     if (in_array($current_login_ele, $diff)) {
         $temoin = "<img src='../images/icons/ico_attention.png' class='icone16' alt='Attention' ";
         /*
         if((isset($current_ele['date_sortie']))&&($current_ele['date_sortie']!="")) {
         	$temoin.="title=\"L'élève a quitté l'établissement le ".$current_ele['date_sortie']."\" ";
         }
         */
         $temoin .= "/>";
         /*
         echo "<pre>";
         print_r($current_ele);
         echo "</pre>";
         */
         if (!test_before_eleve_removal($current_login_ele, $current_id_groupe, $num_periode)) {
             if ($acces_prepa_conseil_edit_limite == "y" && $current_ele['classe'] != "") {
                 $temoin .= "<a href='../prepa_conseil/edit_limite.php?choix_edit=2&login_eleve=" . $current_login_ele . "&id_classe=" . $current_ele['classe'] . "&periode1=" . $num_periode . "&periode2=" . $num_periode . "' target='_blank'>";
                 $temoin .= "<img src='../images/icons/bulletin_16.png' width='16' height='16' title='Bulletin non vide' alt='Bulletin non vide' />";
                 $temoin .= "</a>";
             } else {
                 $temoin .= "<img src='../images/icons/bulletin_16.png' width='16' height='16' title='Bulletin non vide' alt='Bulletin non vide' />";
             }
             $temoin_bull_ou_cn_non_vide++;
         }
         $nb_notes_cn = nb_notes_ele_dans_tel_enseignement($current_login_ele, $current_id_groupe, $num_periode);
         if ($nb_notes_cn > 0) {
             $temoin .= "<img src='../images/icons/cn_16.png' width='16' height='16' title='Carnet de notes non vide: {$nb_notes_cn} notes' alt='Carnet de notes non vide: {$nb_notes_cn} notes' />";
             $temoin_bull_ou_cn_non_vide++;
         }
     }
Ejemplo n.º 7
0
 echo "<td style='text-align:center'>\n";
 if ($_SESSION['statut'] == "administrateur") {
     echo "<input type='checkbox' id='case" . $i . "_" . $j . "' name='" . $id_groupe . "_" . $j . "' onchange='changement();' value='y' ";
     if (mysqli_num_rows($test) > 0) {
         echo "checked ";
     }
     echo "/>\n";
 } else {
     if (mysqli_num_rows($test) == 0) {
         echo "&nbsp;\n";
     } else {
         echo "<img src='../images/enabled.png' width='15' height='15' alt='Inscrit' />\n";
     }
 }
 // Test sur la présence de notes dans cn ou de notes/app sur bulletin
 if (!test_before_eleve_removal($login_eleve, $id_groupe, $j)) {
     echo "<img id='img_bull_non_vide_" . $i . "_" . $j . "' src='../images/icons/bulletin_16.png' width='16' height='16' title='Bulletin non vide' alt='Bulletin non vide' />";
 }
 $sql = "SELECT DISTINCT id_devoir FROM cn_notes_devoirs cnd, cn_devoirs cd, cn_cahier_notes ccn WHERE (cnd.login = '******' AND cnd.statut='' AND cnd.id_devoir=cd.id AND cd.id_racine=ccn.id_cahier_notes AND ccn.id_groupe = '" . $id_groupe . "' AND ccn.periode = '" . $j . "')";
 $test_cn = mysqli_query($GLOBALS["mysqli"], $sql);
 $nb_notes_cn = mysqli_num_rows($test_cn);
 if ($nb_notes_cn > 0) {
     echo "<img id='img_cn_non_vide_" . $i . "_" . $j . "' src='../images/icons/cn_16.png' width='16' height='16' title='Carnet de notes non vide: {$nb_notes_cn} notes' alt='Carnet de notes non vide: {$nb_notes_cn} notes' />";
     //echo "$sql<br />";
 }
 if (isset($tab_sig[$j]) && isset($tab_sig[$j][$id_groupe])) {
     $info_erreur = $tab_sig[$j][$id_groupe];
     echo "<img id='img_erreur_affect_" . $i . "_" . $j . "' src='../images/icons/flag2.gif' width='17' height='18' title='" . $info_erreur . "' alt='" . $info_erreur . "' />";
 }
 echo "</td>\n";
 /*