Пример #1
0
                echo "<span style='color:green'>OK</span>";
            } else {
                echo "<span style='color:red'>ECHEC</span>";
            }
            echo "</p>\n";
            // Il y aura des rangs à recalculer
            $affiche_categories = true;
            $test_coef = mysqli_num_rows(mysqli_query($GLOBALS["mysqli"], "SELECT coef FROM j_groupes_classes WHERE (id_classe='" . $id_classe . "' and coef > 0)"));
            include "../lib/calcul_rang.inc.php";
            $periode_num = $temp_periode_num;
        }
        echo "<p><br /></p>\n";
        // CPE à modifier?
        // Prof principal à modifier?
        $ancre_login_eleve = my_ereg_replace("[^A-Za-z0-9_]", "", $login_eleve);
        $gepi_prof_suivi = ucfirst(retourne_denomination_pp($id_future_classe));
        echo "<p>N'oubliez pas de contrôler/corriger les associations CPE et " . $gepi_prof_suivi . " pour cet élève: <a href='classes_const.php?id_classe={$id_future_classe}#{$ancre_login_eleve}'>{$classe_future}</a></p>\n";
        // Ménage:
        $sql = "SELECT id FROM infos_actions WHERE titre LIKE 'Changement de classe %({$login_eleve})';";
        $res_actions = mysqli_query($GLOBALS["mysqli"], $sql);
        if (mysqli_num_rows($res_actions) > 0) {
            while ($lig_action = mysqli_fetch_object($res_actions)) {
                $menage = del_info_action($lig_action->id);
                if (!$menage) {
                    $msg .= "Erreur lors de la suppression de l'action en attente en page d'accueil à propos de {$login_eleve}<br />";
                }
            }
        }
    }
}
echo "<p><br /></p>\n";
Пример #2
0
if ($_SESSION['statut'] != 'administrateur' && $_SESSION['statut'] != 'scolarite' && $_SESSION['statut'] != "professeur") {
    echo "<p style='color:red;'>Accès non autorisé.</p>";
    die;
}
if ($_SESSION['statut'] == "professeur") {
    if (getSettingValue('GepiAccesRestrAccesAppProfP') != "yes") {
        $msg = "Accès interdit au paramétrage des accès aux appréciations/avis pour les parents et élèves.";
        header("Location: ../accueil.php?msg=" . rawurlencode($msg));
        die;
    }
    $id_classe = isset($_GET['id_classe']) ? $_GET['id_classe'] : NULL;
    // A REVOIR : Si !isset($id_classe)
    $sql = "SELECT 1=1 FROM j_eleves_professeurs jep, j_eleves_classes jec\n\t\t\t\t\tWHERE jep.professeur='" . $_SESSION['login'] . "' AND\n\t\t\t\t\t\tjep.login=jec.login AND\n\t\t\t\t\t\tjec.id_classe='{$id_classe}';";
    $test = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($test) == 0) {
        $gepi_prof_suivi = retourne_denomination_pp($id_classe);
        $msg = "Vous n'êtes pas " . $gepi_prof_suivi . " de la classe choisie.<br />Vous ne devriez donc pas accéder à cette page.";
        header("Location: ../accueil.php?msg=" . rawurlencode($msg));
        die;
    }
} elseif ($_SESSION['statut'] == 'scolarite') {
    $id_classe = isset($_GET['id_classe']) ? $_GET['id_classe'] : NULL;
    // A REVOIR : Si !isset($id_classe)
    $sql = "SELECT 1=1 FROM j_scol_classes jsc\n\t\t\t\t\t\tWHERE jsc.login='******'login'] . "' AND\n\t\t\t\t\t\t\tjsc.id_classe='{$id_classe}';";
    $test = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($test) == 0) {
        $msg = "Vous n'êtes pas responsable de la classe choisie.<br />Vous ne devriez donc pas accéder à cette page.";
        header("Location: ../accueil.php?msg=" . rawurlencode($msg));
        die;
    }
}
Пример #3
0
$suhosin_post_max_totalname_length = ini_get('suhosin.post.max_totalname_length');
if ($suhosin_post_max_totalname_length != '') {
    $classes_ajout_sans_regime = "y";
}
$sql = "SELECT classe FROM classes WHERE id = '{$id_classe}';";
$call_classe = mysqli_query($GLOBALS["mysqli"], $sql);
if (mysqli_num_rows($call_classe) == 0) {
    echo "La classe n°{$id_classe} (id_classe) n'existe pas.<br />\n";
    die;
}
$classe = old_mysql_result($call_classe, "0", "classe");
include "../lib/periodes.inc.php";
if (isset($is_posted) and $is_posted == 1) {
    check_token();
    //$gepiProfSuivi=getSettingValue("gepi_prof_suivi");
    $gepiProfSuivi = ucfirst(retourne_denomination_pp($id_classe));
    $call_eleves = mysqli_query($GLOBALS["mysqli"], "SELECT login, id_eleve FROM eleves ORDER BY nom, prenom;");
    $nombreligne = mysqli_num_rows($call_eleves);
    /*
    $_POST['regime_1442']=	d/p
    $_POST['ajout_eleve_1442']=	Array (*)
    $_POST[ajout_eleve_1442]['1']=	yes
    $_POST['regime_1441']=	d/p
    $_POST['doublant_eleve_1441']=	R
    */
    $reg_data = 'yes';
    $tab_ele_sans_cpe_defini = array();
    $tab_ele_sans_pp_defini = array();
    $k = '0';
    while ($k < $nombreligne) {
        $pb = 'no';
$mes_groupes = get_groups_for_prof($_SESSION['login'], NULL, array('classes', 'periodes', 'visibilite'));
$tmp_mes_classes = array();
$tmp_mes_classes_pp = array();
foreach ($mes_groupes as $tmp_group) {
    foreach ($tmp_group["classes"]["classes"] as $key_id_classe => $value_tab_classe) {
        if (!in_array($value_tab_classe['classe'], $tmp_mes_classes)) {
            $tmp_mes_classes[$key_id_classe] = $value_tab_classe['classe'];
            $tmp_mes_classes_pp[$key_id_classe] = "";
            $sql = "SELECT DISTINCT u.nom,u.prenom,u.civilite FROM utilisateurs u, j_eleves_classes jec, j_eleves_professeurs jep WHERE u.login=jep.professeur AND jep.login=jec.login AND jec.id_classe='{$key_id_classe}' ORDER BY u.nom,u.prenom;";
            $res = mysqli_query($mysqli, $sql);
            if ($res->num_rows > 0) {
                while ($lig = $res->fetch_object()) {
                    if ($tmp_mes_classes_pp[$key_id_classe] != '') {
                        $tmp_mes_classes_pp[$key_id_classe] .= ", ";
                    }
                    $tmp_mes_classes_pp[$key_id_classe] .= "<span title=\"{$lig->civilite} {$lig->nom} {$lig->prenom} : " . retourne_denomination_pp($key_id_classe) . " de la " . $value_tab_classe['classe'] . "\">" . $lig->nom . " " . mb_substr($lig->prenom, 0, 1) . "</span>";
                }
            }
            $res->close();
        }
    }
}
// Pour permettre d'utiliser le module EdT avec les autres modules
$groupe_abs = $groupe_text = '';
if (getSettingValue("autorise_edt_tous") == "y") {
    // Actuellement, ce professeur à ce cours (id_cours):
    $cours_actu = retourneCours($_SESSION["login"]);
    // Qui correspond à cet id_groupe :
    if ($cours_actu != "non") {
        $sqlG = "SELECT id_groupe, id_aid FROM edt_cours WHERE id_cours = '" . $cours_actu . "'";
        $queryG = mysqli_query($mysqli, $sqlG);
Пример #5
0
function bull_exb($tab_ele, $i)
{
    global $gepi_prof_suivi, $RneEtablissement, $gepiSchoolName, $gepiSchoolAdress1, $gepiSchoolAdress2, $gepiSchoolZipCode, $gepiSchoolCity, $gepiSchoolPays, $gepiSchoolTel, $gepiSchoolFax, $gepiSchoolEmail, $gepiYear, $logo_etab, $bull_intitule_app, $bull_formule_bas, $un_seul_bull_par_famille, $compteur_bulletins, $date_bulletin, $tab_modele_pdf, $use_cell_ajustee, $pdf;
    //= = = == = = == = = == = = == = = == = = == = = == = = == = = == = = ==
    // Préparation des lignes d'adresse
    //echo "\$i=$i et \$nb_bulletins=$nb_bulletins<br />";
    // Initialisation:
    for ($loop = 0; $loop <= 1; $loop++) {
        $tab_adr_ligne1[$loop] = "";
        $tab_adr_ligne2[$loop] = "";
        $tab_adr_ligne3[$loop] = "";
        $tab_adr_ligne4[$loop] = "";
        $tab_adr_ligne5[$loop] = "";
        $tab_adr_ligne6[$loop] = "";
    }
    // ON N'UTILISE PAS LE CHAMP adr4 DE L'ADRESSE DANS resp_adr
    // IL FAUDRA VOIR COMMENT LE RECUPERER
    if (!isset($tab_ele['resp'][0])) {
        //$tab_adr_ligne1[0]="<font color='red'><b>ADRESSE MANQUANTE</b></font>";
        $tab_adr_ligne1[0] = "ADRESSE MANQUANTE";
        $tab_adr_ligne2[0] = "";
        $tab_adr_ligne3[0] = "";
        $tab_adr_ligne4[0] = "";
        $tab_adr_ligne5[0] = "";
        // Initialisation parce qu'on a des blagues s'il n'y a pas de resp:
        $nb_bulletins = 1;
    } else {
        if (isset($tab_ele['resp'][1])) {
            if (isset($tab_ele['resp'][1]['adr1']) && isset($tab_ele['resp'][1]['adr2']) && isset($tab_ele['resp'][1]['adr3']) && isset($tab_ele['resp'][1]['adr4']) && isset($tab_ele['resp'][1]['cp']) && isset($tab_ele['resp'][1]['commune'])) {
                // Le deuxième responsable existe et est renseigné
                if ($tab_ele['resp'][0]['adr_id'] == $tab_ele['resp'][1]['adr_id'] or $tab_ele['resp'][0]['adr1'] == $tab_ele['resp'][1]['adr1'] && $tab_ele['resp'][0]['adr2'] == $tab_ele['resp'][1]['adr2'] && $tab_ele['resp'][0]['adr3'] == $tab_ele['resp'][1]['adr3'] && $tab_ele['resp'][0]['adr4'] == $tab_ele['resp'][1]['adr4'] && $tab_ele['resp'][0]['cp'] == $tab_ele['resp'][1]['cp'] && $tab_ele['resp'][0]['commune'] == $tab_ele['resp'][1]['commune']) {
                    // Les adresses sont identiques
                    $nb_bulletins = 1;
                    if ($tab_ele['resp'][0]['nom'] != $tab_ele['resp'][1]['nom'] && $tab_ele['resp'][1]['nom'] != "") {
                        // Les noms des responsables sont différents
                        $tab_adr_ligne1[0] = $tab_ele['resp'][0]['civilite'] . " " . $tab_ele['resp'][0]['nom'] . " " . $tab_ele['resp'][0]['prenom'] . " et " . $tab_ele['resp'][1]['civilite'] . " " . $tab_ele['resp'][1]['nom'] . " " . $tab_ele['resp'][1]['prenom'];
                        /*
                        $tab_adr_ligne1[0]=$tab_ele['resp'][0]['civilite']." ".$tab_ele['resp'][0]['nom']." ".$tab_ele['resp'][0]['prenom'];
                        //$tab_adr_ligne1[0].=" et ";
                        $tab_adr_ligne1[0].="<br />\n";
                        $tab_adr_ligne1[0].="et ";
                        $tab_adr_ligne1[0].=$tab_ele['resp'][1]['civilite']." ".$tab_ele['resp'][1]['nom']." ".$tab_ele['resp'][1]['prenom'];
                        */
                    } else {
                        if ($tab_ele['resp'][0]['civilite'] != "" && $tab_ele['resp'][1]['civilite'] != "") {
                            $tab_adr_ligne1[0] = $tab_ele['resp'][0]['civilite'] . " et " . $tab_ele['resp'][1]['civilite'] . " " . $tab_ele['resp'][0]['nom'] . " " . $tab_ele['resp'][0]['prenom'];
                        } else {
                            $tab_adr_ligne1[0] = "M. et Mme " . $tab_ele['resp'][0]['nom'] . " " . $tab_ele['resp'][0]['prenom'];
                        }
                    }
                    $tab_adr_ligne2[0] = $tab_ele['resp'][0]['adr1'];
                    if ($tab_ele['resp'][0]['adr2'] != "") {
                        $tab_adr_ligne3[0] = $tab_ele['resp'][0]['adr2'];
                    }
                    if ($tab_ele['resp'][0]['adr3'] != "") {
                        $tab_adr_ligne4[0] = $tab_ele['resp'][0]['adr3'];
                    }
                    $tab_adr_ligne5[0] = $tab_ele['resp'][0]['cp'] . " " . $tab_ele['resp'][0]['commune'];
                    if ($tab_ele['resp'][0]['pays'] != "" && mb_strtolower($tab_ele['resp'][0]['pays']) != mb_strtolower($gepiSchoolPays)) {
                        $tab_adr_ligne6[0] = $tab_ele['resp'][0]['pays'];
                    }
                } else {
                    // Les adresses sont différentes
                    //if ($un_seul_bull_par_famille!="oui") {
                    // On teste en plus si la deuxième adresse est valide
                    if ($un_seul_bull_par_famille != "oui" && $tab_ele['resp'][1]['adr1'] != "" && $tab_ele['resp'][1]['commune'] != "") {
                        $nb_bulletins = 2;
                    } else {
                        $nb_bulletins = 1;
                    }
                    for ($cpt = 0; $cpt < $nb_bulletins; $cpt++) {
                        if ($tab_ele['resp'][$cpt]['civilite'] != "") {
                            $tab_adr_ligne1[$cpt] = $tab_ele['resp'][$cpt]['civilite'] . " " . $tab_ele['resp'][$cpt]['nom'] . " " . $tab_ele['resp'][$cpt]['prenom'];
                        } else {
                            $tab_adr_ligne1[$cpt] = $tab_ele['resp'][$cpt]['nom'] . " " . $tab_ele['resp'][$cpt]['prenom'];
                        }
                        $tab_adr_ligne2[$cpt] = $tab_ele['resp'][$cpt]['adr1'];
                        if ($tab_ele['resp'][$cpt]['adr2'] != "") {
                            $tab_adr_ligne3[$cpt] = $tab_ele['resp'][$cpt]['adr2'];
                        }
                        if ($tab_ele['resp'][$cpt]['adr3'] != "") {
                            $tab_adr_ligne4[$cpt] = $tab_ele['resp'][$cpt]['adr3'];
                        }
                        $tab_adr_ligne5[$cpt] = $tab_ele['resp'][$cpt]['cp'] . " " . $tab_ele['resp'][$cpt]['commune'];
                        if ($tab_ele['resp'][$cpt]['pays'] != "" && mb_strtolower($tab_ele['resp'][$cpt]['pays']) != mb_strtolower($gepiSchoolPays)) {
                            $tab_adr_ligne6[$cpt] = $tab_ele['resp'][$cpt]['pays'];
                        }
                    }
                }
            } else {
                // Il n'y a pas de deuxième adresse, mais il y aurait un deuxième responsable???
                // CA NE DEVRAIT PAS ARRIVER ETANT DONNé LA REQUETE EFFECTUEE QUI JOINT resp_pers ET resp_adr...
                if ($un_seul_bull_par_famille != "oui") {
                    $nb_bulletins = 2;
                } else {
                    $nb_bulletins = 1;
                }
                for ($cpt = 0; $cpt < $nb_bulletins; $cpt++) {
                    if ($tab_ele['resp'][$cpt]['civilite'] != "") {
                        $tab_adr_ligne1[$cpt] = $tab_ele['resp'][$cpt]['civilite'] . " " . $tab_ele['resp'][$cpt]['nom'] . " " . $tab_ele['resp'][$cpt]['prenom'];
                    } else {
                        $tab_adr_ligne1[$cpt] = $tab_ele['resp'][$cpt]['nom'] . " " . $tab_ele['resp'][$cpt]['prenom'];
                    }
                    $tab_adr_ligne2[$cpt] = $tab_ele['resp'][$cpt]['adr1'];
                    if ($tab_ele['resp'][$cpt]['adr2'] != "") {
                        $tab_adr_ligne3[$cpt] = $tab_ele['resp'][$cpt]['adr2'];
                    }
                    if ($tab_ele['resp'][$cpt]['adr3'] != "") {
                        $tab_adr_ligne4[$cpt] = $tab_ele['resp'][$cpt]['adr3'];
                    }
                    $tab_adr_ligne5[$cpt] = $tab_ele['resp'][$cpt]['cp'] . " " . $tab_ele['resp'][$cpt]['commune'];
                    if ($tab_ele['resp'][$cpt]['pays'] != "" && mb_strtolower($tab_ele['resp'][$cpt]['pays']) != mb_strtolower($gepiSchoolPays)) {
                        $tab_adr_ligne6[$cpt] = $tab_ele['resp'][$cpt]['pays'];
                    }
                }
            }
        } else {
            // Il n'y a pas de deuxième responsable
            $nb_bulletins = 1;
            if ($tab_ele['resp'][0]['civilite'] != "") {
                $tab_adr_ligne1[0] = $tab_ele['resp'][0]['civilite'] . " " . $tab_ele['resp'][0]['nom'] . " " . $tab_ele['resp'][0]['prenom'];
            } else {
                $tab_adr_ligne1[0] = $tab_ele['resp'][0]['nom'] . " " . $tab_ele['resp'][0]['prenom'];
            }
            $tab_adr_ligne2[0] = $tab_ele['resp'][0]['adr1'];
            if ($tab_ele['resp'][0]['adr2'] != "") {
                $tab_adr_ligne3[0] = $tab_ele['resp'][0]['adr2'];
            }
            if ($tab_ele['resp'][0]['adr3'] != "") {
                $tab_adr_ligne4[0] = $tab_ele['resp'][0]['adr3'];
            }
            $tab_adr_ligne5[0] = $tab_ele['resp'][0]['cp'] . " " . $tab_ele['resp'][0]['commune'];
            if ($tab_ele['resp'][0]['pays'] != "" && mb_strtolower($tab_ele['resp'][0]['pays']) != mb_strtolower($gepiSchoolPays)) {
                $tab_adr_ligne6[0] = $tab_ele['resp'][0]['pays'];
            }
        }
    }
    //= = = == = = == = = == = = == = = == = = == = = == = = == = = == = = ==
    //+++++++++++++++++++++++++++++++++++++++++++
    // A FAIRE
    // Mettre ici une boucle pour $nb_bulletins
    // Et tenir compte par la suite de la demande d'intercaler le relevé de notes ou non
    //+++++++++++++++++++++++++++++++++++++++++++
    for ($num_resp_bull = 0; $num_resp_bull < $nb_bulletins; $num_resp_bull++) {
        //echo "debug";
        $pdf->AddPage();
        //ajout d'une page au document
        $pdf->SetFont('DejaVu');
        //= = = == = = == = = == = = == = = == = = == = = == = = =
        // On insère le footer dès que la page est créée:
        //Positionnement à 1 cm du bas et 0,5cm + 0,5cm du coté gauche
        $pdf->SetXY(5, -10);
        //Police DejaVu Gras 6
        $pdf->SetFont('DejaVu', 'B', 8);
        // $fomule = 'Bulletin à conserver précieusement. Aucun duplicata ne sera délivré. - GEPI : solution libre de gestion et de suivi des résultats scolaires.'
        $pdf->Cell(0, 4.5, $bull_formule_bas, 0, 0, 'C');
        //= = = == = = == = = == = = == = = == = = == = = == = = =
        // A VERIFIER: CETTE VARIABLE NE DOIT PAS ETRE UTILE
        // SI LES VALEURS AFFICHEES PROVIENNENT DE L'EXTRACTION HORS DE LA FONCTION
        $total_coef_en_calcul = 0;
        /*
        
        		// quand on change d'élève on vide les variables suivantes
        		$categorie_passe = '';
        		$total_moyenne_classe_en_calcul = 0;
        		$total_moyenne_min_en_calcul = 0;
        		$total_moyenne_max_en_calcul = 0;
        		$total_coef_en_calcul = 0;
        */
        // ...
        $hauteur_pris = 0;
        //= = = == = = == = = == = = == = = == = = == = = == = = == = = == = = ==
        // Récupération de l'identifiant de la classe:
        $classe_id = $tab_ele['id_classe'];
        //= = = == = = == = = == = = == = = == = = == = = == = = == = = == = = ==
        if ($tab_modele_pdf["affiche_filigrame"][$classe_id] == '1') {
            $pdf->SetFont('DejaVu', 'B', 50);
            $pdf->SetTextColor(255, 192, 203);
            //$pdf->TextWithRotation(40,190,$texte_filigrame[$classe_id],45);
            $pdf->TextWithRotation(40, 190, $tab_modele_pdf["texte_filigrame"][$classe_id], 45);
            $pdf->SetTextColor(0, 0, 0);
        }
        //= = = == = = == = = == = = == = = == = = == = = == = = == = = == = = ==
        // Bloc identification etablissement
        $logo = '../images/' . getSettingValue('logo_etab');
        $format_du_logo = strtolower(str_replace('.', '', strstr(getSettingValue('logo_etab'), '.')));
        // Logo
        if ($tab_modele_pdf["affiche_logo_etab"][$classe_id] == '1' and file_exists($logo) and getSettingValue('logo_etab') != '' and ($format_du_logo == 'jpg' or $format_du_logo == 'png')) {
            $valeur = redimensionne_image($logo, $tab_modele_pdf["L_max_logo"][$classe_id], $tab_modele_pdf["H_max_logo"][$classe_id]);
            //$valeur=redimensionne_image($logo, $L_max_logo, $H_max_logo);
            $X_logo = 5;
            $Y_logo = 5;
            $L_logo = $valeur[0];
            $H_logo = $valeur[1];
            $X_etab = $X_logo + $L_logo + 1;
            $Y_etab = $Y_logo;
            if (!isset($tab_modele_pdf["centrage_logo"][$classe_id]) or empty($tab_modele_pdf["centrage_logo"][$classe_id])) {
                $tab_modele_pdf["centrage_logo"][$classe_id] = '0';
            }
            if ($tab_modele_pdf["centrage_logo"][$classe_id] == '1') {
                // centrage du logo
                $centre_du_logo = $H_logo / 2;
                $Y_logo = $tab_modele_pdf["Y_centre_logo"][$classe_id] - $centre_du_logo;
            }
            //logo
            $pdf->Image($logo, $X_logo, $Y_logo, $L_logo, $H_logo);
        }
        //$pdf->SetXY(100,5);
        //$pdf->SetFont('DejaVu','',10);
        //$pdf->Cell(90,7, "\$format_du_logo=$format_du_logo",0,2,'');
        //= = = == = = == = = == = = == = = == = = == = = == = = == = = == = = ==
        // Adresse établissement
        if (!isset($X_etab) or empty($X_etab)) {
            $X_etab = '5';
            $Y_etab = '5';
        }
        $pdf->SetXY($X_etab, $Y_etab);
        $pdf->SetFont('DejaVu', '', 14);
        //$pdf->SetFont('DejaVu','',14);
        //= = = == = = == = = == = = == = = == = = ==
        // AJOUT: boireaus 20081224
        //        Ajout du test $tab_modele_pdf["affiche_nom_etab"][$classe_id] et $tab_modele_pdf["affiche_adresse_etab"][$classe_id]
        //= = = == = = == = = == = = == = = == = = ==
        //$tab_modele_pdf["affiche_nom_etab"][$classe_id]=0;
        if (isset($tab_modele_pdf["affiche_nom_etab"][$classe_id]) && $tab_modele_pdf["affiche_nom_etab"][$classe_id] != "0" || !isset($tab_modele_pdf["affiche_nom_etab"][$classe_id])) {
            // mettre en gras le nom de l'établissement si $nom_etab_gras = 1
            if ($tab_modele_pdf["nom_etab_gras"][$classe_id] == '1') {
                $pdf->SetFont('DejaVu', 'B', 14);
            }
            $pdf->Cell(90, 7, $gepiSchoolName, 0, 2, '');
        }
        //$pdf->SetFont('DejaVu','B',14);
        //$pdf->Cell(90,7, ($gepiSchoolName),0,2,'');
        //$tab_modele_pdf["affiche_adresse_etab"][$classe_id]=0;
        if (isset($tab_modele_pdf["affiche_adresse_etab"][$classe_id]) && $tab_modele_pdf["affiche_adresse_etab"][$classe_id] != "0" || !isset($tab_modele_pdf["affiche_adresse_etab"][$classe_id])) {
            $pdf->SetFont('DejaVu', '', 10);
            if ($gepiSchoolAdress1 != '') {
                $pdf->Cell(90, 5, $gepiSchoolAdress1, 0, 2, '');
            }
            if ($gepiSchoolAdress2 != '') {
                $pdf->Cell(90, 5, $gepiSchoolAdress2, 0, 2, '');
            }
            $pdf->Cell(90, 5, $gepiSchoolZipCode . " " . $gepiSchoolCity, 0, 2, '');
        }
        $passealaligne = '0';
        // entête téléphone
        // emplacement du cadre télécom
        $x_telecom = $pdf->GetX();
        $y_telecom = $pdf->GetY();
        if ($tab_modele_pdf["entente_tel"][$classe_id] == '1') {
            $grandeur = '';
            $text_tel = '';
            if ($tab_modele_pdf["tel_image"][$classe_id] != '') {
                $a = $pdf->GetX();
                $b = $pdf->GetY();
                $ima = '../images/imabulle/' . $tab_modele_pdf["tel_image"][$classe_id] . '.jpg';
                $valeurima = redimensionne_image($ima, 15, 15);
                $pdf->Image($ima, $a, $b, $valeurima[0], $valeurima[1]);
                $text_tel = '      ' . $gepiSchoolTel;
                $grandeur = $pdf->GetStringWidth($text_tel);
                $grandeur = $grandeur + 2;
            }
            if ($tab_modele_pdf["tel_texte"][$classe_id] != '' and $tab_modele_pdf["tel_image"][$classe_id] == '') {
                $text_tel = $tab_modele_pdf["tel_texte"][$classe_id] . '' . $gepiSchoolTel;
                $grandeur = $pdf->GetStringWidth($text_tel);
            }
            $pdf->Cell($grandeur, 5, $text_tel, 0, $passealaligne, '');
        }
        $passealaligne = '2';
        // entête fax
        if ($tab_modele_pdf["entente_fax"][$classe_id] == '1') {
            $text_fax = '';
            if ($tab_modele_pdf["fax_image"][$classe_id] != '') {
                $a = $pdf->GetX();
                $b = $pdf->GetY();
                $ima = '../images/imabulle/' . $tab_modele_pdf["fax_image"][$classe_id] . '.jpg';
                $valeurima = redimensionne_image($ima, 15, 15);
                $pdf->Image($ima, $a, $b, $valeurima[0], $valeurima[1]);
                $text_fax = '      ' . $gepiSchoolFax;
            }
            if ($tab_modele_pdf["fax_texte"][$classe_id] != '' and $tab_modele_pdf["fax_image"][$classe_id] == '') {
                $text_fax = $tab_modele_pdf["fax_texte"][$classe_id] . '' . $gepiSchoolFax;
            }
            //$text_fax='Fax : '.$gepiSchoolFax;
            $pdf->Cell(90, 5, $text_fax, 0, $passealaligne, '');
        }
        if ($tab_modele_pdf["entente_mel"][$classe_id] == '1') {
            $text_mel = '';
            $y_telecom = $y_telecom + 5;
            $pdf->SetXY($x_telecom, $y_telecom);
            $text_mel = $gepiSchoolEmail;
            if ($tab_modele_pdf["courrier_image"][$classe_id] != '') {
                $a = $pdf->GetX();
                $b = $pdf->GetY();
                $ima = '../images/imabulle/' . $tab_modele_pdf["courrier_image"][$classe_id] . '.jpg';
                $valeurima = redimensionne_image($ima, 15, 15);
                $pdf->Image($ima, $a, $b, $valeurima[0], $valeurima[1]);
                $text_mel = '      ' . $gepiSchoolEmail;
            }
            if ($tab_modele_pdf["courrier_texte"][$classe_id] != '' and $tab_modele_pdf["courrier_image"][$classe_id] == '') {
                $text_mel = $tab_modele_pdf["courrier_texte"][$classe_id] . ' ' . $gepiSchoolEmail;
            }
            //$text_mel='Email : '.$gepiSchoolEmail;
            $pdf->Cell(90, 5, $text_mel, 0, 2, '');
        }
        //$pdf->Cell($pdf->getX(),$pdf->getY(), "DEBUG",0,2,'');
        //echo "DEBUG";
        // = = = == = = == = = = FIN ENTETE BULLETIN = = = == = = == = = == = = == = = == = = ==
        //= = = == = = == = = == = = == = = == = = == = = == = = == = = == = = ==
        // A VOIR: REMPLACER LE $i PAR AUTRE CHOSE POUR EVITER LA COLLISION AVEC L'INDICE $i passé à la fonction
        //$i = $nb_eleve_aff;
        //$id_periode = $periode_classe[$id_classe_selection][$cpt_info_periode];
        //		$id_periode = $tab_bull['num_periode'];
        // AJOUT ERIC
        //$classe_id=$id_classe_selection;
        $pdf->SetFont('DejaVu', 'B', 12);
        // gestion des styles
        $pdf->SetStyle2("b", "DejaVu", "B", 8, "0,0,0");
        $pdf->SetStyle2("i", "DejaVu", "I", 8, "0,0,0");
        $pdf->SetStyle2("u", "DejaVu", "U", 8, "0,0,0");
        // style pour la case appréciation générale
        // identité du professeur principal
        if ($tab_modele_pdf["taille_profprincipal_bloc_avis_conseil"][$classe_id] != '' and $tab_modele_pdf["taille_profprincipal_bloc_avis_conseil"][$classe_id] < '15') {
            $taille = $tab_modele_pdf["taille_profprincipal_bloc_avis_conseil"][$classe_id];
        } else {
            $taille = '10';
        }
        //$taille = '10';
        $pdf->SetStyle2("bppc", "DejaVu", "B", $taille, "0,0,0");
        $pdf->SetStyle2("ippc", "DejaVu", "I", $taille, "0,0,0");
        // bloc affichage de l'adresse des parents
        //if($tab_modele_pdf["active_bloc_adresse_parent"][$classe_id]=='1') {
        if ($tab_modele_pdf["active_bloc_adresse_parent"][$classe_id] == '1') {
            //echo "DEBUG";
            $pdf->SetXY($tab_modele_pdf["X_parent"][$classe_id], $tab_modele_pdf["Y_parent"][$classe_id]);
            // définition des Largeur - hauteur
            if ($tab_modele_pdf["largeur_bloc_adresse"][$classe_id] != '' and $tab_modele_pdf["largeur_bloc_adresse"][$classe_id] != '0') {
                $longeur_cadre_adresse = $tab_modele_pdf["largeur_bloc_adresse"][$classe_id];
            } else {
                $longeur_cadre_adresse = '90';
            }
            if ($tab_modele_pdf["hauteur_bloc_adresse"][$classe_id] != '' and $tab_modele_pdf["hauteur_bloc_adresse"][$classe_id] != '0') {
                $hauteur_cadre_adresse = $tab_modele_pdf["hauteur_bloc_adresse"][$classe_id];
            } else {
                $hauteur_cadre_adresse = '1';
            }
            //= = = == = = == = = == = = == = = == = = ==
            $texte_1_responsable = trim($tab_adr_ligne1[$num_resp_bull]);
            //echo " - $texte_1_responsable -";
            $hauteur_caractere = 12;
            $pdf->SetFont('DejaVu', 'B', $hauteur_caractere);
            $val = $pdf->GetStringWidth($texte_1_responsable);
            $taille_texte = $longeur_cadre_adresse;
            $grandeur_texte = 'test';
            while ($grandeur_texte != 'ok') {
                if ($taille_texte < $val) {
                    $hauteur_caractere = $hauteur_caractere - 0.3;
                    $pdf->SetFont('DejaVu', 'B', $hauteur_caractere);
                    $val = $pdf->GetStringWidth($texte_1_responsable);
                } else {
                    $grandeur_texte = 'ok';
                }
            }
            $pdf->Cell(90, 7, $texte_1_responsable, 0, 2, '');
            $texte_1_responsable = $tab_adr_ligne2[$num_resp_bull];
            $hauteur_caractere = 10;
            $pdf->SetFont('DejaVu', '', $hauteur_caractere);
            $val = $pdf->GetStringWidth($texte_1_responsable);
            $taille_texte = $longeur_cadre_adresse;
            $grandeur_texte = 'test';
            while ($grandeur_texte != 'ok') {
                if ($taille_texte < $val) {
                    $hauteur_caractere = $hauteur_caractere - 0.3;
                    $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                    $val = $pdf->GetStringWidth($texte_1_responsable);
                } else {
                    $grandeur_texte = 'ok';
                }
            }
            $pdf->Cell(90, 5, $texte_1_responsable, 0, 2, '');
            $texte_1_responsable = $tab_adr_ligne3[$num_resp_bull];
            $hauteur_caractere = 10;
            $pdf->SetFont('DejaVu', '', $hauteur_caractere);
            $val = $pdf->GetStringWidth($texte_1_responsable);
            $taille_texte = $longeur_cadre_adresse;
            $grandeur_texte = 'test';
            while ($grandeur_texte != 'ok') {
                if ($taille_texte < $val) {
                    $hauteur_caractere = $hauteur_caractere - 0.3;
                    $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                    $val = $pdf->GetStringWidth($texte_1_responsable);
                } else {
                    $grandeur_texte = 'ok';
                }
            }
            $pdf->Cell(90, 5, $texte_1_responsable, 0, 2, '');
            // Suppression du saut de ligne pour mettre la ligne 3 de l'adresse
            //$pdf->Cell(90,5, '',0,2,'');
            $texte_1_responsable = $tab_adr_ligne4[$num_resp_bull];
            $hauteur_caractere = 10;
            $pdf->SetFont('DejaVu', '', $hauteur_caractere);
            $val = $pdf->GetStringWidth($texte_1_responsable);
            $taille_texte = $longeur_cadre_adresse;
            $grandeur_texte = 'test';
            while ($grandeur_texte != 'ok') {
                if ($taille_texte < $val) {
                    $hauteur_caractere = $hauteur_caractere - 0.3;
                    $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                    $val = $pdf->GetStringWidth($texte_1_responsable);
                } else {
                    $grandeur_texte = 'ok';
                }
            }
            $pdf->Cell(90, 5, $texte_1_responsable, 0, 2, '');
            //$texte_1_responsable = $cp_parents[$ident_eleve_aff][$responsable_place]." ".$ville_parents[$ident_eleve_aff][$responsable_place];
            $texte_1_responsable = $tab_adr_ligne5[$num_resp_bull];
            $hauteur_caractere = 10;
            $pdf->SetFont('DejaVu', '', $hauteur_caractere);
            $val = $pdf->GetStringWidth($texte_1_responsable);
            $taille_texte = $longeur_cadre_adresse;
            $grandeur_texte = 'test';
            while ($grandeur_texte != 'ok') {
                if ($taille_texte < $val) {
                    $hauteur_caractere = $hauteur_caractere - 0.3;
                    $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                    $val = $pdf->GetStringWidth($texte_1_responsable);
                } else {
                    $grandeur_texte = 'ok';
                }
            }
            $pdf->Cell(90, 5, $texte_1_responsable, 0, 2, '');
            //= = = == = = == = = == = = == = = == = = == = = =
            if (isset($tab_adr_ligne6[$num_resp_bull])) {
                $texte_1_responsable = $tab_adr_ligne6[$num_resp_bull];
                $hauteur_caractere = 10;
                $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                $val = $pdf->GetStringWidth($texte_1_responsable);
                $taille_texte = $longeur_cadre_adresse;
                $grandeur_texte = 'test';
                while ($grandeur_texte != 'ok') {
                    if ($taille_texte < $val) {
                        $hauteur_caractere = $hauteur_caractere - 0.3;
                        $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                        $val = $pdf->GetStringWidth($texte_1_responsable);
                    } else {
                        $grandeur_texte = 'ok';
                    }
                }
                $pdf->Cell(90, 5, $texte_1_responsable, 0, 2, '');
            }
            //= = = == = = == = = == = = == = = == = = == = = =
            $texte_1_responsable = '';
            if ($tab_modele_pdf["cadre_adresse"][$classe_id] != 0) {
                $pdf->Rect($tab_modele_pdf["X_parent"][$classe_id], $tab_modele_pdf["Y_parent"][$classe_id], $longeur_cadre_adresse, $hauteur_cadre_adresse, 'D');
            }
        }
        //= = = == = = == = = == = = == = = == = = == = = == = = == = = == = = ==
        // Bloc affichage information sur l'élève
        if ($tab_modele_pdf["active_bloc_eleve"][$classe_id] == '1') {
            $pdf->SetXY($tab_modele_pdf["X_eleve"][$classe_id], $tab_modele_pdf["Y_eleve"][$classe_id]);
            // définition des Lageur - hauteur
            if ($tab_modele_pdf["largeur_bloc_eleve"][$classe_id] != '' and $tab_modele_pdf["largeur_bloc_eleve"][$classe_id] != '0') {
                $longeur_cadre_eleve = $tab_modele_pdf["largeur_bloc_eleve"][$classe_id];
            } else {
                $longeur_cadre_eleve = $pdf->GetStringWidth($tab_ele['nom'] . " " . $tab_ele['prenom']);
                $rajout_cadre_eleve = 100 - $longeur_cadre_eleve;
                $longeur_cadre_eleve = $longeur_cadre_eleve + $rajout_cadre_eleve;
            }
            if ($tab_modele_pdf["hauteur_bloc_eleve"][$classe_id] != '' and $tab_modele_pdf["hauteur_bloc_eleve"][$classe_id] != '0') {
                $hauteur_cadre_eleve = $tab_modele_pdf["hauteur_bloc_eleve"][$classe_id];
            } else {
                $nb_ligne = 5;
                $hauteur_ligne = 6;
                $hauteur_cadre_eleve = $nb_ligne * $hauteur_ligne;
            }
            $pdf->SetFont('DejaVu', 'B', 14);
            if ($tab_modele_pdf["cadre_eleve"][$classe_id] != 0) {
                $pdf->Rect($tab_modele_pdf["X_eleve"][$classe_id], $tab_modele_pdf["Y_eleve"][$classe_id], $longeur_cadre_eleve, $hauteur_cadre_eleve, 'D');
            }
            $X_eleve_2 = $tab_modele_pdf["X_eleve"][$classe_id];
            $Y_eleve_2 = $tab_modele_pdf["Y_eleve"][$classe_id];
            //photo de l'élève
            if (!isset($tab_modele_pdf["ajout_cadre_blanc_photo"][$classe_id]) or empty($tab_modele_pdf["ajout_cadre_blanc_photo"][$classe_id])) {
                $tab_modele_pdf["ajout_cadre_blanc_photo"][$classe_id] = '0';
            }
            if ($tab_modele_pdf["ajout_cadre_blanc_photo"][$classe_id] == '1') {
                $ajouter = '1';
            } else {
                $ajouter = '0';
            }
            $photo[$i] = nom_photo($tab_ele['elenoet']);
            if (!$photo[$i]) {
                $photo[$i] = "";
            }
            if ($tab_modele_pdf["active_photo"][$classe_id] == '1' and $photo[$i] != '' and file_exists($photo[$i])) {
                $L_photo_max = ($hauteur_cadre_eleve - $ajouter * 2) * 2.8;
                $H_photo_max = ($hauteur_cadre_eleve - $ajouter * 2) * 2.8;
                $valeur = redimensionne_image($photo[$i], $L_photo_max, $H_photo_max);
                $X_photo = $tab_modele_pdf["X_eleve"][$classe_id] + 0.2 + $ajouter;
                $Y_photo = $tab_modele_pdf["Y_eleve"][$classe_id] + 0.25 + $ajouter;
                $L_photo = $valeur[0];
                $H_photo = $valeur[1];
                $X_eleve_2 = $tab_modele_pdf["X_eleve"][$classe_id] + $L_photo + $ajouter + 1;
                $Y_eleve_2 = $Y_photo;
                $pdf->Image($photo[$i], $X_photo, $Y_photo, $L_photo, $H_photo);
                $longeur_cadre_eleve = $longeur_cadre_eleve - ($valeur[0] + $ajouter);
            }
            $pdf->SetXY($X_eleve_2, $Y_eleve_2);
            $pdf->Cell(90, 7, $tab_ele['nom'] . " " . $tab_ele['prenom'], 0, 2, '');
            $pdf->SetFont('DejaVu', '', 10);
            if ($tab_modele_pdf["affiche_date_naissance"][$classe_id] == '1') {
                if ($tab_ele['naissance'] != "") {
                    $info_naissance = "Né";
                    if ($tab_ele['sexe'] == "F") {
                        $info_naissance .= "e";
                    }
                    $info_naissance .= " le " . $tab_ele['naissance'];
                    $pdf->Cell(90, 5, $info_naissance, 0, 2, '');
                }
            }
            $rdbt = '';
            if ($tab_modele_pdf["affiche_dp"][$classe_id] == '1') {
                if ($tab_modele_pdf["affiche_doublement"][$classe_id] == '1') {
                    //if($tab_ele['doublant']!="") {
                    if ($tab_ele['doublant'] == "R") {
                        //$rdbt=" ; ".$doublement[$i];
                        //$rdbt=" ; redoublant";
                        $rdbt = "redoublant";
                        if ($tab_ele['sexe'] == "F") {
                            $rdbt .= "e";
                        }
                    }
                    //if(isset($tab_ele['regime'])) {
                    if (isset($tab_ele['regime']) && $tab_ele['regime'] != "") {
                        if ($rdbt == "") {
                            $pdf->Cell(90, 4, regime($tab_ele['regime']), 0, 2, '');
                        } else {
                            $pdf->Cell(90, 4, regime($tab_ele['regime']) . "; " . $rdbt, 0, 2, '');
                        }
                    } else {
                        $pdf->Cell(90, 4, $rdbt, 0, 2, '');
                    }
                }
            } else {
                if ($tab_modele_pdf["affiche_doublement"][$classe_id] == '1') {
                    //if($tab_ele['doublant']!="") {
                    if ($tab_ele['doublant'] == "R") {
                        //$pdf->Cell(90,4.5, $doublement[$i],0,2,'');
                        //$rdbt=" ; redoublant";
                        $rdbt = "redoublant";
                        if ($tab_ele['sexe'] == "F") {
                            $rdbt .= "e";
                        }
                        $pdf->Cell(90, 4.5, $rdbt, 0, 2, '');
                    }
                }
            }
            // affiche le nom court de la classe
            if ($tab_modele_pdf["affiche_nom_court"][$classe_id] == '1') {
                if ($tab_ele['classe'] != "") {
                    // si l'affichage du numéro INE est activé alors on ne passe pas
                    $passe_a_la_ligne = 0;
                    //if ( $tab_modele_pdf["affiche_ine"][$classe_id] != '1' or $tab_modele_pdf["INE_eleve"][$i] == '' )
                    if ($tab_modele_pdf["affiche_ine"][$classe_id] != '1' or $tab_ele['no_gep'] == '') {
                        $passe_a_la_ligne = 1;
                    }
                    $pdf->Cell(45, 4.5, unhtmlentities($tab_ele['classe']), 0, $passe_a_la_ligne, '');
                }
            }
            // affiche l'INE de l'élève
            if ($tab_modele_pdf["affiche_ine"][$classe_id] == '1') {
                if ($tab_ele['no_gep'] != '') {
                    $pdf->Cell(45, 4.5, 'INE: ' . $tab_ele['no_gep'], 0, 1, '');
                }
            }
            // Affichage du numéro d'impression
            $pdf->SetX($X_eleve_2);
            if ($tab_modele_pdf["affiche_effectif_classe"][$classe_id] == '1') {
                if ($tab_modele_pdf["affiche_numero_impression"][$classe_id] == '1') {
                    $pass_ligne = '0';
                } else {
                    $pass_ligne = '2';
                }
                /*
                				if($tab_bull['eff_classe']!="") {
                					$pdf->Cell(45,4.5, ('Effectif : '.$tab_bull['eff_classe'].' élèves'),0,$pass_ligne,'');
                				}
                */
            }
            if ($tab_modele_pdf["affiche_numero_impression"][$classe_id] == '1') {
                //+++++++++++++++++++
                //+++++++++++++++++++
                // A VOIR... CE $i...
                // Si on n'imprime que certains bulletins, on récupère le numéro d'ordre (alphabétique) de l'élève dans la classe.
                //+++++++++++++++++++
                //+++++++++++++++++++
                //$num_ordre = $i;
                $num_ordre = $i + 1;
                $pdf->Cell(45, 4, 'Bulletin N° ' . $num_ordre, 0, 2, '');
            }
            // Affichage de l'établissement d'origine
            // On n'affiche pas l'établissement d'origine si c'est le même que l'établissement actuel: $RneEtablissement
            //if($tab_modele_pdf["affiche_etab_origine"][$classe_id]=='1' and !empty($etablissement_origine[$i]) ) {
            //if($tab_modele_pdf["affiche_etab_origine"][$classe_id]=='1' and isset($tab_ele['etab_id']) and !empty($tab_ele['etab_id']) ) {
            if ($tab_modele_pdf["affiche_etab_origine"][$classe_id] == '1' && isset($tab_ele['etab_id']) && !empty($tab_ele['etab_id']) && mb_strtolower($tab_ele['etab_id']) != mb_strtolower($RneEtablissement)) {
                $pdf->SetX($X_eleve_2);
                $hauteur_caractere_etaborigine = '10';
                $pdf->SetFont('DejaVu', '', $hauteur_caractere_etaborigine);
                $val = $pdf->GetStringWidth('Etab. Origine : ' . $tab_ele['etab_niveau'] . " " . $tab_ele['etab_nom'] . " (" . $tab_ele['etab_ville'] . ")");
                $taille_texte = $longeur_cadre_eleve - 3;
                $grandeur_texte = 'test';
                while ($grandeur_texte != 'ok') {
                    if ($taille_texte < $val) {
                        $hauteur_caractere_etaborigine = $hauteur_caractere_etaborigine - 0.3;
                        $pdf->SetFont('DejaVu', '', $hauteur_caractere_etaborigine);
                        $val = $pdf->GetStringWidth('Etab. Origine : ' . $tab_ele['etab_niveau'] . " " . $tab_ele['etab_nom'] . " (" . $tab_ele['etab_ville'] . ")");
                    } else {
                        $grandeur_texte = 'ok';
                    }
                }
                $grandeur_texte = 'test';
                $pdf->Cell(90, 4, 'Etab. Origine : ' . $tab_ele['etab_niveau'] . " " . $tab_ele['etab_nom'] . " (" . $tab_ele['etab_ville'] . ")", 0, 2);
                $pdf->SetFont('DejaVu', '', 10);
            }
        }
        // fin du bloc affichage information sur l'élèves
        //= = = == = = == = = == = = == = = == = = == = = == = = == = = == = = ==
        // Bloc affichage datation du bulletin:
        // Classe, période,...
        if ($tab_modele_pdf["active_bloc_datation"][$classe_id] == '1') {
            $pdf->SetXY($tab_modele_pdf["X_datation_bul"][$classe_id], $tab_modele_pdf["Y_datation_bul"][$classe_id]);
            // définition des Largeur - hauteur
            if ($tab_modele_pdf["largeur_bloc_datation"][$classe_id] != '' and $tab_modele_pdf["largeur_bloc_datation"][$classe_id] != '0') {
                $longeur_cadre_datation_bul = $tab_modele_pdf["largeur_bloc_datation"][$classe_id];
            } else {
                $longeur_cadre_datation_bul = '95';
            }
            if ($tab_modele_pdf["hauteur_bloc_datation"][$classe_id] != '' and $tab_modele_pdf["hauteur_bloc_datation"][$classe_id] != '0') {
                $hauteur_cadre_datation_bul = $tab_modele_pdf["hauteur_bloc_datation"][$classe_id];
            } else {
                $nb_ligne_datation_bul = 3;
                $hauteur_ligne_datation_bul = 6;
                $hauteur_cadre_datation_bul = $nb_ligne_datation_bul * $hauteur_ligne_datation_bul;
            }
            if ($tab_modele_pdf["cadre_datation_bul"][$classe_id] != 0) {
                $pdf->Rect($tab_modele_pdf["X_datation_bul"][$classe_id], $tab_modele_pdf["Y_datation_bul"][$classe_id], $longeur_cadre_datation_bul, $hauteur_cadre_datation_bul, 'D');
            }
            $taille_texte = '14';
            $type_texte = 'B';
            if ($tab_modele_pdf["taille_texte_classe"][$classe_id] != '' and $tab_modele_pdf["taille_texte_classe"][$classe_id] != '0') {
                $taille_texte = $tab_modele_pdf["taille_texte_classe"][$classe_id];
            } else {
                $taille_texte = '14';
            }
            if ($tab_modele_pdf["type_texte_classe"][$classe_id] != '') {
                if ($tab_modele_pdf["type_texte_classe"][$classe_id] == 'N') {
                    $type_texte = '';
                } else {
                    $type_texte = $tab_modele_pdf["type_texte_classe"][$classe_id];
                }
            } else {
                $type_texte = 'B';
            }
            $pdf->SetFont('DejaVu', $type_texte, $taille_texte);
            //$pdf->Cell(90,7, ("Classe de ".unhtmlentities($tab_bull['classe_nom_complet'])),0,2,'C');
            $pdf->Cell(90, 7, "Classe de " . unhtmlentities($tab_ele['classe_nom_complet']), 0, 2, 'C');
            $taille_texte = '12';
            $type_texte = '';
            if ($tab_modele_pdf["taille_texte_annee"][$classe_id] != '' and $tab_modele_pdf["taille_texte_annee"][$classe_id] != '0') {
                $taille_texte = $tab_modele_pdf["taille_texte_annee"][$classe_id];
            } else {
                $taille_texte = '12';
            }
            if ($tab_modele_pdf["type_texte_annee"][$classe_id] != '') {
                if ($tab_modele_pdf["type_texte_annee"][$classe_id] == 'N') {
                    $type_texte = '';
                } else {
                    $type_texte = $tab_modele_pdf["type_texte_annee"][$classe_id];
                }
            } else {
                $type_texte = '';
            }
            $pdf->SetFont('DejaVu', $type_texte, $taille_texte);
            $annee_scolaire = $gepiYear;
            $pdf->Cell(90, 5, "Année scolaire " . $annee_scolaire, 0, 2, 'C');
            $taille_texte = '10';
            $type_texte = '';
            if ($tab_modele_pdf["taille_texte_periode"][$classe_id] != '' and $tab_modele_pdf["taille_texte_periode"][$classe_id] != '0') {
                $taille_texte = $tab_modele_pdf["taille_texte_periode"][$classe_id];
            } else {
                $taille_texte = '10';
            }
            if ($tab_modele_pdf["type_texte_periode"][$classe_id] != '') {
                if ($tab_modele_pdf["type_texte_periode"][$classe_id] == 'N') {
                    $type_texte = '';
                } else {
                    $type_texte = $tab_modele_pdf["type_texte_periode"][$classe_id];
                }
            } else {
                $type_texte = '';
            }
            $pdf->SetFont('DejaVu', $type_texte, $taille_texte);
            //$pdf->Cell(90,5, ("Bulletin du ".unhtmlentities($tab_bull['nom_periode'])),0,2,'C');
            $pdf->Cell(90, 5, "Examen blanc : " . $tab_ele['intitule_exam'], 0, 2, 'C');
            $taille_texte = '8';
            $type_texte = '';
            if ($tab_modele_pdf["affiche_date_edition"][$classe_id] == '1') {
                if ($tab_modele_pdf["taille_texte_date_edition"][$classe_id] != '' and $tab_modele_pdf["taille_texte_date_edition"][$classe_id] != '0') {
                    $taille_texte = $tab_modele_pdf["taille_texte_date_edition"][$classe_id];
                } else {
                    $taille_texte = '8';
                }
                if ($tab_modele_pdf["type_texte_date_datation"][$classe_id] != '') {
                    if ($tab_modele_pdf["type_texte_date_datation"][$classe_id] == 'N') {
                        $type_texte = '';
                    } else {
                        $type_texte = $tab_modele_pdf["type_texte_date_datation"][$classe_id];
                    }
                } else {
                    $type_texte = '';
                }
                $pdf->SetFont('DejaVu', $type_texte, $taille_texte);
                $pdf->Cell(95, 7, $date_bulletin, 0, 2, 'R');
            }
            $pdf->SetFont('DejaVu', '', 10);
        }
        $nb_matiere = count($tab_ele['matieres']);
        if ($tab_modele_pdf["active_bloc_note_appreciation"][$classe_id] == '1' and $nb_matiere != '0') {
            $pdf->Rect($tab_modele_pdf["X_note_app"][$classe_id], $tab_modele_pdf["Y_note_app"][$classe_id], $tab_modele_pdf["longeur_note_app"][$classe_id], $tab_modele_pdf["hauteur_note_app"][$classe_id], 'D');
            //entête du tableau des notes et app
            $nb_entete_moyenne = $tab_modele_pdf["active_moyenne_eleve"][$classe_id] + $tab_modele_pdf["active_moyenne_classe"][$classe_id] + $tab_modele_pdf["active_moyenne_min"][$classe_id] + $tab_modele_pdf["active_moyenne_max"][$classe_id];
            //min max classe eleve
            $hauteur_entete = 8;
            $hauteur_entete_pardeux = $hauteur_entete / 2;
            $pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id], $tab_modele_pdf["Y_note_app"][$classe_id]);
            $pdf->SetFont('DejaVu', '', 10);
            $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $hauteur_entete, $tab_modele_pdf["titre_entete_matiere"][$classe_id], 1, 0, 'C');
            $largeur_utilise = $tab_modele_pdf["largeur_matiere"][$classe_id];
            // coefficient matière
            if ($tab_modele_pdf["active_coef_moyenne"][$classe_id] == '1') {
                $pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id] + $largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]);
                $pdf->SetFont('DejaVu', '', 8);
                $pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $hauteur_entete, $tab_modele_pdf["titre_entete_coef"][$classe_id], 'LRB', 0, 'C');
                $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
            }
            /*
            			// nombre de notes
            			// 20081118
            			//if($tab_modele_pdf["active_nombre_note_case"][$classe_id]=='1') {
            			if(($tab_modele_pdf["active_nombre_note_case"][$classe_id]=='1')&&($tab_modele_pdf["active_nombre_note"][$classe_id]!='1')) {
            				$pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]);
            				$pdf->SetFont('DejaVu','',8);
            				$pdf->Cell($tab_modele_pdf["largeur_nombre_note"][$classe_id], $hauteur_entete, ($tab_modele_pdf["titre_entete_nbnote"][$classe_id]),'LRB',0,'C');
            				$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_nombre_note"][$classe_id];
            			}
            */
            // eleve | min | classe | max | rang | niveau | appreciation |
            if ($tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] == '1') {
                $ordre_moyenne[0] = 'eleve';
                $ordre_moyenne[1] = 'min';
                $ordre_moyenne[2] = 'classe';
                $ordre_moyenne[3] = 'max';
                $ordre_moyenne[4] = 'rang';
                $ordre_moyenne[5] = 'niveau';
                $ordre_moyenne[6] = 'appreciation';
            }
            // min | classe | max | eleve | niveau | rang | appreciation |
            if ($tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] == '2') {
                $ordre_moyenne[0] = 'min';
                $ordre_moyenne[1] = 'classe';
                $ordre_moyenne[2] = 'max';
                $ordre_moyenne[3] = 'eleve';
                $ordre_moyenne[4] = 'niveau';
                $ordre_moyenne[5] = 'rang';
                $ordre_moyenne[6] = 'appreciation';
            }
            // eleve | niveau | rang | appreciation | min | classe | max
            if ($tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] == '3') {
                $ordre_moyenne[0] = 'eleve';
                $ordre_moyenne[1] = 'niveau';
                $ordre_moyenne[2] = 'rang';
                $ordre_moyenne[3] = 'appreciation';
                $ordre_moyenne[4] = 'min';
                $ordre_moyenne[5] = 'classe';
                $ordre_moyenne[6] = 'max';
            }
            // eleve | classe | min | max | rang | niveau | appreciation |
            if ($tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] == '4') {
                $ordre_moyenne[0] = 'eleve';
                $ordre_moyenne[1] = 'classe';
                $ordre_moyenne[2] = 'min';
                $ordre_moyenne[3] = 'max';
                $ordre_moyenne[4] = 'rang';
                $ordre_moyenne[5] = 'niveau';
                $ordre_moyenne[6] = 'appreciation';
            }
            // eleve | min | classe | max | niveau | rang | appreciation |
            if ($tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] == '5') {
                $ordre_moyenne[0] = 'eleve';
                $ordre_moyenne[1] = 'min';
                $ordre_moyenne[2] = 'classe';
                $ordre_moyenne[3] = 'max';
                $ordre_moyenne[4] = 'niveau';
                $ordre_moyenne[5] = 'rang';
                $ordre_moyenne[6] = 'appreciation';
            }
            // min | classe | max | eleve | rang | niveau | appreciation |
            //if ( $ordre_entete_model_bulletin[$classe_id] == '6' ) {
            if ($tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] == '6') {
                $ordre_moyenne[0] = 'min';
                $ordre_moyenne[1] = 'classe';
                $ordre_moyenne[2] = 'max';
                $ordre_moyenne[3] = 'eleve';
                $ordre_moyenne[4] = 'rang';
                $ordre_moyenne[5] = 'niveau';
                $ordre_moyenne[6] = 'appreciation';
            }
            $cpt_ordre = 0;
            $chapeau_moyenne = 'non';
            while (!empty($ordre_moyenne[$cpt_ordre])) {
                // Je ne saisis pas pourquoi cette variable est initialisée à ce niveau???
                //$categorie_passe_count = 0;
                // le chapeau des moyennes
                $ajout_espace_au_dessus = 4;
                if ($tab_modele_pdf["entete_model_bulletin"][$classe_id] == '1' and $nb_entete_moyenne > 1 and ($ordre_moyenne[$cpt_ordre] == 'classe' or $ordre_moyenne[$cpt_ordre] == 'min' or $ordre_moyenne[$cpt_ordre] == 'max' or $ordre_moyenne[$cpt_ordre] == 'eleve') and $chapeau_moyenne == 'non' and $tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] != '3') {
                    $largeur_moyenne = $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id] * $nb_entete_moyenne;
                    $text_entete_moyenne = 'Moyenne';
                    $pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id] + $largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]);
                    $pdf->Cell($largeur_moyenne, $hauteur_entete_pardeux, $text_entete_moyenne, 1, 0, 'C');
                    $chapeau_moyenne = 'oui';
                }
                if ($tab_modele_pdf["entete_model_bulletin"][$classe_id] == '2' and $nb_entete_moyenne > 1 and ($ordre_moyenne[$cpt_ordre] == 'classe' or $ordre_moyenne[$cpt_ordre] == 'min' or $ordre_moyenne[$cpt_ordre] == 'max') and $chapeau_moyenne == 'non' or $tab_modele_pdf["entete_model_bulletin"][$classe_id] == '1' and $tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] == '3' and $chapeau_moyenne == 'non' and ($ordre_moyenne[$cpt_ordre] == 'classe' or $ordre_moyenne[$cpt_ordre] == 'min' or $ordre_moyenne[$cpt_ordre] == 'max')) {
                    $largeur_moyenne = $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id] * ($nb_entete_moyenne - 1);
                    $text_entete_moyenne = 'Pour la classe';
                    $pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id] + $largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]);
                    $hauteur_caractere = 10;
                    $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                    $val = $pdf->GetStringWidth($text_entete_moyenne);
                    $taille_texte = $largeur_moyenne;
                    $grandeur_texte = 'test';
                    while ($grandeur_texte != 'ok') {
                        if ($taille_texte < $val) {
                            $hauteur_caractere = $hauteur_caractere - 0.3;
                            $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                            $val = $pdf->GetStringWidth($text_entete_moyenne);
                        } else {
                            $grandeur_texte = 'ok';
                        }
                    }
                    $pdf->Cell($largeur_moyenne, $hauteur_entete_pardeux, $text_entete_moyenne, 1, 0, 'C');
                    $chapeau_moyenne = 'oui';
                }
                //eleve
                if ($tab_modele_pdf["active_moyenne_eleve"][$classe_id] == '1' and $tab_modele_pdf["active_moyenne"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'eleve') {
                    $ajout_espace_au_dessus = 4;
                    $hauteur_de_la_cellule = $hauteur_entete_pardeux;
                    if ($tab_modele_pdf["entete_model_bulletin"][$classe_id] == '2' and $tab_modele_pdf["active_moyenne_eleve"][$classe_id] == '1' and $nb_entete_moyenne > 1) {
                        $hauteur_de_la_cellule = $hauteur_entete;
                        $ajout_espace_au_dessus = 0;
                    }
                    $pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id] + $largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id] + $ajout_espace_au_dessus);
                    $pdf->SetFillColor($tab_modele_pdf["couleur_reperage_eleve1"][$classe_id], $tab_modele_pdf["couleur_reperage_eleve2"][$classe_id], $tab_modele_pdf["couleur_reperage_eleve3"][$classe_id]);
                    $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $hauteur_de_la_cellule, "Elève", 1, 0, 'C', $tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                    $pdf->SetFillColor(0, 0, 0);
                    $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                }
                //classe
                if ($tab_modele_pdf["active_moyenne_classe"][$classe_id] == '1' and $tab_modele_pdf["active_moyenne"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'classe') {
                    $pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id] + $largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id] + 4);
                    $hauteur_caractere = '8.5';
                    $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                    $text_moy_classe = 'Classe';
                    if ($tab_modele_pdf["entete_model_bulletin"][$classe_id] == '2') {
                        $text_moy_classe = 'Moy.';
                    }
                    $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $hauteur_entete_pardeux, $text_moy_classe, 1, 0, 'C');
                    $X_moyenne_classe = $tab_modele_pdf["X_note_app"][$classe_id] + $largeur_utilise;
                    $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                }
                //min
                if ($tab_modele_pdf["active_moyenne_min"][$classe_id] == '1' and $tab_modele_pdf["active_moyenne"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'min') {
                    $pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id] + $largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id] + 4);
                    $hauteur_caractere = '8.5';
                    $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                    $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $hauteur_entete_pardeux, "Min.", 1, 0, 'C');
                    $X_min_classe = $tab_modele_pdf["X_note_app"][$classe_id] + $largeur_utilise;
                    $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                }
                //max
                if ($tab_modele_pdf["active_moyenne_max"][$classe_id] == '1' and $tab_modele_pdf["active_moyenne"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'max') {
                    $pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id] + $largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id] + 4);
                    $hauteur_caractere = '8.5';
                    $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                    $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $hauteur_entete_pardeux, "Max.", 1, 0, 'C');
                    $X_max_classe = $tab_modele_pdf["X_note_app"][$classe_id] + $largeur_utilise;
                    $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                }
                $pdf->SetFont('DejaVu', '', 10);
                // rang de l'élève
                if ($tab_modele_pdf["active_rang"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'rang') {
                    $pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id] + $largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]);
                    $pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $hauteur_entete, $tab_modele_pdf["titre_entete_rang"][$classe_id], 'LRB', 0, 'C');
                    //$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $hauteur_entete, $tab_modele_pdf["titre_entete_rang"][$classe_id],'LRB',0,'C');
                    $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_rang"][$classe_id];
                }
                // graphique de niveau
                if ($tab_modele_pdf["active_graphique_niveau"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'niveau') {
                    $pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id] + $largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]);
                    $hauteur_caractere = '10';
                    $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                    $pdf->Cell($tab_modele_pdf["largeur_niveau"][$classe_id], $hauteur_entete_pardeux, "Niveau", 'LR', 0, 'C');
                    $pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id] + $largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id] + 4);
                    $pdf->SetFont('DejaVu', '', 8);
                    $pdf->Cell($tab_modele_pdf["largeur_niveau"][$classe_id], $hauteur_entete_pardeux, "ABC+C-DE", 'LRB', 0, 'C');
                    $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_niveau"][$classe_id];
                }
                //appreciation
                $hauteur_caractere = '10';
                $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                if ($tab_modele_pdf["active_appreciation"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'appreciation') {
                    $pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id] + $largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]);
                    if (!empty($ordre_moyenne[$cpt_ordre + 1])) {
                        $cpt_ordre_sous = $cpt_ordre + 1;
                        $largeur_appret = 0;
                        while (!empty($ordre_moyenne[$cpt_ordre_sous])) {
                            if ($ordre_moyenne[$cpt_ordre_sous] == 'eleve') {
                                $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                            }
                            if ($ordre_moyenne[$cpt_ordre_sous] == 'rang') {
                                $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_rang"][$classe_id];
                            }
                            if ($ordre_moyenne[$cpt_ordre_sous] == 'niveau') {
                                $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_niveau"][$classe_id];
                            }
                            if ($ordre_moyenne[$cpt_ordre_sous] == 'min') {
                                $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                            }
                            if ($ordre_moyenne[$cpt_ordre_sous] == 'classe') {
                                $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                            }
                            if ($ordre_moyenne[$cpt_ordre_sous] == 'max') {
                                $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                            }
                            $cpt_ordre_sous = $cpt_ordre_sous + 1;
                        }
                        $largeur_appreciation = $tab_modele_pdf["longeur_note_app"][$classe_id] - $largeur_utilise - $largeur_appret;
                    } else {
                        $largeur_appreciation = $tab_modele_pdf["longeur_note_app"][$classe_id] - $largeur_utilise;
                    }
                    $pdf->SetFont('DejaVu', '', 10);
                    //$titre_entete_appreciation=$bull_intitule_app;
                    $titre_entete_appreciation = $tab_modele_pdf['titre_entete_appreciation'][$classe_id];
                    $pdf->Cell($largeur_appreciation, $hauteur_entete, $titre_entete_appreciation, 'LRB', 0, 'C');
                    $largeur_utilise = $largeur_utilise + $largeur_appreciation;
                }
                $cpt_ordre = $cpt_ordre + 1;
            }
            $largeur_utilise = 0;
            // fin de boucle d'ordre
            //+++++++++++++++++++++++++++++++++++++++++++++
            $X_bloc_matiere = $tab_modele_pdf["X_note_app"][$classe_id];
            $Y_bloc_matiere = $tab_modele_pdf["Y_note_app"][$classe_id] + $hauteur_entete;
            $longeur_bloc_matiere = $tab_modele_pdf["longeur_note_app"][$classe_id];
            // calcul de la hauteur totale que peut prendre le cadre matière dans sa globalité
            if ($tab_modele_pdf["active_moyenne"][$classe_id] == '1' and $tab_modele_pdf["active_moyenne_general"][$classe_id] == '1') {
                // si les moyennes et la moyenne général sont activé alors on les ajoute à ceux qui vaudras soustraire au cadre global matiere
                $hauteur_toute_entete = $hauteur_entete + $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id];
            } else {
                $hauteur_toute_entete = $hauteur_entete;
            }
            $hauteur_bloc_matiere = $tab_modele_pdf["hauteur_note_app"][$classe_id] - $hauteur_toute_entete;
            $X_note_moy_app = $tab_modele_pdf["X_note_app"][$classe_id];
            $Y_note_moy_app = $tab_modele_pdf["Y_note_app"][$classe_id] + $tab_modele_pdf["hauteur_note_app"][$classe_id] - $hauteur_entete;
            if ($tab_modele_pdf["active_entete_regroupement"][$classe_id] == '1') {
                $espace_entre_matier = ($hauteur_bloc_matiere - $nb_categories_select * 5) / $nb_matiere;
            } else {
                $espace_entre_matier = $hauteur_bloc_matiere / $nb_matiere;
            }
            /*
            			fich_debug_bull("\$hauteur_bloc_matiere=$hauteur_bloc_matiere\n");
            			fich_debug_bull("\$nb_matiere=$nb_matiere\n");
            			fich_debug_bull("\$espace_entre_matier=$espace_entre_matier\n");
            */
            /*
            //++++++++++++++++
            // Pour debug:
            $pdf->SetXY(100, 30);
            $pdf->SetFont('DejaVu','',10);
            $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], 8, "espace_entre_matier=$espace_entre_matier",1,0,'C');
            //++++++++++++++++
            */
            $pdf->SetXY($X_bloc_matiere, $Y_bloc_matiere);
            $Y_decal = $Y_bloc_matiere;
            //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            // Compteur du nombre de matières dans la catégorie
            //$categorie_passe_count=0;
            //for($m=0; $m<$nb_matiere; $m++)
            //for($m=0;$m<count($tab_ele['matieres']); $m++) {
            $m = 0;
            //foreach($tab_ele['matieres'] as $key => $current_matiere) {
            foreach ($tab_ele['matieres'] as $current_matiere => $tab_current_matiere) {
                $pdf->SetXY($X_bloc_matiere, $Y_decal);
                // Lignes de Matière, Note, Rang,... Appréciation
                $pdf->SetXY($X_bloc_matiere, $Y_decal);
                // Si c'est une matière suivie par l'élève
                //if(isset($tab_ele['matieres'][$m][$i])) {
                // calcul la taille du titre de la matière
                $hauteur_caractere_matiere = 10;
                if ($tab_modele_pdf["taille_texte_matiere"][$classe_id] != '' and $tab_modele_pdf["taille_texte_matiere"][$classe_id] != '0' and $tab_modele_pdf["taille_texte_matiere"][$classe_id] < '11') {
                    $hauteur_caractere_matiere = $tab_modele_pdf["taille_texte_matiere"][$classe_id];
                }
                $pdf->SetFont('DejaVu', 'B', $hauteur_caractere_matiere);
                /*
                // Pour parer au bug sur la suppression de matière alors que des groupes sont conservés:
                if(isset($tab_bull['groupe'][$m]['matiere']['nom_complet'])) {
                	$info_nom_matiere=$tab_bull['groupe'][$m]['matiere']['nom_complet'];
                }
                else {
                	$info_nom_matiere=$tab_bull['groupe'][$m]['name']." (".$tab_bull['groupe'][$m]['id'].")";
                }
                */
                //echo "\$info_nom_matiere=\$tab_ele['matieres'][\"$current_matiere\"]['nom_complet']\n";
                $info_nom_matiere = $tab_ele['matieres']["{$current_matiere}"]['nom_complet'];
                $val = $pdf->GetStringWidth($info_nom_matiere);
                $taille_texte = $tab_modele_pdf["largeur_matiere"][$classe_id] - 2;
                $grandeur_texte = 'test';
                while ($grandeur_texte != 'ok') {
                    if ($taille_texte < $val) {
                        $hauteur_caractere_matiere = $hauteur_caractere_matiere - 0.3;
                        $pdf->SetFont('DejaVu', 'B', $hauteur_caractere_matiere);
                        $val = $pdf->GetStringWidth($info_nom_matiere);
                    } else {
                        $grandeur_texte = 'ok';
                    }
                }
                $grandeur_texte = 'test';
                $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_entre_matier / 2, $info_nom_matiere, 'LR', 1, 'L');
                $Y_decal = $Y_decal + $espace_entre_matier / 2;
                $pdf->SetXY($X_bloc_matiere, $Y_decal);
                $pdf->SetFont('DejaVu', '', 8);
                //					fich_debug_bull("\$info_nom_matiere=$info_nom_matiere\n");
                //					fich_debug_bull("\$Y_decal=$Y_decal\n");
                // nom des professeurs
                if (isset($tab_ele['matieres']["{$current_matiere}"]['profs_list'])) {
                    $nb_prof_matiere = count($tab_ele['matieres']["{$current_matiere}"]['profs_list']);
                    $espace_matiere_prof = $espace_entre_matier / 2;
                    if ($nb_prof_matiere > 0) {
                        $espace_matiere_prof = $espace_matiere_prof / $nb_prof_matiere;
                    }
                    $nb_pass_count = '0';
                    $text_prof = '';
                    while ($nb_prof_matiere > $nb_pass_count) {
                        $tmp_login_prof = $tab_ele['matieres']["{$current_matiere}"]["profs_list"][$nb_pass_count];
                        $text_prof = affiche_utilisateur($tmp_login_prof, $tab_ele['id_classe']);
                        if ($nb_prof_matiere <= 2) {
                            $hauteur_caractere_prof = 8;
                        } elseif ($nb_prof_matiere == 3) {
                            $hauteur_caractere_prof = 5;
                        } elseif ($nb_prof_matiere > 3) {
                            $hauteur_caractere_prof = 2;
                        }
                        $pdf->SetFont('DejaVu', '', $hauteur_caractere_prof);
                        $val = $pdf->GetStringWidth($text_prof);
                        $taille_texte = $tab_modele_pdf["largeur_matiere"][$classe_id];
                        $grandeur_texte = 'test';
                        while ($grandeur_texte != 'ok') {
                            if ($taille_texte < $val) {
                                $hauteur_caractere_prof = $hauteur_caractere_prof - 0.3;
                                $pdf->SetFont('DejaVu', '', $hauteur_caractere_prof);
                                $val = $pdf->GetStringWidth($text_prof);
                            } else {
                                $grandeur_texte = 'ok';
                            }
                        }
                        $grandeur_texte = 'test';
                        $pdf->SetX($X_bloc_matiere);
                        if (empty($tab_ele['matieres']["{$current_matiere}"]["profs_list"][$nb_pass_count + 1])) {
                            $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_matiere_prof, $text_prof, 'LRB', 1, 'L');
                        }
                        if (!empty($tab_ele['matieres']["{$current_matiere}"]["profs_list"][$nb_pass_count + 1])) {
                            $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_matiere_prof, $text_prof, 'LR', 1, 'L');
                        }
                        $nb_pass_count = $nb_pass_count + 1;
                    }
                }
                $largeur_utilise = $tab_modele_pdf["largeur_matiere"][$classe_id];
                // coefficient matière
                if ($tab_modele_pdf["active_coef_moyenne"][$classe_id] == '1') {
                    $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_decal - $espace_entre_matier / 2);
                    $pdf->SetFont('DejaVu', '', 10);
                    if ($tab_ele['matieres']["{$current_matiere}"]['bonus'] == 'y') {
                        $pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $espace_entre_matier, $tab_ele['matieres']["{$current_matiere}"]['coef'] . "(*)", 1, 0, 'C');
                    } else {
                        $pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $espace_entre_matier, $tab_ele['matieres']["{$current_matiere}"]['coef'], 1, 0, 'C');
                    }
                    $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
                }
                //permet le calcul total des coefficients
                // if(empty($moyenne_min[$id_classe][$id_periode])) {
                $total_coef_en_calcul = $total_coef_en_calcul + $tab_ele['matieres']["{$current_matiere}"]['coef'];
                //}
                /*
                					// nombre de note
                					// 20081118
                					//if($tab_modele_pdf["active_nombre_note_case"][$classe_id]=='1') {
                					if(($tab_modele_pdf["active_nombre_note_case"][$classe_id]=='1')&&($tab_modele_pdf["active_nombre_note"][$classe_id]!='1')) {
                						$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
                						$pdf->SetFont('DejaVu','',10);
                						$valeur = $tab_bull['nbct'][$m][$i] . "/" . $tab_bull['groupe'][$m]['nbct'];
                						$pdf->Cell($tab_modele_pdf["largeur_nombre_note"][$classe_id], $espace_entre_matier, $valeur,1,0,'C');
                						$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_nombre_note"][$classe_id];
                					}
                */
                // les moyennes eleve, classe, min, max
                $cpt_ordre = 0;
                while (!empty($ordre_moyenne[$cpt_ordre])) {
                    //eleve
                    if ($tab_modele_pdf["active_moyenne_eleve"][$classe_id] == '1' and $tab_modele_pdf["active_moyenne"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'eleve') {
                        $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_decal - $espace_entre_matier / 2);
                        $pdf->SetFont('DejaVu', 'B', 10);
                        $pdf->SetFillColor($tab_modele_pdf["couleur_reperage_eleve1"][$classe_id], $tab_modele_pdf["couleur_reperage_eleve2"][$classe_id], $tab_modele_pdf["couleur_reperage_eleve3"][$classe_id]);
                        // calcul nombre de sous affichage
                        $nb_sousaffichage = '1';
                        if (empty($active_coef_sousmoyene)) {
                            $active_coef_sousmoyene = '';
                        }
                        if ($active_coef_sousmoyene == '1') {
                            $nb_sousaffichage = $nb_sousaffichage + 1;
                        }
                        if ($tab_modele_pdf["active_nombre_note"][$classe_id] == '1') {
                            $nb_sousaffichage = $nb_sousaffichage + 1;
                        }
                        if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] == '1') {
                            if ($tab_modele_pdf["active_moyenne_classe"][$classe_id] == '1') {
                                $nb_sousaffichage = $nb_sousaffichage + 1;
                            }
                        }
                        if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] == '1') {
                            if ($tab_modele_pdf["active_moyenne_min"][$classe_id] == '1') {
                                $nb_sousaffichage = $nb_sousaffichage + 1;
                            }
                        }
                        if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] == '1') {
                            if ($tab_modele_pdf["active_moyenne_max"][$classe_id] == '1') {
                                $nb_sousaffichage = $nb_sousaffichage + 1;
                            }
                        }
                        // On filtre si la moyenne est vide, on affiche seulement un tiret
                        //if ($tab_ele['matieres']["$current_matiere"]['note']=="-") {
                        if ($tab_ele['matieres']["{$current_matiere}"]['note'] == "-" || $tab_ele['matieres']["{$current_matiere}"]['statut'] == "v") {
                            $valeur = "-";
                        } elseif ($tab_ele['matieres']["{$current_matiere}"]['statut'] != "") {
                            $valeur = $tab_ele['matieres']["{$current_matiere}"]['statut'];
                        } else {
                            //$valeur = present_nombre($tab_ele['matieres']["$current_matiere"]['note'], $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]);
                            $valeur = present_nombre(strtr($tab_ele['matieres']["{$current_matiere}"]['note'], ",", "."), $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]);
                            //$valeur = $tab_ele['matieres']["$current_matiere"]['note'];
                        }
                        $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier / $nb_sousaffichage, $valeur, 1, 2, 'C', $tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                        $valeur = "";
                        if ($active_coef_sousmoyene == '1') {
                            $pdf->SetFont('DejaVu', 'I', 7);
                            $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier / $nb_sousaffichage, 'coef. ' . $tab_ele['matieres']["{$current_matiere}"]['coef'], 'LR', 2, 'C', $tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                        }
                        if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] == '1') {
                            // On affiche toutes les moyennes dans la même colonne
                            $pdf->SetFont('DejaVu', 'I', 7);
                            if ($tab_modele_pdf["active_moyenne_classe"][$classe_id] == '1') {
                                //if ($tab_bull['moy_classe_grp'][$m]=="-") {
                                if ($tab_ele['matieres']["{$current_matiere}"]['moy_classe_grp'] == "-" || $tab_ele['matieres']["{$current_matiere}"]['moy_classe_grp'] == "") {
                                    $valeur = "-";
                                } else {
                                    $valeur = present_nombre($tab_ele['matieres']["{$current_matiere}"]['moy_classe_grp'], $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]);
                                }
                                $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier / $nb_sousaffichage, 'cla.' . $valeur, 'LR', 2, 'C', $tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                            }
                            if ($tab_modele_pdf["active_moyenne_min"][$classe_id] == '1') {
                                //if ($tab_bull['moy_min_classe_grp'][$m]=="-") {
                                //if (($tab_ele['matieres']["$current_matiere"]['moy_min_classe_grp']=="-")||($tab_ele['matieres']["$current_matiere"]['moy_min_classe_grp']=="")) {
                                if ($tab_ele['matieres']["{$current_matiere}"]['moy_min_classe_grp'] == "-" || $tab_ele['matieres']["{$current_matiere}"]['moy_min_classe_grp'] == "" || $tab_ele['matieres']["{$current_matiere}"]['moy_min_classe_grp'] == "1000") {
                                    $valeur = "-";
                                } else {
                                    $valeur = present_nombre($tab_ele['matieres']["{$current_matiere}"]['moy_min_classe_grp'], $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]);
                                }
                                $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier / $nb_sousaffichage, 'min.' . $valeur, 'LR', 2, 'C', $tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                            }
                            if ($tab_modele_pdf["active_moyenne_max"][$classe_id] == '1') {
                                //if ($tab_bull['moy_max_classe_grp'][$m]=="-") {
                                //if (($tab_ele['matieres']["$current_matiere"]['moy_max_classe_grp']=="-")||($tab_ele['matieres']["$current_matiere"]['moy_max_classe_grp']=="")) {
                                //if (($tab_ele['matieres']["$current_matiere"]['moy_max_classe_grp']=="-")||($tab_ele['matieres']["$current_matiere"]['moy_max_classe_grp']=="")||(strtr($tab_ele['matieres']["$current_matiere"]['moy_max_classe_grp'],",",".")<0)) {
                                if ($tab_ele['matieres']["{$current_matiere}"]['moy_max_classe_grp'] == "-" || $tab_ele['matieres']["{$current_matiere}"]['moy_max_classe_grp'] == "" || $tab_ele['matieres']["{$current_matiere}"]['moy_max_classe_grp'] == '-1') {
                                    $valeur = "-";
                                } else {
                                    $valeur = present_nombre($tab_ele['matieres']["{$current_matiere}"]['moy_max_classe_grp'], $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]);
                                }
                                $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier / $nb_sousaffichage, 'max.' . $valeur, 'LRD', 2, 'C', $tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                                $valeur = '';
                                // on remet à vide.
                            }
                        }
                        /*
                        							if($tab_modele_pdf["active_nombre_note"][$classe_id]=='1') {
                        								$pdf->SetFont('DejaVu','I',7);
                        								$espace_pour_nb_note = $espace_entre_matier/$nb_sousaffichage;
                        								$espace_pour_nb_note = $espace_pour_nb_note / 2;
                        								$valeur1 = ''; $valeur2 = '';
                        								if ($tab_bull['nbct'][$m][$i]!= 0 ) {
                        									$valeur1 = $tab_bull['nbct'][$m][$i].' note';
                        									if($tab_bull['nbct'][$m][$i]>1){$valeur1.='s';}
                        									$valeur2 = 'sur '.$tab_bull['groupe'][$m]['nbct'];
                        								}
                        								$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_pour_nb_note, $valeur1, 'LR',2,'C',$tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                        								$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_pour_nb_note, $valeur2, 'LRB',2,'C',$tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                        								$valeur1 = ''; $valeur2 = '';
                        							}
                        							$pdf->SetFont('DejaVu','',10);
                        							$pdf->SetFillColor(0, 0, 0);
                        */
                        $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                    }
                    // Fin affichage élève
                    //classe
                    if ($tab_modele_pdf["active_moyenne_classe"][$classe_id] == '1' and $tab_modele_pdf["active_moyenne"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'classe') {
                        $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_decal - $espace_entre_matier / 2);
                        //if ($tab_bull['moy_classe_grp'][$m]=="-") {
                        if ($tab_ele['matieres']["{$current_matiere}"]['moy_classe_grp'] == "-" || $tab_ele['matieres']["{$current_matiere}"]['moy_classe_grp'] == "") {
                            $valeur = "-";
                        } else {
                            $valeur = present_nombre($tab_ele['matieres']["{$current_matiere}"]['moy_classe_grp'], $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]);
                        }
                        $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier, $valeur, 'TLRB', 0, 'C');
                        /*
                        //permet le calcul de la moyenne général de la classe
                        if(empty($moyenne_classe[$id_classe][$id_periode])) {
                        	$total_moyenne_classe_en_calcul=$total_moyenne_classe_en_calcul+($matiere[$ident_eleve_aff][$id_periode][$m]['moy_classe']*$matiere[$ident_eleve_aff][$id_periode][$m]['coef']);
                        }
                        */
                        $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                    }
                    //min
                    if ($tab_modele_pdf["active_moyenne_min"][$classe_id] == '1' and $tab_modele_pdf["active_moyenne"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'min') {
                        $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_decal - $espace_entre_matier / 2);
                        $pdf->SetFont('DejaVu', '', 8);
                        //if ($tab_bull['moy_min_classe_grp'][$m]=="-") {
                        if ($tab_ele['matieres']["{$current_matiere}"]['moy_min_classe_grp'] == "-" || $tab_ele['matieres']["{$current_matiere}"]['moy_min_classe_grp'] == "" || $tab_ele['matieres']["{$current_matiere}"]['moy_min_classe_grp'] == "1000") {
                            $valeur = "-";
                        } else {
                            $valeur = present_nombre($tab_ele['matieres']["{$current_matiere}"]['moy_min_classe_grp'], $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]);
                        }
                        $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier, $valeur, 'TLRB', 0, 'C');
                        /*
                        //permet le calcul de la moyenne mini
                        if(empty($moyenne_min[$id_classe][$id_periode])) {
                        	$total_moyenne_min_en_calcul=$total_moyenne_min_en_calcul+($matiere[$ident_eleve_aff][$id_periode][$m]['moy_min']*$matiere[$ident_eleve_aff][$id_periode][$m]['coef']);
                        }
                        */
                        $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                    }
                    //max
                    if ($tab_modele_pdf["active_moyenne_max"][$classe_id] == '1' and $tab_modele_pdf["active_moyenne"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'max') {
                        $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_decal - $espace_entre_matier / 2);
                        //if ($tab_bull['moy_max_classe_grp'][$m]== "-") {
                        if ($tab_ele['matieres']["{$current_matiere}"]['moy_max_classe_grp'] == "-" || $tab_ele['matieres']["{$current_matiere}"]['moy_max_classe_grp'] == "" || $tab_ele['matieres']["{$current_matiere}"]['moy_max_classe_grp'] == '-1') {
                            $valeur = "-";
                        } else {
                            $valeur = present_nombre($tab_ele['matieres']["{$current_matiere}"]['moy_max_classe_grp'], $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]);
                        }
                        $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier, $valeur, 'TLRB', 0, 'C');
                        /*
                        //permet le calcul de la moyenne maxi
                        if(empty($moyenne_max[$id_classe][$id_periode])) {
                        	$total_moyenne_max_en_calcul=$total_moyenne_max_en_calcul+($matiere[$ident_eleve_aff][$id_periode][$m]['moy_max']*$matiere[$ident_eleve_aff][$id_periode][$m]['coef']);
                        }
                        */
                        $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                    }
                    //$largeur_utilise = $largeur_utilise+$largeur_moyenne;
                    /*
                    						// rang de l'élève
                    						if($tab_modele_pdf["active_rang"][$classe_id]=='1' and $ordre_moyenne[$cpt_ordre] == 'rang' ) {
                    							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
                    							$pdf->SetFont('DejaVu','',8);
                    							// A REVOIR: J'AI l'EFFECTIF DU GROUPE, mais faut-il compter les élèves ABS, DISP,...?
                    							//if((isset($tab_bull['rang'][$i][$m]))&&(isset($tab_bull['groupe'][$m]['effectif']))) {
                    								//$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $espace_entre_matier, $tab_bull['rang'][$i][$m].'/'.$tab_bull['groupe'][$m]['effectif'],1,0,'C');
                    							if((isset($tab_bull['rang'][$m][$i]))&&(isset($tab_bull['groupe'][$m]['effectif']))) {
                    								$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $espace_entre_matier, $tab_bull['rang'][$m][$i].'/'.$tab_bull['groupe'][$m]['effectif_avec_note'],1,0,'C');
                    							}
                    							else {
                    								$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $espace_entre_matier, '',1,0,'C');
                    							}
                    							$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_rang"][$classe_id];
                    						}
                    
                    						// graphique de niveau
                    						if($tab_modele_pdf["active_graphique_niveau"][$classe_id]=='1' and $ordre_moyenne[$cpt_ordre] == 'niveau' ) {
                    							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
                    							$pdf->SetFont('DejaVu','',10);
                    							$id_groupe_graph = $tab_bull['groupe'][$m]['id'];
                    							// placement de l'élève dans le graphique de niveau
                    
                    							// AJOUT: La variable n'était pas initialisée dans le bulletin_pdf_avec_modele...
                    							$place_eleve='';
                    
                    							if ($tab_bull['note'][$m][$i]!="") {
                    								if(isset($tab_bull['place_eleve'][$m][$i])) {
                    									$place_eleve=$tab_bull['place_eleve'][$m][$i];
                    								}
                    							}
                    							$data_grap[0]=$tab_bull['quartile1_grp'][$m];
                    							$data_grap[1]=$tab_bull['quartile2_grp'][$m];
                    							$data_grap[2]=$tab_bull['quartile3_grp'][$m];
                    							$data_grap[3]=$tab_bull['quartile4_grp'][$m];
                    							$data_grap[4]=$tab_bull['quartile5_grp'][$m];
                    							$data_grap[5]=$tab_bull['quartile6_grp'][$m];
                    							//if (array_sum($data_grap[$id_periode][$id_groupe_graph]) != 0) {
                    							if (array_sum($data_grap) != 0) {
                    								//$pdf->DiagBarre($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2), $tab_modele_pdf["largeur_niveau"][$classe_id], $espace_entre_matier, $data_grap[$id_periode][$id_groupe_graph], $place_eleve);
                    								$pdf->DiagBarre($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2), $tab_modele_pdf["largeur_niveau"][$classe_id], $espace_entre_matier, $data_grap, $place_eleve);
                    							}
                    							$place_eleve=''; // on vide la variable
                    							$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_niveau"][$classe_id];
                    						}
                    */
                    //appréciation
                    if ($tab_modele_pdf["active_appreciation"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'appreciation') {
                        // si on autorise l'affichage des sous matière et s'il y en a alors on les affiche
                        //							$id_groupe_select = $tab_bull['groupe'][$m]['id'];
                        $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_decal - $espace_entre_matier / 2);
                        $X_sous_matiere = 0;
                        $largeur_sous_matiere = 0;
                        /*
                        							if($tab_modele_pdf["autorise_sous_matiere"][$classe_id]=='1' and !empty($tab_bull['groupe'][$m][$i]['cn_nom'])) {
                        								$X_sous_matiere = $X_note_moy_app+$largeur_utilise;
                        								$Y_sous_matiere = $Y_decal-($espace_entre_matier/2);
                        								$n=0;
                        								$largeur_texte_sousmatiere=0; $largeur_sous_matiere=0;
                        								while( !empty($tab_bull['groupe'][$m][$i]['cn_nom'][$n]) )
                        								{
                        									$pdf->SetFont('DejaVu','',8);
                        									$largeur_texte_sousmatiere = $pdf->GetStringWidth($tab_bull['groupe'][$m][$i]['cn_nom'][$n].': '.$tab_bull['groupe'][$m][$i]['cn_note'][$n]);
                        									if($largeur_sous_matiere<$largeur_texte_sousmatiere) { $largeur_sous_matiere=$largeur_texte_sousmatiere; }
                        									$n = $n + 1;
                        								}
                        								if($largeur_sous_matiere!='0') { $largeur_sous_matiere = $largeur_sous_matiere + 2; }
                        								$n=0;
                        								while( !empty($tab_bull['groupe'][$m][$i]['cn_nom'][$n]) )
                        								{
                        									$pdf->SetXY($X_sous_matiere, $Y_sous_matiere);
                        									$pdf->SetFont('DejaVu','',8);
                        									$pdf->Cell($largeur_sous_matiere, $espace_entre_matier/count($tab_bull['groupe'][$m][$i]['cn_nom']), ($tab_bull['groupe'][$m][$i]['cn_nom'][$n].': '.$tab_bull['groupe'][$m][$i]['cn_note'][$n]),1,0,'L');
                        									$Y_sous_matiere = $Y_sous_matiere+$espace_entre_matier/count($tab_bull['groupe'][$m][$i]['cn_nom']);
                        									$n = $n + 1;
                        								}
                        								$largeur_utilise = $largeur_utilise+$largeur_sous_matiere;
                        							}
                        */
                        $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_decal - $espace_entre_matier / 2);
                        // calcul de la taille du texte des appréciation
                        $hauteur_caractere_appreciation = 9;
                        $pdf->SetFont('DejaVu', '', $hauteur_caractere_appreciation);
                        //suppression des espace en début et en fin
                        $app_aff = trim($tab_ele['matieres']["{$current_matiere}"]['app']);
                        /*
                        							fich_debug_bull("__________________________________________\n");
                        							fich_debug_bull("$app_aff\n");
                        							fich_debug_bull("__________________________________________\n");
                        */
                        // DEBUT AJUSTEMENT TAILLE APPRECIATION
                        $taille_texte_total = $pdf->GetStringWidth($app_aff);
                        $largeur_appreciation2 = $largeur_appreciation - $largeur_sous_matiere;
                        if ($use_cell_ajustee == "n") {
                            //$taille_texte = (($espace_entre_matier/3)*$largeur_appreciation2);
                            $nb_ligne_app = '2.8';
                            //$nb_ligne_app = '3.8';
                            //$nb_ligne_app = '4.8';
                            $taille_texte_max = $nb_ligne_app * ($largeur_appreciation2 - 4);
                            //$taille_texte_max = $nb_ligne_app * ($largeur_appreciation2);
                            $grandeur_texte = 'test';
                            fich_debug_bull("\$taille_texte_total={$taille_texte_total}\n");
                            fich_debug_bull("\$largeur_appreciation2={$largeur_appreciation2}\n");
                            fich_debug_bull("\$nb_ligne_app={$nb_ligne_app}\n");
                            //fich_debug_bull("\$taille_texte_max = \$nb_ligne_app * (\$largeur_appreciation2-4)=$nb_ligne_app * ($largeur_appreciation2-4)=$taille_texte_max\n");
                            fich_debug_bull("\$taille_texte_max = \$nb_ligne_app * (\$largeur_appreciation2)={$nb_ligne_app} * ({$largeur_appreciation2})={$taille_texte_max}\n");
                            while ($grandeur_texte != 'ok') {
                                if ($taille_texte_max < $taille_texte_total) {
                                    $hauteur_caractere_appreciation = $hauteur_caractere_appreciation - 0.3;
                                    //$hauteur_caractere_appreciation = $hauteur_caractere_appreciation-0.1;
                                    $pdf->SetFont('DejaVu', '', $hauteur_caractere_appreciation);
                                    $taille_texte_total = $pdf->GetStringWidth($app_aff);
                                } else {
                                    $grandeur_texte = 'ok';
                                }
                            }
                            $grandeur_texte = 'test';
                            $pdf->drawTextBox($app_aff, $largeur_appreciation2, $espace_entre_matier, 'J', 'M', 1);
                        } else {
                            $texte = $app_aff;
                            //$texte="Bla bla\nbli ".$app_aff;
                            $taille_max_police = $hauteur_caractere_appreciation;
                            $taille_min_police = ceil($taille_max_police / 3);
                            $largeur_dispo = $largeur_appreciation2;
                            $h_cell = $espace_entre_matier;
                            cell_ajustee($texte, $pdf->GetX(), $pdf->GetY(), $largeur_dispo, $h_cell, $taille_max_police, $taille_min_police, 'LRBT');
                        }
                        $pdf->SetFont('DejaVu', '', 10);
                        $largeur_utilise = $largeur_utilise + $largeur_appreciation2;
                        //$largeur_utilise = 0;
                    }
                    $cpt_ordre = $cpt_ordre + 1;
                }
                $largeur_utilise = 0;
                // fin de boucle d'ordre
                $Y_decal = $Y_decal + $espace_entre_matier / 2;
                //}
            }
            //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            // Ligne moyenne générale
            //bas du tableau des note et app si les affichage des moyennes ne sont pas affiché le bas du tableau ne seras pas affiché
            if ($tab_modele_pdf["active_moyenne"][$classe_id] == '1' and $tab_modele_pdf["active_moyenne_general"][$classe_id] == '1') {
                $X_note_moy_app = $tab_modele_pdf["X_note_app"][$classe_id];
                $Y_note_moy_app = $tab_modele_pdf["Y_note_app"][$classe_id] + $tab_modele_pdf["hauteur_note_app"][$classe_id] - $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id];
                $pdf->SetXY($X_note_moy_app, $Y_note_moy_app);
                $pdf->SetFont('DejaVu', '', 10);
                $pdf->SetFillColor($tab_modele_pdf["couleur_moy_general1"][$classe_id], $tab_modele_pdf["couleur_moy_general2"][$classe_id], $tab_modele_pdf["couleur_moy_general3"][$classe_id]);
                $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], "Moyenne générale", 1, 0, 'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
                $largeur_utilise = $tab_modele_pdf["largeur_matiere"][$classe_id];
                // coefficient matière
                if ($tab_modele_pdf["active_coef_moyenne"][$classe_id] == '1') {
                    $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_note_moy_app);
                    $pdf->SetFillColor($tab_modele_pdf["couleur_moy_general1"][$classe_id], $tab_modele_pdf["couleur_moy_general2"][$classe_id], $tab_modele_pdf["couleur_moy_general3"][$classe_id]);
                    $pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], "", 1, 0, 'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
                    $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
                }
                /*
                				// nombre de note
                				// 20081118
                				//if($tab_modele_pdf["active_nombre_note_case"][$classe_id]=='1') {
                				if(($tab_modele_pdf["active_nombre_note_case"][$classe_id]=='1')&&($tab_modele_pdf["active_nombre_note"][$classe_id]!='1')) {
                					$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
                					$pdf->SetFillColor($tab_modele_pdf["couleur_moy_general1"][$classe_id], $tab_modele_pdf["couleur_moy_general2"][$classe_id], $tab_modele_pdf["couleur_moy_general3"][$classe_id]);
                					$pdf->Cell($tab_modele_pdf["largeur_nombre_note"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], "",1,0,'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
                					$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_nombre_note"][$classe_id];
                				}
                */
                $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_note_moy_app);
                $cpt_ordre = 0;
                while (!empty($ordre_moyenne[$cpt_ordre])) {
                    //eleve
                    if ($tab_modele_pdf["active_moyenne_eleve"][$classe_id] == '1' and $tab_modele_pdf["active_moyenne"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'eleve') {
                        $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_note_moy_app);
                        $pdf->SetFont('DejaVu', 'B', 10);
                        $pdf->SetFillColor($tab_modele_pdf["couleur_moy_general1"][$classe_id], $tab_modele_pdf["couleur_moy_general2"][$classe_id], $tab_modele_pdf["couleur_moy_general3"][$classe_id]);
                        // On a deux paramètres de couleur qui se croisent. On utilise une variable tierce.
                        $utilise_couleur = $tab_modele_pdf["couleur_moy_general"][$classe_id];
                        if ($tab_modele_pdf["active_reperage_eleve"][$classe_id] == '1') {
                            // Si on affiche une couleur spécifique pour les moyennes de l'élève,
                            // on utilise cette couleur ici aussi, quoi qu'il arrive
                            $pdf->SetFillColor($tab_modele_pdf["couleur_reperage_eleve1"][$classe_id], $tab_modele_pdf["couleur_reperage_eleve2"][$classe_id], $tab_modele_pdf["couleur_reperage_eleve3"][$classe_id]);
                            $utilise_couleur = 1;
                        }
                        if ($tab_ele['moyenne'] == "" || $tab_ele['moyenne'] == "-") {
                            $val_tmp = "-";
                        } else {
                            //$val_tmp=present_nombre($tab_bull['moy_gen_eleve'][$i], $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]);
                            //$val_tmp=$tab_bull['moy_gen_eleve'][$i];
                            $val_tmp = present_nombre(my_ereg_replace(',', '.', $tab_ele['moyenne']), $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]);
                            /*
                            $tmp_fich=fopen("/tmp/test_moy_gen.txt","a+");
                            fwrite($tmp_fich,$tab_bull['eleve'][$i]['login']." present_nombre(\$tab_bull['moy_gen_eleve'][$i], \$tab_modele_pdf[\"arrondie_choix\"][$classe_id], \$tab_modele_pdf[\"nb_chiffre_virgule\"][$classe_id], \$tab_modele_pdf[\"chiffre_avec_zero\"][$classe_id])=present_nombre(".$tab_bull['moy_gen_eleve'][$i].", ".$tab_modele_pdf["arrondie_choix"][$classe_id].", ".$tab_modele_pdf["nb_chiffre_virgule"][$classe_id].",". $tab_modele_pdf["chiffre_avec_zero"][$classe_id].")=".present_nombre($tab_bull['moy_gen_eleve'][$i], $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id])."\n");
                            
                            fwrite($tmp_fich,$tab_bull['eleve'][$i]['login']." present_nombre(my_ereg_replace(',','.',\$tab_bull['moy_gen_eleve'][$i]), \$tab_modele_pdf[\"arrondie_choix\"][$classe_id], \$tab_modele_pdf[\"nb_chiffre_virgule\"][$classe_id], \$tab_modele_pdf[\"chiffre_avec_zero\"][$classe_id])=".present_nombre(my_ereg_replace(',','.',$tab_bull['moy_gen_eleve'][$i]), $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id])."\n");
                            
                            fclose($tmp_fich);
                            */
                        }
                        //$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], present_nombre($tab_bull['moy_gen_eleve'][$i], $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]),1,0,'C',$utilise_couleur);
                        $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], $val_tmp, 1, 0, 'C', $utilise_couleur);
                        $pdf->SetFont('DejaVu', '', 10);
                        $pdf->SetFillColor(0, 0, 0);
                        $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                    }
                    //classe
                    if ($tab_modele_pdf["active_moyenne_classe"][$classe_id] == '1' and $tab_modele_pdf["active_moyenne"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'classe') {
                        $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_note_moy_app);
                        $pdf->SetFont('DejaVu', '', 8);
                        $pdf->SetFillColor($tab_modele_pdf["couleur_moy_general1"][$classe_id], $tab_modele_pdf["couleur_moy_general2"][$classe_id], $tab_modele_pdf["couleur_moy_general3"][$classe_id]);
                        /*
                        if( $total_coef_en_calcul != 0){
                        	$moyenne_classe = $total_moyenne_classe_en_calcul / $total_coef_en_calcul;
                        }
                        else{
                        	$moyenne_classe = '-';
                        }
                        */
                        if ($tab_ele['moy_generale_classe'] == "" || $tab_ele['moy_generale_classe'] == "-") {
                            $moyenne_classe = '-';
                        } else {
                            $moyenne_classe = present_nombre(my_ereg_replace(',', '.', $tab_ele['moy_generale_classe']), $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]);
                        }
                        if ($moyenne_classe != '-') {
                            //$moyenne_classe=$tab_bull['moy_generale_classe'];
                            $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], $moyenne_classe, 1, 0, 'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
                        } else {
                            $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], '-', 1, 0, 'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
                        }
                        $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                    }
                    //min
                    if ($tab_modele_pdf["active_moyenne_min"][$classe_id] == '1' and $tab_modele_pdf["active_moyenne"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'min') {
                        $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_note_moy_app);
                        $pdf->SetFont('DejaVu', '', 8);
                        $pdf->SetFillColor($tab_modele_pdf["couleur_moy_general1"][$classe_id], $tab_modele_pdf["couleur_moy_general2"][$classe_id], $tab_modele_pdf["couleur_moy_general3"][$classe_id]);
                        /*
                        if($total_coef_en_calcul != 0 and $tab_modele_pdf["affiche_moyenne_mini_general"][$classe_id] == '1' ){
                        	$moyenne_min = $total_moyenne_min_en_calcul / $total_coef_en_calcul;
                        }
                        else{
                        	$moyenne_min = '-';
                        }
                        */
                        if ($tab_ele['moy_min_classe'] != '-') {
                            //$moyenne_min=$tab_moy_min_classe[$classe_id][$id_periode];
                            $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], present_nombre(my_ereg_replace(',', '.', $tab_ele['moy_min_classe']), $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]), 1, 0, 'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
                        } else {
                            $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], '-', 1, 0, 'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
                        }
                        $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                    }
                    //max
                    if ($tab_modele_pdf["active_moyenne_max"][$classe_id] == '1' and $tab_modele_pdf["active_moyenne"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'max') {
                        $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_note_moy_app);
                        $pdf->SetFont('DejaVu', '', 8);
                        $pdf->SetFillColor($tab_modele_pdf["couleur_moy_general1"][$classe_id], $tab_modele_pdf["couleur_moy_general2"][$classe_id], $tab_modele_pdf["couleur_moy_general3"][$classe_id]);
                        /*
                        if($total_coef_en_calcul != 0 and $tab_modele_pdf["affiche_moyenne_maxi_general"][$classe_id] == '1' ){
                        	$moyenne_max = $total_moyenne_max_en_calcul / $total_coef_en_calcul;
                        } else {
                        	$moyenne_max = '-';
                        }
                        */
                        if ($tab_ele['moy_max_classe'] != '-') {
                            $moyenne_max = $tab_ele['moy_max_classe'];
                            $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], present_nombre(my_ereg_replace(',', '.', $tab_ele['moy_max_classe']), $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]), 1, 0, 'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
                        } else {
                            $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], '-', 1, 0, 'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
                        }
                        $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                    }
                    /*
                    					// rang de l'élève
                    					if($tab_modele_pdf["active_rang"][$classe_id]=='1' and $ordre_moyenne[$cpt_ordre] == 'rang') {
                    						$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
                    						$pdf->SetFont('DejaVu','',8);
                    						$pdf->SetFillColor($tab_modele_pdf["couleur_moy_general1"][$classe_id], $tab_modele_pdf["couleur_moy_general2"][$classe_id], $tab_modele_pdf["couleur_moy_general3"][$classe_id]);
                    						if ($tab_bull['rang_classe'][$i]!= 0) {
                    							$rang_a_afficher=$tab_bull['rang_classe'][$i].'/'.$tab_bull['eff_classe'];
                    						} else {
                    							$rang_a_afficher = "";
                    						}
                    						$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], $rang_a_afficher ,'TLRB',0,'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
                    						$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_rang"][$classe_id];
                    					}
                    
                    					// graphique de niveau
                    					if($tab_modele_pdf["active_graphique_niveau"][$classe_id]=='1' and $ordre_moyenne[$cpt_ordre] == 'niveau' ) {
                    						$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
                    						$pdf->SetFillColor($tab_modele_pdf["couleur_moy_general1"][$classe_id], $tab_modele_pdf["couleur_moy_general2"][$classe_id], $tab_modele_pdf["couleur_moy_general3"][$classe_id]);
                    						// placement de l'élève dans le graphique de niveau
                    						//if ($tab_bull['moy_gen_eleve'][$i]!="") {
                    						if (($tab_bull['moy_gen_eleve'][$i]!="")&&($tab_bull['moy_gen_eleve'][$i]!="-")) {
                    							$place_eleve=$tab_bull['place_eleve_classe'][$i];
                    						}
                    						$data_grap_classe[0]=$tab_bull['quartile1_classe_gen'];
                    						$data_grap_classe[1]=$tab_bull['quartile2_classe_gen'];
                    						$data_grap_classe[2]=$tab_bull['quartile3_classe_gen'];
                    						$data_grap_classe[3]=$tab_bull['quartile4_classe_gen'];
                    						$data_grap_classe[4]=$tab_bull['quartile5_classe_gen'];
                    						$data_grap_classe[5]=$tab_bull['quartile6_classe_gen'];
                    
                    						if (array_sum($data_grap_classe) != 0) {
                    							//$pdf->DiagBarre($X_note_moy_app+$largeur_utilise, $Y_note_moy_app, $tab_modele_pdf["largeur_niveau"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], $data_grap_classe[$id_periode][$id_classe_selection], $place_eleve);
                    							$pdf->DiagBarre($X_note_moy_app+$largeur_utilise, $Y_note_moy_app, $tab_modele_pdf["largeur_niveau"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], $data_grap_classe, $place_eleve);
                    						}
                    						$place_eleve=''; // on vide la variable
                    						$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_niveau"][$classe_id];
                    					}
                    */
                    //appréciation
                    if ($tab_modele_pdf["active_appreciation"][$classe_id] == '1' and $ordre_moyenne[$cpt_ordre] == 'appreciation') {
                        $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_note_moy_app);
                        $pdf->SetFillColor($tab_modele_pdf["couleur_moy_general1"][$classe_id], $tab_modele_pdf["couleur_moy_general2"][$classe_id], $tab_modele_pdf["couleur_moy_general3"][$classe_id]);
                        $pdf->Cell($largeur_appreciation, $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], '', 'TLRB', 0, 'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
                        $largeur_utilise = $largeur_utilise + $largeur_appreciation;
                    }
                    $cpt_ordre = $cpt_ordre + 1;
                }
                $largeur_utilise = 0;
                // fin de boucle d'ordre
                $pdf->SetFillColor(0, 0, 0);
            }
            //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            $Y_avis_cons_init = $tab_modele_pdf["Y_avis_cons"][$classe_id];
            $Y_sign_chef_init = $tab_modele_pdf["Y_sign_chef"][$classe_id];
            $hauteur_avis_cons_init = $tab_modele_pdf["hauteur_avis_cons"][$classe_id] - 0.5;
            $hauteur_sign_chef_init = $tab_modele_pdf["hauteur_sign_chef"][$classe_id] - 0.5;
            // = = = == = = === bloc avis du conseil de classe = = = == = = == = = =
            if ($tab_modele_pdf["active_bloc_avis_conseil"][$classe_id] == '1') {
                if ($tab_modele_pdf["cadre_avis_cons"][$classe_id] != 0) {
                    //$pdf->Rect($tab_modele_pdf["X_avis_cons"][$classe_id], $tab_modele_pdf["Y_avis_cons"][$classe_id], $tab_modele_pdf["longeur_avis_cons"][$classe_id], $tab_modele_pdf["hauteur_avis_cons"][$classe_id], 'D');
                    $pdf->Rect($tab_modele_pdf["X_avis_cons"][$classe_id], $Y_avis_cons_init, $tab_modele_pdf["longeur_avis_cons"][$classe_id], $hauteur_avis_cons_init, 'D');
                }
                //$pdf->SetXY($tab_modele_pdf["X_avis_cons"][$classe_id],$tab_modele_pdf["Y_avis_cons"][$classe_id]);
                $pdf->SetXY($tab_modele_pdf["X_avis_cons"][$classe_id], $Y_avis_cons_init);
                if ($tab_modele_pdf["taille_titre_bloc_avis_conseil"][$classe_id] != '' and $tab_modele_pdf["taille_titre_bloc_avis_conseil"][$classe_id] < '15') {
                    $taille = $tab_modele_pdf["taille_titre_bloc_avis_conseil"][$classe_id];
                } else {
                    $taille = '10';
                }
                $pdf->SetFont('DejaVu', 'I', $taille);
                /*
                				if ( $tab_modele_pdf["titre_bloc_avis_conseil"][$classe_id] != '' ) {
                					$tt_avis = $tab_modele_pdf["titre_bloc_avis_conseil"][$classe_id];
                				} else {
                					$tt_avis = 'Avis du Conseil de classe:';
                				}
                */
                $tt_avis = 'Avis général :';
                $pdf->Cell($tab_modele_pdf["longeur_avis_cons"][$classe_id], 5, $tt_avis, 0, 2, '');
                //$pdf->SetXY($tab_modele_pdf["X_avis_cons"][$classe_id]+2.5,$tab_modele_pdf["Y_avis_cons"][$classe_id]+5);
                $pdf->SetXY($tab_modele_pdf["X_avis_cons"][$classe_id] + 2.5, $Y_avis_cons_init + 5);
                $pdf->SetFont('DejaVu', '', 10);
                $texteavis = $tab_ele['avis'];
                if ($use_cell_ajustee == "n") {
                    $pdf->drawTextBox($texteavis, $tab_modele_pdf["longeur_avis_cons"][$classe_id] - 5, $hauteur_avis_cons_init - 10, 'J', 'M', 0);
                } else {
                    $texte = $texteavis;
                    $taille_max_police = 10;
                    $taille_min_police = ceil($taille_max_police / 3);
                    $largeur_dispo = $tab_modele_pdf["longeur_avis_cons"][$classe_id] - 5;
                    $h_cell = $hauteur_avis_cons_init - 10;
                    cell_ajustee($texte, $pdf->GetX(), $pdf->GetY(), $largeur_dispo, $h_cell, $taille_max_police, $taille_min_police, '');
                }
                $X_pp_aff = $tab_modele_pdf["X_avis_cons"][$classe_id];
                //$Y_pp_aff=$tab_modele_pdf["Y_avis_cons"][$classe_id]+$tab_modele_pdf["hauteur_avis_cons"][$classe_id]-5;
                $Y_pp_aff = $Y_avis_cons_init + $hauteur_avis_cons_init - 5;
                $pdf->SetXY($X_pp_aff, $Y_pp_aff);
                if ($tab_modele_pdf["taille_profprincipal_bloc_avis_conseil"][$classe_id] != '' and $tab_modele_pdf["taille_profprincipal_bloc_avis_conseil"][$classe_id] < '15') {
                    $taille = $tab_modele_pdf["taille_profprincipal_bloc_avis_conseil"][$classe_id];
                } else {
                    $taille = '10';
                }
                $pdf->SetFont('DejaVu', 'I', $taille);
                // Le nom du professeur principal
                $pp_classe[$i] = "";
                if (isset($tab_ele['pp']['login'])) {
                    $gepi_prof_suivi = retourne_denomination_pp($tab_ele['id_classe']);
                    $pp_classe[$i] = "<b>" . ucfirst($gepi_prof_suivi) . "</b> <i>" . affiche_utilisateur($tab_ele['pp']['login'], $tab_ele['id_classe']) . "</i>";
                } else {
                    $pp_classe[$i] = "";
                }
                //$pdf->MultiCellTag(200, 5, ($pp_classe[$i]), '', 'J', '');
                //$pdf->ext_MultiCellTag(200, 5, ($pp_classe[$i]), '', 'J', '');
                $texte = $pp_classe[$i];
                $taille_max_police = $taille;
                $taille_min_police = ceil($taille_max_police / 3);
                $largeur_dispo = 200;
                $h_cell = 5;
                cell_ajustee($texte, $pdf->GetX(), $pdf->GetY(), $largeur_dispo, $h_cell, $taille_max_police, $taille_min_police, '');
            }
            // = = = == = = == = = == = = = bloc du président du conseil de classe = = = == = = ===
            if ($tab_modele_pdf["active_bloc_chef"][$classe_id] == '1') {
                if ($tab_modele_pdf["cadre_sign_chef"][$classe_id] != 0) {
                    //$pdf->Rect($tab_modele_pdf["X_sign_chef"][$classe_id], $tab_modele_pdf["Y_sign_chef"][$classe_id], $tab_modele_pdf["longeur_sign_chef"][$classe_id], $tab_modele_pdf["hauteur_sign_chef"][$classe_id], 'D');
                    $pdf->Rect($tab_modele_pdf["X_sign_chef"][$classe_id], $Y_sign_chef_init, $tab_modele_pdf["longeur_sign_chef"][$classe_id], $hauteur_sign_chef_init, 'D');
                }
                //$pdf->SetXY($tab_modele_pdf["X_sign_chef"][$classe_id],$tab_modele_pdf["Y_sign_chef"][$classe_id]);
                $pdf->SetXY($tab_modele_pdf["X_sign_chef"][$classe_id], $Y_sign_chef_init);
                $pdf->SetFont('DejaVu', '', 10);
                if ($tab_modele_pdf["affichage_haut_responsable"][$classe_id] == '1') {
                    if ($tab_modele_pdf["affiche_fonction_chef"][$classe_id] == '1') {
                        if ($tab_modele_pdf["taille_texte_fonction_chef"][$classe_id] != '' and $tab_modele_pdf["taille_texte_fonction_chef"][$classe_id] != '0' and $tab_modele_pdf["taille_texte_fonction_chef"][$classe_id] < '15') {
                            $taille = $tab_modele_pdf["taille_texte_fonction_chef"][$classe_id];
                        } else {
                            $taille = '10';
                        }
                        $pdf->SetFont('DejaVu', 'B', $taille);
                        $pdf->Cell($tab_modele_pdf["longeur_sign_chef"][$classe_id], 5, $tab_bull['formule'], 0, 2, '');
                    }
                    if ($tab_modele_pdf["taille_texte_identitee_chef"][$classe_id] != '' and $tab_modele_pdf["taille_texte_identitee_chef"][$classe_id] != '0' and $tab_modele_pdf["taille_texte_identitee_chef"][$classe_id] < '15') {
                        $taille = $tab_modele_pdf["taille_texte_identitee_chef"][$classe_id];
                    } else {
                        $taille_avis = '8';
                    }
                    $pdf->SetFont('DejaVu', 'I', $taille);
                    $pdf->Cell($tab_modele_pdf["longeur_sign_chef"][$classe_id], 5, $tab_ele['suivi_par'], 0, 2, '');
                } else {
                    //$pdf->MultiCell($longeur_sign_chef[$classe_id],5, "Visa du Chef d'établissement\nou de son délégué",0,2,'');
                    $pdf->MultiCell($tab_modele_pdf["longeur_sign_chef"][$classe_id], 5, "Visa du Chef d'établissement\nou de son délégué", 0, 2, '');
                }
            }
        }
    }
}
Пример #6
0
             $sql = "SELECT DISTINCT e.* FROM eleves e,\n\t\t\t\t\t\t\t\t\tj_eleves_classes jec\n\t\t\t\t\t\tWHERE jec.login=e.login AND\n\t\t\t\t\t\t\t\t\tjec.id_classe='" . $tab_id_classe[$i] . "'\n\t\t\t\t\t\tORDER BY e.nom,e.prenom;";
         } else {
             // Le prof est PP d'au moins une partie des élèves de la classe
             $sql = "SELECT DISTINCT e.* FROM eleves e,\n\t\t\t\t\t\t\t\t\tj_eleves_classes jec,\n\t\t\t\t\t\t\t\t\tj_eleves_professeurs jep\n\t\t\t\t\t\tWHERE jec.login=e.login AND\n\t\t\t\t\t\t\t\tjec.login=jep.login AND\n\t\t\t\t\t\t\t\tjep.professeur='" . $_SESSION['login'] . "' AND\n\t\t\t\t\t\t\t\tjec.id_classe='" . $tab_id_classe[$i] . "'\n\t\t\t\t\t\tORDER BY e.nom,e.prenom;";
             $test_acces = mysqli_query($GLOBALS["mysqli"], $sql);
             if (mysqli_num_rows($test_acces) == 0) {
                 // On pourrait mettre un tentative_intrusion()
                 $gepi_prof_suivi = ucfirst(retourne_denomination_pp($tab_id_classe[$i]));
                 echo "<p>Vous n'êtes pas " . $gepi_prof_suivi . " de cette classe, donc pas autorisé à accéder aux relevés de notes de ces élèves.</p>\n";
                 require "../lib/footer.inc.php";
                 die;
             }
         }
     } else {
         // On pourrait mettre un tentative_intrusion()
         $gepi_prof_suivi = ucfirst(retourne_denomination_pp($tab_id_classe[$i]));
         echo "<p>Vous n'êtes pas " . $gepi_prof_suivi . " de cette classe, donc pas autorisé à accéder aux relevés de notes de ces élèves.</p>\n";
         require "../lib/footer.inc.php";
         die;
     }
 } elseif ($_SESSION['statut'] == 'eleve' && getSettingValue("GepiAccesReleveEleve") == "yes") {
     $sql = "SELECT DISTINCT e.* FROM eleves e, j_eleves_classes jec WHERE (jec.id_classe='" . $tab_id_classe[$i] . "' AND jec.login='******'login'] . "' AND jec.login=e.login);";
 } elseif ($_SESSION['statut'] == 'responsable' && getSettingValue("GepiAccesReleveParent") == "yes") {
     $sql = "(SELECT DISTINCT e.*  FROM eleves e, j_eleves_classes jec, responsables2 r, resp_pers rp\n\t\t\t\t\tWHERE (e.ele_id=r.ele_id AND\n\t\t\t\t\t\t\tr.pers_id=rp.pers_id AND\n\t\t\t\t\t\t\trp.login='******'login'] . "' AND\n\t\t\t\t\t\t\tjec.id_classe='" . $tab_id_classe[$i] . "' AND\n\t\t\t\t\t\t\t(r.resp_legal='1' OR r.resp_legal='2') AND\n\t\t\t\t\t\t\tjec.login=e.login))";
     if (getSettingAOui('GepiMemesDroitsRespNonLegaux')) {
         $sql .= " UNION (SELECT DISTINCT e.*  FROM eleves e, j_eleves_classes jec, responsables2 r, resp_pers rp\n\t\t\t\t\tWHERE (e.ele_id=r.ele_id AND\n\t\t\t\t\t\t\tr.pers_id=rp.pers_id AND\n\t\t\t\t\t\t\trp.login='******'login'] . "' AND\n\t\t\t\t\t\t\tjec.id_classe='" . $tab_id_classe[$i] . "' AND\n\t\t\t\t\t\t\tr.resp_legal='0' AND\n\t\t\t\t\t\t\tr.acces_sp='y' AND \n\t\t\t\t\t\t\tjec.login=e.login))";
     }
     $sql .= ";";
 } elseif ($_SESSION['statut'] == 'autre') {
     $sql = "SELECT DISTINCT e.* FROM eleves e,\n\t\t\t\t\t\t\tj_eleves_classes jec\n\t\t\t\tWHERE jec.login=e.login AND\n\t\t\t\t\t\t\tjec.id_classe='" . $tab_id_classe[$i] . "'\n\t\t\t\tORDER BY e.nom,e.prenom;";
 } else {
function bulletin_classe($tab_moy, $total, $periode1, $periode2, $nom_periode, $gepiYear, $id_classe, $test_coef, $affiche_categories, $couleur_lignes = NULL)
{
    global $nb_notes, $nombre_eleves, $type_etablissement, $type_etablissement2;
    global $affiche_colonne_moy_classe;
    //$affiche_colonne_moy_classe="n";
    // 20121209
    global $avec_moy_min_max_classe;
    //global $avec_rapport_effectif;
    $avec_rapport_effectif = "y";
    $alt = 1;
    // données requises :
    //- $total : nombre total d'élèves
    //- $periode1 : numéro de la première période à afficher
    //- $periode2 : numéro de la dernière période à afficher
    //- $nom_periode : tableau des noms de période
    //- $gepiYear : année
    //- $id_classe : identifiant de la classe.
    //====================
    $affiche_coef = sql_query1("SELECT display_coef FROM classes WHERE id='" . $id_classe . "'");
    //echo "\$affiche_coef=$affiche_coef<br />\n";
    //====================
    //=========================
    // AJOUT: boireaus 20080316
    //global $tab_moy_gen;
    //global $tab_moy_cat_classe;
    global $display_moy_gen;
    //=========================
    global $affiche_deux_moy_gen;
    global $bull_simp_larg_tab, $bull_simp_larg_col1, $bull_simp_larg_col2, $bull_simp_larg_col3, $bull_simp_larg_col4;
    //echo "\$affiche_categories=$affiche_categories<br />";
    if (!getSettingValue("bull_intitule_app")) {
        $bull_intitule_app = "Appréciations/Conseils";
    } else {
        $bull_intitule_app = getSettingValue("bull_intitule_app");
    }
    $nb_periodes = $periode2 - $periode1 + 1;
    //============================
    // Liste des profs principaux:
    $data_profsuivi = mysqli_query($GLOBALS["mysqli"], "SELECT DISTINCT u.login FROM utilisateurs u, j_eleves_professeurs j WHERE (j.professeur = u.login AND j.id_classe='{$id_classe}') ");
    $current_profsuivi_login = array();
    if (mysqli_num_rows($data_profsuivi) > 0) {
        while ($lig_profsuivi = mysqli_fetch_object($data_profsuivi)) {
            $current_profsuivi_login[] = $lig_profsuivi->login;
        }
    }
    //============================
    unset($tab_acces_app);
    $tab_acces_app = array();
    $tab_acces_app = acces_appreciations($periode1, $periode2, $id_classe);
    $call_classe = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM classes WHERE id='{$id_classe}'");
    $classe = old_mysql_result($call_classe, 0, "classe");
    //-------------------------------
    // On affiche l'en-tête : Les données de la classe
    //-------------------------------
    echo "<span class='bull_simpl'><span class='bold'>Classe de {$classe}</span>";
    echo ", année scolaire {$gepiYear}<br />\n";
    if ($periode1 < $periode2) {
        echo "Résultats de : ";
        $nb = $periode1;
        while ($nb < $periode2 + 1) {
            echo $nom_periode[$nb];
            if ($nb < $periode2) {
                echo " - ";
            }
            $nb++;
        }
        echo ".</span>";
    } else {
        $temp = my_strtolower($nom_periode[$periode1]);
        echo "Résultats du {$temp}.</span>";
    }
    //
    //-------------------------------
    // Fin de l'en-tête
    //echo "\$test_coef=$test_coef<br />";
    // On initialise le tableau :
    $bull_simp_larg_tab_defaut = 680;
    $bull_simp_larg_col1_defaut = 120;
    $bull_simp_larg_col2_defaut = 38;
    $bull_simp_larg_col3_defaut = 38;
    $bull_simp_larg_col4_defaut = 20;
    $larg_tab = $bull_simp_larg_tab_defaut;
    $larg_col1 = $bull_simp_larg_col1_defaut;
    $larg_col2 = $bull_simp_larg_col3_defaut;
    $larg_col3 = $bull_simp_larg_col3_defaut;
    $larg_col4 = $bull_simp_larg_col4_defaut;
    if (preg_match("/^[0-9]{1,}\$/", $bull_simp_larg_tab)) {
        $larg_tab = $bull_simp_larg_tab;
    }
    if (preg_match("/^[0-9]{1,}\$/", $bull_simp_larg_col1)) {
        $larg_col1 = $bull_simp_larg_col1;
    }
    if (preg_match("/^[0-9]{1,}\$/", $bull_simp_larg_col2)) {
        $larg_col2 = $bull_simp_larg_col2;
    }
    if (preg_match("/^[0-9]{1,}\$/", $bull_simp_larg_col3)) {
        $larg_col3 = $bull_simp_larg_col3;
    }
    if (preg_match("/^[0-9]{1,}\$/", $bull_simp_larg_col4)) {
        $larg_col4 = $bull_simp_larg_col4;
    }
    if ($bull_simp_larg_tab < $bull_simp_larg_col1 + $bull_simp_larg_col2 + $bull_simp_larg_col3 + $bull_simp_larg_col4) {
        $larg_tab = $bull_simp_larg_tab_defaut;
        $larg_col1 = $bull_simp_larg_col1_defaut;
        $larg_col2 = $bull_simp_larg_col2_defaut;
        $larg_col3 = $bull_simp_larg_col3_defaut;
        $larg_col4 = $bull_simp_larg_col4_defaut;
    }
    $larg_col5 = $larg_tab - $larg_col1 - $larg_col2 - $larg_col3 - $larg_col4;
    //echo "<table width=$larg_tab border=1 cellspacing=1 cellpadding=1>\n";
    echo "<table width='{$larg_tab}' class='boireaus' cellspacing='1' cellpadding='1' summary=''>\n";
    echo "<tr><td width=\"{$larg_col1}\" class='bull_simpl'>{$total} élèves";
    echo "</td>\n";
    //====================
    if ($affiche_coef == 'y') {
        if ($test_coef != 0) {
            echo "<td width=\"{$larg_col2}\" align=\"center\"><p class='bull_simpl'>Coef.</p></td>\n";
        }
    }
    //====================
    if ($avec_rapport_effectif == "y") {
        echo "<td width=\"{$larg_col2}\" align=\"center\" class='bull_simpl'>Effectif</td>\n";
    }
    if ($affiche_colonne_moy_classe != 'n') {
        echo "<td width=\"{$larg_col2}\" align=\"center\" class='bull_simpl'>Classe</td>\n";
    }
    echo "<td width=\"{$larg_col5}\" class='bull_simpl'>{$bull_intitule_app}</td></tr>\n";
    // Récupération des noms de categories
    $get_cat = mysqli_query($GLOBALS["mysqli"], "SELECT id FROM matieres_categories");
    $categories = array();
    while ($row = mysqli_fetch_array($get_cat, MYSQLI_ASSOC)) {
        $categories[] = $row["id"];
    }
    $cat_names = array();
    foreach ($categories as $cat_id) {
        $cat_names[$cat_id] = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT nom_complet FROM matieres_categories WHERE id = '" . $cat_id . "'"), 0);
    }
    // Nombre de groupes sur la classe
    $nombre_groupes = count($tab_moy['current_group']);
    $prev_cat_id = null;
    //while ($j < $nombre_groupes) {
    for ($j = 0; $j < $nombre_groupes; $j++) {
        $inser_ligne = 'no';
        // On récupère le groupe depuis $tab_moy
        $current_group = $tab_moy['current_group'][$j];
        $ligne_groupe_visible = "y";
        if ($_SESSION['statut'] == 'eleve') {
            $sql = "SELECT 1=1 FROM j_eleves_groupes WHERE id_groupe='" . $current_group['id'] . "' AND login='******'login'] . "';";
            $test_grp = mysqli_query($GLOBALS["mysqli"], $sql);
            if (mysqli_num_rows($test_grp) == 0) {
                $ligne_groupe_visible = "n";
            }
        } elseif ($_SESSION['statut'] == 'responsable') {
            $sql = "SELECT 1=1 FROM j_eleves_groupes WHERE id_groupe='" . $current_group['id'] . "' AND login IN (SELECT e.login FROM eleves e, resp_pers rp, responsables2 r WHERE e.ele_id=r.ele_id AND rp.pers_id=r.pers_id AND (r.resp_legal='1' OR r.resp_legal='2') AND rp.login='******'login'] . "');";
            //echo "$sql<br />";
            $test_grp = mysqli_query($GLOBALS["mysqli"], $sql);
            if (mysqli_num_rows($test_grp) == 0) {
                $ligne_groupe_visible = "n";
            }
        }
        if ($ligne_groupe_visible == 'y') {
            // Coefficient pour le groupe
            $current_coef = $current_group["classes"]["classes"][$id_classe]["coef"];
            $current_matiere_professeur_login = $current_group["profs"]["list"];
            //$current_matiere_nom_complet = $current_group["matiere"]["nom_complet"];
            if (getSettingValue('bul_rel_nom_matieres') == 'nom_groupe') {
                $current_matiere_nom_complet = $current_group["name"];
            } elseif (getSettingValue('bul_rel_nom_matieres') == 'description_groupe') {
                $current_matiere_nom_complet = $current_group["description"];
            } else {
                $current_matiere_nom_complet = $current_group["matiere"]["nom_complet"];
            }
            //echo "\$current_matiere_nom_complet=$current_matiere_nom_complet<br />\n";
            $nb = $periode1;
            while ($nb < $periode2 + 1) {
                $current_classe_matiere_moyenne[$nb] = $tab_moy['periodes'][$nb]['current_classe_matiere_moyenne'][$j];
                // 20121209
                $moy_min_classe_grp[$nb] = $tab_moy['periodes'][$nb]['moy_min_classe_grp'][$j];
                $moy_max_classe_grp[$nb] = $tab_moy['periodes'][$nb]['moy_max_classe_grp'][$j];
                // On teste si des notes de une ou plusieurs boites du carnet de notes doivent être affichées
                $test_cn = mysqli_query($GLOBALS["mysqli"], "select c.nom_court, c.id from cn_cahier_notes cn, cn_conteneurs c\n\t\t\twhere (cn.periode = '{$nb}' and cn.id_groupe='" . $current_group["id"] . "' and cn.id_cahier_notes = c.id_racine and c.id_racine!=c.id and c.display_bulletin = 1) ");
                $nb_ligne_cn[$nb] = mysqli_num_rows($test_cn);
                $n = 0;
                while ($n < $nb_ligne_cn[$nb]) {
                    $cn_id[$nb][$n] = old_mysql_result($test_cn, $n, 'id');
                    $cn_nom[$nb][$n] = old_mysql_result($test_cn, $n, 'nom_court');
                    $n++;
                }
                //echo "\$nb=$nb<br />\n";
                $nb++;
            }
            $nb = $periode1;
            while ($nb < $periode2 + 1) {
                $current_grp_appreciation_query = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM matieres_appreciations_grp WHERE (id_groupe='" . $current_group["id"] . "' AND periode='{$nb}')");
                $current_grp_appreciation[$nb] = @old_mysql_result($current_grp_appreciation_query, 0, "appreciation");
                //echo "\$current_grp_appreciation[$nb]=$current_grp_appreciation[$nb]<br />\n";
                $nb++;
            }
            if ($affiche_categories) {
                // On regarde si on change de catégorie de matière
                if ($current_group["classes"]["classes"][$id_classe]["categorie_id"] != $prev_cat_id) {
                    $prev_cat_id = $current_group["classes"]["classes"][$id_classe]["categorie_id"];
                    // On est dans une nouvelle catégorie
                    // On récupère les infos nécessaires, et on affiche une ligne
                    // On détermine le nombre de colonnes pour le colspan
                    //$nb_total_cols = 4;
                    if ($affiche_colonne_moy_classe != 'n') {
                        $nb_total_cols = 2;
                    } else {
                        $nb_total_cols = 3;
                    }
                    //====================
                    if ($affiche_coef == 'y') {
                        if ($test_coef != 0) {
                            $nb_total_cols++;
                        }
                    }
                    //====================
                    if ($avec_rapport_effectif == 'y') {
                        $nb_total_cols++;
                    }
                    //====================
                    // On regarde s'il faut afficher la moyenne de l'élève pour cette catégorie
                    $affiche_cat_moyenne_query = mysqli_query($GLOBALS["mysqli"], "SELECT affiche_moyenne FROM j_matieres_categories_classes WHERE (classe_id = '" . $id_classe . "' and categorie_id = '" . $prev_cat_id . "')");
                    if (mysqli_num_rows($affiche_cat_moyenne_query) == "0") {
                        $affiche_cat_moyenne = false;
                    } else {
                        $affiche_cat_moyenne = old_mysql_result($affiche_cat_moyenne_query, 0);
                    }
                    // On a toutes les infos. On affiche !
                    echo "<tr>\n";
                    echo "<td colspan='" . $nb_total_cols . "'>\n";
                    echo "<p style='padding: 0; margin:0; font-size: 10px;'>" . $cat_names[$prev_cat_id] . "</p></td>\n";
                    echo "</tr>\n";
                }
            }
            //echo "<tr>\n";
            if ($couleur_lignes == 'y') {
                $alt = $alt * -1;
                echo "<tr class='lig{$alt}'>\n";
                $alt2 = $alt;
            } else {
                echo "<tr>\n";
            }
            echo "<td ";
            if ($nb_periodes > 1) {
                echo " rowspan= " . $nb_periodes;
            }
            //echo" width=\"$larg_col1\" class='bull_simpl'><b>$current_matiere_nom_complet</b>";
            echo " width=\"{$larg_col1}\" class='bull_simpl'><b>" . htmlspecialchars($current_matiere_nom_complet) . "</b>";
            $k = 0;
            while ($k < count($current_matiere_professeur_login)) {
                echo "<br /><i>" . affiche_utilisateur($current_matiere_professeur_login[$k], $id_classe) . "</i>";
                $k++;
            }
            echo "</td>\n";
            //====================
            if ($affiche_coef == 'y') {
                if ($test_coef != 0) {
                    $print_coef = number_format($current_coef, 1, ',', ' ');
                    echo "<td width=\"{$larg_col2}\"";
                    if ($nb_periodes > 1) {
                        echo " rowspan= " . $nb_periodes;
                    }
                    echo " align=\"center\"><p class='bull_simpl'>" . $print_coef . "</p></td>\n";
                }
            }
            //====================
            $nb = $periode1;
            $print_tr = 'no';
            while ($nb < $periode2 + 1) {
                if ($print_tr == 'yes') {
                    //echo "<tr style='border-width: 5px;'>\n";
                    if ($couleur_lignes == 'y') {
                        $alt2 = $alt2 * -1;
                        echo "<tr class='lig{$alt2}' style='border-width: 5px;'>\n";
                    } else {
                        echo "<tr>\n";
                    }
                }
                //=========================
                if ($nb == $periode1) {
                    if ($nb == $periode2) {
                        $style_bordure_cell = "border: 1px solid black";
                    } else {
                        $style_bordure_cell = "border: 1px solid black; border-bottom: 1px dashed black";
                    }
                } elseif ($nb == $periode2) {
                    $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black;";
                } else {
                    $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black; border-bottom: 1px dashed black;";
                }
                //=========================
                if ($avec_rapport_effectif == "y") {
                    //$sql="SELECT 1=1 FROM j_eleves_classes jec,
                    $sql = "SELECT DISTINCT jeg.login FROM j_eleves_classes jec,\n\t\t\t\t\t\t\t\t\tj_eleves_groupes jeg,\n\t\t\t\t\t\t\t\t\tj_groupes_classes jgc\n\t\t\t\t\t\t\t\tWHERE jec.id_classe='{$id_classe}' AND\n\t\t\t\t\t\t\t\t\t\tjec.periode='{$nb}' AND\n\t\t\t\t\t\t\t\t\t\tjec.periode=jeg.periode AND\n\t\t\t\t\t\t\t\t\t\tjec.login=jeg.login AND\n\t\t\t\t\t\t\t\t\t\tjeg.id_groupe=jgc.id_groupe AND\n\t\t\t\t\t\t\t\t\t\tjeg.id_groupe='" . $current_group["id"] . "';";
                    //$sql0=$sql;
                    $res_effectif = mysqli_query($GLOBALS["mysqli"], $sql);
                    $effectif_grp_classe = mysqli_num_rows($res_effectif);
                    $sql = "SELECT 1=1 FROM j_eleves_groupes jeg\n\t\t\t\t\t\t\t\tWHERE jeg.periode='{$nb}' AND\n\t\t\t\t\t\t\t\t\t\tjeg.id_groupe='" . $current_group["id"] . "';";
                    $res_effectif_tot = mysqli_query($GLOBALS["mysqli"], $sql);
                    $effectif_grp_total = mysqli_num_rows($res_effectif_tot);
                    echo "<td width=\"{$larg_col2}\" align=\"center\" class='bull_simpl' style='{$style_bordure_cell}'>";
                    //echo "$sql0<br /><br />";
                    //echo "$sql<br /><br />";
                    if ($effectif_grp_classe == $effectif_grp_total) {
                        echo $effectif_grp_classe . '&nbsp;él.';
                    } else {
                        echo "{$effectif_grp_classe}&nbsp;él. /{$effectif_grp_total}";
                    }
                    echo "</td>\n";
                }
                if ($affiche_colonne_moy_classe != 'n') {
                    echo "<td width=\"{$larg_col2}\" align=\"center\" class='bull_simpl' style='{$style_bordure_cell}'>\n";
                    // 20121209
                    //$note=number_format($current_classe_matiere_moyenne[$nb],1, ',', ' ');
                    $note = nf($current_classe_matiere_moyenne[$nb]);
                    if ($note != "0,0") {
                        if ($avec_moy_min_max_classe == 'y') {
                            echo "<span title=\"Moyenne minimale sur l'enseignement\">" . nf($moy_min_classe_grp[$nb]) . "</span> ";
                        }
                        echo "<span style='font-weight:bold' title=\"Moyenne du groupe sur l'enseignement\">" . $note . "</span>";
                        if ($avec_moy_min_max_classe == 'y') {
                            echo " <span title=\"Moyenne maximale sur l'enseignement\">" . nf($moy_max_classe_grp[$nb]) . "</span>";
                        }
                    } else {
                        echo "-";
                    }
                    echo "</td>\n";
                }
                // Affichage des cases appréciations
                echo "<td width=\"{$larg_col5}\" class='bull_simpl' style='text-align:left; {$style_bordure_cell}'>\n";
                //if ($current_grp_appreciation[$nb]) {
                if ($current_grp_appreciation[$nb] && $tab_acces_app[$nb] == "y") {
                    if ($current_grp_appreciation[$nb] == "-1") {
                        echo "<span class='noprint'>-</span>\n";
                    } else {
                        if (strstr($current_grp_appreciation[$nb], ">") || strstr($current_grp_appreciation[$nb], "<")) {
                            echo "{$current_grp_appreciation[$nb]}";
                        } else {
                            echo nl2br($current_grp_appreciation[$nb]);
                        }
                    }
                    //======================================
                } else {
                    echo " -";
                }
                echo "</td></tr>\n";
                $print_tr = 'yes';
                $nb++;
            }
        }
    }
    // Affichage des moyennes générales
    if ($display_moy_gen == "y") {
        if ($test_coef != 0) {
            echo "<tr>\n<td";
            if ($nb_periodes > 1) {
                echo " rowspan=" . $nb_periodes;
            }
            echo ">\n<p class='bull_simpl'><b>Moyenne générale</b></p>\n</td>\n";
            //====================
            if ($affiche_coef == 'y') {
                echo "<td";
                if ($nb_periodes > 1) {
                    echo " rowspan=" . $nb_periodes;
                }
                echo " align=\"center\">-</td>\n";
            }
            //====================
            $nb = $periode1;
            $print_tr = 'no';
            while ($nb < $periode2 + 1) {
                //=============================
                //if($nb==$periode1){echo "<tr>\n";}
                if ($print_tr == 'yes') {
                    echo "<tr style='border-width: 5px;'>\n";
                }
                //=============================
                //=========================
                if ($nb == $periode1) {
                    if ($nb == $periode2) {
                        $style_bordure_cell = "border: 1px solid black";
                    } else {
                        $style_bordure_cell = "border: 1px solid black; border-bottom: 1px dashed black";
                    }
                } elseif ($nb == $periode2) {
                    $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black;";
                } else {
                    $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black; border-bottom: 1px dashed black;";
                }
                //=========================
                if ($avec_rapport_effectif == "y") {
                    $sql = "SELECT 1=1 FROM j_eleves_classes WHERE periode='{$nb}' AND id_classe='{$id_classe}';";
                    $res_eff_classe = mysqli_query($GLOBALS["mysqli"], $sql);
                    echo "<td class='bull_simpl' align=\"center\" style='{$style_bordure_cell}'>\n";
                    //echo "$sql<br />";
                    echo mysqli_num_rows($res_eff_classe) . ' él.';
                    echo "</td>\n";
                }
                if ($affiche_colonne_moy_classe != 'n') {
                    echo "<td class='bull_simpl' align=\"center\" style='{$style_bordure_cell}'>\n";
                    /*
                    if ($total_points_classe[$nb] != 0) {
                    	//$moy_classe=number_format($total_points_classe[$nb]/$total_coef[$nb],1, ',', ' ');
                    	//=========================
                    	// MODIF: boireaus 20080316
                    	//$moy_classe=number_format($total_points_classe[$nb]/$total_coef_classe[$nb],1, ',', ' ');
                    	$moy_classe=$tab_moy_gen[$nb];
                    	//=========================
                    } else {
                    	$moy_classe = '-';
                    }
                    */
                    // 20121209
                    if ($avec_moy_min_max_classe == 'y') {
                        echo "<span title=\"Moyenne générale minimale\">" . nf($tab_moy['periodes'][$nb]['moy_min_classe'], 2) . "</span> ";
                    }
                    echo "<span style='font-weight:bold' title=\"Moyenne des moyennes générales de la classe\">" . nf($tab_moy['periodes'][$nb]['moy_generale_classe'], 2) . "</span>";
                    if ($avec_moy_min_max_classe == 'y') {
                        echo " <span title=\"Moyenne générale maximale\">" . nf($tab_moy['periodes'][$nb]['moy_max_classe'], 2) . "</span>";
                    }
                    if ($affiche_deux_moy_gen == 1) {
                        echo "<br />\n";
                        echo "<i>";
                        /*
                        if($avec_moy_min_max_classe=='y') {
                        	echo "<span title=\"Moyenne générale minimale avec tous les coefficients à 1\">".nf($tab_moy['periodes'][$nb]['moy_min_classe1'],2)."</span> ";
                        }
                        */
                        echo "<span style='font-weight:bold' title=\"Moyenne des moyennes générales de la classe avec tous les coefficients à 1\">" . nf($tab_moy['periodes'][$nb]['moy_generale_classe1']) . "</span>";
                        /*
                        if($avec_moy_min_max_classe=='y') {
                        	echo " <span title=\"Moyenne générale maximale avec tous les coefficients à 1\">".nf($tab_moy['periodes'][$nb]['moy_max_classe1'],2)."</span>";
                        }
                        */
                        echo "</i>\n";
                    }
                    echo "</td>\n";
                }
                /*
                echo "<td class='bull_simpl' align=\"center\">\n";
                if ($total_points_eleve[$nb] != '0') {
                	//$moy_eleve=number_format($total_points_eleve[$nb]/$total_coef[$nb],1, ',', ' ');
                	$moy_eleve=number_format($total_points_eleve[$nb]/$total_coef_eleve[$nb],1, ',', ' ');
                } else {
                	$moy_eleve = '-';
                }
                echo "<b>".$moy_eleve."</b>\n</td>\n";
                if ($affiche_rang == 'y')  {
                	$rang = sql_query1("select rang from j_eleves_classes where (
                	periode = '".$nb."' and
                	id_classe = '".$id_classe."' and
                	login = '******' )
                	");
                	if (($rang == 0) or ($rang == -1)) $rang = "-"; else  $rang .="/".$nombre_eleves;
                		echo "<td class='bull_simpl' align=\"center\">".$rang."</td>\n";
                }
                */
                if ($affiche_categories) {
                    echo "<td class='bull_simpl' style='text-align:left; {$style_bordure_cell}'>\n";
                    foreach ($categories as $cat_id) {
                        // MODIF: boireaus 20070627 ajout du test et utilisation de $total_cat_coef_eleve, $total_cat_coef_classe
                        // Tester si cette catégorie doit avoir sa moyenne affichée
                        $affiche_cat_moyenne_query = mysqli_query($GLOBALS["mysqli"], "SELECT affiche_moyenne FROM j_matieres_categories_classes WHERE (classe_id = '" . $id_classe . "' and categorie_id = '" . $cat_id . "')");
                        if (mysqli_num_rows($affiche_cat_moyenne_query) == "0") {
                            $affiche_cat_moyenne = false;
                        } else {
                            $affiche_cat_moyenne = old_mysql_result($affiche_cat_moyenne_query, 0);
                        }
                        if ($affiche_cat_moyenne) {
                            /*
                            //if ($total_cat_coef[$nb][$cat_id] != "0") {
                            //if ($total_cat_coef_eleve[$nb][$cat_id] != "0") {
                            	//$moy_eleve=number_format($total_cat_eleve[$nb][$cat_id]/$total_cat_coef[$nb][$cat_id],1, ',', ' ');
                            	//$moy_classe=number_format($total_cat_classe[$nb][$cat_id]/$total_cat_coef[$nb][$cat_id],1, ',', ' ');
                            	//$moy_eleve=number_format($total_cat_eleve[$nb][$cat_id]/$total_cat_coef_eleve[$nb][$cat_id],1, ',', ' ');
                            	//echo "\$total_cat_coef_classe[$nb][$cat_id]=".$total_cat_coef_classe[$nb][$cat_id]."<br />";
                            	if ($total_cat_coef_classe[$nb][$cat_id] != "0") {
                            		$moy_classe=number_format($total_cat_classe[$nb][$cat_id]/$total_cat_coef_classe[$nb][$cat_id],1, ',', ' ');
                            	}
                            	else{
                            		$moy_classe="-";
                            	}
                            
                            	//echo $cat_names[$cat_id] . " - <b>$moy_eleve</b> (classe : " . $moy_classe . ")<br/>\n";
                            	echo $cat_names[$cat_id] . " - <b>$moy_classe</b><br />\n";
                            //}
                            */
                            $moy_classe = "-";
                            $loop_i = 0;
                            while ($loop_i < count($tab_moy['periodes'][$nb]['current_eleve_login'])) {
                                if (isset($tab_moy['periodes'][$nb]['moy_cat_classe'][$loop_i][$cat_id])) {
                                    $moy_classe = $tab_moy['periodes'][$nb]['moy_cat_classe'][$loop_i][$cat_id];
                                    break;
                                }
                                $loop_i++;
                            }
                            echo $cat_names[$cat_id] . " - <b>" . nf($moy_classe, 2) . "</b><br/>\n";
                        }
                    }
                    echo "</td>\n</tr>\n";
                } else {
                    echo "<td class='bull_simpl' style='text-align:left; {$style_bordure_cell}'>-</td>\n</tr>\n";
                }
                $nb++;
                $print_tr = 'yes';
            }
        }
    }
    echo "</table>\n";
    /*
    // Les absences
    
    echo "<table width=$larg_tab border=1 cellspacing=1 cellpadding=1>\n";
    $nb=$periode1;
    while ($nb < $periode2+1) {
    	$current_eleve_absences_query = mysql_query("SELECT * FROM absences WHERE (login='******' AND periode='$nb')");
    	$eleve_abs[$nb] = @old_mysql_result($current_eleve_absences_query, 0, "nb_absences");
    	$eleve_abs_nj[$nb] = @old_mysql_result($current_eleve_absences_query, 0, "non_justifie");
    	$eleve_retards[$nb] = @old_mysql_result($current_eleve_absences_query, 0, "nb_retards");
    	$current_eleve_appreciation_absences = @old_mysql_result($current_eleve_absences_query, 0, "appreciation");
    	if (($eleve_abs[$nb] != '') and ($eleve_abs_nj[$nb] != '')) {
    		$eleve_abs_j[$nb] = $eleve_abs[$nb]-$eleve_abs_nj[$nb];
    	} else {
    		$eleve_abs_j[$nb] = "?";
    	}
    	$eleve_app_abs[$nb] = @old_mysql_result($current_eleve_absences_query, 0, "appreciation");
    	if ($eleve_abs_nj[$nb] == '') { $eleve_abs_nj[$nb] = "?"; }
    	if ($eleve_retards[$nb] == '') { $eleve_retards[$nb] = "?"; }
    	echo "<tr>\n<td valign=top class='bull_simpl'>$nom_periode[$nb]</td>\n";
    	echo "<td valign=top class='bull_simpl'>\n";
    	if ($eleve_abs_j[$nb] == "1") {
    		echo "Absences justifiées : une demi-journée";
    	} else if ($eleve_abs_j[$nb] != "0") {
    		echo "Absences justifiées : $eleve_abs_j[$nb] demi-journées";
    	} else {
    		echo "Aucune absence justifiée";
    	}
    	echo "</td>\n";
    	echo "<td valign=top class='bull_simpl'>\n";
    	if ($eleve_abs_nj[$nb] == '1') {
    		echo "Absences non justifiées : une demi-journée";
    	} else if ($eleve_abs_nj[$nb] != '0') {
    		echo "Absences non justifiées : $eleve_abs_nj[$nb] demi-journées";
    	} else {
    		echo "Aucune absence non justifiée";
    	}
    	echo "</td>\n";
    	echo "<td valign=top class='bull_simpl'>Nb. de retards : $eleve_retards[$nb]</td>\n</tr>\n";
    	//Ajout Eric
    	if ($current_eleve_appreciation_absences != "") {
    	echo "<tr>\n";
    	echo "<td valign=top class='bull_simpl'>&nbsp;</td>\n";
    	echo "<td valign=top class='bull_simpl' colspan=\"3\">";
    	echo " Observation(s) : $current_eleve_appreciation_absences</td>\n</tr>\n";
    	}
    
    	$nb++;
    }
    echo "</table>\n";
    */
    // Maintenant, on met l'avis du conseil de classe :
    echo "<span class='bull_simpl'><b>Avis du conseil de classe </b> ";
    $gepi_prof_suivi = ucfirst(retourne_denomination_pp($id_classe));
    /*
    if ($current_eleve_profsuivi_login) {
    	echo "<b>(".ucfirst(getSettingValue("gepi_prof_suivi"))." : <i>".affiche_utilisateur($current_eleve_profsuivi_login,$id_classe)."</i>)</b>";
    }
    */
    if (empty($current_profsuivi_login)) {
        //echo "Pas de $gepi_prof_suivi désigné.";
        //echo "(-)";
        echo "";
    } else {
        echo "<b>({$gepi_prof_suivi} <i>";
        for ($loop = 0; $loop < count($current_profsuivi_login); $loop++) {
            if ($loop > 0) {
                echo ", ";
            }
            echo affiche_utilisateur($current_profsuivi_login[$loop], $id_classe);
        }
        echo "</i></b>)";
    }
    echo " :</span>\n";
    $larg_col1b = $larg_tab - $larg_col1;
    echo "<table width=\"{$larg_tab}\" class='boireaus' cellspacing='1' cellpadding='1' summary=''>\n";
    $nb = $periode1;
    while ($nb < $periode2 + 1) {
        $sql = "SELECT * FROM synthese_app_classe WHERE (id_classe='{$id_classe}' AND periode='{$nb}');";
        //echo "$sql<br />";
        $res_current_synthese = mysqli_query($GLOBALS["mysqli"], $sql);
        $current_synthese[$nb] = @old_mysql_result($res_current_synthese, 0, "synthese");
        if ($current_synthese[$nb] == '') {
            $current_synthese[$nb] = ' -';
        }
        //=========================
        if ($nb == $periode1) {
            if ($nb == $periode2) {
                $style_bordure_cell = "border: 1px solid black";
            } else {
                $style_bordure_cell = "border: 1px solid black; border-bottom: 1px dashed black";
            }
        } elseif ($nb == $periode2) {
            $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black;";
        } else {
            $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black; border-bottom: 1px dashed black;";
        }
        //=========================
        echo "<tr>\n<td valign=\"top\" width =\"{$larg_col1}\" class='bull_simpl' style='{$style_bordure_cell}'>{$nom_periode[$nb]}</td>\n";
        echo "<td valign=\"top\" width = \"{$larg_col1b}\" class='bull_simpl' style='text-align:left; {$style_bordure_cell}'>";
        if ($tab_acces_app[$nb] == "y") {
            echo nl2br($current_synthese[$nb]);
        }
        echo "</td>\n";
        //=====================
        echo "</tr>\n";
        //=====================
        $nb++;
    }
    echo "</table>\n";
}
Пример #8
0
function releve_notes($current_eleve_login, $nb_periode, $anneed, $moisd, $jourd, $anneef, $moisf, $jourf)
{
    $gepiYear = getSettingValue("gepiYear");
    // Ajout Eric
    global $choix_periode;
    //echo $choix_periode;
    //====================================================================
    // AJOUT: boireaus
    global $avec_nom_devoir;
    global $avec_appreciation_devoir;
    global $avec_coef_devoir;
    global $avec_tous_coef_devoir;
    global $chaine_coef;
    global $avec_date_devoir;
    global $rn_sign_chefetab;
    global $rn_sign_pp;
    global $rn_sign_resp;
    global $rn_sign_nblig;
    global $rn_formule;
    //====================================================================
    global $categories;
    global $cat_names;
    global $tabdiv_infobulle;
    // données requise :
    //- le login de l'élève    : $current_eleve_login
    //- $periode1 : numéro de la première période à afficher
    //- $periode2 : numéro de la dernière période à afficher
    //- $nom_periode : tableau des noms de période
    //- $gepiYear : année
    //- $id_classe : identifiant de la classe.
    $result = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM eleves WHERE login='******'");
    $data_eleve = $result->fetch_object();
    $current_eleve_nom = $data_eleve->nom;
    $current_eleve_prenom = $data_eleve->prenom;
    $current_eleve_sexe = $data_eleve->sexe;
    $current_eleve_naissance = $data_eleve->naissance;
    $current_eleve_naissance = affiche_date_naissance($current_eleve_naissance);
    //$choix_periode
    if ($choix_periode == 0) {
        $call_classe = mysqli_query($GLOBALS["mysqli"], "SELECT id_classe FROM j_eleves_classes WHERE login = '******' ORDER BY periode DESC");
    } else {
        $call_classe = mysqli_query($GLOBALS["mysqli"], "SELECT id_classe FROM j_eleves_classes WHERE login = '******' AND periode='{$choix_periode}'");
    }
    if (mysqli_num_rows($call_classe) == 0) {
        // L'élève n'est dans aucune classe pour la période choisie
        echo "<p><strong><span class=\"bull_simpl_g\">{$current_eleve_nom} {$current_eleve_prenom}</span></strong> n'est plus dans aucune classe sur la période choisie.</p>\n";
        exit;
    }
    $row = $call_classe->fetch_object();
    $id_classe = $row->id_classe;
    $classe_eleve = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM classes WHERE id='{$id_classe}'");
    $row = $classe_eleve->fetch_object();
    $current_eleve_classe = $row->classe;
    $current_eleve_classe_complet = $row->nom_complet;
    $id_classe = $row->id;
    $regime_doublant_eleve = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM j_eleves_regime WHERE login = '******'");
    $sql = "SELECT * FROM j_eleves_regime WHERE login = '******'";
    //echo "$sql<br />\n";
    $regime_doublant_eleve = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($regime_doublant_eleve) > 0) {
        $regime_doublant_eleve_objet = $regime_doublant_eleve->fetch_object();
        $current_eleve_regime = $regime_doublant_eleve_objet->regime;
        $current_eleve_doublant = $regime_doublant_eleve_objet->doublant;
    } else {
        $current_eleve_regime = "-";
        $current_eleve_doublant = "ext.";
    }
    //Gestion des dates
    $date_fin = $anneef . "-" . $moisf . "-" . $jourf . " 00:00:00";
    $date_debut = $anneed . "-" . $moisd . "-" . $jourd . " 00:00:00";
    $display_date_debut = $jourd . "/" . $moisd . "/" . $anneed;
    $display_date_fin = $jourf . "/" . $moisf . "/" . $anneef;
    // Est-ce qu'on affiche les catégories de matières ?
    $affiche_categories = sql_query1("SELECT display_mat_cat FROM classes WHERE id='" . $id_classe . "'");
    if ($affiche_categories == "y") {
        $affiche_categories = true;
    } else {
        $affiche_categories = false;
    }
    //-------------------------------
    // tableau de notes
    //-------------------------------
    //-------------------------------
    // On affiche l'en-tête : Les données de l'élève
    //-------------------------------
    // tableau de notes
    // echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"2\">\n";
    echo "<div class='entete_releve_notes'>\n";
    // echo "<tr>\n";
    // echo "<td width=30%>\n";
    // ----- Colonne de gauche ------
    echo "<div class='entete_releve_notes_gauche'>\n";
    echo "<h2 class=\"bull_simpl_h2\">{$current_eleve_nom} {$current_eleve_prenom}</h2>\n";
    echo "<p class='bull_simpl'>\n";
    // echo "<br />\n";
    if ($current_eleve_sexe == "M") {
        echo "Né le {$current_eleve_naissance}";
    } else {
        echo "Née le {$current_eleve_naissance}";
    }
    if ($current_eleve_regime == "d/p") {
        echo ",&nbsp;demi-pensionnaire";
    }
    if ($current_eleve_regime == "ext.") {
        echo ",&nbsp;externe";
    }
    if ($current_eleve_regime == "int.") {
        echo ",&nbsp;interne";
    }
    if ($current_eleve_regime == "i-e") {
        if ($current_eleve_sexe == "M") {
            echo ",&nbsp;interne&nbsp;externé";
        } else {
            echo ",&nbsp;interne&nbsp;externée";
        }
    }
    echo ", {$current_eleve_classe}";
    if ($current_eleve_doublant == 'R') {
        if ($current_eleve_sexe == "M") {
            echo "<br /><strong>redoublant</strong>";
        } else {
            echo "<br /><strong>redoublante</strong>";
        }
    }
    echo "</p>\n";
    echo "</div>\n";
    // ----- Colonne de droite -----
    echo "<div class='entete_releve_notes_droit'>\n";
    echo "<p class='bull_simpl'>\n";
    echo "<span class=\"bull_simpl_g\">" . getSettingValue("gepiSchoolName") . "</span><br />" . getSettingValue("gepiSchoolAdress1") . "<br />" . getSettingValue("gepiSchoolAdress2") . " " . getSettingValue("gepiSchoolZipCode") . "&nbsp;" . getSettingValue("gepiSchoolCity") . "\n";
    echo "</p>\n";
    echo "</div>\n";
    // ----- logo
    $nom_fic_logo = getSettingValue("logo_etab");
    $nom_fic_logo_c = "../images/" . $nom_fic_logo;
    if ($nom_fic_logo != '' and file_exists($nom_fic_logo_c)) {
        //echo "</td><td width=* align=\"right\"><IMG SRC=\"".$nom_fic_logo_c."\" BORDER=0 ALT=\"\">";
        //echo "</td><td width='100%' align=\"right\"><IMG SRC=\"".$nom_fic_logo_c."\" BORDER=0 ALT=\"\" />";
        //echo "</div>\n";
        echo "<div class='entete_releve_notes_logo'>\n<img src=\"" . $nom_fic_logo_c . "\" alt='logo' />\n</div>\n";
    }
    //else {
    //	echo "</div>\n";
    //	echo "<div>&nbsp;";
    //}
    // ----- Colonne centrale -----
    echo "<div class='entete_releve_notes_centre'>\n";
    echo "<p class='bull_simpl_g'>\n";
    echo "Classe de {$current_eleve_classe_complet}<br />Année scolaire " . getSettingValue("gepiYear");
    //modif ERIC
    echo "\n</p>";
    if ($choix_periode == 0) {
        echo "<p class='bull_simpl_g'>\n";
        echo "Relevé de notes du <strong>{$display_date_debut}</strong> au <strong>{$display_date_fin}</strong>";
        echo "\n</p>";
    } else {
        // On récupère le nom de la période.
        $requete_periode = "SELECT * FROM `periodes` WHERE `id_classe`=" . $id_classe . " AND `num_periode`=" . $choix_periode . "";
        //echo $requete_periode;
        $resultat_periode = mysqli_query($GLOBALS["mysqli"], $requete_periode) or die('Erreur SQL !' . $requete_periode . '<br />' . mysqli_error($GLOBALS["mysqli"]));
        $data_periode = mysqli_fetch_array($resultat_periode);
        echo "<p class='bull_simpl_g'>\n";
        echo "<strong>" . $data_periode['nom_periode'] . "</strong> : Relevé de notes";
        echo "\n</p>";
    }
    echo "</div>\n";
    //echo "</tr>\n";
    echo "</div>\n";
    //-------------------------------
    // Fin de l'en-tête
    // On initialise le tableau :
    $larg_tab = 680;
    $larg_col1 = 120;
    $larg_col2 = $larg_tab - $larg_col1;
    echo "<table class='tab_releve_note' summary='relevé de notes. Colonne 1 : Matière et enseignants. Colonne 2 : Notes et autres informations'>\n";
    echo "<caption class='invisible no_print'>relevé de notes</caption>\n";
    echo "<tr>\n";
    //=================================
    // MODIF: chapel 20071019
    echo "<th class='bull_simpl tab_relev_note_m'>\n";
    echo "<strong>Matière</strong><br /><em>Professeur</em>\n";
    echo "</th>\n";
    echo "<th class='bull_simpl tab_relev_note_n'>Notes</th>\n";
    echo "</tr>\n";
    //------------------------------
    // Boucle 'groupes'
    //------------------------------
    if ($affiche_categories) {
        // On utilise les valeurs spécifiées pour la classe en question
        $appel_liste_groupes = mysqli_query($GLOBALS["mysqli"], "SELECT DISTINCT jgc.id_groupe, jgm.id_matiere matiere, jgc.categorie_id " . "FROM j_eleves_groupes jeg, j_groupes_classes jgc, j_groupes_matieres jgm, j_matieres_categories_classes jmcc, matieres m " . "WHERE ( " . "jeg.login = '******' AND " . "jgc.id_groupe = jeg.id_groupe AND " . "jgc.categorie_id = jmcc.categorie_id AND " . "jgc.id_classe = '" . $id_classe . "' AND " . "jgm.id_groupe = jgc.id_groupe AND " . "m.matiere = jgm.id_matiere" . ") " . "ORDER BY jmcc.priority,jgc.priorite,m.nom_complet");
    } else {
        $appel_liste_groupes = mysqli_query($GLOBALS["mysqli"], "SELECT DISTINCT jgc.id_groupe, jgc.categorie_id, jgc.coef, jgm.id_matiere matiere " . "FROM j_groupes_classes jgc, j_groupes_matieres jgm, j_eleves_groupes jeg " . "WHERE ( " . "jeg.login = '******' AND " . "jgc.id_groupe = jeg.id_groupe AND " . "jgc.id_classe = '" . $id_classe . "' AND " . "jgm.id_groupe = jgc.id_groupe" . ") " . "ORDER BY jgc.priorite,jgm.id_matiere");
    }
    $nombre_groupes = mysqli_num_rows($appel_liste_groupes);
    $j = 0;
    $prev_cat_id = null;
    while ($j < $nombre_groupes) {
        // On appelle toutes les infos relatives à la matière
        $current_groupe = old_mysql_result($appel_liste_groupes, $j, "id_groupe");
        $current_matiere = old_mysql_result($appel_liste_groupes, $j, "matiere");
        $current_groupe_cat = old_mysql_result($appel_liste_groupes, $j, "categorie_id");
        if ($affiche_categories) {
            // On regarde si on change de catégorie de matière
            if ($current_groupe_cat != $prev_cat_id) {
                $prev_cat_id = $current_groupe_cat;
                // On est dans une nouvelle catégorie
                // On récupère les infos nécessaires, et on affiche une ligne
                // On détermine le nombre de colonnes pour le colspan
                $nb_total_cols = 2;
                //=========================================
                // On regarde s'il faut afficher la moyenne de l'élève pour cette catégorie
                //$affiche_cat_moyenne = old_mysql_result(mysql_query("SELECT affiche_moyenne FROM j_matieres_categories_classes WHERE (classe_id = '" . $id_classe . "' and categorie_id = '" . $prev_cat_id . "')"), 0);
                $sql = "SELECT affiche_moyenne FROM j_matieres_categories_classes WHERE (classe_id = '" . $id_classe . "' and categorie_id = '" . $prev_cat_id . "')";
                //$affiche_cat_moyenne = old_mysql_result(mysql_query($sql), 0);
                $affiche_cat_moyenne_query = mysqli_query($GLOBALS["mysqli"], $sql);
                if (mysqli_num_rows($affiche_cat_moyenne_query) == "0") {
                    $affiche_cat_moyenne = false;
                } else {
                    $affiche_cat_moyenne = old_mysql_result($affiche_cat_moyenne_query, 0);
                }
                // Ce test est inutile parce qu'apparemment on n'affiche pas de moyenne de catégorie... d'ailleurs la moyenne de catégorie n'est-elle pas calculée qu'une fois la Recopie des moyennes vers le bulletin effectuée?
                //=========================================
                // On a toutes les infos. On affiche !
                echo "<tr>";
                echo "<td colspan='" . $nb_total_cols . "'>";
                echo "<p style='padding: 0; margin:0; font-size: 10px;'>" . $cat_names[$prev_cat_id] . "</p>";
                echo "</td>";
                echo "</tr>\n";
            }
        }
        $call_profs = mysqli_query($GLOBALS["mysqli"], "SELECT u.login FROM utilisateurs u, j_groupes_professeurs j WHERE ( u.login = j.login and j.id_groupe='{$current_groupe}') ORDER BY j.ordre_prof");
        $nombre_profs = mysqli_num_rows($call_profs);
        $k = 0;
        while ($k < $nombre_profs) {
            $current_matiere_professeur_login[$k] = old_mysql_result($call_profs, $k, "login");
            $k++;
        }
        $current_matiere_nom_complet_query = mysqli_query($GLOBALS["mysqli"], "SELECT nom_complet FROM matieres WHERE matiere='{$current_matiere}'");
        $current_matiere_nom_complet = old_mysql_result($current_matiere_nom_complet_query, 0, "nom_complet");
        echo "<tr><td class='bull_simpl'><strong>" . htmlspecialchars($current_matiere_nom_complet) . "</strong>";
        $k = 0;
        while ($k < $nombre_profs) {
            echo "<br /><em>" . affiche_utilisateur($current_matiere_professeur_login[$k], $id_classe) . "</em>";
            $k++;
        }
        echo "</td>\n";
        echo "<td class='bull_simpl'>";
        //====================================================
        // MODIF: boireaus
        if ($avec_coef_devoir == "oui") {
            if ($choix_periode == 0) {
                $sql = "SELECT DISTINCT d.coef FROM cn_notes_devoirs nd, cn_devoirs d, cn_cahier_notes cn WHERE (\n\t\t\t\t\tnd.login = '******' and\n\t\t\t\t\tnd.id_devoir = d.id and\n\t\t\t\t\td.display_parents='1' and\n\t\t\t\t\td.id_racine = cn.id_cahier_notes and\n\t\t\t\t\tcn.id_groupe = '" . $current_groupe . "' and\n\t\t\t\t\td.date >= '" . $date_debut . "' and\n\t\t\t\t\td.date <= '" . $date_fin . "'\n\t\t\t\t\t)";
            } else {
                $sql = "SELECT DISTINCT d.coef FROM cn_notes_devoirs nd, cn_devoirs d, cn_cahier_notes cn WHERE (\n\t\t\t\t\tnd.login = '******' and\n\t\t\t\t\tnd.id_devoir = d.id and\n\t\t\t\t\td.display_parents='1' and\n\t\t\t\t\td.id_racine = cn.id_cahier_notes and\n\t\t\t\t\tcn.id_groupe = '" . $current_groupe . "' and\n\t\t\t\t\tcn.periode = '" . $choix_periode . "'\n\t\t\t\t\t)";
                //echo "<td>".$sql."</td>";
            }
            $res_differents_coef = mysqli_query($GLOBALS["mysqli"], $sql);
            if (mysqli_num_rows($res_differents_coef) > 1) {
                $affiche_coef = "oui";
            } else {
                $affiche_coef = "non";
            }
        }
        //$query_notes = mysql_query("SELECT nd.note, d.nom_court, nd.statut FROM cn_notes_devoirs nd, cn_devoirs d, cn_cahier_notes cn WHERE (
        if ($choix_periode == 0) {
            //$sql1="SELECT d.coef, nd.note, d.nom_court, nd.statut FROM cn_notes_devoirs nd, cn_devoirs d, cn_cahier_notes cn WHERE (
            $sql1 = "SELECT d.coef, nd.note, nd.comment, d.nom_court, nd.statut, d.date, d.date_ele_resp, d.note_sur, d.display_parents_app FROM cn_notes_devoirs nd, cn_devoirs d, cn_cahier_notes cn WHERE (\n\t\t\t\tnd.login = '******' and\n\t\t\t\tnd.id_devoir = d.id and\n\t\t\t\td.display_parents='1' and\n\t\t\t\td.id_racine = cn.id_cahier_notes and\n\t\t\t\tcn.id_groupe = '" . $current_groupe . "' and\n\t\t\t\td.date >= '" . $date_debut . "' and\n\t\t\t\td.date <= '" . $date_fin . "'\n\t\t\t\t)\n\t\t\t\tORDER BY d.date\n\t\t\t\t";
            $query_notes = mysqli_query($GLOBALS["mysqli"], $sql1);
        } else {
            $sql1 = "SELECT d.coef, nd.note, nd.comment, d.nom_court, nd.statut, d.date, d.date_ele_resp, d.note_sur, d.display_parents_app FROM cn_notes_devoirs nd, cn_devoirs d, cn_cahier_notes cn WHERE (\n\t\t\t\tnd.login = '******' and\n\t\t\t\tnd.id_devoir = d.id and\n\t  \t\td.display_parents='1' and\n\t\t\t\td.id_racine = cn.id_cahier_notes and\n\t\t\t\tcn.id_groupe = '" . $current_groupe . "' and\n\t\t\t\tcn.periode = '" . $choix_periode . "'\n\t\t\t\t)\n\t\t\t\tORDER BY d.date\n\t\t\t\t";
            $query_notes = mysqli_query($GLOBALS["mysqli"], $sql1);
        }
        //echo $sql1;
        //====================================================
        // Date actuelle pour le test de la date de visibilité des devoirs
        $timestamp_courant = time();
        $count_notes = mysqli_num_rows($query_notes);
        $m = 0;
        $tiret = "no";
        while ($m < $count_notes) {
            $visible = "y";
            if ($_SESSION['statut'] == 'eleve' || $_SESSION['statut'] == 'responsable') {
                $date_ele_resp = @old_mysql_result($query_notes, $m, 'date_ele_resp');
                $tmp_tabdate = explode(" ", $date_ele_resp);
                $tabdate = explode("-", $tmp_tabdate[0]);
                $timestamp_limite = mktime(0, 0, 0, $tabdate[1], $tabdate[2], $tabdate[0]);
                if ($timestamp_courant < $timestamp_limite) {
                    $visible = "n";
                }
            }
            if ($visible == "y") {
                $eleve_display_app = @old_mysql_result($query_notes, $m, 'display_parents_app');
                $eleve_app = @old_mysql_result($query_notes, $m, 'comment');
                $eleve_note = @old_mysql_result($query_notes, $m, 'note');
                if (getSettingValue("note_autre_que_sur_referentiel") == "V" || old_mysql_result($query_notes, $m, 'note_sur') != getSettingValue("referentiel_note")) {
                    $eleve_note = $eleve_note . "/" . @old_mysql_result($query_notes, $m, 'note_sur');
                }
                $eleve_statut = @old_mysql_result($query_notes, $m, 'statut');
                $eleve_nom_court = @old_mysql_result($query_notes, $m, 'nom_court');
                if ($eleve_statut != '' and $eleve_statut != 'v') {
                    $affiche_note = $eleve_statut;
                } else {
                    if ($eleve_statut == 'v') {
                        $affiche_note = "";
                    } else {
                        if ($eleve_note != '') {
                            $affiche_note = $eleve_note;
                        } else {
                            $affiche_note = "";
                        }
                    }
                }
                if ($avec_appreciation_devoir == "oui" and $eleve_display_app == "1") {
                    if ($affiche_note == "") {
                        if ($avec_nom_devoir != "oui") {
                            $affiche_note = $eleve_nom_court;
                        } else {
                            $affiche_note = "&nbsp;";
                        }
                    }
                }
                if ($affiche_note != '') {
                    if ($tiret == "yes") {
                        if ($avec_appreciation_devoir == "oui" or $avec_nom_devoir == "oui") {
                            echo "<br />";
                        } else {
                            echo " - ";
                        }
                    }
                    //====================================================================
                    // MODIF: boireaus
                    //echo "<strong>".$affiche_note."</strong> (".$eleve_nom_court.")";
                    if ($avec_nom_devoir == "oui") {
                        //echo "<strong>".$affiche_note."</strong> (".$eleve_nom_court.")";
                        echo "{$eleve_nom_court}: <strong>" . $affiche_note . "</strong>";
                    } else {
                        echo "<strong>" . $affiche_note . "</strong>";
                    }
                    if ($avec_tous_coef_devoir == "oui" || $avec_coef_devoir == "oui" && $affiche_coef == "oui") {
                        $coef_devoir = @old_mysql_result($query_notes, $m, 'coef');
                        echo " (<em><small>" . $chaine_coef . $coef_devoir . "</small></em>)";
                        //echo " \$affiche_coef=$affiche_coef";
                    }
                    //echo "<br />\$eleve_display_app=$eleve_display_app<br />";
                    if ($avec_appreciation_devoir == "oui" and $eleve_display_app == "1") {
                        echo " - Appréciation : ";
                        if ($eleve_app != "") {
                            echo $eleve_app;
                        } else {
                            echo "-";
                        }
                    }
                    if ($avec_date_devoir == "oui") {
                        $date_note = @old_mysql_result($query_notes, $m, 'date');
                        // Format: 2006-09-28 00:00:00
                        $tmpdate = explode(" ", $date_note);
                        $tmpdate = explode("-", $tmpdate[0]);
                        echo " (<em><small>{$tmpdate['2']}/{$tmpdate['1']}/{$tmpdate['0']}</small></em>)";
                    }
                    //====================================================================
                    $tiret = "yes";
                }
            }
            $m++;
        }
        echo "&nbsp;";
        echo "</td>";
        echo "</tr>\n";
        $j++;
    }
    echo "</table>\n";
    /*
    	global $rn_sign_chefetab;
    	global $rn_sign_pp;
    	global $rn_sign_resp;
    	global $rn_sign_nblig;
    	global $rn_formule;
    */
    if ($rn_sign_chefetab == 'y' || $rn_sign_pp == 'y' || $rn_sign_resp == 'y') {
        $nb_cases = 0;
        if ($rn_sign_chefetab == 'y') {
            $nb_cases++;
        }
        if ($rn_sign_pp == 'y') {
            $nb_cases++;
        }
        if ($rn_sign_resp == 'y') {
            $nb_cases++;
        }
        // $largeur_case=round(($larg_tab-25)/$nb_cases);
        // $largeur_case=$largeur_case;
        // echo "<table border='1' width='$larg_tab'>\n";
        echo "<div class='tab_signatures'>\n";
        // echo "<tr>\n";
        if ($rn_sign_chefetab == 'y') {
            // echo "<div style='width:$largeur_case; border: 1px;'>\n";
            echo "<div class='cel_signature nb_cel_{$nb_cases}'>\n";
            echo "<strong>Signature du chef d'établissement:</strong>";
            for ($i = 0; $i < $rn_sign_nblig; $i++) {
                echo "<br />\n";
            }
            echo "</div>\n";
        }
        if ($rn_sign_pp == 'y') {
            // echo "<div style='width:$largeur_case; border: 1px;'>\n";
            echo "<div class='cel_signature nb_cel_{$nb_cases}'>\n";
            $gepi_prof_suivi = ucfirst(retourne_denomination_pp($id_classe));
            echo "<strong>Signature du " . $gepi_prof_suivi . ":</strong>";
            for ($i = 0; $i < $rn_sign_nblig; $i++) {
                echo "<br />\n";
            }
            echo "</div>\n";
        }
        if ($rn_sign_resp == 'y') {
            // echo "<div style='width:$largeur_case; border: 1px;'>\n";
            echo "<div class='cel_signature nb_cel_{$nb_cases}'>\n";
            echo "<strong>Signature des responsables:</strong>";
            for ($i = 0; $i < $rn_sign_nblig; $i++) {
                echo "<br />\n";
            }
            echo "</div>\n";
        }
        // echo "</tr>\n";
        // echo "</table>\n";
        echo "</div>\n";
    }
    if ($rn_formule != "") {
        echo "<p>" . htmlspecialchars($rn_formule) . "</p>\n";
    }
}
Пример #9
0
function affiche_evenement($id_ev, $afficher_obsolete = "n")
{
    global $gepiPath;
    global $tab_salle;
    global $evenement_sans_lien_mail;
    global $evenement_sans_lien_ics;
    global $mes_groupes;
    /*
    global $posDiv_infobulle;
    global $tabid_infobulle;
    global $unite_div_infobulle;
    global $niveau_arbo;
    global $pas_de_decalage_infobulle;
    global $class_special_infobulle;
    */
    global $tabdiv_infobulle;
    $retour = "";
    if (count($tab_salle) == 0) {
        $tab_salle = get_tab_salle_cours();
    }
    $sql = "SELECT * FROM d_dates_evenements WHERE id_ev='{$id_ev}';";
    $res = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($res) > 0) {
        $lig = mysqli_fetch_object($res);
        $tab_u = array();
        $sql = "SELECT * FROM d_dates_evenements_utilisateurs WHERE id_ev='{$id_ev}';";
        //echo "$sql<br />";
        $res_u = mysqli_query($GLOBALS["mysqli"], $sql);
        if (mysqli_num_rows($res_u) > 0) {
            while ($lig_u = mysqli_fetch_object($res_u)) {
                $tab_u[] = $lig_u->statut;
            }
        }
        if (!isset($evenement_sans_lien_mail) || $evenement_sans_lien_mail != "y") {
            if (acces_info_dates_evenements()) {
                $retour .= "<div style='float:right; width:16px;margin-right:3px;' title=\"Informer les/des destinataires par mail.\"><a href='{$gepiPath}/classes/info_dates_classes.php?id_ev=" . $id_ev . "' target='_blank'><img src='{$gepiPath}/images/icons/mail.png' class='icone16' alt='Mail' /></a></div>";
            }
        }
        if (!isset($evenement_sans_lien_ics) || $evenement_sans_lien_ics != "y") {
            $retour .= "<div style='float:right; width:16px;margin-right:3px;' title=\"Exporter au format ical/ics l'événement.\nVous pourrez l'importer dans un agenda type Google, WebCalendar,...\"><a href='{$gepiPath}/lib/ical.php?id_ev=" . $id_ev . "' target='_blank'><img src='{$gepiPath}/images/icons/ical.png' class='icone16' alt='ical' /></a></div>";
        }
        if ($lig->type == 'autre') {
            //$retour.=nl2br($lig->description)."<br />";
            $retour .= $lig->texte_avant;
            //$retour.="<br />";
            $liste_dest = "";
            if (in_array("professeur", $tab_u)) {
                $liste_dest .= " <img src='{$gepiPath}/images/icons/prof.png' class='icone16' alt='Prof' title=\"Professeurs de la classe.\" />";
            }
            if (in_array("cpe", $tab_u)) {
                $liste_dest .= " <img src='{$gepiPath}/images/icons/cpe.png' class='icone16' alt='Cpe' title=\"CPE de la classe.\" />";
            }
            if (in_array("scolarite", $tab_u)) {
                $liste_dest .= " <img src='{$gepiPath}/images/icons/scolarite.png' class='icone16' alt='Scol' title=\"Comptes scolarité associés à la classe.\" />";
            }
            if (in_array("responsable", $tab_u)) {
                $liste_dest .= " <img src='{$gepiPath}/images/icons/responsable.png' class='icone16' alt='Resp' title=\"Comptes responsables associés à la classe.\" />";
            }
            if (in_array("eleve", $tab_u)) {
                $liste_dest .= " <img src='{$gepiPath}/images/icons/eleve.png' class='icone16' alt='Resp' title=\"Élèves associés à la classe.\" />";
            }
            //$retour.="<br />";
            if ($afficher_obsolete == "y") {
                if ($_SESSION['statut'] == 'professeur') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND id_classe IN (SELECT DISTINCT jgc.id_classe FROM j_groupes_classes jgc, j_groupes_professeurs jgp WHERE jgc.id_groupe=jgp.id_groupe AND jgp.login='******'login'] . "') ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'cpe') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND id_classe IN (SELECT DISTINCT jec.id_classe FROM j_eleves_classes jec, j_eleves_cpe jecpe WHERE jec.e_login=jecpe.cpe_login AND jecpe.cpe_login='******'login'] . "') ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'scolarite') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND id_classe IN (SELECT DISTINCT jsc.id_classe FROM j_scol_classes jsc WHERE jsc.login='******'login'] . "') ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'administrateur') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'responsable') {
                    $sql = "SELECT DISTINCT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND id_classe IN (SELECT DISTINCT jec.id_classe FROM resp_pers rp, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tresponsables2 r, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\televes e, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tj_eleves_classes jec \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE rp.login='******'login'] . "' AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trp.pers_id=r.pers_id AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tr.ele_id=e.ele_id AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.login=jec.login AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(r.resp_legal='1' OR r.resp_legal='2' OR r.acces_sp='y')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'eleve') {
                    $sql = "SELECT DISTINCT d.*, c.* FROM d_dates_evenements_classes d, classes c, j_eleves_classes jec WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND d.id_classe=jec.id_classe AND jec.login='******'login'] . "' ORDER BY date_evenement, classe;";
                }
            } else {
                // 12h après
                if ($_SESSION['statut'] == 'professeur') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND date_evenement>='" . strftime("%Y-%m-%d %H:%M:%S", time() - 12 * 3600) . "' AND id_classe IN (SELECT DISTINCT jgc.id_classe FROM j_groupes_classes jgc, j_groupes_professeurs jgp WHERE jgc.id_groupe=jgp.id_groupe AND jgp.login='******'login'] . "') ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'cpe') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND date_evenement>='" . strftime("%Y-%m-%d %H:%M:%S", time() - 12 * 3600) . "' AND id_classe IN (SELECT DISTINCT jec.id_classe FROM j_eleves_classes jec, j_eleves_cpe jecpe WHERE jec.e_login=jecpe.cpe_login AND jecpe.cpe_login='******'login'] . "') ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'scolarite') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND date_evenement>='" . strftime("%Y-%m-%d %H:%M:%S", time() - 12 * 3600) . "' AND id_classe IN (SELECT DISTINCT jsc.id_classe FROM j_scol_classes jsc WHERE jsc.login='******'login'] . "') ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'administrateur') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND date_evenement>='" . strftime("%Y-%m-%d %H:%M:%S", time() - 12 * 3600) . "' ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'responsable') {
                    $sql = "SELECT DISTINCT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND date_evenement>='" . strftime("%Y-%m-%d %H:%M:%S", time() - 12 * 3600) . "' AND id_classe IN (SELECT DISTINCT jec.id_classe FROM resp_pers rp, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tresponsables2 r, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\televes e, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tj_eleves_classes jec \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE rp.login='******'login'] . "' AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trp.pers_id=r.pers_id AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tr.ele_id=e.ele_id AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.login=jec.login AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(r.resp_legal='1' OR r.resp_legal='2' OR r.acces_sp='y')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'eleve') {
                    $sql = "SELECT DISTINCT d.*, c.* FROM d_dates_evenements_classes d, classes c, j_eleves_classes jec WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND d.id_classe=jec.id_classe AND jec.login='******'login'] . "' AND date_evenement>='" . strftime("%Y-%m-%d %H:%M:%S", time() - 12 * 3600) . "' ORDER BY date_evenement, classe;";
                }
            }
            $res2 = mysqli_query($GLOBALS["mysqli"], $sql);
            if (mysqli_num_rows($res2) > 0) {
                $tab_tableau = array();
                $tab_liste_salles = array();
                $tab_liste_dates = array();
                while ($lig2 = mysqli_fetch_object($res2)) {
                    if (!in_array($lig2->date_evenement, $tab_liste_dates)) {
                        $tab_liste_dates[] = $lig2->date_evenement;
                    }
                    if (!in_array($lig2->id_salle, $tab_liste_salles)) {
                        $tab_liste_salles[] = $lig2->id_salle;
                    }
                    if (isset($tab_tableau[$lig2->date_evenement][$lig2->id_salle])) {
                        $tab_tableau[$lig2->date_evenement][$lig2->id_salle] .= ", ";
                    } else {
                        $tab_tableau[$lig2->date_evenement][$lig2->id_salle] = "";
                    }
                    if ($lig2->date_evenement < strftime("%Y-%m-%d %H:%M:%S")) {
                        //$tab_tableau[$lig2->date_evenement][$lig2->id_salle].="<span style='color:red'>".$lig2->classe."&nbsp;: ".formate_date($lig2->date_evenement, "y", "court")."</span>";
                        $tab_tableau[$lig2->date_evenement][$lig2->id_salle] .= "<span style='color:red'>" . $lig2->classe . "</span>";
                    } else {
                        //$tab_tableau[$lig2->date_evenement][$lig2->id_salle].=$lig2->classe."&nbsp;: ".formate_date($lig2->date_evenement, "y", "court");
                        $tab_tableau[$lig2->date_evenement][$lig2->id_salle] .= $lig2->classe;
                    }
                    /*
                    if(($lig2->id_salle>0)&&(isset($tab_salle['indice'][$lig2->id_salle]))) {
                    	$tab_tableau[$lig2->date_evenement][$lig2->id_salle].=" (<em>salle ".$tab_salle['indice'][$lig2->id_salle]['designation_complete']."</em>)";
                    }
                    */
                    //$retour.="<br />";
                }
                $retour .= "<table class='boireaus boireaus_alt'>\n\t<tr>\n\t\t<th>{$liste_dest}</th>";
                for ($loop = 0; $loop < count($tab_liste_dates); $loop++) {
                    $retour .= "\n\t\t<th>" . formate_date($tab_liste_dates[$loop], "y2", "court") . "</th>";
                }
                $retour .= "\n\t</tr>";
                for ($loop0 = 0; $loop0 < count($tab_liste_salles); $loop0++) {
                    if ($tab_liste_salles[$loop0] > 0 && isset($tab_salle['indice'][$tab_liste_salles[$loop0]])) {
                        $salle_courante = $tab_salle['indice'][$tab_liste_salles[$loop0]]['designation_complete'];
                    } else {
                        $salle_courante = "";
                    }
                    $retour .= "\n\t<tr>\n\t\t<th>{$salle_courante}</th>";
                    for ($loop = 0; $loop < count($tab_liste_dates); $loop++) {
                        $retour .= "\n\t\t<td>";
                        if (isset($tab_tableau[$tab_liste_dates[$loop]][$tab_liste_salles[$loop0]])) {
                            $retour .= $tab_tableau[$tab_liste_dates[$loop]][$tab_liste_salles[$loop0]];
                        }
                        $retour .= "</td>";
                    }
                    $retour .= "\n\t</tr>";
                }
                $retour .= "\n</table>";
                /*
                while($lig2=mysqli_fetch_object($res2)) {
                	if($lig2->date_evenement<strftime("%Y-%m-%d %H:%M:%S")) {
                		$retour.="<span style='color:red'>".$lig2->classe."&nbsp;: ".formate_date($lig2->date_evenement, "y", "court")."</span>";
                	}
                	else {
                		$retour.=$lig2->classe."&nbsp;: ".formate_date($lig2->date_evenement, "y", "court");
                	}
                	if(($lig2->id_salle>0)&&(isset($tab_salle['indice'][$lig2->id_salle]))) {
                		$retour.=" (<em>salle ".$tab_salle['indice'][$lig2->id_salle]['designation_complete']."</em>)";
                	}
                	$retour.="<br />";
                }
                */
            }
            $retour .= $lig->texte_apres;
        } elseif ($lig->type == 'conseil_de_classe') {
            $texte_infobulle = "<div id='div_action_conseil_de_classe_{$id_ev}'></div>";
            $tabdiv_infobulle[] = creer_div_infobulle('div_infobulle_action_conseil_de_classe_' . $id_ev, "Bulletins et conseils de classe", "", $texte_infobulle, "", 40, 0, 'y', 'y', 'n', 'n');
            $retour .= "<script type='text/javascript'>\n\tfunction afficher_action_classe_{$id_ev}(id_classe) {\n\t\tnew Ajax.Updater(\$('div_action_conseil_de_classe_{$id_ev}'), '{$gepiPath}/lib/ajax_action.php?mode=actions_conseil_classe&id_classe='+id_classe,{method: 'get'});\n\t\tafficher_div('div_infobulle_action_conseil_de_classe_{$id_ev}', 'y', 10, 10);\n\t}\n</script>";
            $tab_classe_pp = array("id_classe");
            if ($_SESSION['statut'] == "professeur") {
                $tab_classe_pp = get_tab_ele_clas_pp($_SESSION['login']);
            }
            if (getSettingAOui('active_mod_engagements')) {
                if ($_SESSION['statut'] == "scolarite" || $_SESSION['statut'] == "cpe" && getSettingAOui('imprimerConvocationConseilClasseCpe')) {
                    $retour .= "<div style='float:right;width:16px;margin-right:3px;'><a href=\"{$gepiPath}/mod_engagements/imprimer_documents.php\" title=\"Imprimer les documents pour les délégués\"><img src='{$gepiPath}/images/icons/odt.png' class='icone16' alt='Document' /></a></div>";
                }
            }
            $retour .= $lig->texte_avant;
            //$retour.="<br />";
            if ($afficher_obsolete == "y") {
                if ($_SESSION['statut'] == 'professeur') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND id_classe IN (SELECT DISTINCT jgc.id_classe FROM j_groupes_classes jgc, j_groupes_professeurs jgp WHERE jgc.id_groupe=jgp.id_groupe AND jgp.login='******'login'] . "') ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'cpe') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND id_classe IN (SELECT DISTINCT jec.id_classe FROM j_eleves_classes jec, j_eleves_cpe jecpe WHERE jec.login=jecpe.e_login AND jecpe.cpe_login='******'login'] . "') ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'scolarite') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND id_classe IN (SELECT DISTINCT jsc.id_classe FROM j_scol_classes jsc WHERE jsc.login='******'login'] . "') ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'administrateur') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'responsable') {
                    $sql = "SELECT DISTINCT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND id_classe IN (SELECT DISTINCT jec.id_classe FROM resp_pers rp, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tresponsables2 r, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\televes e, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tj_eleves_classes jec \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE rp.login='******'login'] . "' AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trp.pers_id=r.pers_id AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tr.ele_id=e.ele_id AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.login=jec.login AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(r.resp_legal='1' OR r.resp_legal='2' OR r.acces_sp='y')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'eleve') {
                    $sql = "SELECT DISTINCT d.*, c.* FROM d_dates_evenements_classes d, classes c, j_eleves_classes jec WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND d.id_classe=jec.id_classe AND jec.login='******'login'] . "' ORDER BY date_evenement, classe;";
                }
            } else {
                // 12h après
                if ($_SESSION['statut'] == 'professeur') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND date_evenement>='" . strftime("%Y-%m-%d %H:%M:%S", time() - 12 * 3600) . "' AND id_classe IN (SELECT DISTINCT jgc.id_classe FROM j_groupes_classes jgc, j_groupes_professeurs jgp WHERE jgc.id_groupe=jgp.id_groupe AND jgp.login='******'login'] . "') ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'cpe') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND date_evenement>='" . strftime("%Y-%m-%d %H:%M:%S", time() - 12 * 3600) . "' AND id_classe IN (SELECT DISTINCT jec.id_classe FROM j_eleves_classes jec, j_eleves_cpe jecpe WHERE jec.login=jecpe.e_login AND jecpe.cpe_login='******'login'] . "') ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'scolarite') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND date_evenement>='" . strftime("%Y-%m-%d %H:%M:%S", time() - 12 * 3600) . "' AND id_classe IN (SELECT DISTINCT jsc.id_classe FROM j_scol_classes jsc WHERE jsc.login='******'login'] . "') ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'administrateur') {
                    $sql = "SELECT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND date_evenement>='" . strftime("%Y-%m-%d %H:%M:%S", time() - 12 * 3600) . "' ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'responsable') {
                    $sql = "(SELECT DISTINCT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND date_evenement>='" . strftime("%Y-%m-%d %H:%M:%S", time() - 12 * 3600) . "' AND id_classe IN (SELECT DISTINCT jec.id_classe FROM resp_pers rp, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tresponsables2 r, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\televes e, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tj_eleves_classes jec \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE rp.login='******'login'] . "' AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trp.pers_id=r.pers_id AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tr.ele_id=e.ele_id AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.login=jec.login AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(r.resp_legal='1' OR r.resp_legal='2' OR r.acces_sp='y')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)) ";
                    if (getSettingAOui('active_mod_engagements')) {
                        $sql_test = "SELECT eu.valeur AS id_classe FROM engagements e, \n\t\t\t\t\t\t\t\t\t\t\tengagements_user eu\n\t\t\t\t\t\t\t\t\t\tWHERE e.id=eu.id_engagement AND \n\t\t\t\t\t\t\t\t\t\t\te.conseil_de_classe='yes' AND \n\t\t\t\t\t\t\t\t\t\t\teu.login='******'login'] . "' AND \n\t\t\t\t\t\t\t\t\t\t\te.type='id_classe' AND \n\t\t\t\t\t\t\t\t\t\t\teu.id_type='id_classe' AND \n\t\t\t\t\t\t\t\t\t\t\teu.valeur NOT IN (SELECT DISTINCT jec.id_classe FROM resp_pers rp, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tresponsables2 r, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\televes e, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tj_eleves_classes jec \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE rp.login='******'login'] . "' AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trp.pers_id=r.pers_id AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tr.ele_id=e.ele_id AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.login=jec.login AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(r.resp_legal='1' OR r.resp_legal='2' OR r.acces_sp='y')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);";
                        //echo "$sql_test<br />";
                        $res_test = mysqli_query($GLOBALS["mysqli"], $sql_test);
                        if (mysqli_num_rows($res_test) > 0) {
                            while ($lig_test = mysqli_fetch_object($res_test)) {
                                $sql .= " UNION (SELECT DISTINCT * FROM d_dates_evenements_classes d, classes c WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND date_evenement>='" . strftime("%Y-%m-%d %H:%M:%S", time() - 12 * 3600) . "' AND id_classe='" . $lig_test->id_classe . "')";
                            }
                        }
                    }
                    $sql .= " ORDER BY date_evenement, classe;";
                } elseif ($_SESSION['statut'] == 'eleve') {
                    $sql = "SELECT DISTINCT d.*, c.* FROM d_dates_evenements_classes d, classes c, j_eleves_classes jec WHERE id_ev='{$id_ev}' AND d.id_classe=c.id AND d.id_classe=jec.id_classe AND jec.login='******'login'] . "' AND date_evenement>='" . strftime("%Y-%m-%d %H:%M:%S", time() - 12 * 3600) . "' ORDER BY date_evenement, classe;";
                }
            }
            // DEBUG:
            //$retour.="$sql<br />";
            $res2 = mysqli_query($GLOBALS["mysqli"], $sql);
            if (mysqli_num_rows($res2) > 0) {
                // On va remplir un tableau et repérer les jours et heures.
                $tab_jours = array();
                $tab_heures = array();
                $tab_cellules = array();
                while ($lig2 = mysqli_fetch_object($res2)) {
                    $tmp_jour = get_date_slash_from_mysql_date($lig2->date_evenement, "court");
                    if (!in_array($tmp_jour, $tab_jours)) {
                        $tab_jours[] = $tmp_jour;
                    }
                    //sort($tab_jours);
                    $tmp_tab_pp = get_tab_prof_suivi($lig2->id_classe);
                    //$liste_pp=implode(", ", $tmp_tab_pp);
                    $liste_pp = "";
                    for ($loop = 0; $loop < count($tmp_tab_pp); $loop++) {
                        if ($loop > 0) {
                            $liste_pp .= "";
                        }
                        $liste_pp .= affiche_utilisateur($tmp_tab_pp[$loop], $lig2->id_classe);
                    }
                    $tmp_heure = get_heure_2pt_minute_from_mysql_date($lig2->date_evenement);
                    if (!in_array($tmp_heure, $tab_heures)) {
                        $tab_heures[] = $tmp_heure;
                    }
                    sort($tab_heures);
                    $indication_salle = "";
                    if ($lig2->id_salle > 0 && isset($tab_salle['indice'][$lig2->id_salle])) {
                        $indication_salle = "\nSalle: " . $tab_salle['indice'][$lig2->id_salle]['designation_complete'] . "";
                    }
                    /*
                    if($lig2->date_evenement<strftime("%Y-%m-%d %H:%M:%S")) {
                    	if(!isset($tab_cellules[$tmp_jour][$tmp_heure])) {
                    		$tab_cellules[$tmp_jour][$tmp_heure]="";
                    	}
                    	else {
                    		$tab_cellules[$tmp_jour][$tmp_heure].=" - ";
                    	}
                    	$tab_cellules[$tmp_jour][$tmp_heure].="<span style='color:red' title=\"La date du conseil de classe de $lig2->classe est passée : ".formate_date($lig2->date_evenement, "y")."
                    ".ucfirst(getSettingValue('gepi_prof_suivi'))." : $liste_pp\">".$lig2->classe."</span>";
                    }
                    else {
                    */
                    if (!isset($tab_cellules[$tmp_jour][$tmp_heure])) {
                        $tab_cellules[$tmp_jour][$tmp_heure] = "";
                    } else {
                        $tab_cellules[$tmp_jour][$tmp_heure] .= " - ";
                    }
                    if ($_SESSION["statut"] == "professeur") {
                        if (in_array($lig2->id_classe, $tab_classe_pp['id_classe'])) {
                            if ($lig2->date_evenement < strftime("%Y-%m-%d %H:%M:%S")) {
                                $tab_cellules[$tmp_jour][$tmp_heure] .= "<span style='color:red' title=\"La date du conseil de classe de {$lig2->classe} est passée : " . formate_date($lig2->date_evenement, "y") . "\n" . ucfirst(retourne_denomination_pp($lig2->id_classe)) . " : " . $liste_pp . $indication_salle . "\n\nCliquer pour saisir/consulter l'avis du conseil de classe,\npour saisir vos notes et appréciations,\npour consulter les graphes, les bulletins,...\">";
                                $tab_cellules[$tmp_jour][$tmp_heure] .= "<a href='{$gepiPath}/saisie/saisie_avis1.php?id_classe={$lig2->id_classe}' style='color:red' onclick=\"afficher_action_classe_{$id_ev}({$lig2->id_classe});return false;\">";
                            } else {
                                $tab_cellules[$tmp_jour][$tmp_heure] .= "<span title=\"Date du conseil de classe de {$lig2->classe} : " . formate_date($lig2->date_evenement, "y") . "\n" . ucfirst(retourne_denomination_pp($lig2->id_classe)) . " : " . $liste_pp . $indication_salle . "\n\nCliquer pour saisir l'avis du conseil de classe,\npour saisir vos notes et appréciations,\npour consulter les graphes, les bulletins,...\">";
                                $tab_cellules[$tmp_jour][$tmp_heure] .= "<a href='{$gepiPath}/saisie/saisie_avis1.php?id_classe={$lig2->id_classe}' style='color:black' onclick=\"afficher_action_classe_{$id_ev}({$lig2->id_classe});return false;\">";
                            }
                            $tab_cellules[$tmp_jour][$tmp_heure] .= $lig2->classe;
                            $tab_cellules[$tmp_jour][$tmp_heure] .= "</a>";
                            $tab_cellules[$tmp_jour][$tmp_heure] .= "</span>";
                            if (getSettingAOui('active_mod_engagements')) {
                                $tab_cellules[$tmp_jour][$tmp_heure] .= " <a href=\"{$gepiPath}/mod_engagements/imprimer_documents.php\" title=\"Imprimer les documents pour les délégués\"><img src='{$gepiPath}/images/icons/odt.png' class='icone16' alt='Document' /></a>";
                            }
                        } else {
                            $tab_cellules[$tmp_jour][$tmp_heure] .= "<a href='#' style='color:black' onclick=\"afficher_action_classe_{$id_ev}({$lig2->id_classe});return false;\">";
                            if ($lig2->date_evenement < strftime("%Y-%m-%d %H:%M:%S")) {
                                $tab_cellules[$tmp_jour][$tmp_heure] .= "<span style='color:red' title=\"La date du conseil de classe de {$lig2->classe} est passée : " . formate_date($lig2->date_evenement, "y") . "\n" . ucfirst(retourne_denomination_pp($lig2->id_classe)) . " : " . $liste_pp . $indication_salle . "\n\nCliquer pour consulter vos notes et appréciations, les graphes, les bulletins,...\">";
                            } else {
                                $tab_cellules[$tmp_jour][$tmp_heure] .= "<span title=\"Date du conseil de classe de {$lig2->classe} : " . formate_date($lig2->date_evenement, "y") . "\n" . ucfirst(retourne_denomination_pp($lig2->id_classe)) . " : " . $liste_pp . $indication_salle . "\n\nCliquer pour saisir vos notes et appréciations, consulter les graphes, les bulletins,...\">";
                            }
                            // Problème: Un prof peut avoir plusieurs groupes dans une classe
                            //$tab_cellules[$tmp_jour][$tmp_heure].="<a href='$gepiPath/saisie/saisie_appreciations.php?id_groupe=' style='color:black'>";
                            $tab_cellules[$tmp_jour][$tmp_heure] .= $lig2->classe;
                            $tab_cellules[$tmp_jour][$tmp_heure] .= "</span>";
                            $tab_cellules[$tmp_jour][$tmp_heure] .= "</a>";
                        }
                    } elseif ($_SESSION["statut"] == "scolarite") {
                        if ($lig2->date_evenement < strftime("%Y-%m-%d %H:%M:%S")) {
                            $tab_cellules[$tmp_jour][$tmp_heure] .= "<span style='color:red' title=\"La date du conseil de classe de {$lig2->classe} est passée : " . formate_date($lig2->date_evenement, "y") . "\n" . ucfirst(retourne_denomination_pp($lig2->id_classe)) . " : " . $liste_pp . $indication_salle . "\n\nCliquer pour saisir/consulter l'avis du conseil de classe,\n pour accéder aux bulletins, aux graphes,...\">";
                            $tab_cellules[$tmp_jour][$tmp_heure] .= "<a href='{$gepiPath}/saisie/saisie_avis1.php?id_classe={$lig2->id_classe}' style='color:red' onclick=\"afficher_action_classe_{$id_ev}({$lig2->id_classe});return false;\">";
                        } else {
                            $tab_cellules[$tmp_jour][$tmp_heure] .= "<span title=\"Date du conseil de classe de {$lig2->classe} : " . formate_date($lig2->date_evenement, "y") . "\n" . ucfirst(retourne_denomination_pp($lig2->id_classe)) . " : " . $liste_pp . $indication_salle . "\n\nCliquer pour saisir l'avis du conseil de classe,\n pour accéder aux bulletins, aux graphes,...\">";
                            $tab_cellules[$tmp_jour][$tmp_heure] .= "<a href='{$gepiPath}/saisie/saisie_avis1.php?id_classe={$lig2->id_classe}' style='color:black' onclick=\"afficher_action_classe_{$id_ev}({$lig2->id_classe});return false;\">";
                        }
                        $tab_cellules[$tmp_jour][$tmp_heure] .= $lig2->classe;
                        $tab_cellules[$tmp_jour][$tmp_heure] .= "</a>";
                        $tab_cellules[$tmp_jour][$tmp_heure] .= "</span>";
                    } elseif ($_SESSION["statut"] == "cpe") {
                        if ($lig2->date_evenement < strftime("%Y-%m-%d %H:%M:%S")) {
                            $tab_cellules[$tmp_jour][$tmp_heure] .= "<span style='color:red' title=\"La date du conseil de classe de {$lig2->classe} est passée : " . formate_date($lig2->date_evenement, "y") . "\n" . ucfirst(retourne_denomination_pp($lig2->id_classe)) . " : " . $liste_pp . $indication_salle . "\">";
                        } else {
                            $tab_cellules[$tmp_jour][$tmp_heure] .= "<span title=\"Date du conseil de classe de {$lig2->classe} : " . formate_date($lig2->date_evenement, "y") . "\n" . ucfirst(retourne_denomination_pp($lig2->id_classe)) . " : " . $liste_pp . $indication_salle . "\">";
                        }
                        $tab_cellules[$tmp_jour][$tmp_heure] .= $lig2->classe;
                        $tab_cellules[$tmp_jour][$tmp_heure] .= "</span>";
                    } elseif ($_SESSION["statut"] == "administrateur") {
                        if ($lig2->date_evenement < strftime("%Y-%m-%d %H:%M:%S")) {
                            $tab_cellules[$tmp_jour][$tmp_heure] .= "<span style='color:red' title=\"La date du conseil de classe de {$lig2->classe} est passée : " . formate_date($lig2->date_evenement, "y") . "\n" . ucfirst(retourne_denomination_pp($lig2->id_classe)) . " : " . $liste_pp . $indication_salle . "\">";
                        } else {
                            $tab_cellules[$tmp_jour][$tmp_heure] .= "<span title=\"Date du conseil de classe de {$lig2->classe} : " . formate_date($lig2->date_evenement, "y") . "\n" . ucfirst(retourne_denomination_pp($lig2->id_classe)) . " : " . $liste_pp . $indication_salle . "\">";
                        }
                        $tab_cellules[$tmp_jour][$tmp_heure] .= $lig2->classe;
                        $tab_cellules[$tmp_jour][$tmp_heure] .= "</span>";
                    } elseif ($_SESSION["statut"] == "responsable" || $_SESSION["statut"] == "eleve") {
                        if ($lig2->date_evenement < strftime("%Y-%m-%d %H:%M:%S")) {
                            $tab_cellules[$tmp_jour][$tmp_heure] .= "<span style='color:red' title=\"La date du conseil de classe de {$lig2->classe} est passée : " . formate_date($lig2->date_evenement, "y") . "\n" . ucfirst(retourne_denomination_pp($lig2->id_classe)) . " : " . $liste_pp . $indication_salle . "\">";
                        } else {
                            $tab_cellules[$tmp_jour][$tmp_heure] .= "<span title=\"Date du conseil de classe de {$lig2->classe} : " . formate_date($lig2->date_evenement, "y") . "\n" . ucfirst(retourne_denomination_pp($lig2->id_classe)) . " : " . $liste_pp . $indication_salle . "\">";
                        }
                        $tab_cellules[$tmp_jour][$tmp_heure] .= $lig2->classe;
                        $tab_cellules[$tmp_jour][$tmp_heure] .= "</span>";
                        if (getSettingAOui('active_mod_engagements') && is_delegue_conseil_classe($_SESSION['login'], $lig2->id_classe)) {
                            $tab_cellules[$tmp_jour][$tmp_heure] .= " <a href=\"{$gepiPath}/mod_engagements/imprimer_documents.php?id_classe=" . $lig2->id_classe . "&imprimer=liste_eleves\" title=\"Imprimer la liste des élèves pour prendre des notes pendant le conseil de classe\" target='_blank'><img src='{$gepiPath}/images/icons/tableau.png' class='icone16' alt='Document' /></a>";
                            $tab_cellules[$tmp_jour][$tmp_heure] .= " <a href=\"{$gepiPath}/mod_engagements/imprimer_documents.php?id_classe=" . $lig2->id_classe . "&imprimer=convocation\" title=\"Imprimer la convocation pour le conseil de classe\" target='_blank'><img src='{$gepiPath}/images/icons/saisie.png' class='icone16' alt='Document' /></a>";
                        }
                    }
                    //}
                }
                $retour .= "<table class='boireaus boireaus_alt' summary='Dates de conseils de classe'>\n\t<thead>\n\t\t<tr>\n\t\t\t<th>";
                if (in_array("professeur", $tab_u)) {
                    $retour .= " <img src='{$gepiPath}/images/icons/prof.png' class='icone16' alt='Prof' title=\"Professeurs de la classe.\" />";
                }
                if (in_array("cpe", $tab_u)) {
                    $retour .= " <img src='{$gepiPath}/images/icons/cpe.png' class='icone16' alt='Cpe' title=\"CPE de la classe.\" />";
                }
                if (in_array("scolarite", $tab_u)) {
                    $retour .= " <img src='{$gepiPath}/images/icons/scolarite.png' class='icone16' alt='Scol' title=\"Comptes scolarité associés à la classe.\" />";
                }
                if (in_array("responsable", $tab_u)) {
                    $retour .= " <img src='{$gepiPath}/images/icons/responsable.png' class='icone16' alt='Resp' title=\"Comptes responsables associés à la classe.\" />";
                }
                if (in_array("eleve", $tab_u)) {
                    $retour .= " <img src='{$gepiPath}/images/icons/eleve.png' class='icone16' alt='Resp' title=\"Élèves de la classe.\" />";
                }
                //$retour.="<br />";
                $retour .= "</th>";
                for ($j = 0; $j < count($tab_jours); $j++) {
                    $retour .= "\n\t\t\t<th>" . $tab_jours[$j] . "</th>";
                }
                $retour .= "\n\t</thead>\n\t<tbody>";
                for ($i = 0; $i < count($tab_heures); $i++) {
                    $retour .= "\n\t\t<tr>\n\t\t\t<th>" . $tab_heures[$i] . "</th>";
                    for ($j = 0; $j < count($tab_jours); $j++) {
                        $retour .= "\n\t\t\t<td>";
                        if (isset($tab_cellules[$tab_jours[$j]][$tab_heures[$i]])) {
                            $retour .= $tab_cellules[$tab_jours[$j]][$tab_heures[$i]];
                        }
                        $retour .= "</td>";
                    }
                    $retour .= "\n\t\t</tr>";
                }
                $retour .= "\n\t</tbody>\n</table>";
            }
            $retour .= $lig->texte_apres;
        }
    }
    return $retour;
}
Пример #10
0
			if(mysqli_num_rows($res_vis)==0) {
				echo "
	<li>
		<input type='hidden' name='id_groupe_AppPP[$cpt_grp_pp]' value='".$group['id']."' />
		<input type='checkbox' name='id_groupe_PP_correction_autorisee[$cpt_grp_pp]' id='id_groupe_PP_correction_autorisee_$cpt_grp_pp' value='y' onchange=\"checkbox_change('id_groupe_PP_correction_autorisee_$cpt_grp_pp');changement()\" ";
				if(acces_correction_app_pp($group['id'])) {
					echo "checked ";
				}
				echo "/><label for='id_groupe_PP_correction_autorisee_$cpt_grp_pp' id='texte_id_groupe_PP_correction_autorisee_$cpt_grp_pp'";
				if(acces_correction_app_pp($group['id'])) {
					echo "style='font-weight:bold;' ";
				}
				echo ">".$group['name']." (<em style='font-size:small;'>".$group['description']." en ".$group['classlist_string']." avec ".$group['profs']['proflist_string']."</em>)&nbsp;: ";
				$cpt_class_grp=0;
				foreach($group['classes']['classes'] as $current_id_classe => $current_classe) {
					$gepi_prof_suivi=ucfirst(retourne_denomination_pp($current_id_classe));
					if($cpt_class_grp>0) {echo ", ";}
					echo "<strong>".$current_classe['classe']."</strong> (<em title=\"".ucfirst($gepi_prof_suivi)."\">".liste_des_prof_suivi_de_telle_classe($current_id_classe)."</em>)";
					$cpt_class_grp++;
				}
				echo "</label>
	</li>";
				$cpt_grp_pp++;
			}
		}
		echo "
</ul>";
	}

	echo "<p style='text-align:center;'>\n";
	echo "<input type='submit' name='Valider' value='Enregistrer' tabindex='$tabindex' />\n";
Пример #11
0
function extract_utilisateurs($tab_login)
{
    global $cpt_pers, $tab_result_recherche, $acces_modify_user, $gepiPath;
    for ($loop_tab_login = 0; $loop_tab_login < count($tab_login); $loop_tab_login++) {
        $sql = "SELECT * FROM utilisateurs WHERE login='******';";
        $res = mysqli_query($GLOBALS["mysqli"], $sql);
        if (mysqli_num_rows($res) > 0) {
            $lig = mysqli_fetch_object($res);
            $style_ligne = "";
            if ($lig->etat == 'inactif') {
                $style_ligne = " style='background-color:grey;'";
            }
            $tab_result_recherche['personnel'][$cpt_pers]['style_ligne'] = $style_ligne;
            // Login
            if ($_SESSION['statut'] == 'administrateur' || $_SESSION['statut'] == 'scolarite') {
                $tab_result_recherche['personnel'][$cpt_pers]['login'] = $lig->login;
                if ($acces_modify_user) {
                    $tab_result_recherche['personnel'][$cpt_pers]['td_login'] = "******"Modifier les informations utilisateur\">{$lig->login}</a>";
                } else {
                    $tab_result_recherche['personnel'][$cpt_pers]['td_login'] = $lig->login;
                }
            }
            $tab_result_recherche['personnel'][$cpt_pers]['nom_prenom'] = casse_mot($lig->nom, "maj") . " " . casse_mot($lig->prenom, "majf2");
            $tab_result_recherche['personnel'][$cpt_pers]['civ_nom_prenom'] = $lig->civilite . " " . $tab_result_recherche['personnel'][$cpt_pers]['nom_prenom'];
            $tab_result_recherche['personnel'][$cpt_pers]['email'] = $lig->email;
            $tab_result_recherche['personnel'][$cpt_pers]['td_email'] = "";
            if (check_mail($lig->email)) {
                $tab_result_recherche['personnel'][$cpt_pers]['td_email'] = "<a href='mailto:" . $lig->email . "?subject=" . getSettingValue('gepiPrefixeSujetMail') . "GEPI' title='Envoyer un mail à {$lig->email}'><img src='../images/icons/courrier_envoi.png' class='icone16' alt='Mail' /></a><span id='email_personnel_" . $cpt_pers . "' style='display:none;'>{$lig->email}</span>";
            }
            // Compte actif ou non
            $tab_result_recherche['personnel'][$cpt_pers]['td_compte'] = "";
            $tab_result_recherche['personnel'][$cpt_pers]['compte'] = "";
            if ($lig->login != "") {
                if ($_SESSION['statut'] == 'administrateur') {
                    $tab_result_recherche['personnel'][$cpt_pers]['td_compte'] = lien_image_compte_utilisateur($lig->login, "", "", "y", 'y');
                } else {
                    $tab_result_recherche['personnel'][$cpt_pers]['td_compte'] = lien_image_compte_utilisateur($lig->login, "", "", "n", 'y');
                }
                if (preg_match("/inactif/", $tab_result_recherche['personnel'][$cpt_pers]['td_compte'])) {
                    $tab_result_recherche['personnel'][$cpt_pers]['compte'] = "inactif";
                } else {
                    $tab_result_recherche['personnel'][$cpt_pers]['compte'] = "actif";
                }
                $tab_result_recherche['personnel'][$cpt_pers]['td_compte'] .= temoin_compte_sso($lig->login);
            }
            $tab_result_recherche['personnel'][$cpt_pers]['statut'] = $lig->statut;
            // Matières
            $tab_result_recherche['personnel'][$cpt_pers]['td_matieres'] = "";
            $tab_result_recherche['personnel'][$cpt_pers]['matieres'] = "";
            if ($lig->statut == 'professeur') {
                $tab_matieres_prof = get_matieres_from_prof($lig->login);
                for ($loop = 0; $loop < count($tab_matieres_prof); $loop++) {
                    if ($loop > 0) {
                        $tab_result_recherche['personnel'][$cpt_pers]['matieres'] .= ", ";
                        $tab_result_recherche['personnel'][$cpt_pers]['td_matieres'] .= ", ";
                    }
                    $tab_result_recherche['personnel'][$cpt_pers]['matieres'] .= $tab_matieres_prof[$loop]['matiere'];
                    if ($tab_matieres_prof[$loop]['enseignee'] == 'y') {
                        $tab_result_recherche['personnel'][$cpt_pers]['td_matieres'] .= "<span style='font-weight:bold' title=\"" . $tab_matieres_prof[$loop]['nom_complet'] . "\">" . $tab_matieres_prof[$loop]['matiere'] . "</span>";
                    } else {
                        $tab_result_recherche['personnel'][$cpt_pers]['td_matieres'] .= "<span style='font-size:xx-small' title=\"" . $tab_matieres_prof[$loop]['nom_complet'] . " (non enseignée cette année)\">" . $tab_matieres_prof[$loop]['matiere'] . "</span>";
                    }
                }
            }
            // Classes
            $tab_result_recherche['personnel'][$cpt_pers]['classes'] = "";
            $tab_result_recherche['personnel'][$cpt_pers]['td_classes'] = "";
            if ($lig->statut == 'professeur') {
                $tab_classes_prof = get_classes_from_prof($lig->login);
                $tab_classes_pp = get_tab_prof_suivi("", $lig->login);
                if (count($tab_classes_prof) > 0) {
                    $cpt_classe = 0;
                    foreach ($tab_classes_prof as $id_classe_prof => $classe_prof) {
                        if ($cpt_classe > 0) {
                            $tab_result_recherche['personnel'][$cpt_pers]['classes'] .= ", ";
                            $tab_result_recherche['personnel'][$cpt_pers]['td_classes'] .= ", ";
                        }
                        $tab_result_recherche['personnel'][$cpt_pers]['classes'] .= $classe_prof;
                        if ($acces_modify_user) {
                            $tab_result_recherche['personnel'][$cpt_pers]['td_classes'] .= "<a href='{$gepiPath}/groupes/edit_class.php?id_classe={$id_classe_prof}' title=\"Modifier les enseignements de la classe {$classe_prof}\">{$classe_prof}</a>";
                        } else {
                            $tab_result_recherche['personnel'][$cpt_pers]['td_classes'] .= $classe_prof;
                        }
                        if (in_array($id_classe_prof, $tab_classes_pp)) {
                            $tab_result_recherche['personnel'][$cpt_pers]['td_classes'] .= " <img src='../images/bulle_verte.png' title=\"" . $tab_result_recherche['personnel'][$cpt_pers]['civ_nom_prenom'] . " est " . retourne_denomination_pp($id_classe_prof) . " d'au moins un élève de la classe de " . $classe_prof . " sur une des périodes.\" height='9' width='9'>";
                        }
                        $cpt_classe++;
                    }
                }
            }
            //$compteur_personnes_trouvees++;
            $cpt_pers++;
        }
    }
}
Пример #12
0
    echo $classe['id'];
    ?>
" <?php 
    if (isset($parents_id_classe)) {
        if ($classe['id'] == $parents_id_classe) {
            echo "selected";
        }
    }
    ?>
 title="Déposer un message sur le Panneau d'affichage
pour tous les responsables (parents,...) d'élèves de la classe de <?php 
    echo $classe['classe'];
    ?>
.
Pour information, le <?php 
    echo retourne_denomination_pp($classe['id']);
    ?>
 de la classe est :
<?php 
    echo liste_des_prof_suivi_de_telle_classe($classe['id']);
    ?>
"><?php 
    echo $classe['nom_complet'];
    if ($classe['nom_complet'] != $classe['classe']) {
        echo " (" . $classe['classe'] . ")";
    }
    ?>
</option>
		<?php 
}
?>
Пример #13
0
function info_eleve($ele_login)
{
    global $ele_lieu_naissance;
    global $active_cahiers_texte;
    global $date_ct1, $date_ct2;
    global $type_etablissement, $type_etablissement2;
    global $acces_eleve, $acces_responsables, $acces_enseignements, $acces_releves, $acces_bulletins, $acces_cdt, $acces_anna;
    global $date_debut_disc, $date_fin_disc;
    unset($tab_ele);
    $tab_ele = array();
    // Récup des infos sur l'élève, les responsables, le PP, le CPE,...
    $sql = "SELECT * FROM eleves e WHERE e.login='******';";
    $res_ele = mysqli_query($GLOBALS["mysqli"], $sql);
    $lig_ele = mysqli_fetch_object($res_ele);
    $tab_ele['login'] = $ele_login;
    $tab_ele['nom'] = $lig_ele->nom;
    $tab_ele['prenom'] = $lig_ele->prenom;
    $tab_ele['sexe'] = $lig_ele->sexe;
    $tab_ele['naissance'] = formate_date($lig_ele->naissance);
    $tab_ele['elenoet'] = $lig_ele->elenoet;
    $tab_ele['ele_id'] = $lig_ele->ele_id;
    $tab_ele['no_gep'] = $lig_ele->no_gep;
    $tab_ele['email'] = $lig_ele->email;
    $tab_ele['date_sortie'] = $lig_ele->date_sortie;
    $tab_ele['code_lieu_naissance'] = $lig_ele->lieu_naissance;
    if ($ele_lieu_naissance == "y") {
        $tab_ele['lieu_naissance'] = get_commune($tab_ele['code_lieu_naissance'], 1);
    } else {
        $tab_ele['lieu_naissance'] = "";
    }
    $tab_ele['mef'] = "";
    $tmp_tab = get_tab_mef_from_mef_code($lig_ele->mef_code);
    if (isset($tmp_tab['designation_courte'])) {
        $tab_ele['mef'] = $tmp_tab['designation_courte'];
    }
    unset($tmp_tab);
    if ($_SESSION['statut'] == "professeur") {
        $is_pp = is_pp($_SESSION['login'], "", $ele_login);
    }
    $AccesDerniereConnexionEle = AccesDerniereConnexionEle($ele_login);
    $AccesDerniereConnexionResp = AccesDerniereConnexionResp("", $ele_login);
    $sql = "SELECT * FROM utilisateurs WHERE statut='eleve' AND login='******';";
    $res_user = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($res_user) == 1) {
        $lig_user = mysqli_fetch_object($res_user);
        $tab_user = array('login', 'show_email', 'etat', 'date_verrouillage', 'niveau_alerte', 'observation_securite', 'auth_mode');
        for ($loop = 0; $loop < count($tab_user); $loop++) {
            $champ = $tab_user[$loop];
            $tab_ele['compte_utilisateur'][$champ] = $lig_user->{$champ};
        }
        if ($AccesDerniereConnexionEle) {
            $tab_ele['compte_utilisateur']['DerniereConnexionEle'] = get_last_connexion($ele_login);
            $tab_ele['compte_utilisateur']['DerniereConnexionEle_Echec'] = get_last_connexion($ele_login, "n");
        }
    }
    $tab_ele['prof_liste_email'] = "";
    $tab_ele['tab_prof_liste_email'] = array();
    /*
    $tab_ele['classe']=array();
    $sql="SELECT DISTINCT c.*,jec.periode FROM classes c, j_eleves_classes jec WHERE jec.login='******' AND c.id=jec.id_classe ORDER BY jec.periode;";
    $res_clas=mysql_query($sql);
    if(mysql_num_rows($res_clas)>0) {
    	$tab_ele['liste_classes']="";
    
    	$cpt=0;
    	while($lig_clas=mysql_fetch_object($res_clas)) {
    		if($cpt>0) {$tab_ele['liste_classes'].=", ";}
    		$tab_ele['liste_classes']=$lig_clas->classe;
    
    		$tab_ele['classe'][$cpt]['id_classe']=$lig_clas->id;
    		$tab_ele['classe'][$cpt]['classe']=$lig_clas->classe;
    		$tab_ele['classe'][$cpt]['nom_complet']=$lig_clas->nom_complet;
    		$tab_ele['classe'][$cpt]['periode']=$lig_clas->periode;
    
    		// Récup infos Prof Principal (prof_suivi)
    		$sql="SELECT u.* FROM j_eleves_professeurs jep, utilisateurs u WHERE jep.login='******' AND id_classe='".$lig_clas->id."' AND jep.professeur=u.login;";
    		$res_pp=mysql_query($sql);
    		//echo "$sql<br />";
    		if(mysql_num_rows($res_pp)>0) {
    			$lig_pp=mysql_fetch_object($res_pp);
    			$tab_ele['classe'][$cpt]['pp']=array();
    
    			$tab_ele['classe'][$cpt]['pp']['login']=$lig_pp->login;
    			$tab_ele['classe'][$cpt]['pp']['nom']=$lig_pp->nom;
    			$tab_ele['classe'][$cpt]['pp']['prenom']=$lig_pp->prenom;
    			$tab_ele['classe'][$cpt]['pp']['civilite']=$lig_pp->civilite;
    		}
    
    		$cpt++;
    	}
    }
    */
    // Classes
    $tab_ele['classe'] = array();
    $sql = "SELECT DISTINCT c.* FROM classes c, j_eleves_classes jec WHERE jec.login='******' AND c.id=jec.id_classe ORDER BY jec.periode;";
    $res_clas = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($res_clas) > 0) {
        $tab_ele['liste_classes'] = "";
        $cpt = 0;
        while ($lig_clas = mysqli_fetch_object($res_clas)) {
            if ($cpt > 0) {
                $tab_ele['liste_classes'] .= ", ";
            }
            $tab_ele['liste_classes'] = $lig_clas->classe;
            $tab_ele['classe'][$cpt] = array();
            $tab_ele['classe'][$cpt]['id_classe'] = $lig_clas->id;
            $tab_ele['classe'][$cpt]['classe'] = $lig_clas->classe;
            $tab_ele['classe'][$cpt]['nom_complet'] = $lig_clas->nom_complet;
            // On devrait mettre $tab_ele['classe'][$cpt]['rn_nomdev'], mais j'ai mis $tab_ele['rn_nomdev']
            // C'est imparfait si l'élève n'est pas dans la même classe sur toutes les périodes , mais cela permet de garder le même code pour visu_releve_notes_func.lib.php et la présente page
            //$tab_ele['rn_app']=$lig_clas->; // Ca ne correspond pas à un champ dans la table 'classes'
            $tab_ele['rn_nomdev'] = $lig_clas->rn_nomdev;
            $tab_ele['rn_toutcoefdev'] = $lig_clas->rn_toutcoefdev;
            $tab_ele['rn_coefdev_si_diff'] = $lig_clas->rn_coefdev_si_diff;
            $tab_ele['rn_datedev'] = $lig_clas->rn_datedev;
            $tab_ele['rn_sign_chefetab'] = $lig_clas->rn_sign_chefetab;
            $tab_ele['rn_sign_pp'] = $lig_clas->rn_sign_pp;
            $tab_ele['rn_sign_resp'] = $lig_clas->rn_sign_resp;
            $tab_ele['rn_formule'] = $lig_clas->rn_formule;
            $tab_ele['rn_sign_nblig'] = $lig_clas->rn_sign_nblig;
            if ($tab_ele['rn_sign_nblig'] == 0) {
                $tab_ele['rn_sign_nblig'] = 3;
            }
            //echo "\$tab_ele['rn_sign_resp']=$lig_clas->rn_sign_resp<br/>";
            // Liste des périodes dans la classe
            $sql = "SELECT p.* FROM periodes p, j_eleves_classes jec WHERE jec.login='******' AND p.num_periode=jec.periode AND jec.id_classe='" . $lig_clas->id . "' AND p.id_classe=jec.id_classe ORDER BY p.num_periode;";
            $res_per = mysqli_query($GLOBALS["mysqli"], $sql);
            $cpt2 = 0;
            if (mysqli_num_rows($res_per) > 0) {
                $tab_ele['classe'][$cpt]['periodes'][$cpt2] = array();
                while ($lig_per = mysqli_fetch_object($res_per)) {
                    $tab_ele['classe'][$cpt]['periodes'][$cpt2]['num_periode'] = $lig_per->num_periode;
                    $tab_ele['classe'][$cpt]['periodes'][$cpt2]['nom_periode'] = $lig_per->nom_periode;
                    // On pourrait extraire les relevés de notes et bulletins à ce niveau
                    $cpt2++;
                }
            }
            // Récup infos Prof Principal (prof_suivi)
            $sql = "SELECT u.* FROM j_eleves_professeurs jep, utilisateurs u WHERE jep.login='******' AND id_classe='" . $lig_clas->id . "' AND jep.professeur=u.login;";
            $res_pp = mysqli_query($GLOBALS["mysqli"], $sql);
            //echo "$sql<br />";
            if (mysqli_num_rows($res_pp) > 0) {
                $lig_pp = mysqli_fetch_object($res_pp);
                $tab_ele['classe'][$cpt]['pp'] = array();
                $tab_ele['classe'][$cpt]['pp']['prof_login'] = $lig_pp->login;
                $tab_ele['classe'][$cpt]['pp']['nom'] = $lig_pp->nom;
                $tab_ele['classe'][$cpt]['pp']['prenom'] = $lig_pp->prenom;
                $tab_ele['classe'][$cpt]['pp']['civilite'] = $lig_pp->civilite;
                $tab_ele['classe'][$cpt]['pp']['email'] = $lig_pp->email;
                $tab_ele['classe'][$cpt]['pp']['civ_nom_prenom'] = $lig_pp->civilite . " " . $lig_pp->nom . " " . mb_substr($lig_pp->prenom, 0, 1) . ".";
            }
            $cpt++;
        }
    }
    // Périodes
    //$sql="SELECT DISTINCT p.*, jec.id_classe, c.classe, c.nom_complet FROM periodes p, j_eleves_classes jec, classes c WHERE jec.login='******' AND p.num_periode=jec.periode AND c.id=jec.id_classe ORDER BY p.num_periode;";
    $sql = "SELECT DISTINCT p.*,jec.id_classe, c.classe, c.nom_complet  FROM periodes p, j_eleves_classes jec, classes c WHERE jec.login='******' AND p.num_periode=jec.periode AND jec.id_classe=p.id_classe AND c.id=jec.id_classe ORDER BY p.num_periode;";
    //echo "$sql<br />";
    $res_per = mysqli_query($GLOBALS["mysqli"], $sql);
    $cpt = 0;
    if (mysqli_num_rows($res_per) > 0) {
        if ($acces_releves == 'y' || $acces_enseignements == 'y' || $acces_bulletins == 'y') {
            while ($lig_per = mysqli_fetch_object($res_per)) {
                $tab_ele['periodes'][$cpt] = array();
                $tab_ele['periodes'][$cpt]['num_periode'] = $lig_per->num_periode;
                $tab_ele['periodes'][$cpt]['nom_periode'] = $lig_per->nom_periode;
                $tab_ele['periodes'][$cpt]['id_classe'] = $lig_per->id_classe;
                $tab_ele['periodes'][$cpt]['classe'] = $lig_per->classe;
                $tab_ele['periodes'][$cpt]['nom_complet'] = $lig_per->nom_complet;
                $tab_ele['periodes'][$cpt]['gepi_prof_suivi'] = retourne_denomination_pp($lig_per->id_classe);
                //echo "\$tab_ele['periodes'][$cpt]['num_periode']=".$tab_ele['periodes'][$cpt]['num_periode']."<br />";
                //echo "\$tab_ele['periodes'][$cpt]['id_classe']=".$tab_ele['periodes'][$cpt]['id_classe']."<br />";
                // On regarde si on affiche les catégories de matières dans la classe courante de l'élève
                $affiche_categories = sql_query1("SELECT display_mat_cat FROM classes WHERE id='" . $lig_per->id_classe . "'");
                if ($affiche_categories == "y") {
                    $affiche_categories = true;
                } else {
                    $affiche_categories = false;
                }
                $tab_ele['periodes'][$cpt]['affiche_categories'] = $affiche_categories;
                if ($affiche_categories) {
                    $sql = "SELECT DISTINCT g.*,m.nom_complet " . "FROM j_eleves_groupes jeg,\n\t\t\t\t\t\t\tj_groupes_classes jgc,\n\t\t\t\t\t\t\tj_groupes_matieres jgm,\n\t\t\t\t\t\t\tj_matieres_categories_classes jmcc,\n\t\t\t\t\t\t\tmatieres m,\n\t\t\t\t\t\t\tgroupes g " . "WHERE ( " . "jeg.login = '******' AND " . "jgc.id_groupe = jeg.id_groupe AND " . "jgc.categorie_id = jmcc.categorie_id AND " . "jgc.id_classe = '" . $lig_per->id_classe . "' AND " . "jgm.id_groupe = jgc.id_groupe AND " . "m.matiere = jgm.id_matiere AND " . "g.id=jeg.id_groupe " . "AND jgc.id_groupe NOT IN (SELECT id_groupe FROM j_groupes_visibilite WHERE domaine='cahier_notes' AND visible='n')) " . "ORDER BY jmcc.priority,jgc.priorite,m.nom_complet";
                } else {
                    $sql = "SELECT DISTINCT g.*,m.nom_complet " . "FROM j_groupes_classes jgc, j_groupes_matieres jgm, j_eleves_groupes jeg, matieres m, groupes g " . "WHERE ( " . "jeg.login = '******' AND " . "jgc.id_groupe = jeg.id_groupe AND " . "jgc.id_classe = '" . $lig_per->id_classe . "' AND " . "jgm.id_groupe = jgc.id_groupe AND\n\t\t\t\t\tm.matiere=jgm.id_matiere AND jgm.id_groupe=g.id " . "AND jgc.id_groupe NOT IN (SELECT id_groupe FROM j_groupes_visibilite WHERE domaine='cahier_notes' AND visible='n')) " . "ORDER BY jgc.priorite,jgm.id_matiere";
                }
                //$sql="SELECT DISTINCT g.*,m.nom_complet FROM groupes g, j_groupes_matieres jgm, matieres m, j_groupes_classes jgc, j_eleves_groupes jeg WHERE g.id=jgm.id_groupe AND m.matiere=jgm.id_matiere AND jgc.id_groupe=jgm.id_groupe AND jeg.id_groupe=g.id AND jeg.periode='".$lig_per->num_periode."' AND jeg.login='******' ORDER BY jgc.priorite,m.nom_complet;";
                //echo "$sql<br />";
                $res_grp = mysqli_query($GLOBALS["mysqli"], $sql);
                if (mysqli_num_rows($res_grp) > 0) {
                    $cpt2 = 0;
                    while ($lig_grp = mysqli_fetch_object($res_grp)) {
                        $tab_ele['periodes'][$cpt]['groupes'][$cpt2] = array();
                        $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['id_groupe'] = $lig_grp->id;
                        $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['name'] = $lig_grp->name;
                        //echo "\$tab_ele['periodes'][$cpt]['groupes'][$cpt2]['name']=".$tab_ele['periodes'][$cpt]['groupes'][$cpt2]['name']."<br />";
                        $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['description'] = $lig_grp->description;
                        $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['matiere_nom_complet'] = $lig_grp->nom_complet;
                        if ($affiche_categories) {
                            //$sql="SELECT DISTINCT jgc.categorie_id FROM j_groupes_classes jgc WHERE jgc.id_groupe='".$lig_grp->id."' AND id_classe='".$tab_ele['periodes'][$cpt]['id_classe']."';";
                            $sql = "SELECT DISTINCT jgc.categorie_id, mc.nom_court, mc.nom_complet FROM j_groupes_classes jgc, matieres_categories mc WHERE jgc.id_groupe='" . $lig_grp->id . "' AND id_classe='" . $tab_ele['periodes'][$cpt]['id_classe'] . "' AND mc.id=jgc.categorie_id;";
                            //echo "$sql<br />";
                            $res_cat = mysqli_query($GLOBALS["mysqli"], $sql);
                            if (mysqli_num_rows($res_cat) > 0) {
                                $lig_cat = mysqli_fetch_object($res_cat);
                                $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['id_cat'] = $lig_cat->categorie_id;
                                $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['cat_nom_court'] = $lig_cat->nom_court;
                                $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['cat_nom_complet'] = $lig_cat->nom_complet;
                                //echo "\$tab_ele['periodes'][$cpt]['groupes'][$cpt2]['id_cat']=".$tab_ele['periodes'][$cpt]['groupes'][$cpt2]['id_cat']."<br />";
                            }
                        }
                        $sql = "SELECT DISTINCT d.coef FROM cn_notes_devoirs nd, cn_devoirs d, cn_cahier_notes cn WHERE (\n\t\t\t\t\t\tnd.login = '******' and\n\t\t\t\t\t\tnd.id_devoir = d.id and\n\t\t\t\t\t\td.display_parents='1' and\n\t\t\t\t\t\td.id_racine = cn.id_cahier_notes and\n\t\t\t\t\t\tcn.id_groupe = '" . $lig_grp->id . "' and\n\t\t\t\t\t\tcn.periode = '" . $lig_per->num_periode . "'\n\t\t\t\t\t\t)";
                        $res_differents_coef = mysqli_query($GLOBALS["mysqli"], $sql);
                        if (mysqli_num_rows($res_differents_coef) > 1) {
                            $differents_coef = "y";
                        } else {
                            $differents_coef = "n";
                        }
                        $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['differents_coef'] = $differents_coef;
                        $sql1 = "SELECT d.coef, nd.note, nd.comment, d.nom_court, nd.statut, d.date, d.note_sur, d.display_parents_app FROM cn_notes_devoirs nd, cn_devoirs d, cn_cahier_notes cn WHERE (\n\t\t\t\t\t\tnd.login = '******' and\n\t\t\t\t\t\tnd.id_devoir = d.id and\n\t\t\t\t\t\td.display_parents='1' and\n\t\t\t\t\t\td.id_racine = cn.id_cahier_notes and\n\t\t\t\t\t\tcn.id_groupe = '" . $lig_grp->id . "' and\n\t\t\t\t\t\tcn.periode = '" . $lig_per->num_periode . "'\n\t\t\t\t\t\t)\n\t\t\t\t\t\tORDER BY d.date\n\t\t\t\t\t\t";
                        $query_notes = mysqli_query($GLOBALS["mysqli"], $sql1);
                        $count_notes = mysqli_num_rows($query_notes);
                        $m = 0;
                        while ($m < $count_notes) {
                            $eleve_display_app = @old_mysql_result($query_notes, $m, 'display_parents_app');
                            $eleve_app = @old_mysql_result($query_notes, $m, 'comment');
                            $eleve_note = @old_mysql_result($query_notes, $m, 'note');
                            $eleve_statut = @old_mysql_result($query_notes, $m, 'statut');
                            $eleve_nom_court = @old_mysql_result($query_notes, $m, 'nom_court');
                            $date_note = @old_mysql_result($query_notes, $m, 'date');
                            $coef_devoir = @old_mysql_result($query_notes, $m, 'coef');
                            $note_sur_devoir = @old_mysql_result($query_notes, $m, 'note_sur');
                            $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['display_app'] = $eleve_display_app;
                            $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['app'] = $eleve_app;
                            $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['note'] = $eleve_note;
                            $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['statut'] = $eleve_statut;
                            $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['nom_court'] = $eleve_nom_court;
                            $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['date'] = $date_note;
                            $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['coef'] = $coef_devoir;
                            $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['note_sur'] = $note_sur_devoir;
                            // On ne récupère pas le nom long du devoir?
                            $m++;
                        }
                        $cpt2++;
                    }
                }
                $cpt++;
            }
        }
        $sql = "SELECT DISTINCT g.*,m.nom_complet FROM groupes g, j_groupes_matieres jgm, matieres m, j_groupes_classes jgc, j_eleves_groupes jeg WHERE g.id=jgm.id_groupe AND m.matiere=jgm.id_matiere AND jgc.id_groupe=jgm.id_groupe AND jeg.id_groupe=g.id AND jeg.login='******' ORDER BY jgc.priorite,m.nom_complet;";
        //echo "$sql<br />";
        $res_grp = mysqli_query($GLOBALS["mysqli"], $sql);
        if (mysqli_num_rows($res_grp) > 0) {
            $cpt = 0;
            while ($lig_grp = mysqli_fetch_object($res_grp)) {
                $tab_ele['groupes'][$cpt] = array();
                $tab_ele['groupes'][$cpt]['id_groupe'] = $lig_grp->id;
                $tab_ele['groupes'][$cpt]['name'] = $lig_grp->name;
                $tab_ele['groupes'][$cpt]['description'] = $lig_grp->description;
                $tab_ele['groupes'][$cpt]['matiere_nom_complet'] = $lig_grp->nom_complet;
                $tab_ele['index_grp'][$lig_grp->id] = $cpt;
                $sql = "SELECT periode FROM j_eleves_groupes WHERE login='******' AND id_groupe='" . $lig_grp->id . "' ORDER BY periode;";
                $res_per2 = mysqli_query($GLOBALS["mysqli"], $sql);
                if (mysqli_num_rows($res_per2) > 0) {
                    $tab_ele['groupes'][$cpt]['periodes'] = array();
                    while ($lig_per2 = mysqli_fetch_object($res_per2)) {
                        $tab_ele['groupes'][$cpt]['periodes'][] = $lig_per2->periode;
                    }
                }
                $sql = "SELECT u.* FROM utilisateurs u, j_groupes_professeurs jgp WHERE u.login=jgp.login AND id_groupe='" . $lig_grp->id . "' ORDER BY u.nom, u.prenom;";
                $res_prof = mysqli_query($GLOBALS["mysqli"], $sql);
                if (mysqli_num_rows($res_prof) > 0) {
                    $tab_ele['groupes'][$cpt]['prof'] = array();
                    $tab_ele['groupes'][$cpt]['prof_liste'] = "";
                    //$tab_ele['groupes'][$cpt]['prof_liste_email']="";
                    $cpt2 = 0;
                    while ($lig_prof = mysqli_fetch_object($res_prof)) {
                        if ($cpt2 > 0) {
                            $tab_ele['groupes'][$cpt]['prof_liste'] .= ", ";
                        }
                        $tab_ele['groupes'][$cpt]['prof'][$cpt2]['prof_login'] = $lig_prof->login;
                        $tab_ele['groupes'][$cpt]['prof'][$cpt2]['nom'] = $lig_prof->nom;
                        $tab_ele['groupes'][$cpt]['prof'][$cpt2]['prenom'] = $lig_prof->prenom;
                        $tab_ele['groupes'][$cpt]['prof'][$cpt2]['civilite'] = $lig_prof->civilite;
                        $tab_ele['groupes'][$cpt]['prof'][$cpt2]['email'] = $lig_prof->email;
                        //if($lig_prof->email!='') {
                        //	if($tab_ele['groupes'][$cpt]['prof'][$cpt2]['prof_liste_email']!='') {$tab_ele['groupes'][$cpt]['prof_liste_email'].=", ";}
                        //	$tab_ele['groupes'][$cpt]['prof_liste_email'].=$lig_prof->email;
                        //}
                        if ($lig_prof->email != '' && !in_array($lig_prof->email, $tab_ele['tab_prof_liste_email'])) {
                            $tab_ele['tab_prof_liste_email'][] = $lig_prof->email;
                        }
                        $tab_ele['groupes'][$cpt]['prof_liste'] .= $lig_prof->civilite . " " . $lig_prof->nom . " " . mb_substr($lig_prof->prenom, 0, 1) . ".";
                        $cpt2++;
                    }
                }
                $cpt++;
            }
        }
        // Je ne suis pas sûr de la façon la plus pertinente de gérer les groupes/périodes... et il y aurait aussi les classes:
        // $tab_ele['groupes'][$cpt]['periodes'][]
        // ou $tab_ele['periodes'][$cpt]['groupes'][]
        // ou $tab_ele['classes'][$cpt]['groupes'][$cpt2]['periodes'][]
    }
    for ($i = 0; $i < count($tab_ele['tab_prof_liste_email']); $i++) {
        if ($tab_ele['prof_liste_email'] != "") {
            $tab_ele['prof_liste_email'] .= ", ";
        }
        $tab_ele['prof_liste_email'] .= $tab_ele['tab_prof_liste_email'][$i];
    }
    //===================================
    $get_cat = mysqli_query($GLOBALS["mysqli"], "SELECT id FROM matieres_categories");
    $categories = array();
    while ($row = mysqli_fetch_array($get_cat, MYSQLI_ASSOC)) {
        $categories[] = $row["id"];
    }
    $cat_names = array();
    foreach ($categories as $cat_id) {
        $sql = "SELECT nom_complet FROM matieres_categories WHERE id='" . $cat_id . "';";
        $res_cat = mysqli_query($GLOBALS["mysqli"], $sql);
        if ($res_cat) {
            $cat_names[$cat_id] = old_mysql_result($res_cat, 0);
        }
    }
    foreach ($cat_names as $key => $value) {
        $tab_ele['categorie'][$key] = $value;
    }
    //===================================
    // Régime et redoublement
    $sql = "SELECT * FROM j_eleves_regime WHERE login='******';";
    $res_ele_reg = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($res_ele_reg) > 0) {
        $lig_ele_reg = mysqli_fetch_object($res_ele_reg);
        $tab_ele['regime'] = $lig_ele_reg->regime;
        $tab_ele['doublant'] = $lig_ele_reg->doublant;
    }
    //$sql="SELECT e.* FROM etablissements e, j_eleves_etablissements j WHERE (j.id_eleve ='".$ele_login."' AND e.id = j.id_etablissement);";
    $sql = "SELECT e.* FROM etablissements e, j_eleves_etablissements j WHERE (j.id_eleve ='" . $tab_ele['elenoet'] . "' AND e.id = j.id_etablissement);";
    $data_etab = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($data_etab) > 0) {
        $tab_ele['etab_id'] = @old_mysql_result($data_etab, 0, "id");
        $tab_ele['etab_nom'] = @old_mysql_result($data_etab, 0, "nom");
        $tab_ele['etab_niveau'] = @old_mysql_result($data_etab, 0, "niveau");
        $tab_ele['etab_type'] = @old_mysql_result($data_etab, 0, "type");
        $tab_ele['etab_cp'] = @old_mysql_result($data_etab, 0, "cp");
        $tab_ele['etab_ville'] = @old_mysql_result($data_etab, 0, "ville");
        if ($tab_ele['etab_niveau'] != '') {
            foreach ($type_etablissement as $type_etab => $nom_etablissement) {
                if ($tab_ele['etab_niveau'] == $type_etab) {
                    $tab_ele['etab_niveau_nom'] = $nom_etablissement;
                }
            }
            if ($tab_ele['etab_cp'] == 0) {
                $tab_ele['etab_cp'] = '';
            }
            if ($tab_ele['etab_type'] == 'aucun') {
                $tab_ele['etab_type'] = '';
            } else {
                $tab_ele['etab_type'] = $type_etablissement2[$tab_ele['etab_type']][$tab_ele['etab_niveau']];
            }
        }
    }
    // Récup infos CPE
    $sql = "SELECT u.* FROM j_eleves_cpe jec, utilisateurs u WHERE e_login='******' AND jec.cpe_login=u.login;";
    $res_cpe = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($res_cpe) > 0) {
        $lig_cpe = mysqli_fetch_object($res_cpe);
        $tab_ele['cpe'] = array();
        $tab_ele['cpe']['login'] = $lig_cpe->login;
        $tab_ele['cpe']['nom'] = $lig_cpe->nom;
        $tab_ele['cpe']['prenom'] = $lig_cpe->prenom;
        $tab_ele['cpe']['civilite'] = $lig_cpe->civilite;
        $tab_ele['cpe']['email'] = $lig_cpe->email;
        $tab_ele['cpe']['civ_nom_prenom'] = $lig_cpe->civilite . " " . $lig_cpe->nom . " " . mb_substr($lig_cpe->prenom, 0, 1) . ".";
    }
    $tab_ele['equipe_liste_email'] = $tab_ele['prof_liste_email'];
    if (isset($tab_ele['cpe']['email']) && $tab_ele['cpe']['email'] != "" && !in_array($tab_ele['cpe']['email'], $tab_ele['tab_prof_liste_email'])) {
        if ($tab_ele['equipe_liste_email'] != "") {
            $tab_ele['equipe_liste_email'] .= ", ";
        }
        $tab_ele['equipe_liste_email'] .= $tab_ele['cpe']['email'];
    }
    /*
    // Récup infos Prof Principal (prof_suivi)
    $sql="SELECT u.* FROM j_eleves_professeurs jep, utilisateurs u WHERE jep.login='******' AND id_classe='$id_classe' AND jep.professeur=u.login;";
    $res_pp=mysql_query($sql);
    //echo "$sql<br />";
    if(mysql_num_rows($res_pp)>0) {
    	$lig_pp=mysql_fetch_object($res_pp);
    	$tab_ele['pp']=array();
    
    	$tab_ele['pp']['login']=$lig_pp->login;
    	$tab_ele['pp']['nom']=$lig_pp->nom;
    	$tab_ele['pp']['prenom']=$lig_pp->prenom;
    	$tab_ele['pp']['civilite']=$lig_pp->civilite;
    }
    */
    if ($acces_responsables == 'y') {
        // Récup infos responsables
        $sql = "SELECT rp.*,ra.adr1,ra.adr2,ra.adr3,ra.adr3,ra.adr4,ra.cp,ra.pays,ra.commune,r.resp_legal FROM resp_pers rp,\n\t\t\t\t\t\t\t\t\t\tresp_adr ra,\n\t\t\t\t\t\t\t\t\t\tresponsables2 r\n\t\t\t\t\tWHERE r.ele_id='" . $tab_ele['ele_id'] . "' AND\n\t\t\t\t\t\t\tr.resp_legal!='0' AND\n\t\t\t\t\t\t\tr.pers_id=rp.pers_id AND\n\t\t\t\t\t\t\trp.adr_id=ra.adr_id\n\t\t\t\t\tORDER BY resp_legal;";
        $res_resp = mysqli_query($GLOBALS["mysqli"], $sql);
        //echo "$sql<br />";
        if (mysqli_num_rows($res_resp) > 0) {
            $cpt = 0;
            while ($lig_resp = mysqli_fetch_object($res_resp)) {
                $tab_ele['resp'][$cpt] = array();
                $tab_ele['resp'][$cpt]['pers_id'] = $lig_resp->pers_id;
                $tab_ele['resp'][$cpt]['login'] = $lig_resp->login;
                $tab_ele['resp'][$cpt]['nom'] = $lig_resp->nom;
                $tab_ele['resp'][$cpt]['prenom'] = $lig_resp->prenom;
                $tab_ele['resp'][$cpt]['civilite'] = $lig_resp->civilite;
                $tab_ele['resp'][$cpt]['tel_pers'] = $lig_resp->tel_pers;
                $tab_ele['resp'][$cpt]['tel_port'] = $lig_resp->tel_port;
                $tab_ele['resp'][$cpt]['tel_prof'] = $lig_resp->tel_prof;
                $tab_ele['resp'][$cpt]['mel'] = $lig_resp->mel;
                $tab_ele['resp'][$cpt]['adr1'] = $lig_resp->adr1;
                $tab_ele['resp'][$cpt]['adr2'] = $lig_resp->adr2;
                $tab_ele['resp'][$cpt]['adr3'] = $lig_resp->adr3;
                $tab_ele['resp'][$cpt]['adr4'] = $lig_resp->adr4;
                $tab_ele['resp'][$cpt]['cp'] = $lig_resp->cp;
                $tab_ele['resp'][$cpt]['pays'] = $lig_resp->pays;
                $tab_ele['resp'][$cpt]['commune'] = $lig_resp->commune;
                $tab_ele['resp'][$cpt]['adr_id'] = $lig_resp->adr_id;
                $tab_ele['resp'][$cpt]['resp_legal'] = $lig_resp->resp_legal;
                //echo "\$lig_resp->login="******"<br />";
                if ($lig_resp->login != "") {
                    $sql = "SELECT etat, auth_mode FROM utilisateurs WHERE login='******';";
                    //echo "$sql<br />";
                    $res_u = mysqli_query($GLOBALS["mysqli"], $sql);
                    if (mysqli_num_rows($res_u) > 0) {
                        $lig_u = mysqli_fetch_object($res_u);
                        $tab_ele['resp'][$cpt]['etat'] = $lig_u->etat;
                        $tab_ele['resp'][$cpt]['auth_mode'] = $lig_u->auth_mode;
                        if ($AccesDerniereConnexionResp) {
                            $tab_ele['resp'][$cpt]['DerniereConnexionResp'] = get_last_connexion($lig_resp->login);
                            $tab_ele['resp'][$cpt]['DerniereConnexionResp_Echec'] = get_last_connexion($lig_resp->login, "n");
                        }
                    }
                }
                $cpt++;
            }
        }
        // Récup infos responsables resp_legal=0
        $sql = "SELECT rp.*,ra.adr1,ra.adr2,ra.adr3,ra.adr3,ra.adr4,ra.cp,ra.pays,ra.commune,r.resp_legal, r.acces_sp, r.envoi_bulletin FROM resp_pers rp,\n\t\t\t\t\t\t\t\t\t\tresp_adr ra,\n\t\t\t\t\t\t\t\t\t\tresponsables2 r\n\t\t\t\t\tWHERE r.ele_id='" . $tab_ele['ele_id'] . "' AND\n\t\t\t\t\t\t\tr.resp_legal='0' AND\n\t\t\t\t\t\t\tr.pers_id=rp.pers_id AND\n\t\t\t\t\t\t\trp.adr_id=ra.adr_id\n\t\t\t\t\tORDER BY resp_legal;";
        $res_resp = mysqli_query($GLOBALS["mysqli"], $sql);
        //echo "$sql<br />";
        if (mysqli_num_rows($res_resp) > 0) {
            //$cpt=0;
            while ($lig_resp = mysqli_fetch_object($res_resp)) {
                $tab_ele['resp'][$cpt] = array();
                $tab_ele['resp'][$cpt]['pers_id'] = $lig_resp->pers_id;
                $tab_ele['resp'][$cpt]['login'] = $lig_resp->login;
                $tab_ele['resp'][$cpt]['nom'] = $lig_resp->nom;
                $tab_ele['resp'][$cpt]['prenom'] = $lig_resp->prenom;
                $tab_ele['resp'][$cpt]['civilite'] = $lig_resp->civilite;
                $tab_ele['resp'][$cpt]['tel_pers'] = $lig_resp->tel_pers;
                $tab_ele['resp'][$cpt]['tel_port'] = $lig_resp->tel_port;
                $tab_ele['resp'][$cpt]['tel_prof'] = $lig_resp->tel_prof;
                $tab_ele['resp'][$cpt]['mel'] = $lig_resp->mel;
                $tab_ele['resp'][$cpt]['adr1'] = $lig_resp->adr1;
                $tab_ele['resp'][$cpt]['adr2'] = $lig_resp->adr2;
                $tab_ele['resp'][$cpt]['adr3'] = $lig_resp->adr3;
                $tab_ele['resp'][$cpt]['adr4'] = $lig_resp->adr4;
                $tab_ele['resp'][$cpt]['cp'] = $lig_resp->cp;
                $tab_ele['resp'][$cpt]['pays'] = $lig_resp->pays;
                $tab_ele['resp'][$cpt]['commune'] = $lig_resp->commune;
                $tab_ele['resp'][$cpt]['adr_id'] = $lig_resp->adr_id;
                $tab_ele['resp'][$cpt]['resp_legal'] = $lig_resp->resp_legal;
                $tab_ele['resp'][$cpt]['acces_sp'] = $lig_resp->acces_sp;
                $tab_ele['resp'][$cpt]['envoi_bulletin'] = $lig_resp->envoi_bulletin;
                //echo "\$lig_resp->login="******"<br />";
                if ($lig_resp->login != "") {
                    $sql = "SELECT etat, auth_mode FROM utilisateurs WHERE login='******';";
                    //echo "$sql<br />";
                    $res_u = mysqli_query($GLOBALS["mysqli"], $sql);
                    if (mysqli_num_rows($res_u) > 0) {
                        $lig_u = mysqli_fetch_object($res_u);
                        $tab_ele['resp'][$cpt]['etat'] = $lig_u->etat;
                        $tab_ele['resp'][$cpt]['auth_mode'] = $lig_u->auth_mode;
                        if ($AccesDerniereConnexionResp) {
                            $tab_ele['resp'][$cpt]['DerniereConnexionResp'] = get_last_connexion($lig_resp->login);
                            $tab_ele['resp'][$cpt]['DerniereConnexionResp_Echec'] = get_last_connexion($lig_resp->login, "n");
                        }
                    }
                }
                $cpt++;
            }
        }
    }
    if ($active_cahiers_texte == "y" && $acces_cdt == 'y') {
        $ts_limite_visibilite_comptes_rendus_pour_eleves = time();
        $ts_limite_visibilite_devoirs_pour_eleves = time() + getSettingValue('delai_devoirs') * 24 * 3600;
        $cpt1 = 0;
        // pour initialiser la variable
        $tab_date_ct = array();
        // Un DISTINCT pour éviter les trois exemplaires dûs à j_eleves_groupes
        $sql = "SELECT DISTINCT cte.* FROM  ct_entry cte, j_eleves_groupes jeg WHERE cte.id_groupe=jeg.id_groupe AND jeg.login='******' AND cte.date_ct>={$date_ct1} AND cte.date_ct<={$date_ct2} AND cte.date_ct<={$ts_limite_visibilite_comptes_rendus_pour_eleves} ORDER BY cte.date_ct, cte.id_groupe;";
        //echo "$sql<br />";
        $res_ct = mysqli_query($GLOBALS["mysqli"], $sql);
        if (mysqli_num_rows($res_ct) > 0) {
            $cpt1 = 0;
            while ($lig_ct = mysqli_fetch_object($res_ct)) {
                $tab_ele['cdt_entry'][$cpt1] = array();
                $tab_ele['cdt_entry'][$cpt1]['id_ct'] = $lig_ct->id_ct;
                $tab_ele['cdt_entry'][$cpt1]['heure_entry'] = $lig_ct->heure_entry;
                $tab_ele['cdt_entry'][$cpt1]['id_groupe'] = $lig_ct->id_groupe;
                $tab_ele['cdt_entry'][$cpt1]['date_ct'] = $lig_ct->date_ct;
                $tab_ele['cdt_entry'][$cpt1]['id_login'] = $lig_ct->id_login;
                $tab_ele['cdt_entry'][$cpt1]['contenu'] = $lig_ct->contenu;
                /*
                echo "<p>\n";
                foreach($tab_ele['cdt_entry'][$cpt] as $key => $value) {
                	echo "\$tab_ele['cdt_entry'][$cpt]['$key']=$value<br />\n";
                }
                echo "</p>\n";
                */
                $tab_date_ct[] = $lig_ct->date_ct;
                $cpt1++;
            }
        }
        $sql = "SELECT DISTINCT ctde.* FROM ct_devoirs_entry ctde, j_eleves_groupes jeg WHERE ctde.id_groupe=jeg.id_groupe AND jeg.login='******' AND ctde.date_ct>={$date_ct1} AND ctde.date_ct<={$date_ct2} AND ctde.date_ct<={$ts_limite_visibilite_devoirs_pour_eleves} ORDER BY ctde.date_ct, ctde.id_groupe;";
        //echo "$sql<br />";
        $res_ct = mysqli_query($GLOBALS["mysqli"], $sql);
        $cpt2 = 0;
        if (mysqli_num_rows($res_ct) > 0) {
            //$cpt2=0;
            while ($lig_ct = mysqli_fetch_object($res_ct)) {
                $tab_ele['cdt_dev'][$cpt2] = array();
                $tab_ele['cdt_dev'][$cpt2]['id_ct'] = $lig_ct->id_ct;
                $tab_ele['cdt_dev'][$cpt2]['id_groupe'] = $lig_ct->id_groupe;
                $tab_ele['cdt_dev'][$cpt2]['date_ct'] = $lig_ct->date_ct;
                $tab_ele['cdt_dev'][$cpt2]['id_login'] = $lig_ct->id_login;
                $tab_ele['cdt_dev'][$cpt2]['contenu'] = $lig_ct->contenu;
                $tab_date_ct[] = $lig_ct->date_ct;
                $cpt2++;
            }
        }
        sort($tab_date_ct);
        $tmp_tab_date_ct = $tab_date_ct;
        unset($tab_date_ct);
        $tab_date_ct = array_unique($tmp_tab_date_ct);
        //array_unique($tab_date_ct);
        $cpt1_2 = $cpt1 + $cpt2;
        $cpt = 0;
        //for($i=0;$i<count($tab_date_ct);$i++) {
        //for($i=0;$i<max($cpt1,$cpt2);$i++) {
        for ($i = 0; $i < $cpt1_2; $i++) {
            //echo "\$tab_date_ct[$i]=".$tab_date_ct[$i]."<br />";
            //if($tab_date_ct[$i]!="") {
            if (isset($tab_date_ct[$i]) && $tab_date_ct[$i] != "") {
                $tab_ele['cdt'][$cpt]['date_ct'] = $tab_date_ct[$i];
                $nbre_cdt_dev = isset($tab_ele['cdt_dev']) ? count($tab_ele['cdt_dev']) : 0;
                for ($j = 0; $j < $nbre_cdt_dev; $j++) {
                    if ($tab_ele['cdt_dev'][$j]['date_ct'] == $tab_date_ct[$i]) {
                        $tab_ele['cdt'][$cpt]['dev'][] = $tab_ele['cdt_dev'][$j];
                    } elseif ($tab_ele['cdt_dev'][$j]['date_ct'] > $tab_date_ct[$i]) {
                        break;
                    }
                }
                if (isset($tab_ele['cdt_entry'])) {
                    for ($j = 0; $j < count($tab_ele['cdt_entry']); $j++) {
                        if ($tab_ele['cdt_entry'][$j]['date_ct'] == $tab_date_ct[$i]) {
                            $tab_ele['cdt'][$cpt]['entry'][] = $tab_ele['cdt_entry'][$j];
                        } elseif ($tab_ele['cdt_entry'][$j]['date_ct'] > $tab_date_ct[$i]) {
                            break;
                        }
                    }
                }
                $cpt++;
            }
        }
    }
    $tab_ele['absences'] = array();
    $sql = "SELECT * FROM absences WHERE login='******' ORDER BY periode;";
    $res = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($res) > 0) {
        $cpt = 0;
        while ($lig = mysqli_fetch_object($res)) {
            $tab_ele['absences'][$cpt]['periode'] = $lig->periode;
            $tab_ele['absences'][$cpt]['nb_absences'] = $lig->nb_absences;
            $tab_ele['absences'][$cpt]['non_justifie'] = $lig->non_justifie;
            $tab_ele['absences'][$cpt]['nb_retards'] = $lig->nb_retards;
            $tab_ele['absences'][$cpt]['appreciation'] = $lig->appreciation;
            $cpt++;
        }
    }
    // ============================================================================= //
    // === SUIVI des absences pour ceux qui utilisent la saisie 'fond de classe' === //
    // ============================================================================= //
    $tab_ele['abs_quotidien'] = array();
    $tab_ele['abs_quotidien']['autorisation'] = 'non';
    // ne sera changé que dans le cas où la requête suivante renvoie un résultat
    $ts_quinze_jours_avant = date("U") - 1296000;
    $sql2 = "SELECT DISTINCT * FROM absences_rb WHERE eleve_id = '" . $ele_login . "' AND date_saisie > '" . $ts_quinze_jours_avant . "'";
    $query = mysqli_query($GLOBALS["mysqli"], $sql2);
    if ($query) {
        $test = mysqli_num_rows($query);
        if ($test >= 1) {
            $tab_ele['abs_quotidien']['autorisation'] = 'oui';
        }
        // On enregistre toutes les absences de l'élève dans le tableau
        $s = 0;
        while ($rep = mysqli_fetch_object($query)) {
            $jour = date("d/m", $rep->debut_ts);
            $creneau = mysqli_fetch_array(mysqli_query($GLOBALS["mysqli"], "SELECT nom_definie_periode FROM edt_creneaux WHERE id_definie_periode = '" . $rep->creneau_id . "' LIMIT 1"));
            $tab_ele['abs_quotidien'][$s]['retard_absence'] = $rep->retard_absence;
            $tab_ele['abs_quotidien'][$s]['jour_semaine'] = $rep->jour_semaine . ' ' . $jour;
            $tab_ele['abs_quotidien'][$s]['debut_heure'] = date("H:i", $rep->debut_ts);
            $tab_ele['abs_quotidien'][$s]['creneau'] = $creneau["nom_definie_periode"];
            $s++;
        }
    } else {
        // rien et on laisse
    }
    // Affecter auparavant la valeur de $acces_mod_discipline sur deux tests:
    // - Module actif
    // - Accès au module discipline précisé dans Gestion générale/Droits d'accès
    require_once "../mod_discipline/sanctions_func_lib.php";
    // tab_mod_discipline($ele_login,$mode,$date_debut,$date_fin);
    // $mode=all ou bien qualité: responsable, victime, témoin,...
    $tab_ele['tab_mod_discipline'] = tab_mod_discipline($ele_login, "all", $date_debut_disc, $date_fin_disc);
    return $tab_ele;
}
Пример #14
0
 if (count($tab_pp['id_classe']) == 0) {
     echo "</p>\n\n<p>Vous n'êtes " . getSettingValue('gepi_prof_suivi') . " d'aucune classe.</p>";
     require_once "../lib/footer.inc.php";
     die;
 } elseif (count($tab_pp['id_classe']) == 1) {
     $id_classe = array();
     $id_classe[0] = $tab_pp['id_classe'][0];
 } else {
     if (!isset($id_classe)) {
         $suite = "n";
     } else {
         $suite = "y";
         for ($loop = 0; $loop < count($id_classe); $loop++) {
             if (!in_array($id_classe[$loop], $tab_pp['id_classe'])) {
                 echo "</p>\n";
                 $gepi_prof_suivi = ucfirst(retourne_denomination_pp($id_classe[$loop]));
                 echo "<p style='color:red'>Vous n'êtes pas " . $gepi_prof_suivi . " de la classe de " . get_nom_classe($id_classe[$loop]);
                 $suite = "n";
                 break;
             }
         }
     }
     if ($suite == "n") {
         echo "</p>\n";
         echo "<p class='bold'>Choix des classes&nbsp;:</p>\n";
         echo "<form enctype='multipart/form-data' action='" . $_SERVER['PHP_SELF'] . "' method='post' name='formulaire'>\n";
         for ($loop = 0; $loop < count($tab_pp['id_classe']); $loop++) {
             echo "<label id='label_tab_id_classe_{$loop}' for='tab_id_classe_{$loop}' style='cursor: pointer;'><input type='checkbox' name='id_classe[]' id='tab_id_classe_{$loop}' value='" . $tab_pp['id_classe'][$loop] . "' onchange='change_style_classe({$loop})' /> " . $tab_pp['classe'][$loop] . "</label>";
             echo "<br />\n";
         }
         echo "<p><input type='submit' value='Valider' /></p>\n";
Пример #15
0
function bulletin($tab_moy, $current_eleve_login, $compteur, $total, $periode1, $periode2, $nom_periode, $gepiYear, $id_classe, $affiche_rang, $test_coef, $affiche_categories, $couleur_lignes = NULL)
{
    //global $nb_notes,$nombre_eleves,$type_etablissement,$type_etablissement2;
    global $nb_notes, $type_etablissement, $type_etablissement2;
    global $display_moy_gen;
    global $affiche_coef;
    global $bull_intitule_app;
    global $affiche_deux_moy_gen;
    global $affiche_colonne_moy_classe;
    //$affiche_colonne_moy_classe="n";
    global $gepi_denom_mention;
    if ($gepi_denom_mention == '') {
        $gepi_denom_mention = "mention";
    }
    //=========================
    global $utilisation_tablekit;
    if ($periode1 != $periode2) {
        //unset($utilisation_tablekit);
        $utilisation_tablekit = "no";
    }
    //=========================
    // Pour éviter dans bulletin() d'afficher le lien vers saisie_avis2.php depuis la page saisie_avis2.php
    global $temoin_page_courante;
    global $bull_simp_larg_tab, $bull_simp_larg_col1, $bull_simp_larg_col2, $bull_simp_larg_col3, $bull_simp_larg_col4;
    global $themessage;
    if (!isset($themessage) || $themessage == "") {
        $themessage = "Des saisies n\\'ont pas été enregistrées. Voulez-vous vraiment quitter sans enregistrer ?";
    }
    $alt = 1;
    // Initialisation des tableaux
    // $tab_afficher_liens_modif_app[$id_groupe][$num_per]
    // $tab_afficher_liens_valider_modif_app[$loop_per]
    //$tab_afficher_liens_modif_app=array();
    //$tab_afficher_liens_valider_modif_app=array();
    $tmp_tab = afficher_liens_modif_app($id_classe, $periode1, $periode2);
    $tab_afficher_liens_modif_app = $tmp_tab[0];
    $tab_afficher_liens_valider_modif_app = $tmp_tab[1];
    $afficher_proposition_correction = "n";
    if (count($tab_afficher_liens_modif_app) > 0) {
        $afficher_proposition_correction = "y";
    }
    /*
    echo "<pre>";
    print_r($tab_afficher_liens_modif_app);
    echo "</pre>";
    */
    $tab_statuts_signalement_faute_autorise = array('administrateur', 'professeur', 'cpe', 'scolarite');
    $afficher_signalement_faute = "n";
    if (in_array($_SESSION['statut'], $tab_statuts_signalement_faute_autorise)) {
        if ($_SESSION['statut'] == 'professeur' && mb_substr(getSettingValue('autoriser_signalement_faute_app_prof'), 0, 1) == 'y') {
            $afficher_signalement_faute = "y";
        } elseif ($_SESSION['statut'] == 'professeur' && mb_substr(getSettingValue('autoriser_signalement_faute_app_pp'), 0, 1) == 'y') {
            // Tester si le prof est pp de la classe
            if (is_pp($_SESSION['login'], $id_classe)) {
                $afficher_signalement_faute = "y";
            }
        } elseif ($_SESSION['statut'] == 'scolarite' && mb_substr(getSettingValue('autoriser_signalement_faute_app_scol'), 0, 1) == 'y') {
            $afficher_signalement_faute = "y";
        } elseif ($_SESSION['statut'] == 'cpe' && mb_substr(getSettingValue('autoriser_signalement_faute_app_cpe'), 0, 1) == 'y') {
            $afficher_signalement_faute = "y";
        }
    }
    if ($afficher_signalement_faute == 'y' || $afficher_proposition_correction == "y") {
        // A N'INSERER QUE POUR LES COMPTES DE PERSONNELS... de façon à éviter de donner les mails des profs à des élèves
        if (!isset($necessaire_signalement_fautes_insere) || $necessaire_signalement_fautes_insere == "n") {
            lib_signalement_fautes();
        }
        global $signalement_id_groupe;
        $envoi_mail_actif = getSettingValue('envoi_mail_actif');
    }
    global $mysqli;
    $tab_modif_app_proposees = array();
    $tab_mes_groupes = array();
    if ($_SESSION['statut'] == 'professeur') {
        //$tab_mes_groupes=array();
        $sql = "SELECT jgp.id_groupe FROM j_groupes_professeurs jgp WHERE login = '******'login'] . "';";
        //echo "$sql<br />";
        $res = mysqli_query($GLOBALS["mysqli"], $sql);
        if (mysqli_num_rows($res) > 0) {
            while ($lig = mysqli_fetch_object($res)) {
                $tab_mes_groupes[] = $lig->id_groupe;
                $sql = "SELECT * FROM matieres_app_corrections WHERE id_groupe='{$lig->id_groupe}';";
                $res_mad = mysqli_query($mysqli, $sql);
                if ($res_mad->num_rows > 0) {
                    while ($lig_mad = $res_mad->fetch_object()) {
                        $tab_modif_app_proposees[$lig_mad->id_groupe][$lig_mad->periode][$lig_mad->login] = $lig_mad->appreciation;
                    }
                }
            }
        }
        if (getSettingAOui('visuCorrectionsAppProposeesProfs')) {
            $sql = "SELECT DISTINCT ma.* FROM matieres_app_corrections ma,j_groupes_classes jgc WHERE jgc.id_groupe=ma.id_groupe AND jgc.id_classe='{$id_classe}';";
            //echo "$sql<br />";
            $res_mad = mysqli_query($mysqli, $sql);
            if ($res_mad->num_rows > 0) {
                while ($lig_mad = $res_mad->fetch_object()) {
                    $tab_modif_app_proposees[$lig_mad->id_groupe][$lig_mad->periode][$lig_mad->login] = $lig_mad->appreciation;
                }
            }
        }
        if (!isset($necessaire_corriger_appreciation_insere) || $necessaire_corriger_appreciation_insere == "n") {
            lib_corriger_appreciation();
        }
        global $corriger_app_id_groupe;
        //global $tab_mes_groupes;
        /*
        echo "tab_mes_groupes:<pre>";
        print_r($tab_mes_groupes);
        echo "</pre>";
        */
    } elseif ($_SESSION['statut'] == 'scolarite') {
        $sql = "SELECT DISTINCT ma.* FROM matieres_app_corrections ma,j_groupes_classes jgc WHERE jgc.id_groupe=ma.id_groupe AND jgc.id_classe='{$id_classe}';";
        //echo "$sql<br />";
        $res_mad = mysqli_query($mysqli, $sql);
        if ($res_mad->num_rows > 0) {
            while ($lig_mad = $res_mad->fetch_object()) {
                $tab_modif_app_proposees[$lig_mad->id_groupe][$lig_mad->periode][$lig_mad->login] = $lig_mad->appreciation;
            }
        }
        if (getSettingAOui('AccesModifAppreciationScol')) {
            if (!isset($necessaire_corriger_appreciation_insere) || $necessaire_corriger_appreciation_insere == "n") {
                lib_corriger_appreciation();
            }
        }
    }
    // données requise :
    //- le login de l'élève    : $current_eleve_login
    //- $compteur : compteur
    //- $total : nombre total d'élèves
    //- $periode1 : numéro de la première période à afficher
    //- $periode2 : numéro de la dernière période à afficher
    //- $nom_periode : tableau des noms de période
    //- $gepiYear : année
    //- $id_classe : identifiant de la classe.
    //==========================================================
    // AJOUT: boireaus 20080218
    //        Dispositif de restriction des accès aux appréciations pour les comptes responsables/eleves
    //echo "\$_SESSION['statut']=".$_SESSION['statut']."<br />";
    //echo "\$periode1=$periode1<br />";
    //echo "\$periode2=$periode2<br />";
    unset($tab_acces_app);
    $tab_acces_app = array();
    $tab_acces_app = acces_appreciations($periode1, $periode2, $id_classe);
    //==========================================================
    $nb_periodes = $periode2 - $periode1 + 1;
    $on_continue = "yes";
    if ($nb_periodes == 1) {
        // S'il n'est demandé qu'une seule période:
        // Test pour savoir si l'élève appartient à la classe pour la période considérée
        $test_eleve_app = sql_query1("select count(login) from j_eleves_classes where login='******' and id_classe='" . $id_classe . "' and periode='" . $periode1 . "'");
        if ($test_eleve_app == 0) {
            $on_continue = "no";
        }
    }
    if ($on_continue == 'yes') {
        // Mis hors de la fonction
        //$affiche_coef=sql_query1("SELECT display_coef FROM classes WHERE id='".$id_classe."'");
        //echo "\$affiche_categories=$affiche_categories<br />";
        $data_eleve = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM eleves WHERE login='******'");
        // Récupération du champ auto_increment
        $current_id_eleve = old_mysql_result($data_eleve, 0, "id_eleve");
        $current_eleve_nom = old_mysql_result($data_eleve, 0, "nom");
        $current_eleve_prenom = old_mysql_result($data_eleve, 0, "prenom");
        $current_eleve_sexe = old_mysql_result($data_eleve, 0, "sexe");
        $current_eleve_naissance = old_mysql_result($data_eleve, 0, "naissance");
        $current_eleve_naissance = affiche_date_naissance($current_eleve_naissance);
        $current_eleve_elenoet = old_mysql_result($data_eleve, 0, "elenoet");
        $data_profsuivi = mysqli_query($GLOBALS["mysqli"], "SELECT u.login FROM utilisateurs u, j_eleves_professeurs j WHERE (j.login='******' AND j.professeur = u.login AND j.id_classe='{$id_classe}') ");
        $current_eleve_profsuivi_login = @old_mysql_result($data_profsuivi, 0, "login");
        echo "<input type='hidden' name='nom_prenom_eleve[{$current_id_eleve}]' id='nom_prenom_eleve_{$current_id_eleve}' value=\"{$current_eleve_nom} {$current_eleve_prenom}\" />\n";
        $data_etab = mysqli_query($GLOBALS["mysqli"], "SELECT e.* FROM etablissements e, j_eleves_etablissements j WHERE (j.id_eleve ='{$current_eleve_elenoet}' AND e.id = j.id_etablissement) ");
        $current_eleve_etab_id = @old_mysql_result($data_etab, 0, "id");
        $current_eleve_etab_nom = @old_mysql_result($data_etab, 0, "nom");
        $current_eleve_etab_niveau = @old_mysql_result($data_etab, 0, "niveau");
        $current_eleve_etab_type = @old_mysql_result($data_etab, 0, "type");
        $current_eleve_etab_cp = @old_mysql_result($data_etab, 0, "cp");
        $current_eleve_etab_ville = @old_mysql_result($data_etab, 0, "ville");
        if ($current_eleve_etab_niveau != '') {
            foreach ($type_etablissement as $type_etab => $nom_etablissement) {
                if ($current_eleve_etab_niveau == $type_etab) {
                    $current_eleve_etab_niveau_nom = $nom_etablissement;
                }
            }
            if ($current_eleve_etab_cp == 0) {
                $current_eleve_etab_cp = '';
            }
            if ($current_eleve_etab_type == 'aucun') {
                $current_eleve_etab_type = '';
            } else {
                $current_eleve_etab_type = $type_etablissement2[$current_eleve_etab_type][$current_eleve_etab_niveau];
            }
        }
        $classe_eleve = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM classes WHERE id='{$id_classe}'");
        $current_eleve_classe = old_mysql_result($classe_eleve, 0, "classe");
        $id_classe = old_mysql_result($classe_eleve, 0, "id");
        $regime_doublant_eleve = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM j_eleves_regime WHERE login = '******'");
        $current_eleve_regime = old_mysql_result($regime_doublant_eleve, 0, "regime");
        $current_eleve_doublant = old_mysql_result($regime_doublant_eleve, 0, "doublant");
        //-------------------------------
        // On affiche l'en-tête : Les données de l'élève
        //-------------------------------
        echo "<span class='bull_simpl'><span class='bold'>{$current_eleve_nom} {$current_eleve_prenom}</span>";
        if ($current_eleve_sexe == "M") {
            echo ", né le {$current_eleve_naissance}";
        } else {
            echo ", née le {$current_eleve_naissance}";
        }
        if ($current_eleve_regime == "d/p") {
            echo ",&nbsp;demi-pensionnaire";
        }
        if ($current_eleve_regime == "ext.") {
            echo ",&nbsp;externe";
        }
        if ($current_eleve_regime == "int.") {
            echo ",&nbsp;interne";
        }
        if ($current_eleve_regime == "i-e") {
            if ($current_eleve_sexe == "M") {
                echo ",&nbsp;interne&nbsp;externé";
            } else {
                echo ",&nbsp;interne&nbsp;externée";
            }
        }
        if ($current_eleve_doublant == 'R') {
            if ($current_eleve_sexe == "M") {
                echo ", <b>redoublant</b>";
            } else {
                echo ", <b>redoublante</b>";
            }
        }
        echo "&nbsp;&nbsp;-&nbsp;&nbsp;Classe de {$current_eleve_classe}, année scolaire {$gepiYear}<br />\n";
        if ($current_eleve_etab_nom != '') {
            echo "Etablissement d'origine : ";
            if ($current_eleve_etab_id != '990') {
                echo "{$current_eleve_etab_niveau_nom} {$current_eleve_etab_type} {$current_eleve_etab_nom} ({$current_eleve_etab_cp} {$current_eleve_etab_ville})<br />\n";
            } else {
                echo "hors de France<br />\n";
            }
        }
        if ($periode1 < $periode2) {
            echo "Résultats de : ";
            $nb = $periode1;
            while ($nb < $periode2 + 1) {
                echo $nom_periode[$nb];
                if ($nb < $periode2) {
                    echo " - ";
                }
                $nb++;
            }
            echo ".</span>";
        } else {
            $temp = my_strtolower($nom_periode[$periode1]);
            echo "Résultats du {$temp}.</span>";
        }
        //
        //-------------------------------
        // Fin de l'en-tête
        // Initialisation de variable pour le cas où un élève n'est dans aucun enseignement sur une période
        $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black; border-bottom: 1px dashed black;";
        // On initialise le tableau :
        $bull_simp_larg_tab_defaut = 680;
        $bull_simp_larg_col1_defaut = 120;
        $bull_simp_larg_col2_defaut = 38;
        $bull_simp_larg_col3_defaut = 38;
        $bull_simp_larg_col4_defaut = 20;
        $larg_tab = $bull_simp_larg_tab_defaut;
        $larg_col1 = $bull_simp_larg_col1_defaut;
        $larg_col2 = $bull_simp_larg_col3_defaut;
        $larg_col3 = $bull_simp_larg_col3_defaut;
        $larg_col4 = $bull_simp_larg_col4_defaut;
        if (preg_match("/^[0-9]{1,}\$/", $bull_simp_larg_tab)) {
            $larg_tab = $bull_simp_larg_tab;
        }
        if (preg_match("/^[0-9]{1,}\$/", $bull_simp_larg_col1)) {
            $larg_col1 = $bull_simp_larg_col1;
        }
        if (preg_match("/^[0-9]{1,}\$/", $bull_simp_larg_col2)) {
            $larg_col2 = $bull_simp_larg_col2;
        }
        if (preg_match("/^[0-9]{1,}\$/", $bull_simp_larg_col3)) {
            $larg_col3 = $bull_simp_larg_col3;
        }
        if (preg_match("/^[0-9]{1,}\$/", $bull_simp_larg_col4)) {
            $larg_col4 = $bull_simp_larg_col4;
        }
        if ($bull_simp_larg_tab < $bull_simp_larg_col1 + $bull_simp_larg_col2 + $bull_simp_larg_col3 + $bull_simp_larg_col4) {
            $larg_tab = $bull_simp_larg_tab_defaut;
            $larg_col1 = $bull_simp_larg_col1_defaut;
            $larg_col2 = $bull_simp_larg_col2_defaut;
            $larg_col3 = $bull_simp_larg_col3_defaut;
            $larg_col4 = $bull_simp_larg_col4_defaut;
        }
        $larg_col5 = $larg_tab - $larg_col1 - $larg_col2 - $larg_col3 - $larg_col4;
        //=========================
        // MODIF: boireaus 20080315
        //echo "<table width=$larg_tab border=1 cellspacing=1 cellpadding=1>\n";
        echo "<table width={$larg_tab} class='boireaus";
        if ($utilisation_tablekit == "ok") {
            echo " sortable resizable";
        }
        echo "' cellspacing='1' cellpadding='1' summary='Matières/Notes/Appréciations'>\n";
        //=========================
        echo "<thead>\n";
        echo "<tr><td width=\"{$larg_col1}\" class='bull_simpl text'>{$compteur}";
        if ($total != '') {
            echo "/{$total}";
        }
        echo "</td>\n";
        //====================
        // Modif: boireaus 20070626
        if ($affiche_coef == 'y') {
            if ($test_coef != 0) {
                echo "<td width=\"{$larg_col2}\" align=\"center\" class='number'><p class='bull_simpl'>Coef.</p></td>\n";
            }
        }
        //====================
        if ($affiche_colonne_moy_classe != 'n') {
            echo "<td width=\"{$larg_col2}\" align=\"center\" class='bull_simpl text'>Classe</td>\n";
        }
        echo "<td width=\"{$larg_col3}\" align=\"center\" class='bull_simpl number'>&Eacute;lève</td>\n";
        if ($affiche_rang == 'y') {
            echo "<td width={$larg_col4} align=\"center\" class='bull_simpl number'><i>Rang</i></td>\n";
        }
        echo "<td width=\"{$larg_col5}\" class='bull_simpl nosort'>{$bull_intitule_app}</td>\n";
        if ($afficher_signalement_faute == 'y') {
            // A N'INSERER QUE POUR LES COMPTES DE PERSONNELS... de façon à éviter de donner les mails des profs à des élèves
            echo "<td class='bull_simpl noprint'>Signaler</td>\n";
        }
        echo "</tr>\n";
        echo "</thead>\n";
        echo "<tbody>\n";
        //echo "</table>";
        // On attaque maintenant l'affichage des appréciations des Activités Interdisciplinaires devant apparaître en tête des bulletins :
        $call_data = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM aid_config WHERE order_display1 = 'b' ORDER BY order_display2");
        $nb_aid = mysqli_num_rows($call_data);
        $z = 0;
        while ($z < $nb_aid) {
            $display_begin = old_mysql_result($call_data, $z, "display_begin");
            $display_end = old_mysql_result($call_data, $z, "display_end");
            if ($periode1 >= $display_begin and $periode2 <= $display_end) {
                $indice_aid = @old_mysql_result($call_data, $z, "indice_aid");
                $aid_query = mysqli_query($GLOBALS["mysqli"], "SELECT id_aid FROM j_aid_eleves WHERE (login='******' and indice_aid='{$indice_aid}')");
                $aid_id = @old_mysql_result($aid_query, 0, "id_aid");
                if ($aid_id != '') {
                    affiche_aid_simple($affiche_rang, $test_coef, $indice_aid, $aid_id, $current_eleve_login, $periode1, $periode2, $id_classe, 'bull_simpl', $affiche_coef);
                }
            }
            $z++;
        }
        //------------------------------
        // Boucle 'groupes'
        //------------------------------
        // Récupération des noms de categories
        $get_cat = mysqli_query($GLOBALS["mysqli"], "SELECT id FROM matieres_categories");
        $categories = array();
        while ($row = mysqli_fetch_array($get_cat, MYSQLI_ASSOC)) {
            $categories[] = $row["id"];
        }
        $cat_names = array();
        foreach ($categories as $cat_id) {
            $cat_names[$cat_id] = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT nom_complet FROM matieres_categories WHERE id = '" . $cat_id . "'"), 0);
        }
        // Nombre de groupes sur la classe
        $nombre_groupes = count($tab_moy['current_group']);
        // Récupération des indices de l'élève $current_eleve_login dans $tab_moy
        unset($tab_login_indice);
        $nb = $periode1;
        while ($nb < $periode2 + 1) {
            //$tab_login_indice[$nb]=$tab_moy['periodes'][$nb]['tab_login_indice'][$current_eleve_login];
            // Un élève qui arrive ou part en cours d'année ne sera pas dans la classe ni dans les groupes sur certaines périodes
            //if(isset($tab_moy['periodes'][$nb]['tab_login_indice'][$current_eleve_login])) {
            if (isset($tab_moy['periodes'][$nb]['tab_login_indice'][my_strtoupper($current_eleve_login)])) {
                //$tab_login_indice[$nb]=$tab_moy['periodes'][$nb]['tab_login_indice'][$current_eleve_login];
                $tab_login_indice[$nb] = $tab_moy['periodes'][$nb]['tab_login_indice'][my_strtoupper($current_eleve_login)];
                //echo "\$tab_login_indice[$nb]=$tab_login_indice[$nb]<br />";
            }
            /*
            else {
            	echo "\$tab_moy['periodes'][$nb]['tab_login_indice'][$current_eleve_login] n'est pas affecté.<br />";
            }
            */
            $nb++;
        }
        //$j = 0;
        $prev_cat_id = null;
        //while ($j < $nombre_groupes) {
        for ($j = 0; $j < $nombre_groupes; $j++) {
            //echo "<table width=$larg_tab border=1 cellspacing=0 cellpadding=1 style='margin-bottom: 0px; border-bottom: 1px solid black; border-top: none;'>";
            $inser_ligne = 'no';
            //$group_id = old_mysql_result($appel_liste_groupes, $j, "id_groupe");
            //$current_group = get_group($group_id);
            // On récupère le groupe depuis $tab_moy
            $current_group = $tab_moy['current_group'][$j];
            //echo "<p>Groupe n°$j: ".$current_group['name']."<br />\n";
            // Coefficient pour le groupe
            $current_coef = $current_group["classes"]["classes"][$id_classe]["coef"];
            // Pour les enseignements à bonus,...
            $mode_moy = $current_group["classes"]["classes"][$id_classe]["mode_moy"];
            $current_matiere_professeur_login = $current_group["profs"]["list"];
            //$current_matiere_nom_complet = $current_group["matiere"]["nom_complet"];
            if (getSettingValue('bul_rel_nom_matieres') == 'nom_groupe') {
                $current_matiere_nom_complet = $current_group["name"];
            } elseif (getSettingValue('bul_rel_nom_matieres') == 'description_groupe') {
                $current_matiere_nom_complet = $current_group["description"];
            } else {
                $current_matiere_nom_complet = $current_group["matiere"]["nom_complet"];
            }
            $nb = $periode1;
            while ($nb < $periode2 + 1) {
                $current_classe_matiere_moyenne[$nb] = $tab_moy['periodes'][$nb]['current_classe_matiere_moyenne'][$j];
                // On teste si des notes de une ou plusieurs boites du carnet de notes doivent être affichée
                $test_cn = mysqli_query($GLOBALS["mysqli"], "select c.nom_court, c.id from cn_cahier_notes cn, cn_conteneurs c\n\t\t\twhere (cn.periode = '{$nb}' and cn.id_groupe='" . $current_group["id"] . "' and cn.id_cahier_notes = c.id_racine and c.id_racine!=c.id and c.display_bulletin = 1) ");
                $nb_ligne_cn[$nb] = mysqli_num_rows($test_cn);
                $n = 0;
                while ($n < $nb_ligne_cn[$nb]) {
                    $cn_id[$nb][$n] = old_mysql_result($test_cn, $n, 'id');
                    $cn_nom[$nb][$n] = old_mysql_result($test_cn, $n, 'nom_court');
                    $n++;
                }
                $nb++;
            }
            // Maintenant on regarde si l'élève suit bien cette matière ou pas
            //-----------------------------
            $nb = $periode1;
            while ($nb < $periode2 + 1) {
                // Test supplémentaire pour savoir si l'élève appartient à la classe pour la période considérée
                $test_eleve_app = sql_query1("select count(login) from j_eleves_classes where login='******' and id_classe='" . $id_classe . "' and periode='" . $nb . "'");
                if ((in_array($current_eleve_login, $current_group["eleves"][$nb]["list"]) or in_array(my_strtolower($current_eleve_login), $current_group["eleves"][$nb]["list"]) or in_array(my_strtoupper($current_eleve_login), $current_group["eleves"][$nb]["list"])) and $test_eleve_app != 0) {
                    $inser_ligne = 'yes';
                    $current_eleve_note[$nb] = $tab_moy['periodes'][$nb]['current_eleve_note'][$j][$tab_login_indice[$nb]];
                    $current_eleve_statut[$nb] = $tab_moy['periodes'][$nb]['current_eleve_statut'][$j][$tab_login_indice[$nb]];
                    $current_eleve_appreciation_query = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM matieres_appreciations ma, j_eleves_classes jec WHERE (ma.login='******' AND ma.id_groupe='" . $current_group["id"] . "' AND ma.periode='{$nb}' and jec.periode='{$nb}' and jec.login='******' and jec.id_classe='{$id_classe}')");
                    $current_eleve_appreciation[$nb] = @old_mysql_result($current_eleve_appreciation_query, 0, "appreciation");
                    $coef_eleve = $tab_moy['periodes'][$nb]['current_coef_eleve'][$tab_login_indice[$nb]][$j];
                    //echo "\$coef_eleve=\$tab_moy['periodes'][$nb]['current_coef_eleve'][".$tab_login_indice[$nb]."][$j]=".$coef_eleve."<br />\n";
                } else {
                    $current_eleve_note[$nb] = '';
                    $current_eleve_statut[$nb] = 'Non suivie';
                    $current_eleve_appreciation[$nb] = '';
                }
                //++++++++++++++++++++++++
                // Modif d'après F.Boisson
                // notes dans appreciation
                $sql = "SELECT cnd.note, cd.note_sur FROM cn_notes_devoirs cnd, cn_devoirs cd, cn_cahier_notes ccn WHERE cnd.login='******' AND cnd.id_devoir=cd.id AND cd.id_racine=ccn.id_cahier_notes AND ccn.id_groupe='" . $current_group["id"] . "' AND ccn.periode='{$nb}' AND cnd.statut='';";
                $result_nbct = mysqli_query($GLOBALS["mysqli"], $sql);
                $string_notes = '';
                if ($result_nbct) {
                    while ($snnote = mysqli_fetch_assoc($result_nbct)) {
                        if ($string_notes != '') {
                            $string_notes .= ", ";
                        }
                        $string_notes .= $snnote['note'];
                        if (getSettingValue("note_autre_que_sur_referentiel") == "V" || $snnote['note_sur'] != getSettingValue("referentiel_note")) {
                            $string_notes .= "/" . $snnote['note_sur'];
                        }
                    }
                }
                $current_eleve_appreciation[$nb] = str_replace('@@Notes', $string_notes, $current_eleve_appreciation[$nb]);
                //++++++++++++++++++++++++
                $nb++;
            }
            if ($inser_ligne == 'yes') {
                if ($affiche_categories) {
                    // On regarde si on change de catégorie de matière
                    if ($current_group["classes"]["classes"][$id_classe]["categorie_id"] != $prev_cat_id) {
                        $prev_cat_id = $current_group["classes"]["classes"][$id_classe]["categorie_id"];
                        // On est dans une nouvelle catégorie
                        // On récupère les infos nécessaires, et on affiche une ligne
                        // On détermine le nombre de colonnes pour le colspan
                        if ($affiche_colonne_moy_classe == 'n') {
                            $nb_total_cols = 3;
                        } else {
                            $nb_total_cols = 4;
                        }
                        //====================
                        // Modif: boireaus 20070626
                        if ($affiche_coef == 'y') {
                            if ($test_coef != 0) {
                                $nb_total_cols++;
                            }
                        }
                        //====================
                        if ($affiche_rang == 'y') {
                            $nb_total_cols++;
                        }
                        // On regarde s'il faut afficher la moyenne de l'élève pour cette catégorie
                        $affiche_cat_moyenne_query = mysqli_query($GLOBALS["mysqli"], "SELECT affiche_moyenne FROM j_matieres_categories_classes WHERE (classe_id = '" . $id_classe . "' and categorie_id = '" . $prev_cat_id . "')");
                        if (mysqli_num_rows($affiche_cat_moyenne_query) == "0") {
                            $affiche_cat_moyenne = false;
                        } else {
                            $affiche_cat_moyenne = old_mysql_result($affiche_cat_moyenne_query, 0);
                        }
                        // On a toutes les infos. On affiche !
                        echo "<tr>\n";
                        echo "<td colspan='" . $nb_total_cols . "'>\n";
                        echo "<p style='padding: 0; margin:0; font-size: 10px; text-align:left;'>" . $cat_names[$prev_cat_id] . "</p></td>\n";
                        if ($afficher_signalement_faute == 'y') {
                            // A N'INSERER QUE POUR LES COMPTES DE PERSONNELS... de façon à éviter de donner les mails des profs à des élèves
                            echo "<td class='bull_simpl noprint'>-</td>\n";
                        }
                        echo "</tr>\n";
                    }
                }
                if ($couleur_lignes == 'y') {
                    $alt = $alt * -1;
                    echo "<tr class='lig{$alt}'>\n";
                    $alt2 = $alt;
                } else {
                    echo "<tr>\n";
                }
                echo "<td ";
                if ($nb_periodes > 1) {
                    echo " rowspan= " . $nb_periodes;
                }
                //echo" width=\"$larg_col1\" class='bull_simpl'><b>$current_matiere_nom_complet</b>";
                echo " width=\"{$larg_col1}\" class='bull_simpl'><b>" . htmlspecialchars($current_matiere_nom_complet) . "</b>";
                $k = 0;
                //echo "(".$current_group['id'].")";
                $liste_email_profs_du_groupe = "";
                $liste_profs_du_groupe = "";
                while ($k < count($current_matiere_professeur_login)) {
                    echo "<br /><i>" . affiche_utilisateur($current_matiere_professeur_login[$k], $id_classe) . "</i>";
                    if ($k > 0) {
                        $liste_profs_du_groupe .= "|";
                    }
                    $liste_profs_du_groupe .= $current_matiere_professeur_login[$k];
                    $tmp_mail = retourne_email($current_matiere_professeur_login[$k]);
                    if ($tmp_mail != '') {
                        if ($liste_email_profs_du_groupe != '') {
                            $liste_email_profs_du_groupe .= ", ";
                        }
                        $liste_email_profs_du_groupe .= $tmp_mail;
                    }
                    $k++;
                }
                if (!isset($signalement_id_groupe[$current_group['id']])) {
                    echo "<input type='hidden' name='signalement_id_groupe[" . $current_group['id'] . "]' id='signalement_id_groupe_" . $current_group['id'] . "' value=\"" . $current_group['name'] . " (" . $current_group['name'] . " en " . $current_group['classlist_string'] . ")\" />\n";
                }
                echo "</td>\n";
                //====================
                // Modif: boireaus 20070626
                if ($affiche_coef == 'y') {
                    if ($test_coef != 0) {
                        //if ($current_coef > 0) $print_coef= $current_coef ; else $print_coef='-';
                        //if ($coef_eleve > 0) $print_coef= $coef_eleve; else $print_coef='-';
                        if ($coef_eleve > 0) {
                            $print_coef = number_format($coef_eleve, 1, ',', ' ');
                        } else {
                            $print_coef = '-';
                        }
                        echo "<td width=\"{$larg_col2}\"";
                        if ($nb_periodes > 1) {
                            echo " rowspan= " . $nb_periodes;
                        }
                        echo " align=\"center\"><p class='bull_simpl'>" . $print_coef . "</p></td>\n";
                    }
                }
                //====================
                $nb = $periode1;
                $print_tr = 'no';
                while ($nb < $periode2 + 1) {
                    if ($print_tr == 'yes') {
                        //echo "<tr style='border-width: 5px;'>\n";
                        if ($couleur_lignes == 'y') {
                            $alt2 = $alt2 * -1;
                            echo "<tr class='lig{$alt2}' style='border-width: 5px;'>\n";
                        } else {
                            echo "<tr>\n";
                        }
                    }
                    //=========================
                    // MODIF: boireaus 20080315
                    //echo "<td width=\"$larg_col2\" align=\"center\" class='bull_simpl'>\n";
                    //if($nb>$periode1) {$style_bordure_cell="border: 1px dashed black;";} else {$style_bordure_cell="";}
                    //$style_bordure_cell="border: 1px dashed black;";
                    if ($nb == $periode1) {
                        if ($nb == $periode2) {
                            $style_bordure_cell = "border: 1px solid black";
                        } else {
                            $style_bordure_cell = "border: 1px solid black; border-bottom: 1px dashed black";
                        }
                    } elseif ($nb == $periode2) {
                        $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black;";
                    } else {
                        $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black; border-bottom: 1px dashed black;";
                    }
                    if ($affiche_colonne_moy_classe != 'n') {
                        echo "<td width=\"{$larg_col2}\" align=\"center\" class='bull_simpl' style='{$style_bordure_cell}'>\n";
                        //=========================
                        //echo "\$nb=$nb<br />";
                        $note = number_format($current_classe_matiere_moyenne[$nb], 1, ',', ' ');
                        if ($note != "0,0") {
                            echo $note;
                        } else {
                            echo "-";
                        }
                        echo "</td>\n";
                    }
                    echo "<td width=\"{$larg_col3}\" align=\"center\" class='bull_simpl' style='{$style_bordure_cell}'>\n<b>";
                    $flag_moy[$nb] = 'no';
                    if ($current_eleve_note[$nb] != '') {
                        if ($current_eleve_statut[$nb] != '') {
                            echo $current_eleve_statut[$nb];
                        } else {
                            //$note=number_format($current_eleve_note[$nb],1, ',', ' ');
                            $note = nf($current_eleve_note[$nb]);
                            echo "{$note}";
                            $flag_moy[$nb] = 'yes';
                        }
                    } else {
                        echo '-';
                    }
                    echo "</b></td>\n";
                    //Affichage des cellules rang le cas échéant
                    if ($affiche_rang == 'y') {
                        /*
                        $rang = sql_query1("select rang from matieres_notes where (
                        periode = '".$nb."' and
                        id_groupe = '".$current_group["id"]."' and
                        login = '******' )
                        ");
                        if (($rang == 0) or ($rang == -1)){
                        	$rang = "-";
                        }
                        else{
                        	//$rang.="/".$nb_notes[$current_group["id"]][$nb];
                        	//if(isset($nb_notes[$current_group["id"]][$nb])){
                        		$rang.="/".$nb_notes[$current_group["id"]][$nb];
                        	//}
                        	//$rang.="<br />\$nb_notes[".$current_group["id"]."][$nb]";
                        }
                        */
                        $rang = "-";
                        if (isset($tab_login_indice[$nb])) {
                            if (isset($tab_moy['periodes'][$nb]['current_eleve_rang'][$j][$tab_login_indice[$nb]])) {
                                // Si l'élève n'est dans le groupe que sur une période (cas des IDD), son rang n'existera pas sur certaines périodes
                                //echo "\$tab_moy['periodes'][$nb]['current_eleve_rang'][$j][".$tab_login_indice[$nb]."]=";
                                $rang = $tab_moy['periodes'][$nb]['current_eleve_rang'][$j][$tab_login_indice[$nb]];
                                //echo "$rang<br />";
                            }
                        }
                        $eff_grp_avec_note = $tab_moy['periodes'][$nb]['current_group_effectif_avec_note'][$j];
                        if ($rang != 0 && $rang != -1 && $rang != '' && $rang != '-') {
                            $rang .= "/{$eff_grp_avec_note}";
                        }
                        echo "<td width=\"{$larg_col4}\" align=\"center\" class='bull_simpl' style='{$style_bordure_cell}'><i>" . $rang . "</i></td>\n";
                    }
                    // Affichage des cases appréciations
                    echo "<td width=\"{$larg_col5}\" class='bull_simpl' style='{$style_bordure_cell}; text-align:left;'>\n";
                    // Affichage des moyennes secondaires
                    if ($nb_ligne_cn[$nb] != 0) {
                        $tiret = 'no';
                        for ($cn = 0; $cn < $nb_ligne_cn[$nb]; $cn++) {
                            $appel_cn = mysqli_query($GLOBALS["mysqli"], "select note, statut from cn_notes_conteneurs where (login='******' and id_conteneur='" . $cn_id[$nb][$cn] . "')");
                            $cn_statut = @old_mysql_result($appel_cn, 0, 'statut');
                            if ($cn_statut == 'y') {
                                $cn_note = @old_mysql_result($appel_cn, 0, 'note');
                                if ($tiret == 'yes') {
                                    echo " - ";
                                }
                                echo $cn_nom[$nb][$cn] . "&nbsp;:&nbsp;" . $cn_note;
                                $tiret = 'yes';
                            }
                        }
                        echo "<br />\n";
                    }
                    //==========================================================
                    // MODIF: boireaus 20080218
                    //        Dispositif de restriction des accès aux appréciations pour les comptes responsables/eleves
                    //if ($current_eleve_appreciation[$nb]) {
                    if ($current_eleve_appreciation[$nb] && $tab_acces_app[$nb] == "y") {
                        //==========================================================
                        //======================================
                        // MODIF: boireaus
                        //echo $current_eleve_appreciation[$nb];
                        if ($current_eleve_appreciation[$nb] == "-1") {
                            // 20120409
                            echo "<div id='app_" . $current_id_eleve . "_" . $current_group['id'] . "_{$nb}'>";
                            echo "<span class='noprint'>-</span>\n";
                            echo "</div>\n";
                        } else {
                            // 20120409
                            echo "<div id='app_" . $current_id_eleve . "_" . $current_group['id'] . "_{$nb}'>";
                            if (strstr($current_eleve_appreciation[$nb], ">") || strstr($current_eleve_appreciation[$nb], "<")) {
                                echo "{$current_eleve_appreciation[$nb]}";
                            } else {
                                echo nl2br($current_eleve_appreciation[$nb]);
                            }
                            echo "</div>\n";
                            // 20131207
                            echo "<div id='proposition_app_" . $current_id_eleve . "_" . $current_group['id'] . "_{$nb}' class='noprint'>";
                            if (isset($tab_modif_app_proposees[$current_group['id']][$nb][$current_eleve_login])) {
                                echo "<div style='border:1px solid red; color: green'><strong>Proposition de correction en attente&nbsp;:</strong><br />" . $tab_modif_app_proposees[$current_group['id']][$nb][$current_eleve_login] . "</div>";
                            }
                            echo "</div>";
                            echo "<textarea name='appreciation_" . $current_id_eleve . "_" . $current_group['id'] . "[{$nb}]' id='appreciation_" . $current_id_eleve . "_" . $current_group['id'] . "_{$nb}' style='display:none;'>" . $current_eleve_appreciation[$nb] . "</textarea>\n";
                        }
                        //======================================
                    } else {
                        // 20120409
                        echo "<div id='app_" . $current_id_eleve . "_" . $current_group['id'] . "_{$nb}'>";
                        echo "<span class='noprint'>-</span>\n";
                        echo "</div>\n";
                    }
                    echo "</td>\n";
                    if ($afficher_signalement_faute == 'y' || $afficher_proposition_correction == 'y') {
                        // A N'INSERER QUE POUR LES COMPTES DE PERSONNELS... de façon à éviter de donner les mails des profs à des élèves
                        echo "<td class='bull_simpl noprint'>";
                        if ($current_group["classe"]["ver_periode"][$id_classe][$nb] == 'O') {
                            echo "-";
                        } else {
                            // 20120409
                            echo affiche_lien_proposition_ou_correction_appreciation($current_eleve_login, $current_id_eleve, $current_eleve_prenom, $current_eleve_nom, $current_group, $id_classe, $nb, $liste_profs_du_groupe, $tab_mes_groupes, $tab_afficher_liens_modif_app);
                            /*
                            if(($_SESSION['statut']=='professeur')&&(in_array($current_group['id'],$tab_mes_groupes))) {
                            	if($current_group["classe"]["ver_periode"][$id_classe][$nb]=='N') {
                            		echo "<a href='#' onclick=\"modifier_une_appreciation('$current_eleve_login', '$current_id_eleve', '".$current_group['id']."', '$liste_profs_du_groupe', '$nb', 'corriger') ;return false;\" title=\"Modifier l'appréciation en période $nb pour $current_eleve_prenom $current_eleve_nom.
                            Si vous vous apercevez que vous avez fait une faute de frappe, ou si vous souhaitez modifier votre appréciation, ce lien est là pour ça.\" class='noprint'><img src='../images/edit16.png' width='16' height='16' /></a> ";
                            	}
                            	elseif(isset($tab_afficher_liens_modif_app[$current_group['id']][$nb])) {
                            		if($tab_afficher_liens_modif_app[$current_group['id']][$nb]=='y') {
                            			echo "<a href='#' onclick=\"modifier_une_appreciation('$current_eleve_login', '$current_id_eleve', '".$current_group['id']."', '$liste_profs_du_groupe', '$nb', 'proposer') ;return false;\" title=\"Proposer une correction de l'appréciation en période $nb pour $current_eleve_prenom $current_eleve_nom.
                            Si vous vous apercevez que vous avez fait une faute de frappe, ou si vous souhaitez simplement modifier votre appréciation, ce lien est là pour ça.\" class='noprint'><img src='../images/edit16.png' width='16' height='16' /></a> ";
                            		}
                            		elseif($tab_afficher_liens_modif_app[$current_group['id']][$nb]=='yy') {
                            			echo "<a href='#' onclick=\"modifier_une_appreciation('$current_eleve_login', '$current_id_eleve', '".$current_group['id']."', '$liste_profs_du_groupe', '$nb', 'corriger') ;return false;\" title=\"Modifier l'appréciation en période $nb pour $current_eleve_prenom $current_eleve_nom.
                            Si vous vous apercevez que vous avez fait une faute de frappe, ou si vous souhaitez modifier votre appréciation, ce lien est là pour ça.\" class='noprint'><img src='../images/edit16.png' width='16' height='16' /></a> ";
                            		}
                            		//echo "plop";
                            	}
                            }
                            */
                            // Tester si l'adresse mail du/des profs de l'enseignement est renseignée et si l'envoi de mail est actif.
                            // Sinon, on pourrait enregistrer le signalement dans une table actions_signalements pour affichage comme le Panneau d'affichage
                            if ($afficher_signalement_faute == 'y') {
                                echo "<a href=\"mailto:{$liste_email_profs_du_groupe}?Subject=[Gepi]: Signaler un problème/faute&body=Bonjour,Je pense que vous avez commis une faute de frappe pour {$current_eleve_login} dans l enseignement n°" . $current_group['id'] . ".Cordialement.-- " . casse_mot($_SESSION['prenom'], 'majf2') . " " . $_SESSION['nom'] . "\"";
                                if ($envoi_mail_actif != 'n') {
                                    //echo " onclick=\"alert('plop');return false;\"";
                                    echo " onclick=\"signaler_une_faute('{$current_eleve_login}', '{$current_id_eleve}', '" . $current_group['id'] . "', '{$liste_profs_du_groupe}', '{$nb}') ;return false;\"";
                                }
                                echo " title=\"Signaler une faute de frappe, d'orthographe ou autre...\nSi vous vous apercevez que ce collègue a fait une erreur,\nvous pouvez lui envoyer un mail pour l'alerter.\nCe lien est là pour ça.\" target='_blank'><img src='../images/icons/mail.png' width='16' height='16' alt='Signaler un problème/faute par mail' /></a>";
                                echo "<span id='signalement_effectue_" . $current_id_eleve . "_" . $current_group['id'] . "_{$nb}'></span>";
                            }
                        }
                        echo "</td>\n";
                    }
                    echo "</tr>\n";
                    $print_tr = 'yes';
                    $nb++;
                }
                /*
                // On calcule les moyennes générales de l'élève et de la classe :
                if ($test_coef != 0) {
                	$nb=$periode1;
                	while ($nb < $periode2+1) {
                		if ($flag_moy[$nb] == 'yes') {
                		
                			//===========================
                			// MODIF: boireaus 20070627
                			//$total_coef[$nb] += $current_coef;
                			//$total_points_classe[$nb] += $current_coef*$current_classe_matiere_moyenne[$nb];
                			//$total_points_eleve[$nb] += $current_coef*$current_eleve_note[$nb];
                		
                			if($mode_moy=='-') {
                				$total_coef_eleve[$nb] += $coef_eleve;
                				$total_points_eleve[$nb] += $coef_eleve*$current_eleve_note[$nb];
                		
                				$total_coef_classe[$nb] += $current_coef;
                				$total_points_classe[$nb] += $current_coef*$current_classe_matiere_moyenne[$nb];
                			}
                			elseif($mode_moy=='sup10') {
                				if($current_eleve_note[$nb]>10) {
                					$total_points_eleve[$nb] += $coef_eleve*($current_eleve_note[$nb]-10);
                				}
                		
                				if($current_classe_matiere_moyenne[$nb]>0) {
                					$total_points_classe[$nb] += $current_coef*($current_classe_matiere_moyenne[$nb]-10);
                				}
                			}
                			else {
                				echo "<p>ANOMALIE&nbsp;: \$mode_moy='$mode_moy' mode inconnu pour ".$current_group['name']."</p>\n";
                			}
                		
                			//===========================
                		
                			//if($affiche_categories=='1'){
                			if(($affiche_categories=='1')||($affiche_categories==true)){
                				$total_cat_classe[$nb][$prev_cat_id] += $current_coef*$current_classe_matiere_moyenne[$nb];
                		
                				//===========================
                				// MODIF: boireaus 20070627
                				//$total_cat_eleve[$nb][$prev_cat_id] += $current_coef*$current_eleve_note[$nb];
                				$total_cat_eleve[$nb][$prev_cat_id] += $coef_eleve*$current_eleve_note[$nb];
                				//$total_cat_coef[$nb][$prev_cat_id] += $current_coef;
                				$total_cat_coef_eleve[$nb][$prev_cat_id] += $coef_eleve;
                				$total_cat_coef_classe[$nb][$prev_cat_id] += $current_coef;
                				//===========================
                			}
                		}
                		$nb++;
                	}
                }
                */
            }
            //$j++;
            //  echo "</table>";
        }
        //echo "<table width=$larg_tab border=1 cellspacing=1 cellpadding=1>";
        // On attaque maintenant l'affichage des appréciations des Activités Interdisciplinaires devant apparaître en fin de bulletin :
        $call_data = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM aid_config WHERE order_display1 = 'e' ORDER BY order_display2");
        $nb_aid = mysqli_num_rows($call_data);
        $z = 0;
        while ($z < $nb_aid) {
            $display_begin = old_mysql_result($call_data, $z, "display_begin");
            $display_end = old_mysql_result($call_data, $z, "display_end");
            if ($periode1 >= $display_begin and $periode2 <= $display_end) {
                $indice_aid = @old_mysql_result($call_data, $z, "indice_aid");
                $aid_query = mysqli_query($GLOBALS["mysqli"], "SELECT id_aid FROM j_aid_eleves WHERE (login='******' and indice_aid='{$indice_aid}')");
                $aid_id = @old_mysql_result($aid_query, 0, "id_aid");
                if ($aid_id != '') {
                    affiche_aid_simple($affiche_rang, $test_coef, $indice_aid, $aid_id, $current_eleve_login, $periode1, $periode2, $id_classe, 'bull_simpl', $affiche_coef);
                }
            }
            $z++;
        }
        //echo "</table>";
        //echo "<table width=$larg_tab border=1 cellspacing=1 cellpadding=1>";
        //====================================================================
        //====================================================================
        //====================================================================
        echo "</tbody>\n";
        // Affichage des moyennes générales
        echo "<tfoot>\n";
        if ($display_moy_gen == "y") {
            if ($test_coef != 0) {
                echo "<tr>\n<td";
                if ($nb_periodes > 1) {
                    echo " rowspan=" . $nb_periodes;
                }
                echo ">\n<p class='bull_simpl'><b>Moyenne générale</b></p>\n</td>\n";
                //====================
                // Modif: boireaus 20070626
                if ($affiche_coef == 'y') {
                    echo "<td";
                    if ($nb_periodes > 1) {
                        echo " rowspan=" . $nb_periodes;
                    }
                    echo " align=\"center\" style='{$style_bordure_cell}'>-</td>\n";
                }
                //====================
                $nb = $periode1;
                $print_tr = 'no';
                while ($nb < $periode2 + 1) {
                    //=============================
                    //if($nb==$periode1){echo "<tr>\n";}
                    if ($print_tr == 'yes') {
                        echo "<tr style='border-width: 5px;'>\n";
                    }
                    //=============================
                    //=========================
                    // AJOUT: boireaus 20080315
                    if ($nb == $periode1) {
                        if ($nb == $periode2) {
                            $style_bordure_cell = "border: 1px solid black";
                        } else {
                            $style_bordure_cell = "border: 1px solid black; border-bottom: 1px dashed black";
                        }
                    } elseif ($nb == $periode2) {
                        $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black;";
                    } else {
                        $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black; border-bottom: 1px dashed black;";
                    }
                    //=========================
                    if ($affiche_colonne_moy_classe != 'n') {
                        echo "<td class='bull_simpl' align=\"center\" style='{$style_bordure_cell}'>\n";
                        /*
                        //echo "\$total_points_classe[$nb]=$total_points_classe[$nb]<br />\n";
                        //echo "\$tab_moy_gen[$nb]=$tab_moy_gen[$nb]<br />\n";
                        //if ($total_points_classe[$nb] != 0) {
                        if(($total_points_classe[$nb]!=0)||(isset($tab_moy_gen[$nb]))) {
                        	//$moy_classe=number_format($total_points_classe[$nb]/$total_coef[$nb],1, ',', ' ');
                        	
                        	//=========================
                        	// MODIF: boireaus 20080316
                        	//$moy_classe=number_format($total_points_classe[$nb]/$total_coef_classe[$nb],1, ',', ' ');
                        	//$moy_classe=number_format($tab_moy_gen[$nb],1, ',', ' ');
                        	$moy_classe=$tab_moy_gen[$nb];
                        	//=========================
                        } else {
                        	$moy_classe = '-';
                        }
                        //echo "$moy_classe";
                        echo nf($moy_classe);
                        */
                        echo nf($tab_moy['periodes'][$nb]['moy_generale_classe'], 2);
                        if ($affiche_deux_moy_gen == 1) {
                            echo "<br />\n";
                            $moy_classe1 = $tab_moy['periodes'][$nb]['moy_generale_classe1'];
                            echo "<i>" . nf($moy_classe1, 2) . "</i>\n";
                        }
                        echo "</td>\n";
                    }
                    echo "<td class='bull_simpl' align=\"center\" style='{$style_bordure_cell}'>\n";
                    /*
                    if ($total_points_eleve[$nb] != '0') {
                    	//$moy_eleve=number_format($total_points_eleve[$nb]/$total_coef[$nb],1, ',', ' ');
                    	$moy_eleve=number_format($total_points_eleve[$nb]/$total_coef_eleve[$nb],1, ',', ' ');
                    } else {
                    	$moy_eleve = '-';
                    }
                    */
                    if (isset($tab_login_indice[$nb])) {
                        $moy_eleve = $tab_moy['periodes'][$nb]['moy_gen_eleve'][$tab_login_indice[$nb]];
                        echo "<b>" . nf($moy_eleve, 2) . "</b>\n";
                        if ($affiche_deux_moy_gen == 1) {
                            echo "<br />\n";
                            $moy_eleve1 = $tab_moy['periodes'][$nb]['moy_gen_eleve1'][$tab_login_indice[$nb]];
                            echo "<i><b>" . nf($moy_eleve1, 2) . "</b></i>\n";
                        }
                    } else {
                        echo "-\n";
                    }
                    echo "</td>\n";
                    if ($affiche_rang == 'y') {
                        $rang = sql_query1("select rang from j_eleves_classes where (\n\t\t\t\t\tperiode = '" . $nb . "' and\n\t\t\t\t\tid_classe = '" . $id_classe . "' and\n\t\t\t\t\tlogin = '******' )\n\t\t\t\t\t");
                        $nombre_eleves = count($tab_moy['periodes'][$nb]['current_eleve_login']);
                        if ($rang == 0 or $rang == -1) {
                            $rang = "-";
                        } else {
                            $rang .= "/" . $nombre_eleves;
                        }
                        echo "<td class='bull_simpl' align=\"center\" style='{$style_bordure_cell}'>" . $rang . "</td>\n";
                    }
                    if ($affiche_categories) {
                        echo "<td class='bull_simpl' style='{$style_bordure_cell}; text-align:left;'>\n";
                        foreach ($categories as $cat_id) {
                            // MODIF: boireaus 20070627 ajout du test et utilisation de $total_cat_coef_eleve, $total_cat_coef_classe
                            // Tester si cette catégorie doit avoir sa moyenne affichée
                            $affiche_cat_moyenne_query = mysqli_query($GLOBALS["mysqli"], "SELECT affiche_moyenne FROM j_matieres_categories_classes WHERE (classe_id = '" . $id_classe . "' and categorie_id = '" . $cat_id . "')");
                            if (mysqli_num_rows($affiche_cat_moyenne_query) == "0") {
                                $affiche_cat_moyenne = false;
                            } else {
                                $affiche_cat_moyenne = old_mysql_result($affiche_cat_moyenne_query, 0);
                            }
                            if ($affiche_cat_moyenne) {
                                /*
                                //if ($total_cat_coef[$nb][$cat_id] != "0") {
                                if ($total_cat_coef_eleve[$nb][$cat_id] != "0") {
                                	//$moy_eleve=number_format($total_cat_eleve[$nb][$cat_id]/$total_cat_coef[$nb][$cat_id],1, ',', ' ');
                                	//$moy_classe=number_format($total_cat_classe[$nb][$cat_id]/$total_cat_coef[$nb][$cat_id],1, ',', ' ');
                                	$moy_eleve=number_format($total_cat_eleve[$nb][$cat_id]/$total_cat_coef_eleve[$nb][$cat_id],1, ',', ' ');
                                	
                                	if ($total_cat_coef_classe[$nb][$cat_id] != "0") {
                                		$moy_classe=number_format($total_cat_classe[$nb][$cat_id]/$total_cat_coef_classe[$nb][$cat_id],1, ',', ' ');
                                	}
                                	else{
                                		$moy_classe="-";
                                	}
                                	
                                	echo $cat_names[$cat_id] . " - <b>".$moy_eleve."</b> (classe : " . $moy_classe . ")<br/>\n";
                                }
                                */
                                // Si l'élève est bien dans la classe sur la période $nb
                                if (isset($tab_login_indice[$nb])) {
                                    $moy_eleve = $tab_moy['periodes'][$nb]['moy_cat_eleve'][$tab_login_indice[$nb]][$cat_id];
                                    $moy_classe = $tab_moy['periodes'][$nb]['moy_cat_classe'][$tab_login_indice[$nb]][$cat_id];
                                    echo $cat_names[$cat_id] . " - <b>" . nf($moy_eleve, 2) . "</b> (classe : " . nf($moy_classe, 2) . ")<br/>\n";
                                }
                            }
                        }
                        echo "</td>\n</tr>\n";
                    } else {
                        echo "<td class='bull_simpl' style='text-align:left; {$style_bordure_cell}'>-</td>\n</tr>\n";
                    }
                    $nb++;
                    $print_tr = 'yes';
                }
            }
        }
        echo "</tfoot>\n";
        echo "</table>\n";
        // Les absences
        // On ne les affiche que si dans le bulletin HTML, on affiche les absences
        if (getSettingAOui('bull_affiche_absences')) {
            echo "<span class='bull_simpl'><b>Absences et retards:</b></span>\n";
            //echo "<table width=$larg_tab border=1 cellspacing=1 cellpadding=1>\n";
            echo "<table width='{$larg_tab}' class='boireaus' cellspacing='1' cellpadding='1' summary='Absences et retards'>\n";
            $nb = $periode1;
            while ($nb < $periode2 + 1) {
                //On vérifie si le module est activé
                if (getSettingValue("active_module_absence") != '2' || getSettingValue("abs2_import_manuel_bulletin") == 'y') {
                    $current_eleve_absences_query = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM absences WHERE (login='******' AND periode='{$nb}')");
                    $eleve_abs[$nb] = @old_mysql_result($current_eleve_absences_query, 0, "nb_absences");
                    $eleve_abs_nj[$nb] = @old_mysql_result($current_eleve_absences_query, 0, "non_justifie");
                    $eleve_retards[$nb] = @old_mysql_result($current_eleve_absences_query, 0, "nb_retards");
                    $current_eleve_appreciation_absences = @old_mysql_result($current_eleve_absences_query, 0, "appreciation");
                    $eleve_app_abs[$nb] = @old_mysql_result($current_eleve_absences_query, 0, "appreciation");
                } else {
                    // Initialisations files
                    require_once "../lib/initialisationsPropel.inc.php";
                    $eleve = EleveQuery::create()->findOneByLogin($current_eleve_login);
                    if ($eleve != null) {
                        $current_eleve_absences_query = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM absences WHERE (login='******' AND periode='{$nb}')");
                        $eleve_abs[$nb] = $eleve->getDemiJourneesAbsenceParPeriode($nb)->count();
                        $eleve_abs_nj[$nb] = $eleve->getDemiJourneesNonJustifieesAbsenceParPeriode($nb)->count();
                        $eleve_retards[$nb] = $eleve->getRetardsParPeriode($nb)->count();
                        $current_eleve_appreciation_absences = @old_mysql_result($current_eleve_absences_query, 0, "appreciation");
                        $eleve_app_abs[$nb] = @old_mysql_result($current_eleve_absences_query, 0, "appreciation");
                    }
                }
                if ($eleve_abs[$nb] !== '' and $eleve_abs_nj[$nb] !== '') {
                    $eleve_abs_j[$nb] = $eleve_abs[$nb] - $eleve_abs_nj[$nb];
                } else {
                    $eleve_abs_j[$nb] = "?";
                }
                if ($eleve_abs_nj[$nb] === '') {
                    $eleve_abs_nj[$nb] = "?";
                }
                if ($eleve_retards[$nb] === '') {
                    $eleve_retards[$nb] = "?";
                }
                //====================================
                // AJOUT: boireaus 20080317
                if ($nb == $periode1) {
                    if ($nb == $periode2) {
                        $style_bordure_cell = "border: 1px solid black";
                    } else {
                        $style_bordure_cell = "border: 1px solid black; border-bottom: 1px dashed black";
                    }
                } elseif ($nb == $periode2) {
                    $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black;";
                } else {
                    $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black; border-bottom: 1px dashed black;";
                }
                //====================================
                $nb_colspan_abs = 0;
                if (getSettingValue('bull_affiche_abs_tot') == 'y') {
                    $nb_colspan_abs++;
                }
                if (getSettingValue('bull_affiche_abs_nj') == 'y') {
                    $nb_colspan_abs++;
                }
                if (getSettingValue('bull_affiche_abs_ret') == 'y') {
                    $nb_colspan_abs++;
                }
                echo "<tr>\n<td valign=top class='bull_simpl' style='{$style_bordure_cell}'>{$nom_periode[$nb]}</td>\n";
                // Test pour savoir si l'élève appartient à la classe pour la période considérée
                $test_eleve_app = sql_query1("select count(login) from j_eleves_classes where login='******' and id_classe='" . $id_classe . "' and periode='" . $nb . "'");
                if (getSettingValue('bull_affiche_abs_tot') == 'y' || getSettingValue('bull_affiche_abs_nj') == 'y' || getSettingValue('bull_affiche_abs_ret') == 'y') {
                    if ($test_eleve_app != 0) {
                        // 20130215
                        if (getSettingValue('bull_affiche_abs_tot') == 'y') {
                            if (getSettingValue('bull_affiche_abs_nj') == 'y') {
                                echo "<td valign=top class='bull_simpl' style='{$style_bordure_cell}'>\n";
                                if ($eleve_abs_j[$nb] == "1") {
                                    echo "Absences justifiées : une demi-journée";
                                } else {
                                    if ($eleve_abs_j[$nb] != "0") {
                                        echo "Absences justifiées : {$eleve_abs_j[$nb]} demi-journées";
                                    } else {
                                        echo "Aucune absence justifiée";
                                    }
                                }
                                echo "</td>\n";
                                echo "<td valign=top class='bull_simpl' style='{$style_bordure_cell}'>\n";
                                if ($eleve_abs_nj[$nb] == '1') {
                                    echo "Absences non justifiées : une demi-journée";
                                } else {
                                    if ($eleve_abs_nj[$nb] != '0') {
                                        echo "Absences non justifiées : {$eleve_abs_nj[$nb]} demi-journées";
                                    } else {
                                        echo "Aucune absence non justifiée";
                                    }
                                }
                                echo "</td>\n";
                            } else {
                                echo "<td valign=top class='bull_simpl' style='{$style_bordure_cell}'>\n";
                                if ($eleve_abs[$nb] > 0) {
                                    echo "Nombre de demi-journées : " . $eleve_abs[$nb];
                                } else {
                                    echo "Aucune absence";
                                }
                                echo "</td>\n";
                            }
                        } elseif (getSettingValue('bull_affiche_abs_nj') == 'y') {
                            echo "<td valign=top class='bull_simpl' style='{$style_bordure_cell}'>\n";
                            if ($eleve_abs_nj[$nb] == "1") {
                                echo "Absences non-justifiées : une demi-journée";
                            } else {
                                if ($eleve_abs_nj[$nb] != "0") {
                                    echo "Absences non-justifiées : {$eleve_abs_nj[$nb]} demi-journées";
                                } else {
                                    echo "Aucune absence non-justifiée";
                                }
                            }
                            echo "</td>\n";
                        }
                        if (getSettingValue('bull_affiche_abs_ret') == 'y') {
                            echo "<td valign=top class='bull_simpl' style='{$style_bordure_cell}'>Nb. de retards : {$eleve_retards[$nb]}</td>\n";
                        }
                        echo "</tr>\n";
                    } else {
                        if (getSettingValue('bull_affiche_abs_tot') == 'y') {
                            echo "<td valign=top class='bull_simpl' style='{$style_bordure_cell}'>-</td>\n";
                        }
                        if (getSettingValue('bull_affiche_abs_nj') == 'y') {
                            echo "<td valign=top class='bull_simpl' style='{$style_bordure_cell}'>-</td>\n";
                        }
                        if (getSettingValue('bull_affiche_abs_ret') == 'y') {
                            echo "<td valign=top class='bull_simpl' style='{$style_bordure_cell}'>-</td>\n";
                        }
                        echo "</tr>\n";
                    }
                } else {
                    if ($nb_colspan_abs > 0) {
                        echo "<td colspan='{$nb_colspan_abs}' valign=top class='bull_simpl' style='{$style_bordure_cell}'>-</td>\n";
                    } else {
                        echo "<td valign=top class='bull_simpl' style='{$style_bordure_cell}'>-</td>\n";
                    }
                    echo "</tr>\n";
                }
                //Ajout Eric
                if ($current_eleve_appreciation_absences != "") {
                    if ($test_eleve_app != 0) {
                        echo "<tr>\n";
                        echo "<td valign=top class='bull_simpl' style='{$style_bordure_cell}'>&nbsp;</td>\n";
                        if ($nb_colspan_abs > 0) {
                            echo "<td valign=top class='bull_simpl' colspan=\"{$nb_colspan_abs}\" style='text-align:left; {$style_bordure_cell}'>";
                        } else {
                            echo "<td valign=top class='bull_simpl' style='text-align:left; {$style_bordure_cell}'>";
                        }
                        echo " Observation(s) : {$current_eleve_appreciation_absences}</td>\n</tr>\n";
                    } else {
                        echo "<tr><td valign=top class='bull_simpl' style='{$style_bordure_cell}'>&nbsp;</td><td valign=top class='bull_simpl' colspan=\"3\" style='{$style_bordure_cell}'>-</td>\n</tr>\n";
                    }
                }
                $nb++;
            }
            echo "</table>\n";
        }
        $tab_classe_periode = get_infos_classe_periode($id_classe);
        // Maintenant, on met l'avis du conseil de classe :
        echo "<span class='bull_simpl'><b>Avis du conseil de classe </b> ";
        if ($current_eleve_profsuivi_login) {
            $gepi_prof_suivi = ucfirst(retourne_denomination_pp($id_classe));
            echo "<b>(" . ucfirst($gepi_prof_suivi) . " : <i>" . affiche_utilisateur($current_eleve_profsuivi_login, $id_classe) . "</i>)</b>";
        }
        echo " :</span>\n";
        $larg_col1b = $larg_tab - $larg_col1;
        echo "<table width=\"{$larg_tab}\" class='boireaus' cellspacing='1' cellpadding='1' summary='Avis du conseil de classe'>\n";
        $nb = $periode1;
        while ($nb < $periode2 + 1) {
            //=========================
            if ($nb == $periode1) {
                if ($nb == $periode2) {
                    $style_bordure_cell = "border: 1px solid black";
                } else {
                    $style_bordure_cell = "border: 1px solid black; border-bottom: 1px dashed black";
                }
            } elseif ($nb == $periode2) {
                $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black;";
            } else {
                $style_bordure_cell = "border: 1px solid black; border-top: 1px dashed black; border-bottom: 1px dashed black;";
            }
            //=========================
            $current_eleve_avis_query = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM avis_conseil_classe WHERE (login='******' AND periode='{$nb}')");
            $current_eleve_avis[$nb] = @old_mysql_result($current_eleve_avis_query, 0, "avis");
            // **** AJOUT POUR LA MENTION ****
            $current_eleve_mention[$nb] = @old_mysql_result($current_eleve_avis_query, 0, "id_mention");
            // **** FIN D'AJOUT POUR LA MENTION ****
            // Test pour savoir si l'élève appartient à la classe pour la période considérée
            $test_eleve_app = sql_query1("select count(login) from j_eleves_classes where login='******' and id_classe='" . $id_classe . "' and periode='" . $nb . "'");
            if ($current_eleve_avis[$nb] == '' or $tab_acces_app[$nb] != "y" or $test_eleve_app == 0) {
                $current_eleve_avis[$nb] = ' -';
            }
            echo "<tr>\n<td valign=\"top\" width =\"{$larg_col1}\" class='bull_simpl' style='text-align:left; {$style_bordure_cell}'>{$nom_periode[$nb]}</td>\n";
            echo "<td valign=\"top\"  width = \"{$larg_col1b}\" class='bull_simpl' style='text-align:left; {$style_bordure_cell}' title=\"Avis du conseil de classe en période n°{$nb} pour " . $current_eleve_prenom . " " . $current_eleve_nom . "\">";
            if ($temoin_page_courante != "saisie_avis2" && $tab_classe_periode[$nb]['verouiller'] != "O") {
                if ($_SESSION['statut'] == 'scolarite' || $_SESSION['statut'] == 'professeur' && is_pp($_SESSION['login'], $id_classe)) {
                    echo "<div style='float:right; width:16px;' title=\"Saisir/Modifier l'avis du conseil de classe.\" class='noprint'><a href = '../saisie/saisie_avis2.php?periode_num={$nb}&amp;id_classe={$id_classe}&amp;fiche=y&amp;current_eleve_login={$current_eleve_login}#app' onclick=\"return confirm_abandon (this, change, '{$themessage}')\"><img src='../images/edit16.png' class='icone16' alt='Editer' /></a></div>";
                    //&amp;ind_eleve_login_suiv=$ind_eleve_login_suiv
                }
            }
            echo $current_eleve_avis[$nb];
            // Ajouter par la suite une option pour faire apparaître les mentions même si c'est "-"
            //if(($current_eleve_mention[$nb]=="F")||($current_eleve_mention[$nb]=="M")||($current_eleve_mention[$nb]=="E")) {
            $afficher_les_mentions = "y";
            if ($_SESSION['statut'] == 'eleve' || $_SESSION['statut'] == 'responsable') {
                if ($tab_acces_app[$nb] != "y") {
                    $afficher_les_mentions = "n";
                }
            }
            if ($afficher_les_mentions == "y") {
                if (!isset($tableau_des_mentions_sur_le_bulletin) || !is_array($tableau_des_mentions_sur_le_bulletin) || count($tableau_des_mentions_sur_le_bulletin) == 0) {
                    $tableau_des_mentions_sur_le_bulletin = get_mentions();
                }
                if (isset($tableau_des_mentions_sur_le_bulletin[$current_eleve_mention[$nb]])) {
                    echo "<br />\n";
                    echo "<br />\n";
                    echo "<b>" . $gepi_denom_mention . " : </b>";
                    echo $tableau_des_mentions_sur_le_bulletin[$current_eleve_mention[$nb]];
                    //else {echo "-";}
                }
            }
            echo "</td>\n";
            echo "</tr>\n";
            $nb++;
        }
        echo "</table>\n";
    }
    // fin de la condition if ($on_continue == 'yes')
}
Пример #16
0
     echo "</tr>\n";
 }
 echo "</table>\n";
 if (count($tab_ele['classe']) == 1) {
     $gepi_prof_suivi_current_classe = retourne_denomination_pp($tab_ele['classe'][0]['id_classe']);
     echo "<p><strong>" . ucfirst($gepi_prof_suivi_current_classe) . "</strong>: ";
 } else {
     echo "<p><strong>" . ucfirst($gepi_prof_suivi) . "</strong>: ";
 }
 for ($loop = 0; $loop < count($tab_ele['classe']); $loop++) {
     if (isset($tab_ele['classe'][$loop]['pp'])) {
         if ($loop > 0) {
             echo ", ";
         }
         if ($tab_ele['classe'][$loop]['pp']['email'] != "") {
             $gepi_prof_suivi_current_classe = retourne_denomination_pp($tab_ele['classe'][$loop]['id_classe']);
             //echo "<a href='mailto:".$tab_ele['classe'][$loop]['pp']['email']."'>";
             //echo "<a href='mailto:".$tab_ele['classe'][$loop]['pp']['email']."'>";
             echo "<a href='mailto:" . $tab_ele['classe'][$loop]['pp']['email'] . "?subject=" . getSettingValue('gepiPrefixeSujetMail') . "GEPI - [" . remplace_accents($tab_ele['nom'], 'all') . " " . remplace_accents($tab_ele['prenom'], 'all') . "]&amp;body=";
             if ($tmp_date['hours'] >= 18) {
                 echo "Bonsoir";
             } else {
                 echo "Bonjour";
             }
             echo ",%0d%0aCordialement.' title=\"Envoyer un email au " . $gepi_prof_suivi_current_classe . "\">";
         }
         echo $tab_ele['classe'][$loop]['pp']['civ_nom_prenom'];
         if ($tab_ele['classe'][$loop]['pp']['email'] != "") {
             echo "</a>";
         }
         echo " (<em>" . $tab_ele['classe'][$loop]['classe'] . "</em>)";