Esempio n. 1
0
    exit('La date de début est postérieure à la date de fin !');
}
$tab_precision_retroactif = array('auto' => 'notes antérieures selon référentiels', 'oui' => 'avec notes antérieures', 'non' => 'sans notes antérieures', 'annuel' => 'notes antérieures de l\'année scolaire');
$precision_socle = $only_socle ? ', restriction au socle' : '';
$precision_niveau = $only_niveau ? ', restriction au niveau de l\'élève' : '';
$texte_periode = 'Du ' . $date_debut . ' au ' . $date_fin . '.';
$texte_precision = $tab_precision_retroactif[$retroactif] . $precision_socle . $precision_niveau . '.';
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Récupération de la liste des items travaillés durant la période choisie, pour les élèves selectionnés, toutes matières confondues
// Récupération de la liste des synthèses concernées (nom de thèmes ou de domaines suivant les référentiels)
// Récupération de la liste des matières concernées
// ////////////////////////////////////////////////////////////////////////////////////////////////////
if (empty($is_appreciation_groupe)) {
    if ($synthese_modele == 'matiere') {
        list($tab_item, $tab_synthese) = DB_STRUCTURE_BILAN::DB_recuperer_arborescence_synthese($liste_eleve, $matiere_id, $only_socle, $only_niveau, $mode_synthese, $fusion_niveaux, $date_mysql_debut, $date_mysql_fin);
        $tab_matiere[$matiere_id] = array('matiere_nom' => $matiere_nom, 'matiere_nb_demandes' => DB_STRUCTURE_DEMANDE::DB_recuperer_demandes_autorisees_matiere($matiere_id));
    } elseif ($synthese_modele == 'multimatiere') {
        $matiere_id = 0;
        list($tab_item, $tab_synthese, $tab_matiere) = DB_STRUCTURE_BILAN::DB_recuperer_arborescence_synthese($liste_eleve, $matiere_id, $only_socle, $only_niveau, 'predefini', $fusion_niveaux, $date_mysql_debut, $date_mysql_fin);
    }
} else {
    // Dans le cas d'une saisie globale sur le groupe, il faut "juste" récupérer les matières concernées.
    $liste_matiere_id = isset($liste_matiere_id) ? $liste_matiere_id : '';
    $DB_TAB = DB_STRUCTURE_BILAN::DB_recuperer_matieres_travaillees($classe_id, $liste_matiere_id, $date_mysql_debut, $date_mysql_fin);
    foreach ($DB_TAB as $DB_ROW) {
        $tab_matiere[$DB_ROW['rubrique_id']] = array('matiere_nom' => $DB_ROW['rubrique_nom'], 'matiere_nb_demandes' => NULL);
    }
}
$item_nb = count($tab_item);
if (!$item_nb && !$make_officiel) {
    exit('Aucun item évalué sur la période ' . $date_debut . ' ~ ' . $date_fin . ' selon les paramètres choisis !');
    if ($result !== TRUE) {
        exit($result);
    }
    // Retour
    exit('ok' . ']¤[' . FileSystem::$file_saved_name . ']¤[' . URL_DIR_IMPORT . FileSystem::$file_saved_name);
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Un élève confirme l'ajout d'une demande d'évaluation
// ////////////////////////////////////////////////////////////////////////////////////////////////////
if ($action == 'confirmer_ajout' && $matiere_id && $item_id && $prof_id !== -1 && $score !== -2) {
    // Vérifier que cet item n'est pas déjà en attente d'évaluation pour cet élève
    if (DB_STRUCTURE_DEMANDE::DB_tester_demande_existante($_SESSION['USER_ID'], $matiere_id, $item_id)) {
        exit('<label class="erreur">Cette demande est déjà enregistrée !</label>');
    }
    // Vérifier que les demandes sont autorisées pour cette matière
    $nb_demandes_autorisees = DB_STRUCTURE_DEMANDE::DB_recuperer_demandes_autorisees_matiere($matiere_id);
    if (!$nb_demandes_autorisees) {
        exit('<label class="erreur">Vous ne pouvez pas formuler de demandes pour les items cette matière.</label>');
    }
    // Vérifier qu'il reste des demandes disponibles pour l'élève et la matière concernés
    $nb_demandes_formulees = DB_STRUCTURE_DEMANDE::DB_compter_demandes_formulees_eleve_matiere($_SESSION['USER_ID'], $matiere_id);
    $nb_demandes_possibles = max(0, $nb_demandes_autorisees - $nb_demandes_formulees);
    if (!$nb_demandes_possibles) {
        $reponse = $nb_demandes_formulees > 1 ? '<label class="erreur">Vous avez déjà formulé les ' . $nb_demandes_formulees . ' demandes autorisées pour cette matière.</label><br /><a href="./index.php?page=evaluation_demande_eleve">Veuillez en supprimer avant d\'en ajouter d\'autres !</a>' : 'Vous avez déjà formulé la demande autorisée pour cette matière.<br /><a href="./index.php?page=evaluation_demande_eleve">Veuillez la supprimer avant d\'en demander une autre !</a>';
        exit($reponse);
    }
    // Vérifier que cet item n'est pas interdit à la sollitation ; récupérer au passage sa référence et son nom
    $DB_ROW = DB_STRUCTURE_DEMANDE::DB_recuperer_item_infos($item_id);
    if ($DB_ROW['item_cart'] == 0) {
        exit('<label class="erreur">La demande de cet item est interdite !</label>');
    }