예제 #1
0
function recherche_enfant2($id_parent_tmp, $current_group, $periode_num, $id_racine)
{
    $sql = "SELECT * FROM cn_conteneurs WHERE parent='{$id_parent_tmp}'";
    //echo "<!-- $sql -->\n";
    $res_enfant = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($res_enfant) > 0) {
        while ($lig_conteneur_enfant = mysqli_fetch_object($res_enfant)) {
            recherche_enfant2($lig_conteneur_enfant->id, $current_group, $periode_num, $id_racine);
        }
    } else {
        $arret = 'no';
        $id_conteneur_enfant = $id_parent_tmp;
        mise_a_jour_moyennes_conteneurs($current_group, $periode_num, $id_racine, $id_conteneur_enfant, $arret);
    }
}
예제 #2
0
     $display_bulletin = 0;
 }
 $sql = "UPDATE cn_conteneurs SET display_bulletin = '{$display_bulletin}' WHERE id = '{$id_conteneur}'";
 //echo "$sql<br />";
 $reg = mysqli_query($GLOBALS["mysqli"], $sql);
 if (!$reg) {
     $reg_ok = "no";
 }
 //==========================================================
 // MODIF: boireaus
 //
 // Mise à jour des moyennes du conteneur et des conteneurs parent, grand-parent, etc...
 //
 $arret = 'no';
 if (!isset($_POST['new_conteneur'])) {
     mise_a_jour_moyennes_conteneurs($current_group, $periode_num, $id_racine, $id_conteneur, $arret);
     // La boite courante est mise à jour...
     // ... mais pas la boite destination.
     recherche_enfant($id_racine);
 }
 //==========================================================
 if ($reg_ok == 'yes') {
     if ($new == 'yes') {
         $msg .= "Nouvel enregistrement réussi.";
     } else {
         $msg .= "Les modifications ont été effectuées avec succès.";
     }
 } else {
     $msg .= "Il y a eu un problème lors de l'enregistrement";
 }
 // Pour debug:
예제 #3
0
/** * Enregistre les notes dans la base
 * 
 * @param array $donnees Les données à enregistrer
 * @return bool TRUE si les données ont été enregistrées
 * @see charge_message()
 * @see prepare_sql()
 */
function enregistre_notes($donnees)
{
    $tableau_notes = $_SESSION[PREFIXE]['tableau_notes'];
    // on recherche les notes maxi pour toutes les évaluations
    $elv_deja_note = array();
    foreach ($_SESSION[PREFIXE]["id_devoir"] as $id_devoir) {
        $sql_devoir = "SELECT note_sur, id_conteneur FROM cn_devoirs \n\t     WHERE id = '" . $id_devoir . "'";
        $query_devoir = mysql_query($sql_devoir);
        $eval = mysql_fetch_object($query_devoir);
        $notes_max[$id_devoir]['note_sur'] = $eval->note_sur;
        $notes_max[$id_devoir]['id_conteneur'] = $eval->id_conteneur;
        mysql_free_result($query_devoir);
    }
    unset($id_devoir);
    // On récupère les données passées en $_POST dans $tableau_notes
    while (list($key, $val) = each($donnees)) {
        if (mb_ereg("_note_", $key)) {
            $index = mb_strstr($key, "_note_", TRUE);
            $id_eval = mb_strcut(mb_strstr($key, "_note_", FALSE), 6);
            // $comment = "";
            if (is_numeric($val)) {
                if ($val > $notes_max[$id_eval]['note_sur']) {
                    charge_message("ERREUR : Un élève à une note en dehors du référentiel ! (" . $login . ")");
                    return FALSE;
                }
                $note = $val;
                $statut = "";
            } elseif (empty($val)) {
                $note = "";
                $statut = VIDE;
            } else {
                switch ($val) {
                    case "a":
                    case "A":
                    case "abs":
                    case "ABS":
                    case ABSENT:
                        $note = "";
                        $statut = ABSENT;
                        break;
                    case "d":
                    case "D":
                    case "disp":
                    case "Disp":
                    case DISPENSE:
                        $note = "";
                        $statut = DISPENSE;
                        break;
                    case "-":
                    case "n":
                    case "N":
                    case "nn":
                    case "NN":
                    case "nN":
                    case "Nn":
                    case NON_NOTE:
                        $note = "";
                        $statut = NON_NOTE;
                        break;
                    case "":
                    default:
                        $note = "";
                        $statut = VIDE;
                }
            }
            // On met à jour $tableau_notes
            $tableau_notes[$index]['notes'][$id_eval]['note_devoir'] = $note;
            $tableau_notes[$index]['notes'][$id_eval]['statut'] = $statut;
        } elseif (mb_ereg("_app_", $key) && $val != '') {
            $index = mb_strstr($key, "_app_", TRUE);
            $id_eval = mb_strcut(mb_strstr($key, "_app_", FALSE), 5);
            $val = prepare_sql($val);
            $tableau_notes[$index]['notes'][$id_eval]['comment_devoir'] = $val;
        }
    }
    // on enregistre $tableau_notes dans la base
    foreach ($tableau_notes as $ligne_tableau) {
        foreach ($_SESSION[PREFIXE]["id_devoir"] as $id_eval) {
            if ($ligne_tableau['notes'][$id_eval]['new_note']) {
                // on crée une entrée
                $sql_table = "INSERT INTO cn_notes_devoirs (login, id_devoir, note, comment, statut)\n                    VALUES ('" . $ligne_tableau['login'] . "',\n                      '" . $ligne_tableau['notes'][$id_eval]['id_devoir'] . "',\n                      '" . $ligne_tableau['notes'][$id_eval]['note_devoir'] . "',\n                      '" . $ligne_tableau['notes'][$id_eval]['comment_devoir'] . "',\n                      '" . $ligne_tableau['notes'][$id_eval]['statut'] . "')";
            } else {
                // on met à jour
                $sql_table = "UPDATE cn_notes_devoirs\n                  SET note = '" . $ligne_tableau['notes'][$id_eval]['note_devoir'] . "',\n                    statut= '" . $ligne_tableau['notes'][$id_eval]['statut'] . "',\n                    comment = '" . $ligne_tableau['notes'][$id_eval]['comment_devoir'] . "'\n                    WHERE login = '******'login'] . "'\n                    AND id_devoir = '" . $ligne_tableau['notes'][$id_eval]['id_devoir'] . "'";
            }
            $query_table = mysql_query($sql_table);
            if (!$query_table) {
                charge_message("ERREUR : Erreur lors de l'enregistrement dans la base ! (" . $index . ")");
                charge_message("<strong>Vérifiez vos données puis enregistrez à nouveau</strong>");
                return FALSE;
            }
            // on met à jour les moyennes de conteneurs
            $_current_group["eleves"][$_SESSION[PREFIXE]['periode_num']]["list"][] = $ligne_tableau['login'];
            $arret = 'no';
            $sql_conteneur = "SELECT id_conteneur FROM cn_devoirs WHERE id = '" . $ligne_tableau['notes'][$id_eval]['id_devoir'] . "'";
            $query_conteneur = mysql_query($sql_conteneur);
            if (!$query_conteneur) {
                charge_message("ERREUR : Echec de la mise à jour des conteneurs");
                mysql_free_result($query_conteneur);
                return FALSE;
            }
            $conteneur = mysql_fetch_object($query_conteneur);
            mysql_free_result($query_conteneur);
            mise_a_jour_moyennes_conteneurs($_current_group, $_SESSION[PREFIXE]['periode_num'], $_SESSION[PREFIXE]['id_racine'], $conteneur->id_conteneur, $arret);
        }
        unset($id_eval);
    }
    unset($ligne_tableau);
    // Si on modifie un devoir alors que des notes ont été reportées sur le bulletin, il faut penser à mettre à jour la recopie vers le bulletin.
    $sql = "SELECT 1=1 FROM matieres_notes \n            WHERE periode='" . $_SESSION[PREFIXE]['periode_num'] . "'\n              AND id_groupe='" . $_SESSION[PREFIXE]['id_groupe_session'] . "';";
    $test_bulletin = mysql_query($sql);
    if (mysql_num_rows($test_bulletin) > 0) {
        charge_message("ATTENTION: Des notes sont présentes sur le bulletin.<br />Si vous avez modifié ou ajouté des notes, pensez à mettre à jour la recopie vers le bulletin.");
    }
    mysql_free_result($test_bulletin);
    return TRUE;
}
예제 #4
0
/** Enregistre les données collées dans la base
 * 
 * Enregistre les données en vérifiant si c'est une mise à jour
 * 
 * met à jour les moyennes de conteneurs
 * 
 * @return bool TRUE si les données ont été enregistrées, FALSE sinon
 * @see charge_message()
 * @see mise_a_jour_moyennes_conteneurs()
 */
function enregistre_colle()
{
    // echo $_SESSION[PREFIXE]['eval_colle'].'<br />';
    foreach ($_SESSION[PREFIXE]['tableau_colle'] as $eleve) {
        if (isset($eleve['commentaire'])) {
            $comment = $eleve['commentaire'];
        } else {
            $comment = '';
        }
        if (isset($eleve['note'])) {
            $note = $eleve['note'];
        } else {
            $note = '';
        }
        if (isset($eleve['statut'])) {
            $statut = $eleve['statut'];
        } else {
            $statut = '';
        }
        // On cherche s'il y a déjà un enregistrement
        $sql = "SELECT 1=1 FROM cn_notes_devoirs \n             WHERE login = '******'login'] . "' \n             AND id_devoir = '" . $_SESSION[PREFIXE]['eval_colle'] . "'";
        $query = mysql_query($sql);
        if (0 == mysql_num_rows($query)) {
            // On a pas d'enregistrement, on le crée
            $sql_table = "INSERT INTO cn_notes_devoirs (login, id_devoir, note, comment, statut)\n\t\t   VALUES ('" . $eleve['login'] . "', '" . $_SESSION[PREFIXE]['eval_colle'] . "', '" . $note . "', '" . $comment . "', '" . $statut . "')";
        } else {
            // On a un enregistrement on le met à jour
            $envoi = "";
            if ($note != '' || $statut != '') {
                $envoi = "note = '" . $eleve['note'] . "', statut= '" . $eleve['statut'] . "'";
            }
            if ($comment != '') {
                if ($envoi != '') {
                    $envoi .= ', ';
                }
                $envoi .= "comment= '" . $eleve['commentaire'] . "'";
            }
            $sql_table = "UPDATE cn_notes_devoirs\n\t\t            SET " . $envoi . "\n\t\t            WHERE login = '******'login'] . "'\n                      AND id_devoir = '" . $_SESSION[PREFIXE]['eval_colle'] . "'";
        }
        if (!mysql_query($sql_table)) {
            charge_message("ERREUR : Echec de l'enregistrement dans la base ! (" . $eleve['nom'] . " " . $eleve['prenom'] . ")");
            charge_message("<bold>Collez à nouveau vos données et vérifier les puis enregistrez à nouveau</bold>");
            mysql_free_result($sql_table);
            return FALSE;
        }
        // on met à jour les moyennes de conteneurs
        $_current_group["eleves"][$_SESSION[PREFIXE]['periode_num']]["list"][] = $eleve['login'];
        $arret = 'no';
        $sql_conteneur = "SELECT id_conteneur FROM cn_devoirs WHERE id = '" . $_SESSION[PREFIXE]['eval_colle'] . "'";
        $query_conteneur = mysql_query($sql_conteneur);
        if (!$query_conteneur) {
            charge_message("ERREUR : Echec de la mise à jour des conteneurs");
            mysql_free_result($query_conteneur);
            return FALSE;
        }
        $conteneur = mysql_fetch_object($query_conteneur);
        mysql_free_result($query_conteneur);
        mise_a_jour_moyennes_conteneurs($_current_group, $_SESSION[PREFIXE]['periode_num'], $_SESSION[PREFIXE]['id_racine'], $conteneur->id_conteneur, $arret);
    }
    return TRUE;
}
예제 #5
0
파일: copie_dev.php 프로젝트: rhertzog/lcs
                    foreach ($groupe_dest["classes"]["list"] as $tmp_id_classe) {
                        if ($groupe_dest["classe"]["ver_periode"][$tmp_id_classe][$periode_num_dest] == 'N') {
                            foreach ($groupe_dest["eleves"][$periode_num_dest]["telle_classe"][$tmp_id_classe] as $ele_login) {
                                if (isset($tab_note[$ele_login])) {
                                    $sql = "INSERT INTO cn_notes_devoirs SET id_devoir='{$id_devoir_dest}', login='******', note='" . $tab_note[$ele_login]['note'] . "', statut='" . $tab_note[$ele_login]['statut'] . "', comment='" . mysqli_real_escape_string($GLOBALS["mysqli"], $tab_note[$ele_login]['comment']) . "';";
                                    $insert = mysqli_query($GLOBALS["mysqli"], $sql);
                                    if (!$insert) {
                                        $msg .= "Erreur lors de l'enregistrement de la note pour " . civ_nom_prenom($ele_login) . "<br />";
                                    }
                                }
                            }
                        }
                    }
                    // Mise à jour des moyennes
                    $arret = 'no';
                    mise_a_jour_moyennes_conteneurs($groupe_dest, $periode_num_dest, $id_cn_dest, $id_cn_dest, $arret);
                    if ($msg == "") {
                        $msg = "Devoir copié : <a href='saisie_notes.php?id_groupe={$id_groupe_dest}&periode_num={$periode_num_dest}'>{$lig_dev_src->nom_court}</a>.<br />";
                    }
                }
            }
        }
    }
}
//require('cc_lib.php');
//$themessage  = 'Des notes ont été modifiées. Voulez-vous vraiment quitter sans enregistrer ?';
//**************** EN-TETE *****************
$titre_page = "Copie de devoir";
require_once "../lib/header.inc.php";
//**************** FIN EN-TETE *****************
//debug_var();
예제 #6
0
                 }
                 $insert_note = mysqli_query($GLOBALS["mysqli"], $sql);
                 if ($insert_note) {
                     $nb_notes++;
                 }
             }
             echo " {$nb_notes} note(s) générée(s)";
         }
     } else {
         echo "<span style='color:red;'>ECHEC</span>";
     }
     echo "<br />";
 }
 echo "Mise à jour des moyennes de conteneurs.<br />";
 $arret = 'no';
 mise_a_jour_moyennes_conteneurs($current_group_dest, $lig_ccn_src->periode, $id_cahier_notes_dest, $id_cahier_notes_dest, $arret);
 foreach ($reg_eleves[$lig_ccn_src->periode] as $login_ele) {
     $sql = "SELECT * FROM cn_notes_conteneurs WHERE login='******' AND id_conteneur='{$id_cahier_notes_dest}' AND statut='y'";
     $res_moy_carnet = mysqli_query($GLOBALS["mysqli"], $sql);
     if (mysqli_num_rows($res_moy_carnet) == 0) {
         $moy_carnet = "-";
     } else {
         $lig_moy_carnet = mysqli_fetch_object($res_moy_carnet);
         $moy_carnet = $lig_moy_carnet->note;
         $sql = "DELETE FROM matieres_notes WHERE id_groupe='" . $id_groupe_dest[$i] . "' AND login='******' AND periode='{$lig_ccn_src->periode}';";
         $menage = mysqli_query($GLOBALS["mysqli"], $sql);
         $sql = "INSERT INTO matieres_notes SET id_groupe='" . $id_groupe_dest[$i] . "', login='******', periode='{$lig_ccn_src->periode}', note='{$moy_carnet}';";
         //echo "$sql<br />";
         $insert = mysqli_query($GLOBALS["mysqli"], $sql);
         if ($moy_carnet >= 15) {
             $sql = "DELETE FROM matieres_appreciations WHERE id_groupe='" . $id_groupe_dest[$i] . "' AND login='******' AND periode='{$lig_ccn_src->periode}';";