예제 #1
0
    // (re)calculer les moyennes de classe concernées
    if (count($tab_epreuves_maj)) {
        $listing_epreuves_maj = implode(',', $tab_epreuves_maj);
        $DB_TAB = DB_STRUCTURE_BREVET::DB_lister_brevet_notes_epreuves_classe($serie_ref, $listing_epreuves_maj, $classe_id);
        if (count($DB_TAB)) {
            $tab_notes_considerees = array();
            foreach ($DB_TAB as $DB_ROW) {
                if (is_numeric($DB_ROW['saisie_note'])) {
                    $tab_notes_considerees[$DB_ROW['brevet_epreuve_code']][$DB_ROW['saisie_type']][] = (double) $DB_ROW['saisie_note'];
                }
            }
            foreach ($tab_notes_considerees as $epreuve_code => $tab_saisie_type) {
                if (isset($tab_saisie_type['eleve'])) {
                    $moyenne_classe_epreuve = round(array_sum($tab_saisie_type['eleve']) / count($tab_saisie_type['eleve']), 1);
                    if (!isset($tab_saisie_type['classe'])) {
                        // Ajouter la moyenne de classe
                        DB_STRUCTURE_BREVET::DB_ajouter_brevet_note($serie_ref, $epreuve_code, 'classe', $classe_id, $tab_notes_transmises[$epreuve_code]['matieres_id'], $moyenne_classe_epreuve);
                    } elseif ($tab_saisie_type['classe'][0] != $moyenne_classe_epreuve) {
                        // Mettre à jour la moyenne de classe
                        DB_STRUCTURE_BREVET::DB_modifier_brevet_note($serie_ref, $epreuve_code, 'classe', $classe_id, $tab_notes_transmises[$epreuve_code]['matieres_id'], $moyenne_classe_epreuve);
                    }
                } elseif (isset($tab_saisie_type['classe'])) {
                    // Retirer la moyenne de classe
                    DB_STRUCTURE_BREVET::DB_supprimer_brevet_saisie($serie_ref, $epreuve_code, 'classe', $classe_id);
                }
            }
        }
    }
    // game over
    exit(implode('¤', $tab_td));
}