Beispiel #1
0
/** Les données de l'évaluation prises dans cn_devoirs
 * 
 * @param int $id_eval L'id de l'évaluation
 * @return array mixed Les données de l'évaluation
 * @see peut_noter_groupe()
 */
function donnee_evaluation($id_eval)
{
    // L'enseignant fait parti du groupe ?
    if (!peut_noter_groupe($_SESSION[PREFIXE]['id_groupe_session'])) {
        return FALSE;
    }
    $table_eval = array();
    $sql = "SELECT de.*\n          FROM cn_devoirs de\n          WHERE de.id ='" . $id_eval . "' ";
    $query_devoirs = mysql_query($sql);
    if (0 != mysql_num_rows($query_devoirs)) {
        $table_eval = mysql_fetch_array($query_devoirs, MYSQL_ASSOC);
    }
    mysql_free_result($query_devoirs);
    return $table_eval;
}
Beispiel #2
0
/** Renvoie les évaluations modifiables
 * 
 * Une évaluation est modifiable si : C'est le groupe actif, elle est dans une période ouverte, 
 * l'enseignant peut la noter
 * 
 * Renvoie un tableau des évaluation valides
 * 
 *'id', 'nom_court', 'referentiel', 'date', 'coef', 'display_parents', 'conteneur', 'tab_notes', 'note_sur'
 * SELECT cn_devoirs.id, cn_devoirs.date, cn_devoirs.nom_court, cn_devoirs.ramener_sur_referentiel, 
 * cn_conteneurs.nom_court AS conteneur, cn_devoirs.display_parents, cn_devoirs.coef, cn_devoirs.note_sur
 * 
 * @return array les évaluation valides
 * @see eval_du_groupe()
 * @see eval_dans_periode()
 * @see statistique()
 */
function evaluations_modifiables()
{
    // L'enseignant fait parti du groupe ?
    if (!peut_noter_groupe($_SESSION[PREFIXE]['id_groupe_session'])) {
        charge_message("Vous n'appartenez pas au groupe " . $_SESSION[PREFIXE]['id_groupe_session']);
        return FALSE;
    }
    $table_evaluations = array();
    // tableau de toutes les évaluations valides
    $periode_ouverte = FALSE;
    $devoirs_groupe = array();
    $devoirs_groupe = eval_du_groupe($_SESSION[PREFIXE]["id_devoir"], $_SESSION[PREFIXE]['id_groupe_session']);
    if (!$devoirs_groupe) {
        charge_message("Vous avez sélectionné des devoirs qui n'appartiennent pas à ce groupe\n      <br />ceci ne devrait jamais arrivé");
        charge_message("groupe : " . $_SESSION[PREFIXE]['id_groupe_session']);
        charge_message("devoir :");
        foreach ($_SESSION[PREFIXE]["id_devoir"] as $montre_devoir) {
            charge_message($montre_devoir);
        }
        return FALSE;
    }
    unset($_SESSION[PREFIXE]["id_devoir"]);
    if (!count($devoirs_groupe)) {
        charge_message("Aucun devoir disponible");
        return FALSE;
    } else {
        $_SESSION[PREFIXE]["id_devoir"] = $devoirs_groupe;
    }
    // On recherche les périodes ouvertes des classes du groupe
    $sql_periodes = "SELECT cl.id_classe, pe.nom_periode, pe.verouiller, UNIX_TIMESTAMP(pe.date_verrouillage) AS date_verrouillage\n               FROM periodes pe, j_groupes_classes cl\n               WHERE cl.id_groupe = '" . $_SESSION[PREFIXE]['id_groupe_session'] . "'\n                 AND pe.id_classe = cl.id_classe\n                 AND pe.verouiller = 'N'\n               ORDER BY cl.id_classe, pe.num_periode ;";
    $query_periodes = mysql_query($sql_periodes);
    if (mysql_num_rows($query_periodes) == 0) {
        // il n'y a pas de période ouverte
        charge_message("Il n'y a pas de période ouverte");
        mysql_free_result($query_periodes);
        return FALSE;
    }
    mysql_free_result($query_periodes);
    unset($devoirs_groupe);
    $devoirs_groupe = array();
    // On vérifie que les devoirs sont bien dans la période ouverte
    $devoirs_groupe = eval_dans_periode($_SESSION[PREFIXE]["id_devoir"], $_SESSION[PREFIXE]['periode_num']);
    if (!$devoirs_groupe) {
        charge_message("Aucun devoir choisi n'est dans la période ouverte");
        return FALSE;
    }
    // On a des devoirs, le prof peut noter, on renvoie les id_devoir
    unset($_SESSION[PREFIXE]["id_devoir"]);
    if (!count($devoirs_groupe)) {
        charge_message("Aucun devoir disponible");
        return FALSE;
    } else {
        $_SESSION[PREFIXE]["id_devoir"] = $devoirs_groupe;
    }
    if (isset($_SESSION[PREFIXE]["id_devoir"]) && count($_SESSION[PREFIXE]["id_devoir"]) > 0) {
        // On renvoie les infos des évaluations
        foreach ($_SESSION[PREFIXE]["id_devoir"] as $devoir) {
            $sql_eval = "SELECT de.id, UNIX_TIMESTAMP(de.date) as date, \n                        de.nom_court, \n                        de.ramener_sur_referentiel AS referentiel, \n                        cn.nom_court AS conteneur, \n                        de.display_parents, \n                        de.coef, \n                        de.note_sur\n                 FROM cn_devoirs de , cn_conteneurs cn\n                 WHERE de.id = '" . $devoir . "'\n                   AND de.id_conteneur = cn.id ;";
            $query_eval = mysql_query($sql_eval);
            if (0 != mysql_num_rows($query_eval)) {
                while ($row = mysql_fetch_array($query_eval, MYSQL_ASSOC)) {
                    $date = date("d/m/Y", $row['date']);
                    $stat = statistique($row['id']);
                    $table_evaluations[] = array('id' => $row['id'], 'nom_court' => $row['nom_court'], 'referentiel' => $row['referentiel'], 'date' => $date, 'coef' => $row['coef'], 'display_parents' => $row['display_parents'], 'conteneur' => $row['conteneur'], 'tab_notes' => $stat, 'note_sur' => $row['note_sur']);
                }
            }
            mysql_free_result($query_eval);
        }
        unset($devoir);
    }
    return $table_evaluations;
}
Beispiel #3
0
}
// on vérifie qu'il y a bien quelque chose à afficher
if (!isset($_SESSION[PREFIXE]["id_devoir"])) {
    charge_message("Aucun devoir sélectionné");
    $_SESSION[PREFIXE]['contexte_module'] = EVALUATIONS;
    $_SESSION[PREFIXE]['contexte_action'] = VOIR;
    header("Location: index.php");
} else {
    if (!count($_SESSION[PREFIXE]["id_devoir"])) {
        charge_message("Vous devez choisir un devoir");
        $_SESSION[PREFIXE]['contexte_module'] = EVALUATIONS;
        $_SESSION[PREFIXE]['contexte_action'] = VOIR;
        header("Location: index.php");
    } else {
        // on vérifie que le prof peut évaluer le groupe ?
        if (!isset($_SESSION[PREFIXE]['id_groupe_session']) || !peut_noter_groupe($_SESSION[PREFIXE]['id_groupe_session'])) {
            charge_message("Vous n'avez pas les droits suffisant sur ce groupe");
            $_SESSION[PREFIXE]['contexte_module'] = EVALUATIONS;
            $_SESSION[PREFIXE]['contexte_action'] = VOIR;
            header("Location: index.php");
        } else {
            // Récupérer tous les devoirs disponibles
            $eval_possibles = evaluations_disponibles();
            // Récupérer les devoirs non choisis
            $eval_disponibles = eval_non_choisies($eval_possibles);
            $tableau_notes = array();
            // Récupérer les devoirs qu'on veut modifier
            $eval_valides = evaluations_modifiables();
            if ($eval_valides) {
                // Récupérer les éleves du groupe
                $eleves_groupe = trouveEleves();