コード例 #1
0
ファイル: recherche.php プロジェクト: alhousseyni/gepi
function extract_eleves($tab_login)
{
    global $cpt_eleve, $tab_result_recherche, $acces_visu_eleve, $acces_modify_eleve, $acces_class_const, $acces_photo, $gepiPath;
    $acces_modify_resp = acces("/responsables/modify_resp.php", $_SESSION['statut']);
    $GepiAccesGestElevesProf = getSettingAOui('GepiAccesGestElevesProf');
    for ($loop_tab_login = 0; $loop_tab_login < count($tab_login); $loop_tab_login++) {
        $sql = "SELECT * FROM eleves WHERE login='******';";
        $res = mysqli_query($GLOBALS["mysqli"], $sql);
        if (mysqli_num_rows($res) > 0) {
            $lig = mysqli_fetch_object($res);
            $restriction_acces = "n";
            if ($_SESSION['statut'] == 'professeur' && (!getSettingAOui('GepiAccesGestElevesProf') || !is_prof_ele($_SESSION['login'], $lig->login))) {
                if (getSettingAOui('GepiAccesGestElevesProfP') && is_pp($_SESSION['login'], "", $lig->login)) {
                    $restriction_acces = "n";
                } else {
                    $restriction_acces = "y";
                }
            }
            $tab_result_recherche['eleve'][$cpt_eleve]['login'] = $lig->login;
            if ($acces_modify_eleve && $restriction_acces == "n") {
                $tab_result_recherche['eleve'][$cpt_eleve]['td_login'] = "******"Modifier les informations élève\">{$lig->login}</a>";
            } else {
                $tab_result_recherche['eleve'][$cpt_eleve]['td_login'] = $lig->login;
            }
            $tab_result_recherche['eleve'][$cpt_eleve]['compte'] = "";
            $tab_result_recherche['eleve'][$cpt_eleve]['td_compte'] = "";
            if ($lig->login != "") {
                if ($_SESSION['statut'] == 'administrateur') {
                    $tab_result_recherche['eleve'][$cpt_eleve]['td_compte'] = lien_image_compte_utilisateur($lig->login, "", "", "y", 'y');
                } else {
                    $tab_result_recherche['eleve'][$cpt_eleve]['td_compte'] = lien_image_compte_utilisateur($lig->login, "", "", "n", 'y');
                }
                if (preg_match("/inactif/", $tab_result_recherche['eleve'][$cpt_eleve]['td_compte'])) {
                    $tab_result_recherche['eleve'][$cpt_eleve]['compte'] = "inactif";
                } else {
                    $tab_result_recherche['eleve'][$cpt_eleve]['compte'] = "actif";
                }
            }
            $tab_result_recherche['eleve'][$cpt_eleve]['td_compte'] .= temoin_compte_sso($lig->login);
            $tab_result_recherche['eleve'][$cpt_eleve]['nom_prenom'] = casse_mot($lig->nom, "maj") . " " . casse_mot($lig->prenom, "majf2");
            if ($acces_visu_eleve) {
                $tab_result_recherche['eleve'][$cpt_eleve]['td_nom_prenom'] = "<a href='{$gepiPath}/eleves/visu_eleve.php?ele_login={$lig->login}' title=\"Consulter la fiche élève\"><img src='{$gepiPath}/images/icons/ele_onglets.png' class='icone16' alt='Onglets élève' /> " . $tab_result_recherche['eleve'][$cpt_eleve]['nom_prenom'] . "</a>";
            } else {
                $tab_result_recherche['eleve'][$cpt_eleve]['td_nom_prenom'] = $tab_result_recherche['eleve'][$cpt_eleve]['nom_prenom'];
            }
            if ($acces_photo == "y") {
                $tab_result_recherche['eleve'][$cpt_eleve]['photo'] = nom_photo($lig->elenoet);
                // Pour le tri:
                $tab_result_recherche['eleve'][$cpt_eleve]['td_photo'] = "<span style='display:none'>" . $lig->sexe . "_" . $lig->nom . "_" . $lig->prenom . "</span>";
                // Lien pour la photo:
                $tab_result_recherche['eleve'][$cpt_eleve]['td_photo'] .= "<a href='" . $tab_result_recherche['eleve'][$cpt_eleve]['photo'] . "' target='_blank' onclick=\"affiche_photo('" . $tab_result_recherche['eleve'][$cpt_eleve]['photo'] . "', '" . addslashes($tab_result_recherche['eleve'][$cpt_eleve]['nom_prenom']) . "'); return false;\"><img src='";
                if ($tab_result_recherche['eleve'][$cpt_eleve]['photo'] == "") {
                    if ($lig->sexe == "F") {
                        $tab_result_recherche['eleve'][$cpt_eleve]['td_photo'] .= "../mod_trombinoscopes/images/photo_f_gris.png' title='Photo absente'";
                    } else {
                        $tab_result_recherche['eleve'][$cpt_eleve]['td_photo'] .= "../mod_trombinoscopes/images/photo_g_gris.png' title='Photo absente'";
                    }
                } else {
                    if ($lig->sexe == "F") {
                        $tab_result_recherche['eleve'][$cpt_eleve]['td_photo'] .= "../mod_trombinoscopes/images/photo_f.png' title='Cliquez pour afficher la photo'";
                    } else {
                        $tab_result_recherche['eleve'][$cpt_eleve]['td_photo'] .= "../mod_trombinoscopes/images/photo_g.png' title='Cliquez pour afficher la photo'";
                    }
                }
                $tab_result_recherche['eleve'][$cpt_eleve]['td_photo'] .= " width='20' height='20' /></a>";
            }
            $tab_result_recherche['eleve'][$cpt_eleve]['classe'] = "";
            $tab_result_recherche['eleve'][$cpt_eleve]['td_classe'] = "";
            $sql = "SELECT DISTINCT id, classe FROM classes c, j_eleves_classes jec WHERE jec.login='******' AND jec.id_classe=c.id ORDER BY periode;";
            $res_classe = mysqli_query($GLOBALS["mysqli"], $sql);
            if (mysqli_num_rows($res_classe) > 0) {
                $cpt_classe = 0;
                while ($lig_classe = mysqli_fetch_object($res_classe)) {
                    if ($cpt_classe > 0) {
                        $tab_result_recherche['eleve'][$cpt_eleve]['classe'] .= ", ";
                        $tab_result_recherche['eleve'][$cpt_eleve]['td_classe'] .= ", ";
                    }
                    if ($acces_class_const) {
                        $tab_result_recherche['eleve'][$cpt_eleve]['td_classe'] .= "<a href='{$gepiPath}/classes/classes_const.php?id_classe={$lig_classe->id}' title=\"Accéder à la liste des élèves de la classe.\">{$lig_classe->classe}</a>";
                    } else {
                        $tab_result_recherche['eleve'][$cpt_eleve]['td_classe'] .= $lig_classe->classe;
                    }
                    $tab_result_recherche['eleve'][$cpt_eleve]['classe'] .= $lig_classe->classe;
                    $cpt_classe++;
                }
            }
            $tab_result_recherche['eleve'][$cpt_eleve]['resp'] = "";
            $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] = "";
            if ($_SESSION['statut'] == 'professeur' && $GepiAccesGestElevesProf || in_array($_SESSION['statut'], array('scolarite', 'cpe', 'administrateur', 'autre'))) {
                $cpt_resp = 0;
                $sql = "SELECT rp.*, r.resp_legal FROM resp_pers rp, responsables2 r WHERE rp.pers_id=r.pers_id AND r.ele_id='{$lig->ele_id}' AND (resp_legal='1' OR resp_legal='2') ORDER BY nom, prenom, resp_legal;";
                $res_resp = mysqli_query($GLOBALS["mysqli"], $sql);
                if (mysqli_num_rows($res_resp) > 0) {
                    while ($lig_resp = mysqli_fetch_object($res_resp)) {
                        if ($cpt_resp > 0) {
                            $tab_result_recherche['eleve'][$cpt_eleve]['resp'] .= ", ";
                            $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= "<br />";
                        }
                        $tab_result_recherche['eleve'][$cpt_eleve]['resp'] .= $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (" . $lig_resp->resp_legal . ")";
                        if ($acces_modify_resp) {
                            $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= "<a href='{$gepiPath}/responsables/modify_resp.php?pers_id=" . $lig_resp->pers_id . "'>" . $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (<em title=\"Responsable légal : " . $lig_resp->resp_legal . "\">" . $lig_resp->resp_legal . "</em>)</a>";
                        } elseif ($acces_visu_eleve) {
                            $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= "<a href='{$gepiPath}/eleves/visu_eleve.php?ele_login={$lig->login}&amp;onglet=responsables' title=\"Consulter la liste des responsables dans le dossier élève\"><img src='{$gepiPath}/images/icons/ele_onglets.png' class='icone16' alt='Onglets élève' /> " . $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (<em title=\"Responsable légal : " . $lig_resp->resp_legal . "\">" . $lig_resp->resp_legal . "</em>)</a>";
                        } else {
                            $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (" . $lig_resp->resp_legal . ")";
                        }
                        $cpt_resp++;
                    }
                }
                $sql = "SELECT rp.*, r.resp_legal FROM resp_pers rp, responsables2 r WHERE rp.pers_id=r.pers_id AND r.ele_id='{$lig->ele_id}' AND (resp_legal='0') ORDER BY nom, prenom, resp_legal;";
                $res_resp = mysqli_query($GLOBALS["mysqli"], $sql);
                if (mysqli_num_rows($res_resp) > 0) {
                    while ($lig_resp = mysqli_fetch_object($res_resp)) {
                        if ($cpt_resp > 0) {
                            $tab_result_recherche['eleve'][$cpt_eleve]['resp'] .= ", ";
                            $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= "<br />";
                        }
                        $tab_result_recherche['eleve'][$cpt_eleve]['resp'] .= $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (" . $lig_resp->resp_legal . ")";
                        if ($acces_modify_resp) {
                            $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= "<a href='{$gepiPath}/responsables/modify_resp.php?pers_id=" . $lig_resp->pers_id . "'>" . $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (<em title=\"Responsable légal : " . $lig_resp->resp_legal . "\">" . $lig_resp->resp_legal . "</em>)</a>";
                        } elseif ($acces_visu_eleve) {
                            $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= "<a href='{$gepiPath}/eleves/visu_eleve.php?ele_login={$lig->login}&amp;onglet=responsables' title=\"Consulter la liste des responsables dans le dossier élève\"><img src='{$gepiPath}/images/icons/ele_onglets.png' class='icone16' alt='Onglets élève' /> " . $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (<em title=\"Responsable légal : " . $lig_resp->resp_legal . "\">" . $lig_resp->resp_legal . "</em>)</a>";
                        } else {
                            $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (" . $lig_resp->resp_legal . ")";
                        }
                        $cpt_resp++;
                    }
                }
            }
            //$compteur_personnes_trouvees++;
            $cpt_eleve++;
        }
    }
}
コード例 #2
0
ファイル: saisie_avis.php プロジェクト: alhousseyni/gepi
 echo "<a href=\"javascript:CocheColonne('fav_N_',{$i})\"><img src='../images/enabled.png' width='15' height='15' alt='Tout cocher' /></a> / <a href=\"javascript:DecocheColonne('fav_N_',{$i})\"><img src='../images/disabled.png' width='15' height='15' alt='Tout décocher' /></a>";
 echo "</th>\n";
 echo "<th>";
 echo "<a href=\"javascript:CocheColonne('fav_X_',{$i})\"><img src='../images/enabled.png' width='15' height='15' alt='Tout cocher' /></a> / <a href=\"javascript:DecocheColonne('fav_X_',{$i})\"><img src='../images/disabled.png' width='15' height='15' alt='Tout décocher' /></a>";
 echo "</th>\n";
 echo "</tr>\n";
 //===========================
 $alt = 1;
 while ($lig_ele = mysqli_fetch_object($res_ele)) {
     //========================
     $sql = "SELECT elenoet FROM eleves WHERE login='******';";
     $res_ele2 = mysqli_query($GLOBALS["mysqli"], $sql);
     $lig_ele2 = mysqli_fetch_object($res_ele2);
     $eleve_elenoet = $lig_ele2->elenoet;
     // Photo...
     $photo = nom_photo($eleve_elenoet);
     $temoin_photo = "";
     if ($photo) {
         $temoin_photo = "y";
     }
     //========================
     $alt = $alt * -1;
     echo "<tr class='lig{$alt}'>\n";
     /*
     echo "<td>";
     echo "<input type='hidden' name='ele_login[$cpt]' value=\"".$lig_ele->login."\" />\n";
     echo $lig_ele->nom." ".$lig_ele->prenom;
     echo "</td>\n";
     */
     if ($temoin_photo != "y") {
         echo "<td colspan='2'>" . $lig_ele->nom . " " . $lig_ele->prenom;
コード例 #3
0
ファイル: bull_func.lib.php プロジェクト: alhousseyni/gepi
function bulletin_pdf($tab_bull, $i, $tab_rel)
{
    //echo "DEBUG";
    global $gepi_cpe_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, $num_resp_bull, $nb_releve_par_page, $gepi_denom_mention, $signature_bull, $pdf;
    //=========================================
    if (isset($GLOBALS['multisite']) and $GLOBALS['multisite'] == 'y') {
        // On récupère le RNE de l'établissement
        $rep_photos = "../photos/" . $_COOKIE['RNE'] . "/eleves/";
    } else {
        $rep_photos = "../photos/eleves/";
    }
    //==============
    //Ajout J.Etheve
    // ***** flag pour l'affichage de la moyenne générale non coefficientée
    /*
    if ($coefficients_a_1!="oui") {
    	$affiche_deux_moy_gen=1;
    }
    else {
    	$affiche_deux_moy_gen==0;
    }
    */
    $affiche_deux_moy_gen = $tab_bull['affiche_moyenne_general_coef_1'];
    // *****
    $affiche_numero_responsable = $tab_bull['affiche_numero_responsable'];
    //=====================================
    /*
    // NE PAS SUPPRIMER CETTE SECTION... c'est pour le debug
    
    // Règles en rouge:
    // Selon ce que l'on souhaite débugger, décommenter une des deux règles
    $pdf->SetDrawColor(255,0,0);
    //=====================================
    // Règle 1: horizontale
    $tmp_marge_gauche=5;
    $tmp_marge_haut=5;
    $x=$tmp_marge_gauche;
    $y=$tmp_marge_haut;
    
    $pdf->SetXY($x,$y);
    $pdf->Cell(200,1,'','T',0,'C',0);
    
    for($loop=0;$loop<19;$loop++) {
    	$x=$tmp_marge_gauche+$loop*10;
    	$pdf->SetXY($x,$y);
    	$pdf->Cell(5,20,''.$loop,'',0,'L',0);
    	$pdf->SetXY($x,$y);
    	$pdf->Cell(10,270,'','L',0,'C',0);
    
    	for($loop2=0;$loop2<10;$loop2++) {
    		$pdf->SetXY($x+$loop2,$y);
    		$pdf->Cell(10,5,'','L',0,'C',0);
    	}
    }
    //=====================================
    // Règle 2: verticale
    $tmp_marge_gauche=1;
    $tmp_marge_haut=0;
    $x=$tmp_marge_gauche;
    $y=$tmp_marge_haut;
    
    $pdf->SetFont('DejaVu','',5);
    
    // Ligne verticale
    $pdf->SetXY($x,$y);
    $pdf->Cell(1,280,'','L',0,'C',0);
    
    for($loop=1;$loop<29;$loop++) {
    	// Repère numérique en cm
    	$y=$tmp_marge_haut+$loop*10-3;
    	$pdf->SetXY($x,$y);
    	$pdf->Cell(10,5,''.$loop,'',0,'L',0);
    
    	// Ligne tous les centimètres
    	$y=$tmp_marge_haut+$loop*10;
    	$pdf->SetXY($x,$y);
    	$pdf->Cell(200,10,'','T',0,'C',0);
    
    	// Les millimètres
    	for($loop2=0;$loop2<10;$loop2++) {
    		$pdf->SetXY($x,$y-10+$loop2);
    		$pdf->Cell(2,10,'','T',0,'C',0);
    	}
    }
    //=====================================
    // Retour au noir pour les tracés qui suivent:
    $pdf->SetDrawColor(0,0,0);
    */
    //=====================================
    if ($nb_releve_par_page != 1 || $nb_releve_par_page != 2) {
        // Actuellement, on n'a qu'un bulletin par page/recto donc qu'un relevé de notes par verso, mais sait-on jamais un jour...
        $nb_releve_par_page = 1;
    }
    // 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] = "";
        $tab_adr_ligne7[$loop] = "";
    }
    // ON N'UTILISE PAS LE CHAMP adr4 DE L'ADRESSE DANS resp_adr
    // IL FAUDRA VOIR COMMENT LE RECUPERER
    if (!isset($tab_bull['eleve'][$i]['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] = "";
        $tab_adr_ligne6[0] = "";
        $tab_adr_ligne7[0] = "";
        // Initialisation parce qu'on a des blagues s'il n'y a pas de resp:
        $nb_bulletins = 1;
    } else {
        if (isset($tab_bull['eleve'][$i]['resp'][1])) {
            if (isset($tab_bull['eleve'][$i]['resp'][1]['adr1']) && isset($tab_bull['eleve'][$i]['resp'][1]['adr2']) && isset($tab_bull['eleve'][$i]['resp'][1]['adr3']) && isset($tab_bull['eleve'][$i]['resp'][1]['adr4']) && isset($tab_bull['eleve'][$i]['resp'][1]['cp']) && isset($tab_bull['eleve'][$i]['resp'][1]['commune'])) {
                // Le deuxième responsable existe et est renseigné
                if ($tab_bull['eleve'][$i]['resp'][0]['adr_id'] == $tab_bull['eleve'][$i]['resp'][1]['adr_id'] or my_strtolower($tab_bull['eleve'][$i]['resp'][0]['adr1']) == my_strtolower($tab_bull['eleve'][$i]['resp'][1]['adr1']) && my_strtolower($tab_bull['eleve'][$i]['resp'][0]['adr2']) == my_strtolower($tab_bull['eleve'][$i]['resp'][1]['adr2']) && my_strtolower($tab_bull['eleve'][$i]['resp'][0]['adr3']) == my_strtolower($tab_bull['eleve'][$i]['resp'][1]['adr3']) && my_strtolower($tab_bull['eleve'][$i]['resp'][0]['adr4']) == my_strtolower($tab_bull['eleve'][$i]['resp'][1]['adr4']) && $tab_bull['eleve'][$i]['resp'][0]['cp'] == $tab_bull['eleve'][$i]['resp'][1]['cp'] && my_strtolower($tab_bull['eleve'][$i]['resp'][0]['commune']) == my_strtolower($tab_bull['eleve'][$i]['resp'][1]['commune'])) {
                    // Les adresses sont identiques
                    $nb_bulletins = 1;
                    $tab_adr_lignes[0] = "";
                    if ($tab_bull['eleve'][$i]['resp'][0]['nom'] != $tab_bull['eleve'][$i]['resp'][1]['nom'] && $tab_bull['eleve'][$i]['resp'][1]['nom'] != "") {
                        // Les noms des responsables sont différents
                        $tab_adr_ligne1[0] = $tab_bull['eleve'][$i]['resp'][0]['civilite'] . " " . $tab_bull['eleve'][$i]['resp'][0]['nom'] . " " . $tab_bull['eleve'][$i]['resp'][0]['prenom'] . " et " . $tab_bull['eleve'][$i]['resp'][1]['civilite'] . " " . $tab_bull['eleve'][$i]['resp'][1]['nom'] . " " . $tab_bull['eleve'][$i]['resp'][1]['prenom'];
                    } else {
                        if ($tab_bull['eleve'][$i]['resp'][0]['civilite'] != "" && $tab_bull['eleve'][$i]['resp'][1]['civilite'] != "") {
                            $tab_adr_ligne1[0] = $tab_bull['eleve'][$i]['resp'][0]['civilite'] . " et " . $tab_bull['eleve'][$i]['resp'][1]['civilite'] . " " . $tab_bull['eleve'][$i]['resp'][0]['nom'] . " " . $tab_bull['eleve'][$i]['resp'][0]['prenom'];
                        } else {
                            $tab_adr_ligne1[0] = "M. et Mme " . $tab_bull['eleve'][$i]['resp'][0]['nom'] . " " . $tab_bull['eleve'][$i]['resp'][0]['prenom'];
                        }
                    }
                    $tab_adr_lignes[0] = "<b>" . $tab_adr_ligne1[0] . "</b>";
                    $tab_adr_ligne2[0] = "";
                    if ($tab_bull['eleve'][$i]['resp'][0]['adr1'] != '') {
                        $tab_adr_ligne2[0] = $tab_bull['eleve'][$i]['resp'][0]['adr1'];
                        $tab_adr_lignes[0] .= "\n";
                        $tab_adr_lignes[0] .= $tab_adr_ligne2[0];
                    }
                    if ($tab_bull['eleve'][$i]['resp'][0]['adr2'] != "") {
                        $tab_adr_ligne3[0] = $tab_bull['eleve'][$i]['resp'][0]['adr2'];
                        $tab_adr_lignes[0] .= "\n";
                        $tab_adr_lignes[0] .= $tab_adr_ligne3[0];
                    }
                    if ($tab_bull['eleve'][$i]['resp'][0]['adr3'] != "") {
                        $tab_adr_ligne4[0] = $tab_bull['eleve'][$i]['resp'][0]['adr3'];
                        $tab_adr_lignes[0] .= "\n";
                        $tab_adr_lignes[0] .= $tab_adr_ligne4[0];
                    }
                    if ($tab_bull['eleve'][$i]['resp'][0]['adr4'] != "") {
                        $tab_adr_ligne5[0] = $tab_bull['eleve'][$i]['resp'][0]['adr4'];
                        $tab_adr_lignes[0] .= "\n";
                        $tab_adr_lignes[0] .= $tab_adr_ligne5[0];
                    }
                    $tab_adr_ligne6[0] = $tab_bull['eleve'][$i]['resp'][0]['cp'] . " " . $tab_bull['eleve'][$i]['resp'][0]['commune'];
                    $tab_adr_lignes[0] .= "\n";
                    $tab_adr_lignes[0] .= $tab_adr_ligne6[0];
                    if ($tab_bull['eleve'][$i]['resp'][0]['pays'] != "" && my_strtolower($tab_bull['eleve'][$i]['resp'][0]['pays']) != my_strtolower($gepiSchoolPays)) {
                        $tab_adr_ligne7[0] = $tab_bull['eleve'][$i]['resp'][0]['pays'];
                        $tab_adr_lignes[0] .= "\n";
                        $tab_adr_lignes[0] .= $tab_adr_ligne7[0];
                    }
                } 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_bull['eleve'][$i]['resp'][1]['adr1'] != "" && $tab_bull['eleve'][$i]['resp'][1]['commune'] != "") {
                        $nb_bulletins = 2;
                    } else {
                        $nb_bulletins = 1;
                    }
                    for ($cpt = 0; $cpt < $nb_bulletins; $cpt++) {
                        $tab_adr_lignes[$cpt] = "";
                        if ($tab_bull['eleve'][$i]['resp'][$cpt]['civilite'] != "") {
                            $tab_adr_ligne1[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['civilite'] . " " . $tab_bull['eleve'][$i]['resp'][$cpt]['nom'] . " " . $tab_bull['eleve'][$i]['resp'][$cpt]['prenom'];
                        } else {
                            $tab_adr_ligne1[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['nom'] . " " . $tab_bull['eleve'][$i]['resp'][$cpt]['prenom'];
                        }
                        $tab_adr_lignes[$cpt] .= "<b>" . $tab_adr_ligne1[$cpt] . "</b>";
                        $tab_adr_ligne2[$cpt] = "";
                        if ($tab_bull['eleve'][$i]['resp'][$cpt]['adr1'] != '') {
                            $tab_adr_ligne2[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['adr1'];
                            $tab_adr_lignes[$cpt] .= "\n";
                            $tab_adr_lignes[$cpt] .= $tab_adr_ligne2[$cpt];
                        }
                        if ($tab_bull['eleve'][$i]['resp'][$cpt]['adr2'] != "") {
                            $tab_adr_ligne3[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['adr2'];
                            $tab_adr_lignes[$cpt] .= "\n";
                            $tab_adr_lignes[$cpt] .= $tab_adr_ligne3[$cpt];
                        }
                        if ($tab_bull['eleve'][$i]['resp'][$cpt]['adr3'] != "") {
                            $tab_adr_ligne4[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['adr3'];
                            $tab_adr_lignes[$cpt] .= "\n";
                            $tab_adr_lignes[$cpt] .= $tab_adr_ligne4[$cpt];
                        }
                        if ($tab_bull['eleve'][$i]['resp'][$cpt]['adr4'] != "") {
                            $tab_adr_ligne5[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['adr4'];
                            $tab_adr_lignes[$cpt] .= "\n";
                            $tab_adr_lignes[$cpt] .= $tab_adr_ligne5[$cpt];
                        }
                        $tab_adr_ligne6[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['cp'] . " " . $tab_bull['eleve'][$i]['resp'][$cpt]['commune'];
                        $tab_adr_lignes[$cpt] .= "\n";
                        $tab_adr_lignes[$cpt] .= $tab_adr_ligne6[$cpt];
                        if ($tab_bull['eleve'][$i]['resp'][$cpt]['pays'] != "" && my_strtolower($tab_bull['eleve'][$i]['resp'][$cpt]['pays']) != my_strtolower($gepiSchoolPays)) {
                            $tab_adr_ligne7[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['pays'];
                            $tab_adr_lignes[$cpt] .= "\n";
                            $tab_adr_lignes[$cpt] .= $tab_adr_ligne7[$cpt];
                        }
                    }
                }
            } 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++) {
                    $tab_adr_lignes[$cpt] = "";
                    if ($tab_bull['eleve'][$i]['resp'][$cpt]['civilite'] != "") {
                        $tab_adr_ligne1[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['civilite'] . " " . $tab_bull['eleve'][$i]['resp'][$cpt]['nom'] . " " . $tab_bull['eleve'][$i]['resp'][$cpt]['prenom'];
                    } else {
                        $tab_adr_ligne1[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['nom'] . " " . $tab_bull['eleve'][$i]['resp'][$cpt]['prenom'];
                    }
                    $tab_adr_lignes[$cpt] .= "<b>" . $tab_adr_ligne1[$cpt] . "</b>";
                    $tab_adr_ligne2[$cpt] = "";
                    if ($tab_bull['eleve'][$i]['resp'][$cpt]['adr1'] != '') {
                        $tab_adr_ligne2[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['adr1'];
                        $tab_adr_lignes[$cpt] .= "\n";
                        $tab_adr_lignes[$cpt] .= $tab_adr_ligne2[$cpt];
                    }
                    if ($tab_bull['eleve'][$i]['resp'][$cpt]['adr2'] != "") {
                        $tab_adr_ligne3[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['adr2'];
                        $tab_adr_lignes[$cpt] .= "\n";
                        $tab_adr_lignes[$cpt] .= $tab_adr_ligne3[$cpt];
                    }
                    if ($tab_bull['eleve'][$i]['resp'][$cpt]['adr3'] != "") {
                        $tab_adr_ligne4[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['adr3'];
                        $tab_adr_lignes[$cpt] .= "\n";
                        $tab_adr_lignes[$cpt] .= $tab_adr_ligne4[$cpt];
                    }
                    if ($tab_bull['eleve'][$i]['resp'][$cpt]['adr4'] != "") {
                        $tab_adr_ligne5[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['adr4'];
                        $tab_adr_lignes[$cpt] .= "\n";
                        $tab_adr_lignes[$cpt] .= $tab_adr_ligne5[$cpt];
                    }
                    $tab_adr_ligne6[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['cp'] . " " . $tab_bull['eleve'][$i]['resp'][$cpt]['commune'];
                    $tab_adr_lignes[$cpt] .= "\n";
                    $tab_adr_lignes[$cpt] .= $tab_adr_ligne6[$cpt];
                    if ($tab_bull['eleve'][$i]['resp'][$cpt]['pays'] != "" && my_strtolower($tab_bull['eleve'][$i]['resp'][$cpt]['pays']) != my_strtolower($gepiSchoolPays)) {
                        $tab_adr_ligne7[$cpt] = $tab_bull['eleve'][$i]['resp'][$cpt]['pays'];
                        $tab_adr_lignes[$cpt] .= "\n";
                        $tab_adr_lignes[$cpt] .= $tab_adr_ligne7[$cpt];
                    }
                }
            }
        } else {
            // Il n'y a pas de deuxième responsable
            $nb_bulletins = 1;
            $tab_adr_lignes[0] = "";
            if ($tab_bull['eleve'][$i]['resp'][0]['civilite'] != "") {
                $tab_adr_ligne1[0] = $tab_bull['eleve'][$i]['resp'][0]['civilite'] . " " . $tab_bull['eleve'][$i]['resp'][0]['nom'] . " " . $tab_bull['eleve'][$i]['resp'][0]['prenom'];
            } else {
                $tab_adr_ligne1[0] = $tab_bull['eleve'][$i]['resp'][0]['nom'] . " " . $tab_bull['eleve'][$i]['resp'][0]['prenom'];
            }
            $tab_adr_lignes[0] .= "<b>" . $tab_adr_ligne1[0] . "</b>";
            $tab_adr_ligne2[0] = "";
            if ($tab_bull['eleve'][$i]['resp'][0]['adr1'] != '') {
                $tab_adr_ligne2[0] = $tab_bull['eleve'][$i]['resp'][0]['adr1'];
                $tab_adr_lignes[0] .= "\n";
                $tab_adr_lignes[0] .= $tab_adr_ligne2[0];
            }
            if ($tab_bull['eleve'][$i]['resp'][0]['adr2'] != "") {
                $tab_adr_ligne3[0] = $tab_bull['eleve'][$i]['resp'][0]['adr2'];
                $tab_adr_lignes[0] .= "\n";
                $tab_adr_lignes[0] .= $tab_adr_ligne3[0];
            }
            if ($tab_bull['eleve'][$i]['resp'][0]['adr3'] != "") {
                $tab_adr_ligne4[0] = $tab_bull['eleve'][$i]['resp'][0]['adr3'];
                $tab_adr_lignes[0] .= "\n";
                $tab_adr_lignes[0] .= $tab_adr_ligne4[0];
            }
            if ($tab_bull['eleve'][$i]['resp'][0]['adr4'] != "") {
                $tab_adr_ligne5[0] = $tab_bull['eleve'][$i]['resp'][0]['adr4'];
                $tab_adr_lignes[0] .= "\n";
                $tab_adr_lignes[0] .= $tab_adr_ligne5[0];
            }
            $tab_adr_ligne6[0] = $tab_bull['eleve'][$i]['resp'][0]['cp'] . " " . $tab_bull['eleve'][$i]['resp'][0]['commune'];
            $tab_adr_lignes[0] .= "\n";
            $tab_adr_lignes[0] .= $tab_adr_ligne6[0];
            if ($tab_bull['eleve'][$i]['resp'][0]['pays'] != "" && my_strtolower($tab_bull['eleve'][$i]['resp'][0]['pays']) != my_strtolower($gepiSchoolPays)) {
                $tab_adr_ligne7[0] = $tab_bull['eleve'][$i]['resp'][0]['pays'];
                $tab_adr_lignes[0] .= "\n";
                $tab_adr_lignes[0] .= $tab_adr_ligne7[0];
            }
        }
    }
    // Envoi du bulletin à des resp_legal=0
    if (isset($tab_bull['eleve'][$i]['resp'][2])) {
        //$indice_tab_adr=count($tab_adr_ligne1);
        foreach ($tab_bull['eleve'][$i]['resp'] as $key => $value) {
            if ($key >= 2) {
                $tab_adr_lignes[$nb_bulletins] = "";
                if ($tab_bull['eleve'][$i]['resp'][$key]['civilite'] != "") {
                    $tab_adr_ligne1[$nb_bulletins] = $tab_bull['eleve'][$i]['resp'][$key]['civilite'] . " " . $tab_bull['eleve'][$i]['resp'][$key]['nom'] . " " . $tab_bull['eleve'][$i]['resp'][$key]['prenom'];
                } else {
                    $tab_adr_ligne1[$nb_bulletins] = $tab_bull['eleve'][$i]['resp'][$key]['nom'] . " " . $tab_bull['eleve'][$i]['resp'][$key]['prenom'];
                }
                $tab_adr_lignes[$nb_bulletins] .= "<b>" . $tab_adr_ligne1[0] . "</b>";
                $tab_adr_ligne2[$nb_bulletins] = "";
                if ($tab_bull['eleve'][$i]['resp'][$key]['adr1'] != '') {
                    $tab_adr_ligne2[$nb_bulletins] = $tab_bull['eleve'][$i]['resp'][$key]['adr1'];
                    $tab_adr_lignes[$nb_bulletins] .= "\n";
                    $tab_adr_lignes[$nb_bulletins] .= $tab_adr_ligne2[0];
                }
                if ($tab_bull['eleve'][$i]['resp'][$key]['adr2'] != "") {
                    $tab_adr_ligne3[$nb_bulletins] = $tab_bull['eleve'][$i]['resp'][$key]['adr2'];
                    $tab_adr_lignes[$nb_bulletins] .= "\n";
                    $tab_adr_lignes[$nb_bulletins] .= $tab_adr_ligne3[0];
                }
                if ($tab_bull['eleve'][$i]['resp'][$key]['adr3'] != "") {
                    $tab_adr_ligne4[$nb_bulletins] = $tab_bull['eleve'][$i]['resp'][$key]['adr3'];
                    $tab_adr_lignes[$nb_bulletins] .= "\n";
                    $tab_adr_lignes[$nb_bulletins] .= $tab_adr_ligne4[0];
                }
                if ($tab_bull['eleve'][$i]['resp'][$key]['adr4'] != "") {
                    $tab_adr_ligne5[$nb_bulletins] = $tab_bull['eleve'][$i]['resp'][$key]['adr4'];
                    $tab_adr_lignes[$nb_bulletins] .= "\n";
                    $tab_adr_lignes[$nb_bulletins] .= $tab_adr_ligne5[0];
                }
                $tab_adr_ligne6[$nb_bulletins] = $tab_bull['eleve'][$i]['resp'][$key]['cp'] . " " . $tab_bull['eleve'][$i]['resp'][$key]['commune'];
                $tab_adr_lignes[$nb_bulletins] .= "\n";
                $tab_adr_lignes[$nb_bulletins] .= $tab_adr_ligne6[0];
                if ($tab_bull['eleve'][$i]['resp'][$key]['pays'] != "" && my_strtolower($tab_bull['eleve'][$i]['resp'][$key]['pays']) != my_strtolower($gepiSchoolPays)) {
                    $tab_adr_ligne7[$nb_bulletins] = $tab_bull['eleve'][$i]['resp'][$key]['pays'];
                    $tab_adr_lignes[$nb_bulletins] .= "\n";
                    $tab_adr_lignes[$nb_bulletins] .= $tab_adr_ligne7[0];
                }
                $nb_bulletins++;
            }
        }
    }
    //=========================================
    //echo "\$i=$i et \$nb_bulletins=$nb_bulletins<br />";
    //+++++++++++++++++++++++++++++++++++++++++++
    // 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++) {
        $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_bull['eleve'][$i]['id_classe'];
        //=========================================
        // 20120713
        if ($tab_bull['verouiller'] == "N") {
            $pdf->SetFont('DejaVu', 'B', 40);
            $pdf->SetTextColor(255, 192, 203);
            //$pdf->TextWithRotation(40,190,$texte_filigrame[$classe_id],45);
            $pdf->TextWithRotation(40, 210, "ATTENTION : Période non close", 45);
            $pdf->SetTextColor(0, 0, 0);
        } elseif ($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);
        }
        //=========================================
        // ============= DEBUT BLOC ETABLISSEMENT ==========================
        // Bloc identification etablissement
        $logo = '../images/' . getSettingValue('logo_etab');
        $format_du_logo = my_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'))
        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]);
            $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
            $tmp_dim_photo = getimagesize($logo);
            if (isset($tmp_dim_photo[2]) && $tmp_dim_photo[2] == 2) {
                $pdf->Image($logo, $X_logo, $Y_logo, $L_logo, $H_logo);
            }
        }
        //=========================================
        // 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);
        //=========================
        // 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, '');
        }
        //$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();
        // Affichage du tel de l'établissement
        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;
            } else {
                if ($tab_modele_pdf["tel_texte"][$classe_id] != '') {
                    $text_tel = $tab_modele_pdf["tel_texte"][$classe_id];
                }
                $text_tel .= $gepiSchoolTel;
                $grandeur = $pdf->GetStringWidth($text_tel);
            }
            /*
            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;
            } else {
                if ($tab_modele_pdf["fax_texte"][$classe_id] != '') {
                    $text_fax = $tab_modele_pdf["fax_texte"][$classe_id];
                }
                $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;
            }
            */
            if ($tab_modele_pdf["entente_tel"][$classe_id] === '1') {
                $text_fax = " " . $text_fax;
            }
            $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;
            } else {
                if ($tab_modele_pdf["courrier_texte"][$classe_id] != '') {
                    $text_mel = $tab_modele_pdf["courrier_texte"][$classe_id];
                }
                $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;
            }
            */
            $pdf->Cell(90, 5, $text_mel, 0, 2, '');
        }
        // Lignes supplémentaires à prendre en compte...
        if ($tab_modele_pdf["entete_info_etab_suppl"][$classe_id] == 'y' && ($tab_modele_pdf["entete_info_etab_suppl_texte"][$classe_id] != '' || $tab_modele_pdf["entete_info_etab_suppl_valeur"][$classe_id] != '')) {
            $y_telecom = $y_telecom + 5;
            $pdf->SetXY($x_telecom, $y_telecom);
            $texte = $tab_modele_pdf["entete_info_etab_suppl_texte"][$classe_id] . " : " . $tab_modele_pdf["entete_info_etab_suppl_valeur"][$classe_id];
            $pdf->Cell(90, 5, $texte, 0, 2, '');
        }
        // ============= FIN BLOC ETABLISSEMENT ==========================
        //=========================================
        // 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';
        }
        $pdf->SetStyle2("bppc", "DejaVu", "B", $taille, "0,0,0");
        $pdf->SetStyle2("ippc", "DejaVu", "I", $taille, "0,0,0");
        // ============= DEBUT BLOC ADRESSE PARENTS ==========================
        // bloc affichage de l'adresse des parents
        if ($tab_modele_pdf["active_bloc_adresse_parent"][$classe_id] === '1') {
            $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';
            }
            //=========================
            // Pour le moment, on fait une croix sur cell_ajustee() si la hauteur du cadre n'est pas saisie
            if ($hauteur_cadre_adresse == 1 || $use_cell_ajustee == "n") {
                $texte_1_responsable = trim($tab_adr_ligne1[$num_resp_bull]);
                //$hauteur_caractere=12;
                //$hauteur_caractere=$tab_modele_pdf["adresse_resp_fontsize_ligne_1"][$classe_id];
                $hauteur_caractere = $tab_modele_pdf["adresse_resp_fontsize"][$classe_id];
                $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, '');
                // ERIC
                if ($tab_modele_pdf["affiche_numero_responsable"][$classe_id] == '1') {
                    //Ajout Eric le 13-11-2010 Num du Resp légal sur le bulletin
                    $pdf->SetXY($tab_modele_pdf["X_parent"][$classe_id] + 90 - 8, $tab_modele_pdf["Y_parent"][$classe_id] - 3);
                    $pdf->SetFont('DejaVu', '', 6);
                    //6==> hauteur de caractère
                    $num = $num_resp_bull + 1;
                    // on se base sur le nombre de bulletin à imprimer
                    $num_legal = "(Resp " . $num . ")";
                    $pdf->Cell(90, 7, $num_legal, 0, 2, '');
                    // On remet le curseur à la bonne position pour la suite de l'adresse
                    $pdf->SetXY($tab_modele_pdf["X_parent"][$classe_id], $tab_modele_pdf["Y_parent"][$classe_id] + 7);
                    // Fin modif Eric
                }
                $texte_1_responsable = $tab_adr_ligne2[$num_resp_bull];
                if ($texte_1_responsable != "") {
                    //$hauteur_caractere=10;
                    $hauteur_caractere = $tab_modele_pdf["adresse_resp_fontsize"][$classe_id];
                    $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];
                if ($texte_1_responsable != "") {
                    //$hauteur_caractere=10;
                    $hauteur_caractere = $tab_modele_pdf["adresse_resp_fontsize"][$classe_id];
                    $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];
                if ($texte_1_responsable != "") {
                    //$hauteur_caractere=10;
                    $hauteur_caractere = $tab_modele_pdf["adresse_resp_fontsize"][$classe_id];
                    $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_ligne5[$num_resp_bull];
                if ($texte_1_responsable != "") {
                    //$hauteur_caractere=10;
                    $hauteur_caractere = $tab_modele_pdf["adresse_resp_fontsize"][$classe_id];
                    $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_ligne6[$num_resp_bull];
                if ($texte_1_responsable != "") {
                    //$hauteur_caractere=10;
                    $hauteur_caractere = $tab_modele_pdf["adresse_resp_fontsize"][$classe_id];
                    $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((my_strtolower($gepiSchoolPays)!=my_strtolower($pays_parents[$ident_eleve_aff][$responsable_place]))&&($pays_parents[$ident_eleve_aff][$responsable_place]!="")) {
                if (isset($tab_adr_ligne7[$num_resp_bull])) {
                    $texte_1_responsable = $tab_adr_ligne7[$num_resp_bull];
                    if ($texte_1_responsable != "") {
                        //$hauteur_caractere=10;
                        $hauteur_caractere = $tab_modele_pdf["adresse_resp_fontsize"][$classe_id];
                        $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) {
                    if ($hauteur_cadre_adresse == '1') {
                        // Patch tout pourri... pour faire un encadrement à peu près correct, même si la hauteur du cadre adresse parent n'a pas été saisie dans le modèle
                        $h_tmp = $pdf->GetY() - $tab_modele_pdf["Y_parent"][$classe_id] - 2;
                        $pdf->Rect($tab_modele_pdf["X_parent"][$classe_id], $tab_modele_pdf["Y_parent"][$classe_id], $longeur_cadre_adresse, $h_tmp, 'D');
                    } else {
                        $pdf->Rect($tab_modele_pdf["X_parent"][$classe_id], $tab_modele_pdf["Y_parent"][$classe_id], $longeur_cadre_adresse, $hauteur_cadre_adresse, 'D');
                    }
                    // Remarque: L'encadrement réalisé ne tient pas compte du texte saisi.
                    //           Si on met des valeurs trop réduites, ça ne diminue pas la taille du texte de l'adresse
                    //           On ne fait ici que mettre une déco qui ne va pas nécessairement coïncider
                    //           A REVOIR...
                }
            } else {
                $texte = $tab_adr_lignes[$num_resp_bull];
                //$taille_max_police=10;
                $taille_max_police = $tab_modele_pdf["adresse_resp_fontsize"][$classe_id];
                $taille_min_police = ceil($taille_max_police / 3);
                $largeur_dispo = $longeur_cadre_adresse;
                $h_cell = $hauteur_cadre_adresse;
                if ($tab_modele_pdf["cadre_adresse"][$classe_id] != 0) {
                    $bordure_cadre_adresse_resp = 'LRBT';
                } else {
                    $bordure_cadre_adresse_resp = '';
                }
                cell_ajustee($texte, $pdf->GetX(), $pdf->GetY(), $largeur_dispo, $h_cell, $taille_max_police, $taille_min_police, $bordure_cadre_adresse_resp, 'C', 'L', 0.3, 1);
            }
        }
        // ============= FIN BLOC ADRESSE PARENTS ==========================
        //=========================================
        // ============= DEBUT BLOC ELEVE ==========================
        // 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_bull['eleve'][$i]['nom'] . " " . $tab_bull['eleve'][$i]['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_bull['eleve'][$i]['elenoet']);
            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;
                // Seules les images JPEG ont l'air acceptées... et on ne peut pas se fier à l'extension...
                $tmp_dim_photo = getimagesize($photo[$i]);
                //if((!isset($tmp_dim_photo['mime']))||(preg_match("/jpeg/i",$tmp_dim_photo['mime']))) {
                if (isset($tmp_dim_photo[2]) && $tmp_dim_photo[2] == 2) {
                    $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_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom']),0,2,'');
            $nom_prenom = affiche_eleve($tab_bull['eleve'][$i]['nom'], $tab_bull['eleve'][$i]['prenom'], $tab_bull['id_classe']);
            $hauteur_caractere_nom_prenom = 14;
            $pdf->SetFont('DejaVu', 'B', $hauteur_caractere_nom_prenom);
            $val = $pdf->GetStringWidth($nom_prenom);
            if ($tab_modele_pdf["active_photo"][$classe_id] === '1' and $photo[$i] != '' and file_exists($photo[$i])) {
                $taille_texte = 90 - $L_photo;
                // Espace max
            } else {
                $taille_texte = 90;
                // Espace max
            }
            if ($taille_texte < 10) {
                $taille_texte = 90;
            }
            // Sécurité pour ne pas risquer une boucle infinie
            $grandeur_texte = 'test';
            while ($grandeur_texte != 'ok') {
                if ($taille_texte < $val) {
                    $hauteur_caractere_nom_prenom = $hauteur_caractere_nom_prenom - 0.3;
                    $pdf->SetFont('DejaVu', 'B', $hauteur_caractere_nom_prenom);
                    $val = $pdf->GetStringWidth($nom_prenom);
                } else {
                    $grandeur_texte = 'ok';
                }
            }
            $grandeur_texte = 'test';
            $pdf->Cell(90, 7, $nom_prenom, 0, 2, '');
            $pdf->SetFont('DejaVu', '', 10);
            if ($tab_modele_pdf["affiche_date_naissance"][$classe_id] === '1') {
                if ($tab_bull['eleve'][$i]['naissance'] != "") {
                    $info_naissance = "Né";
                    if ($tab_bull['eleve'][$i]['sexe'] == "F") {
                        $info_naissance .= "e";
                    }
                    $info_naissance .= " le " . $tab_bull['eleve'][$i]['naissance'];
                    if (getSettingValue('ele_lieu_naissance') == 'y' && $tab_modele_pdf["affiche_lieu_naissance"][$classe_id] === '1') {
                        $info_naissance .= " à " . $tab_bull['eleve'][$i]['lieu_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_bull['eleve'][$i]['doublant']!="") {
                    if ($tab_bull['eleve'][$i]['doublant'] == "R") {
                        //$rdbt=" ; ".$doublement[$i];
                        //$rdbt=" ; redoublant";
                        $rdbt = "redoublant";
                        if ($tab_bull['eleve'][$i]['sexe'] == "F") {
                            $rdbt .= "e";
                        }
                    }
                    //if(isset($tab_bull['eleve'][$i]['regime'])) {
                    if (isset($tab_bull['eleve'][$i]['regime']) && $tab_bull['eleve'][$i]['regime'] != "") {
                        if ($rdbt == "") {
                            $pdf->Cell(90, 4, regime($tab_bull['eleve'][$i]['regime']), 0, 2, '');
                        } else {
                            $pdf->Cell(90, 4, regime($tab_bull['eleve'][$i]['regime']) . "; " . $rdbt, 0, 2, '');
                        }
                    } else {
                        $pdf->Cell(90, 4, $rdbt, 0, 2, '');
                    }
                }
            } else {
                if ($tab_modele_pdf["affiche_doublement"][$classe_id] === '1') {
                    //if($tab_bull['eleve'][$i]['doublant']!="") {
                    if ($tab_bull['eleve'][$i]['doublant'] == "R") {
                        //$pdf->Cell(90,4.5, $doublement[$i],0,2,'');
                        //$rdbt=" ; redoublant";
                        $rdbt = "redoublant";
                        if ($tab_bull['eleve'][$i]['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_bull['eleve'][$i]['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_bull['eleve'][$i]['no_gep'] == '') {
                        $passe_a_la_ligne = 1;
                    }
                    $pdf->Cell(45, 4.5, unhtmlentities($tab_bull['eleve'][$i]['classe']), 0, $passe_a_la_ligne, '');
                }
            }
            // affiche l'INE de l'élève
            if ($tab_modele_pdf["affiche_ine"][$classe_id] === '1') {
                if ($tab_bull['eleve'][$i]['no_gep'] != '') {
                    $pdf->Cell(45, 4.5, 'INE: ' . $tab_bull['eleve'][$i]['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_bull['eleve'][$i]['etab_id']) and !empty($tab_bull['eleve'][$i]['etab_id']) ) {
            if ($tab_modele_pdf["affiche_etab_origine"][$classe_id] === '1' && isset($tab_bull['eleve'][$i]['etab_id']) && !empty($tab_bull['eleve'][$i]['etab_id']) && my_strtolower($tab_bull['eleve'][$i]['etab_id']) != my_strtolower($RneEtablissement)) {
                $pdf->SetX($X_eleve_2);
                $hauteur_caractere_etaborigine = '10';
                $pdf->SetFont('DejaVu', '', $hauteur_caractere_etaborigine);
                $chaine_etab_origine = 'Etab. Origine : ' . $tab_bull['eleve'][$i]['etab_niveau_nom'] . " " . $tab_bull['eleve'][$i]['etab_nom'] . " (" . $tab_bull['eleve'][$i]['etab_ville'] . ")";
                //$chaine_etab_origine='Etab. Origine : '.$tab_bull['eleve'][$i]['etab_niveau_nom']." ".$tab_bull['eleve'][$i]['etab_type'].." ".$tab_bull['eleve'][$i]['etab_nom']." (".$tab_bull['eleve'][$i]['etab_ville'].")";
                $val = $pdf->GetStringWidth($chaine_etab_origine);
                $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($chaine_etab_origine);
                    } else {
                        $grandeur_texte = 'ok';
                    }
                }
                $grandeur_texte = 'test';
                $pdf->Cell(90, 4, $chaine_etab_origine, 0, 2);
                $pdf->SetFont('DejaVu', '', 10);
            }
        }
        // fin du bloc affichage information sur l'élèves
        // ============= FIN BLOC ELEVE ==========================
        //=========================================
        // ============= DEBUT BLOC CLASSE/PERIODE/DATATION ==========================
        // 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');
            $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, $tab_bull['bull_prefixe_periode'] . unhtmlentities($tab_bull['nom_periode']), 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);
        }
        // ============= FIN BLOC CLASSE/PERIODE/DATATION ==========================
        //=========================================
        // ============= DEBUT BLOC NOTES ET APPRECIATIONS ==========================
        // Bloc notes et appréciations
        // 20130927
        if (!isset($tab_modele_pdf["cell_ajustee_texte_matiere_ratio_min_max"][$classe_id]) || !is_numeric($tab_modele_pdf["cell_ajustee_texte_matiere_ratio_min_max"][$classe_id]) || $tab_modele_pdf["cell_ajustee_texte_matiere_ratio_min_max"][$classe_id] <= 0) {
            $tab_modele_pdf["cell_ajustee_texte_matiere_ratio_min_max"][$classe_id] = 3;
        }
        //nombre de matieres à afficher
        //$nb_matiere = $info_bulletin[$ident_eleve_aff][$id_periode]['nb_matiere'];
        $nb_matiere = 0;
        //$fich=fopen("/tmp/infos_matieres_eleve.txt","a+");
        //fwrite($fich,"\$tab_bull['eleve'][$i]['nom']=".$tab_bull['eleve'][$i]['nom']."\n");
        for ($j = 0; $j < count($tab_bull['groupe']); $j++) {
            if (isset($tab_bull['note'][$j][$i])) {
                // Si l'élève suit l'option, sa note est affectée (éventuellement vide)
                //fwrite($fich,"\$tab_bull['groupe'][$j]['matiere']['matiere']=".$tab_bull['groupe'][$j]['matiere']['matiere']." ");
                //fwrite($fich,"\$tab_bull['note'][$j][$i]=".$tab_bull['note'][$j][$i]."\n");
                $nb_matiere++;
                // Si les catégories doivent être affichées, il faut réordonner les matières pour ne pas avoir:
                //     LIT
                //     SCI
                //     AUT
                //     LIT à nouveau
                // Sinon, les calculs de hauteur sont faussés et ça ne permet pas d'avoir des ordres très différents avec et sans catégories
                // Il vaudrait mieux refaire ce tri au départ, avant d'être dans les boucles élèves
            }
        }
        if (isset($tab_bull['eleve'][$i]['aid_b'])) {
            $nb_matiere += count($tab_bull['eleve'][$i]['aid_b']);
        }
        if (isset($tab_bull['eleve'][$i]['aid_e'])) {
            $nb_matiere += count($tab_bull['eleve'][$i]['aid_e']);
        }
        //fclose($fich);
        /*
        //++++++++++++++++
        // Pour debug:
        $pdf->SetXY(100, 25);
        $pdf->SetFont('DejaVu','',10);
        $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], 8, "nb_matiere=$nb_matiere",1,0,'C');
        //++++++++++++++++
        */
        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];
            }
            // Pour forcer la valeur à tester (lors de l'ajout d'un mode):
            //$tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id]='7';
            // 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';
            }
            // appreciation | eleve | rang | niveau | min | classe | max |
            //if ( $ordre_entete_model_bulletin[$classe_id] === '6' ) {
            if ($tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] === '7') {
                $ordre_moyenne[0] = 'appreciation';
                $ordre_moyenne[1] = 'eleve';
                $ordre_moyenne[2] = 'niveau';
                $ordre_moyenne[3] = 'rang';
                $ordre_moyenne[4] = 'min';
                $ordre_moyenne[5] = 'classe';
                $ordre_moyenne[6] = 'max';
            }
            $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' and $tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] != '7') {
                    $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' )  ) )
                if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 && ($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' or $tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] === '7') 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' ) {
                if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 && ($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' ) {
                if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 && ($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' ) {
                if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 && ($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', '', 8);
                // 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];
                }
                /*
                $f=fopen("/tmp/largeurs_bull.txt", "a+");
                fwrite($f, "\n");
                fclose($f);
                */
                //appreciation
                $hauteur_caractere = '10';
                $pdf->SetFont('DejaVu', '', $hauteur_caractere);
                if ($tab_modele_pdf["active_appreciation"][$classe_id] === '1' and $ordre_moyenne[$cpt_ordre] === 'appreciation') {
                    $X_col_app = $tab_modele_pdf["X_note_app"][$classe_id] + $largeur_utilise;
                    $pdf->SetXY($X_col_app, $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 ($tab_modele_pdf["active_rang"][$classe_id] === '1' and $ordre_moyenne[$cpt_ordre_sous] === 'rang') {
                                $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_rang"][$classe_id];
                            }
                            if ($tab_modele_pdf["active_graphique_niveau"][$classe_id] === '1' and $ordre_moyenne[$cpt_ordre_sous] === 'niveau') {
                                $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_niveau"][$classe_id];
                            }
                            if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 and $tab_modele_pdf["active_moyenne_min"][$classe_id] === '1' and $tab_modele_pdf["active_moyenne"][$classe_id] === '1' and $ordre_moyenne[$cpt_ordre_sous] === 'min') {
                                $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                            }
                            if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 and $tab_modele_pdf["active_moyenne_classe"][$classe_id] === '1' and $tab_modele_pdf["active_moyenne"][$classe_id] === '1' and $ordre_moyenne[$cpt_ordre_sous] === 'classe') {
                                $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                            }
                            if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 and $tab_modele_pdf["active_moyenne_max"][$classe_id] === '1' and $tab_modele_pdf["active_moyenne"][$classe_id] === '1' and $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
            //===============================================
            //emplacement des blocs matière et note et appréciation
            //si catégorie activé il faut compter le nombre de catégories
            $nb_categories_select = 0;
            //$categorie_passe_for='';
            if ($tab_modele_pdf["active_regroupement_cote"][$classe_id] === '1' or $tab_modele_pdf["active_entete_regroupement"][$classe_id] === '1') {
                /* A CONVERTIR AVEC $tab_bull
                			for($x=0;$x<$nb_matiere;$x++) {
                				if($matiere[$ident_eleve_aff][$id_periode][$x]['categorie']!=$categorie_passe_for) {
                					$nb_categories_select=$nb_categories_select+1;
                				}
                				$categorie_passe_for=$matiere[$ident_eleve_aff][$id_periode][$x]['categorie'];
                			}
                			*/
                //$nb_categories_select=count($tab_bull['cat_id']);
                $nb_categories_select = count(array_count_values($tab_bull['cat_id']));
            }
            fich_debug_bull("======================\n");
            fich_debug_bull("Elève " . $tab_bull['eleve'][$i]['login'] . "\n");
            fich_debug_bull("\$nb_categories_select={$nb_categories_select}\n");
            //$nb_matiere=count($tab_bull['eleve'][$i][]);
            /*
            $nb_matiere=0;
            for($j=0;$j<count($tab_bull['groupe']);$j++) {
            	if(isset($tab_bull['note'][$j][$i])) {
            		// Si l'élève suit l'option, sa note est affectée (éventuellement vide)
            		$nb_matiere++;
            	}
            }
            */
            $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érale sont activées alors on les ajoute à ce qu'il faudra soustraire au cadre global matiere
                $hauteur_toute_entete = $hauteur_entete + $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id];
                if ($affiche_deux_moy_gen == 1) {
                    $hauteur_toute_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;
            fich_debug_bull("Avant les AID_B: \$Y_decal={$Y_decal}\n");
            //======================================================
            // DEBUT DES AID AFFICHéS AVANT LES MATIERES
            if (isset($tab_bull['eleve'][$i]['aid_b'])) {
                //echo "count(\$tab_bull['eleve'][$i]['aid_b']=".count($tab_bull['eleve'][$i]['aid_b'])."<br />";
                for ($m = 0; $m < count($tab_bull['eleve'][$i]['aid_b']); $m++) {
                    $pdf->SetXY($X_bloc_matiere, $Y_decal);
                    // Si c'est une matière suivie par l'élève
                    //if(isset($tab_bull['eleve'][$i]['note'][$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['eleve'][$i]['aid_b'][$m]['nom_complet'])) {
                        $info_nom_matiere = $tab_bull['eleve'][$i]['aid_b'][$m]['nom_complet'];
                    } else {
                        $info_nom_matiere = $tab_bull['eleve'][$i]['aid_b'][$m]['nom'];
                    }
                    // 20130927 : cell_ajustee() ou pas sur le nom de matière/enseignement
                    if (isset($tab_modele_pdf["cell_ajustee_texte_matiere"][$classe_id]) && $tab_modele_pdf["cell_ajustee_texte_matiere"][$classe_id] == 1) {
                        // Encadrement
                        $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_entre_matier, "", 'LRBT', 1, 'L');
                        // cell_ajustee() ne centre pas verticalement le texte.
                        // On met un décalage pour ne pas coller le texte à la bordure
                        $Y_decal_cell_ajustee = 1;
                        // On repositionne et on inscrit le nom de matière sur la moitié de la hauteur de la cellule
                        $pdf->SetXY($X_bloc_matiere, $Y_decal + $Y_decal_cell_ajustee);
                        $texte = $info_nom_matiere;
                        $taille_max_police = $hauteur_caractere_matiere;
                        $taille_min_police = ceil($taille_max_police / $tab_modele_pdf["cell_ajustee_texte_matiere_ratio_min_max"][$classe_id]);
                        $largeur_dispo = $tab_modele_pdf["largeur_matiere"][$classe_id] - 2;
                        $h_cell = $espace_entre_matier / 2 - $Y_decal_cell_ajustee;
                        cell_ajustee("<b>" . $texte . "</b>", $pdf->GetX(), $pdf->GetY(), $largeur_dispo, $h_cell, $taille_max_police, $taille_min_police, '');
                    } else {
                        $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');
                    }
                    // On note l'ordonnée pour le nom des professeurs
                    $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_bull['eleve'][$i]['aid_b'][$m]['aid_prof_resp_login'][0])) {
                        $nb_prof_matiere = count($tab_bull['eleve'][$i]['aid_b'][$m]['aid_prof_resp_login']);
                        $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_bull['eleve'][$i]['aid_b'][$m]['aid_prof_resp_login'][$nb_pass_count];
                            $text_prof = affiche_utilisateur($tmp_login_prof, $tab_bull['eleve'][$i]['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_bull['eleve'][$i]['aid_b'][$m]['aid_prof_resp_login'][$nb_pass_count + 1])) {
                                $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_matiere_prof, $text_prof, 'LRB', 1, 'L');
                            }
                            if (!empty($tab_bull['eleve'][$i]['aid_b'][$m]['aid_prof_resp_login'][$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);
                        //$pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $espace_entre_matier, $tab_bull['eleve'][$i]['coef_eleve'][$i][$m],1,0,'C');
                        $pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $espace_entre_matier, '', 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_bull['eleve'][$i]['coef_eleve'][$i][$m];
                    //}
                    // 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['eleve'][$i]['nbct'][$m][$i] . "/" . $tab_bull['eleve'][$i]['groupe'][$m]['nbct'];
                        $valeur = '';
                        $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';
                            //20090908 if(empty($active_coef_sousmoyene)) { $active_coef_sousmoyene = ''; }
                            //if($active_coef_sousmoyene==='1') { $nb_sousaffichage = $nb_sousaffichage + 1; }
                            if ($tab_modele_pdf["active_coef_sousmoyene"][$classe_id] === '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_bull['eleve'][$i]['aid_b'][$m]['aid_note'] == "-") {
                                $valeur = "-";
                            } elseif ($tab_bull['eleve'][$i]['aid_b'][$m]['aid_statut'] != "") {
                                if ($tab_bull['eleve'][$i]['aid_b'][$m]['aid_statut'] == "other") {
                                    $valeur = "-";
                                } else {
                                    $valeur = $tab_bull['eleve'][$i]['aid_b'][$m]['aid_statut'];
                                }
                            } else {
                                $valeur = present_nombre($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note'], $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, $valeur, 1, 2, 'C', $tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                            $valeur = "";
                            if ($tab_modele_pdf["active_coef_sousmoyene"][$classe_id] === '1') {
                                $pdf->SetFont('DejaVu', 'I', 7);
                                //$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier/$nb_sousaffichage, 'coef. '.$tab_bull['eleve'][$i]['coef_eleve'][$i][$m],'LR',2,'C',$tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                                $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier / $nb_sousaffichage, '', '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['eleve'][$i]['moy_classe_grp'][$m]=="-") {
                                    if ($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_moyenne'] == "-" || $tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_moyenne'] == "") {
                                        $valeur = "-";
                                    } else {
                                        $valeur = present_nombre($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_moyenne'], $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['eleve'][$i]['moy_min_classe_grp'][$m]=="-") {
                                    if ($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_min'] == "-" || $tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_min'] == "") {
                                        $valeur = "-";
                                    } else {
                                        $valeur = present_nombre($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_min'], $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['eleve'][$i]['moy_max_classe_grp'][$m]=="-") {
                                    if ($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_max'] == "-" || $tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_max'] == "") {
                                        $valeur = "-";
                                    } else {
                                        $valeur = present_nombre($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_max'], $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['eleve'][$i]['nbct'][$m][$i]!= 0 ) {
                                	$valeur1 = $tab_bull['eleve'][$i]['nbct'][$m][$i].' note';
                                	if($tab_bull['eleve'][$i]['nbct'][$m][$i]>1){$valeur1.='s';}
                                	$valeur2 = 'sur '.$tab_bull['eleve'][$i]['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' ) {
                        if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 && ($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['eleve'][$i]['moy_classe_grp'][$m]=="-") {
                            if ($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_moyenne'] == "-" || $tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_moyenne'] == "") {
                                $valeur = "-";
                            } else {
                                $valeur = present_nombre($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_moyenne'], $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');
                            $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' ) {
                        if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 && ($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['eleve'][$i]['moy_min_classe_grp'][$m]=="-") {
                            if ($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_min'] == "-" || $tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_min'] == "") {
                                $valeur = "-";
                            } else {
                                $valeur = present_nombre($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_min'], $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');
                            $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' ) {
                        if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 && ($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['eleve'][$i]['moy_max_classe_grp'][$m]== "-") {
                            if ($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_max'] == "-" || $tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_max'] == "") {
                                $valeur = "-";
                            } else {
                                $valeur = present_nombre($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_max'], $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');
                            $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['eleve'][$i]['rang'][$i][$m]))&&(isset($tab_bull['eleve'][$i]['groupe'][$m]['effectif']))) {
                            //$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $espace_entre_matier, $tab_bull['eleve'][$i]['rang'][$i][$m].'/'.$tab_bull['eleve'][$i]['groupe'][$m]['effectif'],1,0,'C');
                            //if((isset($tab_bull['eleve'][$i]['rang'][$m][$i]))&&(isset($tab_bull['eleve'][$i]['groupe'][$m]['effectif']))) {
                            //	$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $espace_entre_matier, $tab_bull['eleve'][$i]['rang'][$m][$i].'/'.$tab_bull['eleve'][$i]['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['eleve'][$i]['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['eleve'][$i]['aid_b'][$m]['aid_note'] != "") {
                                /*
                                if ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<5) { $place_eleve=5;}
                                if (($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=5) and ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<8))  { $place_eleve=4;}
                                if (($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=8) and ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<10)) { $place_eleve=3;}
                                if (($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=10) and ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<12)) {$place_eleve=2;}
                                if (($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=12) and ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<15)) { $place_eleve=1;}
                                if ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=15) { $place_eleve=0;}
                                */
                                if (isset($tab_bull['eleve'][$i]['aid_b'][$m]['place_eleve'])) {
                                    //$place_eleve=$tab_bull['eleve'][$i]['aid_b'][$m]['place_eleve'];
                                    $place_eleve = $tab_bull['eleve'][$i]['aid_b'][$m]['place_eleve'] - 1;
                                }
                            }
                            $data_grap = array();
                            if (isset($tab_bull['eleve'][$i]['aid_b'][$m]['quartile1_classe'])) {
                                $data_grap[0] = $tab_bull['eleve'][$i]['aid_b'][$m]['quartile1_classe'];
                            }
                            if (isset($tab_bull['eleve'][$i]['aid_b'][$m]['quartile2_classe'])) {
                                $data_grap[1] = $tab_bull['eleve'][$i]['aid_b'][$m]['quartile2_classe'];
                            }
                            if (isset($tab_bull['eleve'][$i]['aid_b'][$m]['quartile3_classe'])) {
                                $data_grap[2] = $tab_bull['eleve'][$i]['aid_b'][$m]['quartile3_classe'];
                            }
                            if (isset($tab_bull['eleve'][$i]['aid_b'][$m]['quartile4_classe'])) {
                                $data_grap[3] = $tab_bull['eleve'][$i]['aid_b'][$m]['quartile4_classe'];
                            }
                            if (isset($tab_bull['eleve'][$i]['aid_b'][$m]['quartile5_classe'])) {
                                $data_grap[4] = $tab_bull['eleve'][$i]['aid_b'][$m]['quartile5_classe'];
                            }
                            if (isset($tab_bull['eleve'][$i]['aid_b'][$m]['quartile6_classe'])) {
                                $data_grap[5] = $tab_bull['eleve'][$i]['aid_b'][$m]['quartile6_classe'];
                            }
                            //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['eleve'][$i]['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['eleve'][$i]['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['eleve'][$i]['groupe'][$m][$i]['cn_nom'][$n]) )
                            	{
                            		$pdf->SetFont('DejaVu','',8);
                            		$largeur_texte_sousmatiere = $pdf->GetStringWidth($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom'][$n].': '.$tab_bull['eleve'][$i]['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['eleve'][$i]['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['eleve'][$i]['groupe'][$m][$i]['cn_nom']), ($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom'][$n].': '.$tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_note'][$n]),1,0,'L');
                            		$Y_sous_matiere = $Y_sous_matiere+$espace_entre_matier/count($tab_bull['eleve'][$i]['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_bull['eleve'][$i]['aid_b'][$m]['aid_appreciation']);
                            $app_aff = "";
                            if ($tab_bull['eleve'][$i]['aid_b'][$m]['message'] != '') {
                                $app_aff .= $tab_bull['eleve'][$i]['aid_b'][$m]['message'];
                            }
                            //if($app_aff!='') {$app_aff.=" ";}
                            if ($tab_bull['eleve'][$i]['aid_b'][$m]['display_nom'] == 'y' && $tab_bull['eleve'][$i]['aid_b'][$m]['aid_nom'] != '') {
                                if ($app_aff != '') {
                                    $app_aff .= " ";
                                }
                                $app_aff .= $tab_bull['eleve'][$i]['aid_b'][$m]['aid_nom'];
                            }
                            if ($app_aff != '') {
                                $app_aff .= "\n";
                            }
                            $app_aff .= trim($tab_bull['eleve'][$i]['aid_b'][$m]['aid_appreciation']);
                            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="Bla bla\nbli ".$app_aff;
                                $texte = $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;
                                if (getSettingValue('suppr_balises_app_prof') == 'y') {
                                    $texte = preg_replace('/<(.*)>/U', '', $texte);
                                }
                                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;
                    //}
                }
            }
            // FIN DES AID AFFICHéS AVANT LES MATIERES
            //======================================================
            fich_debug_bull("Apres les AID_B: \$Y_decal={$Y_decal}\n");
            // 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_bull['groupe']); $m++) {
                $pdf->SetXY($X_bloc_matiere, $Y_decal);
                fich_debug_bull("\n");
                fich_debug_bull("Catégorie précédente: \$categorie_passe={$categorie_passe}\n");
                //fich_debug_bull("Catégorie courante :  \$tab_bull['nom_cat_complet'][$m]=".$tab_bull['nom_cat_complet'][$m]."\n");
                if (isset($tab_bull['nom_cat_complet'][$m])) {
                    fich_debug_bull("Catégorie courante :  \$tab_bull['nom_cat_complet'][{$m}]=" . $tab_bull['nom_cat_complet'][$m] . "\n");
                } else {
                    fich_debug_bull("Catégorie courante :  \$tab_bull['nom_cat_complet'][{$m}] non affectée.\n");
                }
                fich_debug_bull("\$tab_bull['groupe'][{$m}]['matiere']['matiere']=" . $tab_bull['groupe'][$m]['matiere']['matiere'] . "\n");
                fich_debug_bull("\$X_bloc_matiere={$X_bloc_matiere}\n");
                fich_debug_bull("\$Y_decal={$Y_decal}\n");
                // si on affiche les catégories
                if ($tab_modele_pdf["active_entete_regroupement"][$classe_id] === '1') {
                    //si on affiche les moyennes des catégories
                    //if($matiere[$ident_eleve_aff][$id_periode][$m]['categorie']!=$categorie_passe)
                    //if($tab_bull['cat_id'][$m]!=$categorie_passe)
                    // Si on change de catégorie
                    // 20141122 : A FAIRE : Il faudrait faire un premier tour des catégories avant pour voir celles qui concernent l'élève
                    if ($tab_bull['nom_cat_complet'][$m] != $categorie_passe) {
                        // Nom de la catégorie dans la première cellule (à l'horizontale)
                        $hauteur_caractere_catego = '10';
                        if ($tab_modele_pdf["taille_texte_categorie"][$classe_id] != '' and $tab_modele_pdf["taille_texte_categorie"][$classe_id] != '0') {
                            $hauteur_caractere_catego = $tab_modele_pdf["taille_texte_categorie"][$classe_id];
                        } else {
                            $hauteur_caractere_catego = '10';
                        }
                        $pdf->SetFont('DejaVu', '', $hauteur_caractere_catego);
                        $tt_catego = unhtmlentities($tab_bull['nom_cat_complet'][$m]);
                        $val = $pdf->GetStringWidth($tt_catego);
                        $taille_texte = $tab_modele_pdf["largeur_matiere"][$classe_id];
                        $grandeur_texte = 'test';
                        while ($grandeur_texte != 'ok') {
                            if ($taille_texte < $val) {
                                $hauteur_caractere_catego = $hauteur_caractere_catego - 0.3;
                                $pdf->SetFont('DejaVu', '', $hauteur_caractere_catego);
                                $val = $pdf->GetStringWidth($tt_catego);
                            } else {
                                $grandeur_texte = 'ok';
                            }
                        }
                        $grandeur_texte = 'test';
                        $pdf->SetFillColor($tab_modele_pdf["couleur_categorie_entete1"][$classe_id], $tab_modele_pdf["couleur_categorie_entete2"][$classe_id], $tab_modele_pdf["couleur_categorie_entete3"][$classe_id]);
                        fich_debug_bull("On écrit {$tt_catego} à \$Y_decal={$Y_decal}\n");
                        $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], unhtmlentities($tt_catego), 'TLB', 0, 'L', $tab_modele_pdf["couleur_categorie_entete"][$classe_id]);
                        $largeur_utilise = $tab_modele_pdf["largeur_matiere"][$classe_id];
                        // coefficient matière (affiché sans bordure gauche/droite)
                        if ($tab_modele_pdf["active_coef_moyenne"][$classe_id] === '1') {
                            $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_decal);
                            $pdf->SetFont('DejaVu', '', 10);
                            $pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '', 'T', 0, 'C', $tab_modele_pdf["couleur_categorie_entete"][$classe_id]);
                            $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
                        }
                        // nombre de notes (affiché sans bordure gauche/droite)
                        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);
                            $pdf->SetFont('DejaVu', '', 10);
                            $pdf->Cell($tab_modele_pdf["largeur_nombre_note"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '', 'T', 0, 'C', $tab_modele_pdf["couleur_categorie_entete"][$classe_id]);
                            $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_nombre_note"][$classe_id];
                        }
                        $pdf->SetFillColor(0, 0, 0);
                        if ($tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] == '7') {
                            $largeur_utilise += $largeur_appreciation;
                        }
                        // les moyennes eleve, classe, min, max par catégorie
                        $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_decal);
                        $cpt_ordre = 0;
                        $chapeau_moyenne = 'non';
                        while (!empty($ordre_moyenne[$cpt_ordre])) {
                            // Moyenne de l'élève dans la catégorie
                            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);
                                if ($tab_modele_pdf["active_moyenne_regroupement"][$classe_id] === '1') {
                                    //$categorie_passage=$matiere[$ident_eleve_aff][$id_periode][$m]['categorie'];
                                    $categorie_passage = $tab_bull['nom_cat_complet'][$m];
                                    //if($matiere[$ident_eleve_aff][$id_periode][$m]['affiche_moyenne']==='1')
                                    if (isset($tab_bull['moy_cat_eleve'][$i][$tab_bull['cat_id'][$m]])) {
                                        // On va afficher la moyenne de l'élève pour la catégorie
                                        if ($tab_bull['moy_cat_eleve'][$i][$tab_bull['cat_id'][$m]] == "" || $tab_bull['moy_cat_eleve'][$i][$tab_bull['cat_id'][$m]] == "-") {
                                            $valeur = "-";
                                        } else {
                                            //$calcule_moyenne_eleve_categorie[$categorie_passage]=$matiere[$ident_eleve_aff][$id_periode][$categorie_passage]['moy_eleve']/$matiere[$ident_eleve_aff][$id_periode][$categorie_passage]['coef_tt_catego'];
                                            $valeur = present_nombre(preg_replace("/,/", ".", $tab_bull['moy_cat_eleve'][$i][$tab_bull['cat_id'][$m]]), $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_bull['moy_cat_eleve'][$i][$tab_bull['cat_id'][$m]];
                                        }
                                        $pdf->SetFont('DejaVu', 'B', 8);
                                        $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], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], $valeur, 1, 0, 'C', $tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                                        $pdf->SetFillColor(0, 0, 0);
                                        $valeur = "";
                                    } else {
                                        $pdf->SetFillColor(255, 255, 255);
                                        $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '', 'TL', 0, 'C', $tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                                    }
                                } else {
                                    $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '', 'T', 0, 'C');
                                }
                                $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                            }
                            // Moyenne de la classe dans la catégorie
                            //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' ) {
                            if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 && ($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_moyenne_classe, $Y_decal);
                                $pdf->SetFillColor($tab_modele_pdf["couleur_categorie_entete1"][$classe_id], $tab_modele_pdf["couleur_categorie_entete2"][$classe_id], $tab_modele_pdf["couleur_categorie_entete3"][$classe_id]);
                                if ($tab_modele_pdf["active_moyenne_regroupement"][$classe_id] === '1') {
                                    //$categorie_passage=$matiere[$ident_eleve_aff][$id_periode][$m]['categorie'];
                                    $categorie_passage = $tab_bull['nom_cat_complet'][$m];
                                    //if($matiere[$ident_eleve_aff][$id_periode][$m]['affiche_moyenne']==='1')
                                    if (isset($tab_bull['moy_cat_classe'][$i][$tab_bull['cat_id'][$m]])) {
                                        // On va afficher la moyenne de la classe pour la catégorie
                                        $pdf->SetFont('DejaVu', '', 8);
                                        // 20141122
                                        if ($tab_bull['moy_cat_classe'][$i][$tab_bull['cat_id'][$m]] == "" || $tab_bull['moy_cat_classe'][$i][$tab_bull['cat_id'][$m]] == "-") {
                                            $valeur = "-";
                                        } else {
                                            $valeur = present_nombre($tab_bull['moy_cat_classe'][$i][$tab_bull['cat_id'][$m]], $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], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], $valeur, 'TLR', 0, 'C', $tab_modele_pdf["couleur_categorie_entete"][$classe_id]);
                                    } else {
                                        $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '', 'T', 0, 'C', $tab_modele_pdf["couleur_categorie_entete"][$classe_id]);
                                    }
                                } else {
                                    $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '', 'T', 0, 'C', $tab_modele_pdf["couleur_categorie_entete"][$classe_id]);
                                }
                                $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                            }
                            $pdf->SetFont('DejaVu', '', 10);
                            // Moyenne minimale de la classe dans la catégorie
                            if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 && ($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_min_classe, $Y_decal);
                                $pdf->SetFillColor($tab_modele_pdf["couleur_categorie_entete1"][$classe_id], $tab_modele_pdf["couleur_categorie_entete2"][$classe_id], $tab_modele_pdf["couleur_categorie_entete3"][$classe_id]);
                                if ($tab_modele_pdf["active_moyenne_regroupement"][$classe_id] === '1') {
                                    $categorie_passage = $tab_bull['nom_cat_complet'][$m];
                                    if (isset($tab_bull['moy_cat_min'][$i][$tab_bull['cat_id'][$m]])) {
                                        // On va afficher la moyenne min de la classe pour la catégorie
                                        $pdf->SetFont('DejaVu', '', 8);
                                        if ($tab_bull['moy_cat_min'][$i][$tab_bull['cat_id'][$m]] == "" || $tab_bull['moy_cat_min'][$i][$tab_bull['cat_id'][$m]] == "-") {
                                            $valeur = "-";
                                        } else {
                                            $calcule_moyenne_classe_categorie[$categorie_passage] = preg_replace("/,/", ".", $tab_bull['moy_cat_min'][$i][$tab_bull['cat_id'][$m]]);
                                            $valeur = present_nombre($calcule_moyenne_classe_categorie[$categorie_passage], $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], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], $valeur, 'TLR', 0, 'C', $tab_modele_pdf["couleur_categorie_entete"][$classe_id]);
                                    } else {
                                        $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '', 'T', 0, 'C', $tab_modele_pdf["couleur_categorie_entete"][$classe_id]);
                                    }
                                } else {
                                    $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '', 'T', 0, 'C', $tab_modele_pdf["couleur_categorie_entete"][$classe_id]);
                                }
                                $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                            }
                            // Moyenne maximale de la classe dans la catégorie
                            if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 && ($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_max_classe, $Y_decal);
                                $pdf->SetFillColor($tab_modele_pdf["couleur_categorie_entete1"][$classe_id], $tab_modele_pdf["couleur_categorie_entete2"][$classe_id], $tab_modele_pdf["couleur_categorie_entete3"][$classe_id]);
                                if ($tab_modele_pdf["active_moyenne_regroupement"][$classe_id] === '1') {
                                    $categorie_passage = $tab_bull['nom_cat_complet'][$m];
                                    if (isset($tab_bull['moy_cat_max'][$i][$tab_bull['cat_id'][$m]])) {
                                        // On va afficher la moyenne max de la classe pour la catégorie
                                        $pdf->SetFont('DejaVu', '', 8);
                                        if ($tab_bull['moy_cat_max'][$i][$tab_bull['cat_id'][$m]] == "" || $tab_bull['moy_cat_max'][$i][$tab_bull['cat_id'][$m]] == "-") {
                                            $valeur = "-";
                                        } else {
                                            $calcule_moyenne_classe_categorie[$categorie_passage] = preg_replace("/,/", ".", $tab_bull['moy_cat_max'][$i][$tab_bull['cat_id'][$m]]);
                                            $valeur = present_nombre($calcule_moyenne_classe_categorie[$categorie_passage], $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], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], $valeur, 'TLR', 0, 'C', $tab_modele_pdf["couleur_categorie_entete"][$classe_id]);
                                    } else {
                                        $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '', 'T', 0, 'C', $tab_modele_pdf["couleur_categorie_entete"][$classe_id]);
                                    }
                                } else {
                                    $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '', 'T', 0, 'C', $tab_modele_pdf["couleur_categorie_entete"][$classe_id]);
                                }
                                $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
                            }
                            $cpt_ordre = $cpt_ordre + 1;
                        }
                        //$largeur_utilise = 0;
                        // fin de boucle d'ordre
                        // Rang de l'élève
                        if ($tab_modele_pdf["active_rang"][$classe_id] === '1') {
                            $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_decal);
                            $pdf->SetFont('DejaVu', '', 10);
                            $pdf->SetFillColor($tab_modele_pdf["couleur_categorie_entete1"][$classe_id], $tab_modele_pdf["couleur_categorie_entete2"][$classe_id], $tab_modele_pdf["couleur_categorie_entete3"][$classe_id]);
                            //$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '','T',0,'C');
                            $pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '', 'T', 0, 'C', $tab_modele_pdf["couleur_categorie_entete"][$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') {
                            $pdf->SetXY($X_note_moy_app + $largeur_utilise, $Y_decal);
                            $pdf->SetFillColor($tab_modele_pdf["couleur_categorie_entete1"][$classe_id], $tab_modele_pdf["couleur_categorie_entete2"][$classe_id], $tab_modele_pdf["couleur_categorie_entete3"][$classe_id]);
                            //$pdf->Cell($tab_modele_pdf["largeur_niveau"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '','T',0,'C');
                            $pdf->Cell($tab_modele_pdf["largeur_niveau"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '', 'T', 0, 'C', $tab_modele_pdf["couleur_categorie_entete"][$classe_id]);
                            $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_niveau"][$classe_id];
                        }
                        // Appreciation
                        if ($tab_modele_pdf["active_appreciation"][$classe_id] === '1') {
                            // Problème de coordonnées si on met l'appréciation en première position...
                            //$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal);
                            $pdf->SetXY($X_col_app, $Y_decal);
                            $pdf->SetFillColor($tab_modele_pdf["couleur_categorie_entete1"][$classe_id], $tab_modele_pdf["couleur_categorie_entete2"][$classe_id], $tab_modele_pdf["couleur_categorie_entete3"][$classe_id]);
                            $pdf->Cell($largeur_appreciation, $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '', 'TB', 0, 'C', $tab_modele_pdf["couleur_categorie_entete"][$classe_id]);
                            //$pdf->Cell($largeur_appreciation, $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '','TB',0,'C');
                            $largeur_utilise = 0;
                        }
                        $Y_decal = $Y_decal + 5;
                        $pdf->SetFillColor(0, 0, 0);
                    }
                }
                fich_debug_bull("Après les catégories en entête\n");
                fich_debug_bull("\$Y_decal={$Y_decal}\n");
                fich_debug_bull("\$categorie_passe_count={$categorie_passe_count}\n");
                //============================
                // Modif: boireaus 20070828
                if ($tab_modele_pdf["active_regroupement_cote"][$classe_id] === '1' or $tab_modele_pdf["active_entete_regroupement"][$classe_id] === '1') {
                    //if($matiere[$ident_eleve_aff][$id_periode][$m]['categorie']===$categorie_passe) {
                    /*
                    if(isset($tab_bull['note'][$m][$i])) {
                    	if($tab_bull['nom_cat_complet'][$m]===$categorie_passe) {
                    		$categorie_passe_count=$categorie_passe_count+1;
                    	}
                    	else {
                    		$categorie_passe_count=0;
                    	}
                    
                    	//if($matiere[$ident_eleve_aff][$id_periode][$m]['categorie']!=$categorie_passe) {
                    	if($tab_bull['nom_cat_complet'][$m]!=$categorie_passe) {
                    		$categorie_passe_count=$categorie_passe_count+1;
                    	}
                    }
                    */
                    fich_debug_bull("\n");
                    fich_debug_bull("\$tab_bull['nom_cat_complet'][{$m}]=" . $tab_bull['nom_cat_complet'][$m] . "\n");
                    fich_debug_bull("\$categorie_passe={$categorie_passe}\n");
                    if ($tab_bull['nom_cat_complet'][$m] != $categorie_passe) {
                        $categorie_passe_count = 0;
                        $Y_categ_cote = $Y_decal;
                    }
                    /*
                    else {
                    	$categorie_passe_count++;
                    }
                    if(!isset($tab_bull['note'][$m][$i])) {
                    	$categorie_passe_count--;
                    }
                    */
                    if (isset($tab_bull['note'][$m][$i])) {
                        $categorie_passe_count++;
                    }
                    // fin des moyen par catégorie
                }
                fich_debug_bull("Après un test sur le changement de catégorie\n");
                fich_debug_bull("\$categorie_passe_count={$categorie_passe_count}\n");
                //============================
                // si on affiche les catégories sur le côté
                if (!isset($tab_bull['nom_cat_complet'][$m + 1])) {
                    //$matiere[$ident_eleve_aff][$id_periode][$m+1]['categorie']='';
                    $tab_bull['nom_cat_complet'][$m + 1] = '';
                }
                if ($tab_modele_pdf["active_regroupement_cote"][$classe_id] === '1') {
                    // On dessine/écrit la catégorie sur le côté quand la catégorie suivante change
                    if ($tab_bull['nom_cat_complet'][$m] != $tab_bull['nom_cat_complet'][$m + 1] and $categorie_passe != '') {
                        //hauteur du regroupement hauteur des matier * nombre de matier de la catégorie
                        //$hauteur_regroupement=$espace_entre_matier*($categorie_passe_count+1);
                        $hauteur_regroupement = $espace_entre_matier * $categorie_passe_count;
                        fich_debug_bull("\$espace_entre_matier={$espace_entre_matier}\n");
                        fich_debug_bull("\$categorie_passe_count={$categorie_passe_count}\n");
                        fich_debug_bull("\$hauteur_regroupement={$hauteur_regroupement}\n");
                        //placement du cadre
                        //if($nb_eleve_aff===0) { $enplus = 5; }
                        //if($nb_eleve_aff!=0) { $enplus = 0; }
                        //if($compteur_bulletins===0) { $enplus = 5; }
                        //if($compteur_bulletins!=0) { $enplus = 0; }
                        fich_debug_bull("Position du cadre {$categorie_passe}\n");
                        $tmp_val = $Y_decal - $hauteur_regroupement + $espace_entre_matier;
                        fich_debug_bull("\$Y_decal-\$hauteur_regroupement+\$espace_entre_matier=" . $Y_decal . "-" . $hauteur_regroupement . "+" . $espace_entre_matier . "=" . $tmp_val . "\n");
                        //$pdf->SetXY($X_bloc_matiere-5,$Y_decal-$hauteur_regroupement+$espace_entre_matier);
                        $pdf->SetXY($X_bloc_matiere - 5, $Y_categ_cote);
                        $pdf->SetFillColor($tab_modele_pdf["couleur_categorie_cote1"][$classe_id], $tab_modele_pdf["couleur_categorie_cote2"][$classe_id], $tab_modele_pdf["couleur_categorie_cote3"][$classe_id]);
                        if ($tab_modele_pdf["couleur_categorie_cote"][$classe_id] === '1') {
                            $mode_choix_c = '2';
                        } else {
                            $mode_choix_c = '1';
                        }
                        $pdf->drawTextBox("", 5, $hauteur_regroupement, 'C', 'T', $mode_choix_c);
                        //texte à afficher
                        $hauteur_caractere_vertical = '8';
                        if ($tab_modele_pdf["taille_texte_categorie_cote"][$classe_id] != '' and $tab_modele_pdf["taille_texte_categorie_cote"][$classe_id] != '0') {
                            $hauteur_caractere_vertical = $tab_modele_pdf["taille_texte_categorie_cote"][$classe_id];
                        } else {
                            $hauteur_caractere_vertical = '8';
                        }
                        $pdf->SetFont('DejaVu', '', $hauteur_caractere_vertical);
                        $text_s = unhtmlentities($tab_bull['nom_cat_complet'][$m]);
                        //$text_s = $tab_bull['nom_cat_complet'][$m];
                        $longeur_test_s = $pdf->GetStringWidth($text_s);
                        // gestion de la taille du texte vertical
                        $taille_texte = $hauteur_regroupement;
                        $grandeur_texte = 'test';
                        while ($grandeur_texte != 'ok') {
                            if ($taille_texte < $longeur_test_s) {
                                $hauteur_caractere_vertical = $hauteur_caractere_vertical - 0.3;
                                $pdf->SetFont('DejaVu', '', $hauteur_caractere_vertical);
                                $longeur_test_s = $pdf->GetStringWidth($text_s);
                            } else {
                                $grandeur_texte = 'ok';
                            }
                        }
                        //décalage pour centrer le texte
                        $deca = ($hauteur_regroupement - $longeur_test_s) / 2;
                        //place le texte dans le cadre
                        //$placement = $Y_decal+$espace_entre_matier-$deca;
                        $placement = $Y_categ_cote + $hauteur_regroupement - $deca;
                        $pdf->SetFont('DejaVu', '', $hauteur_caractere_vertical);
                        //$pdf->TextWithDirection($X_bloc_matiere-1,$placement,(unhtmlentities($text_s)),'U');
                        $pdf->TextWithDirection($X_bloc_matiere - 1, $placement, $text_s, 'U');
                        $pdf->SetFont('DejaVu', '', 10);
                        $pdf->SetFillColor(0, 0, 0);
                    }
                }
                fich_debug_bull("Après les catégories sur le côté\n");
                fich_debug_bull("\$Y_decal={$Y_decal}\n");
                if ($tab_modele_pdf["active_regroupement_cote"][$classe_id] === '1' or $tab_modele_pdf["active_entete_regroupement"][$classe_id] === '1') {
                    // fin d'affichage catégorie sur le coté
                    $categorie_passe = $tab_bull['nom_cat_complet'][$m];
                    // fin de gestion de catégorie
                }
                //============================
                // Lignes de Matière, Note, Rang,... Appréciation
                fich_debug_bull("Avant isset(\$tab_bull['note'][{$m}][{$i}]: \$Y_decal={$Y_decal}\n");
                $pdf->SetXY($X_bloc_matiere, $Y_decal);
                // Si c'est une matière suivie par l'élève
                if (isset($tab_bull['note'][$m][$i])) {
                    //echo "\$tab_bull['eleve'][$i]['nom']=".$tab_bull['eleve'][$i]['nom']."<br />\n";
                    // 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);
                    if (getSettingValue('bul_rel_nom_matieres') == 'nom_groupe') {
                        $info_nom_matiere = $tab_bull['groupe'][$m]['name'];
                    } elseif (getSettingValue('bul_rel_nom_matieres') == 'description_groupe') {
                        $info_nom_matiere = $tab_bull['groupe'][$m]['description'];
                    } else {
                        // 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'] . ")";
                        }
                    }
                    // 20130927 : cell_ajustee() ou pas sur le nom de matière/enseignement
                    if (isset($tab_modele_pdf["cell_ajustee_texte_matiere"][$classe_id]) && $tab_modele_pdf["cell_ajustee_texte_matiere"][$classe_id] == 1) {
                        // Encadrement
                        $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_entre_matier, "", 'LRBT', 1, 'L');
                        // cell_ajustee() ne centre pas verticalement le texte.
                        // On met un décalage pour ne pas coller le texte à la bordure
                        $Y_decal_cell_ajustee = 1;
                        // On repositionne et on inscrit le nom de matière sur la moitié de la hauteur de la cellule
                        $pdf->SetXY($X_bloc_matiere, $Y_decal + $Y_decal_cell_ajustee);
                        $texte = $info_nom_matiere;
                        $taille_max_police = $hauteur_caractere_matiere;
                        $taille_min_police = ceil($taille_max_police / $tab_modele_pdf["cell_ajustee_texte_matiere_ratio_min_max"][$classe_id]);
                        $largeur_dispo = $tab_modele_pdf["largeur_matiere"][$classe_id] - 2;
                        $h_cell = $espace_entre_matier / 2 - $Y_decal_cell_ajustee;
                        cell_ajustee("<b>" . $texte . "</b>", $pdf->GetX(), $pdf->GetY(), $largeur_dispo, $h_cell, $taille_max_police, $taille_min_police, '');
                    } else {
                        $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';
                        // Encadrement
                        $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_entre_matier, "", 'LRBT', 1, 'L');
                        // On repositionne et on inscrit le nom de matière sur la moitié de la hauteur de la cellule
                        $pdf->SetXY($X_bloc_matiere, $Y_decal);
                        $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_entre_matier / 2, $info_nom_matiere, 'LR', 1, 'L');
                    }
                    // On note l'ordonnée pour le nom des professeurs
                    $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("Le nom de matière est écrit; on est à mi-hauteur de la cellule pour écrire le nom du prof:\n");
                    fich_debug_bull("\$Y_decal={$Y_decal}\n");
                    // nom des professeurs
                    if (isset($tab_bull['groupe'][$m]["profs"]["list"])) {
                        if ($tab_modele_pdf["presentation_proflist"][$classe_id] != "2") {
                            // Présentation en colonne des profs
                            $nb_prof_matiere = count($tab_bull['groupe'][$m]["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) {
                                //$text_prof="";
                                //for($loop_prof_grp=0;$loop_prof_grp<$nb_prof_par_ligne;$loop_prof_grp++) {
                                // calcul de la hauteur du caractère du prof
                                //$tmp_login_prof=$tab_bull['groupe'][$m]["profs"]["list"][$nb_pass_count+$loop_prof_grp];
                                $tmp_login_prof = $tab_bull['groupe'][$m]["profs"]["list"][$nb_pass_count];
                                /*
                                $text_prof=$tab_bull['groupe'][$m]["profs"]["users"]["$tmp_login_prof"]["civilite"];
                                $text_prof.=" ".$tab_bull['groupe'][$m]["profs"]["users"]["$tmp_login_prof"]["nom"];
                                $text_prof.=" ".mb_substr($tab_bull['groupe'][$m]["profs"]["users"]["$tmp_login_prof"]["prenom"],0,1);
                                */
                                //if($loop_prof_grp>0) {$text_prof.=", ";}
                                $text_prof = affiche_utilisateur($tmp_login_prof, $tab_bull['eleve'][$i]['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_bull['groupe'][$m]["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_bull['groupe'][$m]["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;
                            }
                        } else {
                            // Présentation en ligne des profs
                            // On n'a pas forcément le formatage choisi pour la classe...
                            //$text_prof=$tab_bull['groupe'][$m]["profs"]["proflist_string"]."  ";
                            $text_prof = "";
                            for ($loop_prof_grp = 0; $loop_prof_grp < count($tab_bull['groupe'][$m]["profs"]["list"]); $loop_prof_grp++) {
                                $tmp_login_prof = $tab_bull['groupe'][$m]["profs"]["list"][$loop_prof_grp];
                                if ($loop_prof_grp > 0) {
                                    $text_prof .= ", ";
                                }
                                $text_prof .= affiche_utilisateur($tmp_login_prof, $tab_bull['eleve'][$i]['id_classe']);
                            }
                            if ($text_prof != "") {
                                $espace_matiere_prof = $espace_entre_matier / 2;
                                $hauteur_caractere_prof = 8;
                                if ($use_cell_ajustee == "n") {
                                    $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);
                                    $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_matiere_prof, $text_prof, 'LR', 1, 'L');
                                } else {
                                    $texte = $text_prof;
                                    $taille_max_police = $hauteur_caractere_prof;
                                    $taille_min_police = ceil($hauteur_caractere_prof / 3);
                                    $largeur_dispo = $tab_modele_pdf["largeur_matiere"][$classe_id];
                                    $h_cell = $espace_matiere_prof;
                                    $pdf->SetX($X_bloc_matiere);
                                    cell_ajustee($texte, $pdf->GetX(), $pdf->GetY(), $largeur_dispo, $h_cell, $taille_max_police, $taille_min_police, '');
                                }
                            }
                        }
                    }
                    $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);
                        $pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $espace_entre_matier, $tab_bull['coef_eleve'][$i][$m], 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_bull['coef_eleve'][$i][$m];
                    //}
                    // 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->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 ($tab_modele_pdf["moyennes_periodes_precedentes"][$classe_id] == 'y' && isset($tab_bull['login_prec'])) {
                                $nb_sousaffichage += count($tab_bull['login_prec']);
                                // Il faut récupérer le nombre de périodes...
                            }
                            // 20130520
                            if (isset($tab_modele_pdf["moyennes_annee"][$classe_id]) && $tab_modele_pdf["moyennes_annee"][$classe_id] == 'y') {
                                $nb_sousaffichage = $nb_sousaffichage + 1;
                            }
                            if ($tab_modele_pdf["active_coef_sousmoyene"][$classe_id] === '1') {
                                $nb_sousaffichage = $nb_sousaffichage + 1;
                            }
                            //20100615
                            //if((!isset($moyennes_periodes_precedentes))||($moyennes_periodes_precedentes!="y")) {
                            if ($tab_modele_pdf["moyennes_periodes_precedentes"][$classe_id] != 'y') {
                                // On n'affiche pas tout ce qui suit en plus, si on affiche les moyennes de toutes les périodes déjà
                                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;
                                    }
                                }
                            }
                            if ($tab_modele_pdf["moyennes_periodes_precedentes"][$classe_id] != 'y' && $tab_modele_pdf["moyennes_annee"][$classe_id] != 'y') {
                                // On ne va pas afficher les moyennes des périodes précédentes dans la même cellule
                                if ($tab_modele_pdf["evolution_moyenne_periode_precedente"][$classe_id] == 'y') {
                                    $pdf->SetFont('DejaVu', 'B', 8);
                                } else {
                                    $pdf->SetFont('DejaVu', 'B', 10);
                                }
                                $fleche_evolution = "";
                                // On filtre si la moyenne est vide, on affiche seulement un tiret
                                if ($tab_bull['note'][$m][$i] == "-") {
                                    $valeur = "-";
                                } elseif ($tab_bull['statut'][$m][$i] != "") {
                                    $valeur = $tab_bull['statut'][$m][$i];
                                } else {
                                    $valeur = present_nombre($tab_bull['note'][$m][$i], $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]);
                                    //if((isset($evolution_moyenne_periode_precedente))&&($evolution_moyenne_periode_precedente=="y")) {
                                    if ($tab_modele_pdf["evolution_moyenne_periode_precedente"][$classe_id] == 'y' && isset($tab_bull['login_prec'])) {
                                        //$fleche_evolution="";
                                        foreach ($tab_bull['login_prec'] as $key => $value) {
                                            // Il faut récupérer l'id_groupe et l'indice de l'élève... dans les tableaux récupérés de calcul_moy_gen.inc.php
                                            // Tableaux d'indices [$j][$i] (groupe, élève)
                                            $indice_eleve = -1;
                                            for ($loop_l = 0; $loop_l < count($tab_bull['login_prec'][$key]); $loop_l++) {
                                                //echo "\$tab_bull['login_prec'][$key][$loop_l]=".$tab_bull['login_prec'][$key][$loop_l]." et \$tab_bull['eleve'][$i]['login']="******"<br />\n";
                                                if ($tab_bull['login_prec'][$key][$loop_l] == $tab_bull['eleve'][$i]['login']) {
                                                    $indice_eleve = $loop_l;
                                                    break;
                                                }
                                            }
                                            //echo "\$indice_eleve=$indice_eleve<br />\n";
                                            if ($indice_eleve != -1) {
                                                // Recherche du groupe
                                                $indice_grp = -1;
                                                for ($loop_l = 0; $loop_l < count($tab_bull['group_prec'][$key]); $loop_l++) {
                                                    //echo "\$tab_bull['group_prec'][$key][$loop_l]['id']=".$tab_bull['group_prec'][$key][$loop_l]['id']." et \$tab_bull['groupe'][$m]['id']=".$tab_bull['groupe'][$m]['id']."<br />\n";
                                                    if ($tab_bull['group_prec'][$key][$loop_l]['id'] == $tab_bull['groupe'][$m]['id']) {
                                                        $indice_grp = $loop_l;
                                                        break;
                                                    }
                                                }
                                                //echo "\$indice_grp=$indice_grp<br />\n";
                                                if ($indice_grp != -1) {
                                                    if (isset($tab_bull['statut_prec'][$key][$indice_grp][$indice_eleve])) {
                                                        if ($tab_bull['statut_prec'][$key][$indice_grp][$indice_eleve] == "") {
                                                            //echo "\$tab_bull['note'][$m][$i]=".$tab_bull['note'][$m][$i]."<br />\n";
                                                            //echo "\$tab_bull['note_prec'][$key][$indice_grp][$indice_eleve]=".$tab_bull['note_prec'][$key][$indice_grp][$indice_eleve]."<br />\n";
                                                            if ($tab_bull['note'][$m][$i] > $tab_bull['note_prec'][$key][$indice_grp][$indice_eleve]) {
                                                                $fleche_evolution = "+";
                                                            } elseif ($tab_bull['note'][$m][$i] < $tab_bull['note_prec'][$key][$indice_grp][$indice_eleve]) {
                                                                $fleche_evolution = "-";
                                                            } else {
                                                                $fleche_evolution = "";
                                                            }
                                                            //echo "\$fleche_evolution=".$fleche_evolution."<br />\n";
                                                            //$valeur = present_nombre($tab_bull['note_prec'][$key][$indice_grp][$indice_eleve], $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]);
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                                if ($fleche_evolution != "") {
                                    $fleche_evolution = " " . $fleche_evolution;
                                }
                                $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier / $nb_sousaffichage, $valeur . $fleche_evolution, 1, 2, 'C', $tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                                $valeur = "";
                                if ($tab_modele_pdf["active_coef_sousmoyene"][$classe_id] === '1') {
                                    $pdf->SetFont('DejaVu', 'I', 7);
                                    $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier / $nb_sousaffichage, 'coef. ' . $tab_bull['coef_eleve'][$i][$m], '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_bull['moy_classe_grp'][$m] == "-" || $tab_bull['moy_classe_grp'][$m] == "") {
                                            $valeur = "-";
                                        } else {
                                            $valeur = present_nombre($tab_bull['moy_classe_grp'][$m], $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_bull['moy_min_classe_grp'][$m] == "-" || $tab_bull['moy_min_classe_grp'][$m] == "") {
                                            $valeur = "-";
                                        } else {
                                            $valeur = present_nombre($tab_bull['moy_min_classe_grp'][$m], $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_bull['moy_max_classe_grp'][$m] == "-" || $tab_bull['moy_max_classe_grp'][$m] == "") {
                                            $valeur = "-";
                                        } else {
                                            $valeur = present_nombre($tab_bull['moy_max_classe_grp'][$m], $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 = '';
                                }
                            } else {
                                // On affiche les moyennes de l'élève pour les autres périodes dans la même colonne
                                // Il faut récupérer l'indice de l'élève... dans les tableaux récupérés de calcul_moy_gen.inc.php
                                $pdf->SetFont('DejaVu', 'I', 6);
                                if ($tab_modele_pdf["moyennes_periodes_precedentes"][$classe_id] == 'y') {
                                    if (isset($tab_bull['login_prec'])) {
                                        //for($loop_p=1;$loop_p<count($tab_bull['login_prec']);$loop_p++) {
                                        foreach ($tab_bull['login_prec'] as $key => $value) {
                                            // Il faut récupérer l'id_groupe et l'indice de l'élève... dans les tableaux récupérés de calcul_moy_gen.inc.php
                                            // Tableaux d'indices [$j][$i] (groupe, élève)
                                            //		$tab_bull['note_prec'][$loop_p]=$current_eleve_note;
                                            //		$tab_bull['statut_prec'][$loop_p]=$current_eleve_statut;
                                            $indice_eleve = -1;
                                            //for($loop_l=0;$loop_l<count($tab_bull['login_prec'][$loop_p]);$loop_l++) {
                                            for ($loop_l = 0; $loop_l < count($tab_bull['login_prec'][$key]); $loop_l++) {
                                                //echo "\$tab_bull['login_prec'][$key][$loop_l]=".$tab_bull['login_prec'][$key][$loop_l]." et \$tab_bull['eleve'][$i]['login']="******"<br />\n";
                                                if ($tab_bull['login_prec'][$key][$loop_l] == $tab_bull['eleve'][$i]['login']) {
                                                    $indice_eleve = $loop_l;
                                                    break;
                                                }
                                            }
                                            //echo "\$indice_eleve=$indice_eleve<br />\n";
                                            if ($indice_eleve != -1) {
                                                // Recherche du groupe
                                                $indice_grp = -1;
                                                for ($loop_l = 0; $loop_l < count($tab_bull['group_prec'][$key]); $loop_l++) {
                                                    //echo "\$tab_bull['group_prec'][$key][$loop_l]['id']=".$tab_bull['group_prec'][$key][$loop_l]['id']." et \$tab_bull['groupe'][$m]['id']=".$tab_bull['groupe'][$m]['id']."<br />\n";
                                                    if ($tab_bull['group_prec'][$key][$loop_l]['id'] == $tab_bull['groupe'][$m]['id']) {
                                                        $indice_grp = $loop_l;
                                                        break;
                                                    }
                                                }
                                                //echo "\$indice_grp=$indice_grp<br />\n";
                                                if ($indice_grp != -1) {
                                                    if (isset($tab_bull['statut_prec'][$key][$indice_grp][$indice_eleve])) {
                                                        if ($tab_bull['statut_prec'][$key][$indice_grp][$indice_eleve] != "") {
                                                            $valeur = $tab_bull['statut_prec'][$key][$indice_grp][$indice_eleve];
                                                        } else {
                                                            $valeur = present_nombre($tab_bull['note_prec'][$key][$indice_grp][$indice_eleve], $tab_modele_pdf["arrondie_choix"][$classe_id], $tab_modele_pdf["nb_chiffre_virgule"][$classe_id], $tab_modele_pdf["chiffre_avec_zero"][$classe_id]);
                                                        }
                                                        if ($key == 1) {
                                                            $bordure_top = 'T';
                                                        } else {
                                                            $bordure_top = '';
                                                        }
                                                        $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier / $nb_sousaffichage, 'P' . $key . ': ' . $valeur, 'LR' . $bordure_top, 2, 'C', $tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                                $pdf->SetFont('DejaVu', 'B', 10);
                                // On filtre si la moyenne est vide, on affiche seulement un tiret
                                if ($tab_bull['note'][$m][$i] == "-") {
                                    $valeur = "-";
                                } elseif ($tab_bull['statut'][$m][$i] != "") {
                                    $valeur = $tab_bull['statut'][$m][$i];
                                } else {
                                    $valeur = present_nombre($tab_bull['note'][$m][$i], $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, $valeur, 1, 2, 'C', $tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                                // Réinitialisation
                                $valeur = "";
                                // 20130520
                                //echo "\$tab_modele_pdf[\"moyennes_annee\"][$classe_id]=".$tab_modele_pdf["moyennes_annee"][$classe_id]."<br />\n";
                                //echo "\$tab_bull['moy_annee'][$m][$i]=".$tab_bull['moy_annee'][$m][$i]."<br />\n";
                                if (isset($tab_modele_pdf["moyennes_annee"][$classe_id]) && $tab_modele_pdf["moyennes_annee"][$classe_id] == 'y' && isset($tab_bull['moy_annee'][$m][$i])) {
                                    $pdf->SetFont('DejaVu', 'I', 6);
                                    $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier / $nb_sousaffichage, "An: " . $tab_bull['moy_annee'][$m][$i], 1, 2, 'C', $tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                                }
                                // On affiche éventuellement le coef
                                if ($tab_modele_pdf["active_coef_sousmoyene"][$classe_id] === '1') {
                                    $pdf->SetFont('DejaVu', 'I', 6);
                                    $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier / $nb_sousaffichage, 'coef. ' . $tab_bull['coef_eleve'][$i][$m], 'LRB', 2, 'C', $tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                                }
                            }
                            $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' ) {
                        if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 && ($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_bull['moy_classe_grp'][$m] == "-" || $tab_bull['moy_classe_grp'][$m] == "") {
                                $valeur = "-";
                            } else {
                                $valeur = present_nombre($tab_bull['moy_classe_grp'][$m], $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');
                            $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' ) {
                        if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 && ($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_bull['moy_min_classe_grp'][$m] == "-" || $tab_bull['moy_min_classe_grp'][$m] == "") {
                                $valeur = "-";
                            } else {
                                $valeur = present_nombre($tab_bull['moy_min_classe_grp'][$m], $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');
                            $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' ) {
                        if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 && ($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_bull['moy_max_classe_grp'][$m] == "-" || $tab_bull['moy_max_classe_grp'][$m] == "") {
                                $valeur = "-";
                            } else {
                                $valeur = present_nombre($tab_bull['moy_max_classe_grp'][$m], $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');
                            $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['groupe'][$m]['effectif_avec_note']) && $tab_bull['groupe'][$m]['effectif_avec_note'] == 0) {
                                $pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $espace_entre_matier, "-", 1, 0, 'C');
                            } elseif (isset($tab_bull['rang'][$m][$i]) && isset($tab_bull['groupe'][$m]['effectif_avec_note'])) {
                                $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 ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<5) { $place_eleve=5;}
                                if (($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=5) and ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<8))  { $place_eleve=4;}
                                if (($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=8) and ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<10)) { $place_eleve=3;}
                                if (($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=10) and ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<12)) {$place_eleve=2;}
                                if (($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=12) and ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<15)) { $place_eleve=1;}
                                if ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=15) { $place_eleve=0;}
                                */
                                if (isset($tab_bull['place_eleve'][$m][$i])) {
                                    //$place_eleve=$tab_bull['place_eleve'][$m][$i];
                                    $place_eleve = $tab_bull['place_eleve'][$m][$i] - 1;
                                }
                            }
                            $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_bull['app'][$m][$i]);
                            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;
                                if (getSettingValue('suppr_balises_app_prof') == 'y') {
                                    $texte = preg_replace('/<(.*)>/U', '', $texte);
                                }
                                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;
                    fich_debug_bull("Apres affichage de l'appreciation: \$Y_decal={$Y_decal}\n");
                }
            }
            fich_debug_bull("Avant les AID_E: \$Y_decal={$Y_decal}\n");
            //======================================================
            // DEBUT DES AID AFFICHéS APRES LES MATIERES
            if (isset($tab_bull['eleve'][$i]['aid_e'])) {
                //echo "count(\$tab_bull['eleve'][$i]['aid_e']=".count($tab_bull['eleve'][$i]['aid_e'])."<br />";
                for ($m = 0; $m < count($tab_bull['eleve'][$i]['aid_e']); $m++) {
                    $pdf->SetXY($X_bloc_matiere, $Y_decal);
                    // Si c'est une matière suivie par l'élève
                    //if(isset($tab_bull['eleve'][$i]['note'][$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['eleve'][$i]['aid_e'][$m]['nom_complet'])) {
                        $info_nom_matiere = $tab_bull['eleve'][$i]['aid_e'][$m]['nom_complet'];
                    } else {
                        $info_nom_matiere = $tab_bull['eleve'][$i]['aid_e'][$m]['nom'];
                    }
                    // 20130927 : cell_ajustee() ou pas sur le nom de matière/enseignement
                    if (isset($tab_modele_pdf["cell_ajustee_texte_matiere"][$classe_id]) && $tab_modele_pdf["cell_ajustee_texte_matiere"][$classe_id] == 1) {
                        // Encadrement
                        $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_entre_matier, "", 'LRBT', 1, 'L');
                        // cell_ajustee() ne centre pas verticalement le texte.
                        // On met un décalage pour ne pas coller le texte à la bordure
                        $Y_decal_cell_ajustee = 1;
                        // On repositionne et on inscrit le nom de matière sur la moitié de la hauteur de la cellule
                        $pdf->SetXY($X_bloc_matiere, $Y_decal + $Y_decal_cell_ajustee);
                        $texte = $info_nom_matiere;
                        $taille_max_police = $hauteur_caractere_matiere;
                        $taille_min_police = ceil($taille_max_police / $tab_modele_pdf["cell_ajustee_texte_matiere_ratio_min_max"][$classe_id]);
                        $largeur_dispo = $tab_modele_pdf["largeur_matiere"][$classe_id] - 2;
                        $h_cell = $espace_entre_matier / 2 - $Y_decal_cell_ajustee;
                        cell_ajustee("<b>" . $texte . "</b>", $pdf->GetX(), $pdf->GetY(), $largeur_dispo, $h_cell, $taille_max_police, $taille_min_police, '');
                    } else {
                        $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_bull['eleve'][$i]['aid_e'][$m]['aid_prof_resp_login'][0])) {
                        $nb_prof_matiere = count($tab_bull['eleve'][$i]['aid_e'][$m]['aid_prof_resp_login']);
                        $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_bull['eleve'][$i]['aid_e'][$m]['aid_prof_resp_login'][$nb_pass_count];
                            $text_prof = affiche_utilisateur($tmp_login_prof, $tab_bull['eleve'][$i]['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_bull['eleve'][$i]['aid_e'][$m]['aid_prof_resp_login'][$nb_pass_count + 1])) {
                                $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_matiere_prof, $text_prof, 'LRB', 1, 'L');
                            }
                            if (!empty($tab_bull['eleve'][$i]['aid_e'][$m]['aid_prof_resp_login'][$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);
                        //$pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $espace_entre_matier, $tab_bull['eleve'][$i]['coef_eleve'][$i][$m],1,0,'C');
                        $pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $espace_entre_matier, '', 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_bull['eleve'][$i]['coef_eleve'][$i][$m];
                    //}
                    // 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['eleve'][$i]['nbct'][$m][$i] . "/" . $tab_bull['eleve'][$i]['groupe'][$m]['nbct'];
                        $valeur = '';
                        $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';
                            //20090908 if(empty($active_coef_sousmoyene)) { $active_coef_sousmoyene = ''; }
                            if ($tab_modele_pdf["active_coef_sousmoyene"][$classe_id] === '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_bull['eleve'][$i]['aid_e'][$m]['aid_note'] == "-") {
                                $valeur = "-";
                            } elseif ($tab_bull['eleve'][$i]['aid_e'][$m]['aid_statut'] != "") {
                                if ($tab_bull['eleve'][$i]['aid_e'][$m]['aid_statut'] == "other") {
                                    $valeur = "-";
                                } else {
                                    $valeur = $tab_bull['eleve'][$i]['aid_e'][$m]['aid_statut'];
                                }
                            } else {
                                $valeur = present_nombre($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note'], $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, $valeur, 1, 2, 'C', $tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                            $valeur = "";
                            if ($tab_modele_pdf["active_coef_sousmoyene"][$classe_id] === '1') {
                                $pdf->SetFont('DejaVu', 'I', 7);
                                //$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier/$nb_sousaffichage, 'coef. '.$tab_bull['eleve'][$i]['coef_eleve'][$i][$m],'LR',2,'C',$tab_modele_pdf["active_reperage_eleve"][$classe_id]);
                                $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier / $nb_sousaffichage, '', '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['eleve'][$i]['moy_classe_grp'][$m]=="-") {
                                    if ($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_moyenne'] == "-" || $tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_moyenne'] == "") {
                                        $valeur = "-";
                                    } else {
                                        $valeur = present_nombre($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_moyenne'], $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['eleve'][$i]['moy_min_classe_grp'][$m]=="-") {
                                    if ($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_min'] == "-" || $tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_min'] == "") {
                                        $valeur = "-";
                                    } else {
                                        $valeur = present_nombre($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_min'], $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['eleve'][$i]['moy_max_classe_grp'][$m]=="-") {
                                    if ($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_max'] == "-" || $tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_max'] == "") {
                                        $valeur = "-";
                                    } else {
                                        $valeur = present_nombre($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_max'], $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['eleve'][$i]['nbct'][$m][$i]!= 0 ) {
                                	$valeur1 = $tab_bull['eleve'][$i]['nbct'][$m][$i].' note';
                                	if($tab_bull['eleve'][$i]['nbct'][$m][$i]>1){$valeur1.='s';}
                                	$valeur2 = 'sur '.$tab_bull['eleve'][$i]['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['eleve'][$i]['moy_classe_grp'][$m]=="-") {
                            if ($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_moyenne'] == "-" || $tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_moyenne'] == "") {
                                $valeur = "-";
                            } else {
                                $valeur = present_nombre($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_moyenne'], $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');
                            $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['eleve'][$i]['moy_min_classe_grp'][$m]=="-") {
                            if ($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_min'] == "-" || $tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_min'] == "") {
                                $valeur = "-";
                            } else {
                                $valeur = present_nombre($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_min'], $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');
                            $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['eleve'][$i]['moy_max_classe_grp'][$m]== "-") {
                            if ($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_max'] == "-" || $tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_max'] == "") {
                                $valeur = "-";
                            } else {
                                $valeur = present_nombre($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_max'], $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');
                            $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['eleve'][$i]['rang'][$i][$m]))&&(isset($tab_bull['eleve'][$i]['groupe'][$m]['effectif']))) {
                            //$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $espace_entre_matier, $tab_bull['eleve'][$i]['rang'][$i][$m].'/'.$tab_bull['eleve'][$i]['groupe'][$m]['effectif'],1,0,'C');
                            //if((isset($tab_bull['eleve'][$i]['rang'][$m][$i]))&&(isset($tab_bull['eleve'][$i]['groupe'][$m]['effectif']))) {
                            //	$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $espace_entre_matier, $tab_bull['eleve'][$i]['rang'][$m][$i].'/'.$tab_bull['eleve'][$i]['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['eleve'][$i]['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['eleve'][$i]['note'][$m][$i]!="") {
                            if ($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note'] != "") {
                                /*
                                if ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<5) { $place_eleve=5;}
                                if (($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=5) and ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<8))  { $place_eleve=4;}
                                if (($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=8) and ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<10)) { $place_eleve=3;}
                                if (($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=10) and ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<12)) {$place_eleve=2;}
                                if (($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=12) and ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<15)) { $place_eleve=1;}
                                if ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=15) { $place_eleve=0;}
                                */
                                if (isset($tab_bull['eleve'][$i]['aid_e'][$m]['place_eleve'])) {
                                    //$place_eleve=$tab_bull['eleve'][$i]['aid_e'][$m]['place_eleve'];
                                    $place_eleve = $tab_bull['eleve'][$i]['aid_e'][$m]['place_eleve'] - 1;
                                }
                            }
                            $data_grap = array();
                            if (isset($tab_bull['eleve'][$i]['aid_e'][$m]['quartile1_classe'])) {
                                $data_grap[0] = $tab_bull['eleve'][$i]['aid_e'][$m]['quartile1_classe'];
                            }
                            if (isset($tab_bull['eleve'][$i]['aid_e'][$m]['quartile2_classe'])) {
                                $data_grap[1] = $tab_bull['eleve'][$i]['aid_e'][$m]['quartile2_classe'];
                            }
                            if (isset($tab_bull['eleve'][$i]['aid_e'][$m]['quartile3_classe'])) {
                                $data_grap[2] = $tab_bull['eleve'][$i]['aid_e'][$m]['quartile3_classe'];
                            }
                            if (isset($tab_bull['eleve'][$i]['aid_e'][$m]['quartile4_classe'])) {
                                $data_grap[3] = $tab_bull['eleve'][$i]['aid_e'][$m]['quartile4_classe'];
                            }
                            if (isset($tab_bull['eleve'][$i]['aid_e'][$m]['quartile5_classe'])) {
                                $data_grap[4] = $tab_bull['eleve'][$i]['aid_e'][$m]['quartile5_classe'];
                            }
                            if (isset($tab_bull['eleve'][$i]['aid_e'][$m]['quartile6_classe'])) {
                                $data_grap[5] = $tab_bull['eleve'][$i]['aid_e'][$m]['quartile6_classe'];
                            }
                            //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['eleve'][$i]['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['eleve'][$i]['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['eleve'][$i]['groupe'][$m][$i]['cn_nom'][$n]) )
                            	{
                            		$pdf->SetFont('DejaVu','',8);
                            		$largeur_texte_sousmatiere = $pdf->GetStringWidth($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom'][$n].': '.$tab_bull['eleve'][$i]['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['eleve'][$i]['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['eleve'][$i]['groupe'][$m][$i]['cn_nom']), ($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom'][$n].': '.$tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_note'][$n]),1,0,'L');
                            		$Y_sous_matiere = $Y_sous_matiere+$espace_entre_matier/count($tab_bull['eleve'][$i]['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_bull['eleve'][$i]['aid_e'][$m]['aid_appreciation']);
                            $app_aff = "";
                            if ($tab_bull['eleve'][$i]['aid_e'][$m]['message'] != '') {
                                $app_aff .= $tab_bull['eleve'][$i]['aid_e'][$m]['message'];
                            }
                            //if($app_aff!='') {$app_aff.=" ";}
                            //if($tab_bull['eleve'][$i]['aid_e'][$m]['aid_nom']!='') {
                            if ($tab_bull['eleve'][$i]['aid_e'][$m]['display_nom'] == 'y' && $tab_bull['eleve'][$i]['aid_e'][$m]['aid_nom'] != '') {
                                if ($app_aff != '') {
                                    $app_aff .= " ";
                                }
                                $app_aff .= $tab_bull['eleve'][$i]['aid_e'][$m]['aid_nom'];
                            }
                            if ($app_aff != '') {
                                $app_aff .= "\n";
                            }
                            $app_aff .= trim($tab_bull['eleve'][$i]['aid_e'][$m]['aid_appreciation']);
                            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;
                                if (getSettingValue('suppr_balises_app_prof') == 'y') {
                                    $texte = preg_replace('/<(.*)>/U', '', $texte);
                                }
                                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;
                    //}
                }
            }
            // FIN DES AID AFFICHéS APRES LES MATIERES
            //======================================================
            fich_debug_bull("Apres les AID_E: \$Y_decal={$Y_decal}\n");
            //echo "\$tab_modele_pdf['active_moyenne'][$classe_id]=".$tab_modele_pdf["active_moyenne"][$classe_id]."<br />";
            // Ligne moyenne générale
            // bas du tableau des notes et app si les moyennes générales ne sont pas affichées, le bas du tableau ne sera 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];
                if ($affiche_deux_moy_gen == 1) {
                    // On a réservé une ligne de plus pour la moyenne générale avec coefficients 1
                    $Y_note_moy_app -= $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]);
                //================
                // Ajout: J.Etheve
                if ($affiche_deux_moy_gen == 1) {
                    $pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], "Moy.gén.coef.", 1, 0, 'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
                } else {
                    $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
                //echo "\$tab_modele_pdf['active_coef_moyenne'][$classe_id]=".$tab_modele_pdf["active_coef_moyenne"][$classe_id]."<br />";
                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]);
                    $pdf->SetFont('DejaVu', '', 10);
                    //echo "\$tab_modele_pdf['affiche_totalpoints_sur_totalcoefs'][$classe_id]=".$tab_modele_pdf["affiche_totalpoints_sur_totalcoefs"][$classe_id]."<br />\n";
                    if ($tab_modele_pdf["affiche_totalpoints_sur_totalcoefs"][$classe_id] == '1') {
                        $info_tot_et_coef = $tab_bull['tot_points_eleve'][$i] . "/" . $tab_bull['total_coef_eleve'][$i];
                    } elseif ($tab_modele_pdf["affiche_totalpoints_sur_totalcoefs"][$classe_id] == '2') {
                        $info_tot_et_coef = $tab_bull['total_coef_eleve'][$i];
                    } else {
                        $info_tot_et_coef = '-';
                    }
                    $val = $pdf->GetStringWidth($info_tot_et_coef);
                    $taille_texte = $tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
                    $grandeur_texte = 'test';
                    $hauteur_tmp = 10;
                    while ($grandeur_texte != 'ok') {
                        if ($taille_texte < $val) {
                            $hauteur_tmp = $hauteur_tmp - 0.3;
                            $pdf->SetFont('DejaVu', '', $hauteur_tmp);
                            $val = $pdf->GetStringWidth($info_tot_et_coef);
                        } else {
                            $grandeur_texte = 'ok';
                        }
                    }
                    $grandeur_texte = 'test';
                    $pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], $info_tot_et_coef, 1, 0, 'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
                    $pdf->SetFont('DejaVu', '', 10);
                    $largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
                }
                // nombre de notes
                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_bull['moy_gen_eleve'][$i] == "" || $tab_bull['moy_gen_eleve'][$i] == "-") {
                            $val_tmp = "-";
                        } else {
                            $val_tmp = present_nombre(preg_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]);
                        }
                        $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
                    // 20141122
                    if ($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id] != 1 && ($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_bull['moy_generale_classe'] == "" || $tab_bull['moy_generale_classe'] == "-") {
                            $moyenne_classe = '-';
                        } else {
                            $moyenne_classe = present_nombre(preg_replace("/,/", '.', $tab_bull['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["toute_moyenne_meme_col"][$classe_id] != 1 && ($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_bull['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(preg_replace("/,/", '.', $tab_bull['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["toute_moyenne_meme_col"][$classe_id] != 1 && ($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_bull['moy_max_classe'] != '-') {
                            $moyenne_max = $tab_bull['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(preg_replace("/,/", '.', $tab_bull['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 (pour la ligne Moyenne générale)
                    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] != "-") {
                            /*
                            if ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']<5) { $place_eleve=5;}
                            if (($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']>=5) and ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']<8))  { $place_eleve=4;}
                            if (($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']>=8) and ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']<10)) { $place_eleve=3;}
                            if (($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']>=10) and ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']<12)) {$place_eleve=2;}
                            if (($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']>=12) and ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']<15)) { $place_eleve=1;}
                            if ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']>=15) { $place_eleve=0;}
                            */
                            //$place_eleve=$tab_bull['place_eleve_classe'][$i];
                            $place_eleve = $tab_bull['place_eleve_classe'][$i] - 1;
                        }
                        $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);
            }
            //================
            // Ajout: J.Etheve
            // *****------------------------------------ ajout moyenne générale non coefficientée
            if ($affiche_deux_moy_gen == 1) {
                // Ligne moyenne générale coefficientée
                //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];
                    // On a remonté d'une ligne la moyenne générale classique
                    $Y_note_moy_app -= $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], "Moy.gén.non coef.", 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]);
                        $pdf->SetFont('DejaVu', '', 10);
                        $info_tot_et_coef = $tab_bull['tot_points_eleve1'][$i] . "/" . $tab_bull['total_coef_eleve1'][$i];
                        $val = $pdf->GetStringWidth($info_tot_et_coef);
                        $taille_texte = $tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
                        $grandeur_texte = 'test';
                        $hauteur_tmp = 10;
                        while ($grandeur_texte != 'ok') {
                            if ($taille_texte < $val) {
                                $hauteur_tmp = $hauteur_tmp - 0.3;
                                $pdf->SetFont('DejaVu', '', $hauteur_tmp);
                                $val = $pdf->GetStringWidth($info_tot_et_coef);
                            } else {
                                $grandeur_texte = 'ok';
                            }
                        }
                        $grandeur_texte = 'test';
                        $pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], $info_tot_et_coef, 1, 0, 'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
                        $pdf->SetFont('DejaVu', '', 10);
                        $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_bull['moy_gen_eleve_noncoef'][$i] == "" || $tab_bull['moy_gen_eleve_noncoef'][$i] == "-") {
                                $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(preg_replace("/,/", '.', $tab_bull['moy_gen_eleve_noncoef'][$i]), $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(preg_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(preg_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_bull['moy_generale_classe_noncoef'] == "" || $tab_bull['moy_generale_classe_noncoef'] == "-") {
                                $moyenne_classe = '-';
                            } else {
                                $moyenne_classe = present_nombre(preg_replace("/,/", '.', $tab_bull['moy_generale_classe_noncoef']), $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_bull['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(preg_replace("/,/", '.', $tab_bull['moy_min_classe_noncoef']), $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_bull['moy_max_classe_noncoef'] != '-') {
                                $moyenne_max = $tab_bull['moy_max_classe_noncoef'];
                                $pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], present_nombre(preg_replace("/,/", '.', $tab_bull['moy_max_classe_noncoef']), $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] != "-") {
                                /*
                                if ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']<5) { $place_eleve=5;}
                                if (($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']>=5) and ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']<8))  { $place_eleve=4;}
                                if (($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']>=8) and ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']<10)) { $place_eleve=3;}
                                if (($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']>=10) and ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']<12)) {$place_eleve=2;}
                                if (($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']>=12) and ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']<15)) { $place_eleve=1;}
                                if ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']>=15) { $place_eleve=0;}
                                */
                                //$place_eleve=$tab_bull['place_eleve_classe'][$i];
                                $place_eleve = $tab_bull['place_eleve_classe'][$i] - 1;
                            }
                            $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);
                }
            }
            // *****-------------------------------------fin moyenne générale non coefficientée ---
            //================
        }
        // =============== bloc absence ==================
        if ($tab_modele_pdf["active_bloc_absence"][$classe_id] === '1') {
            $pdf->SetXY($tab_modele_pdf["X_absence"][$classe_id], $tab_modele_pdf["Y_absence"][$classe_id]);
            $origine_Y_absence = $tab_modele_pdf["Y_absence"][$classe_id];
            $pdf->SetFont('DejaVu', 'I', 8);
            $info_absence = '';
            // 20130215
            /*
            if(($tab_modele_pdf["afficher_abs_tot"][$classe_id]==='1')||
            ($tab_modele_pdf["afficher_abs_nj"][$classe_id]==='1')) {
            */
            if ($tab_modele_pdf["afficher_abs_tot"][$classe_id] == '1') {
                if ($tab_bull['eleve'][$i]['eleve_absences'] != '?') {
                    if ($tab_bull['eleve'][$i]['eleve_absences'] == '0') {
                        $info_absence = "<i>Aucune demi-journée d'absence</i>.";
                    } else {
                        $info_absence = "<i>Nombre de demi-journées d'absence ";
                        if ($tab_modele_pdf["afficher_abs_nj"][$classe_id] == '1') {
                            if ($tab_bull['eleve'][$i]['eleve_nj'] == '0' or $tab_bull['eleve'][$i]['eleve_nj'] == '?') {
                                $info_absence = $info_absence . "justifiées ";
                            }
                            $info_absence = $info_absence . ": </i><b>" . $tab_bull['eleve'][$i]['eleve_absences'] . "</b>";
                            if ($tab_bull['eleve'][$i]['eleve_nj'] != '0' and $tab_bull['eleve'][$i]['eleve_nj'] != '?') {
                                $info_absence = $info_absence . " (dont <b>" . $tab_bull['eleve'][$i]['eleve_nj'] . "</b> non justifiée";
                                if ($tab_bull['eleve'][$i]['eleve_nj'] != '1') {
                                    $info_absence = $info_absence . "s";
                                }
                                $info_absence = $info_absence . ")";
                            }
                        } else {
                            $info_absence = $info_absence . ": </i><b>" . $tab_bull['eleve'][$i]['eleve_absences'] . "</b>";
                        }
                        $info_absence = $info_absence . ".";
                    }
                }
            } elseif ($tab_modele_pdf["afficher_abs_nj"][$classe_id] == '1') {
                if ($tab_bull['eleve'][$i]['eleve_nj'] == '0') {
                    $info_absence = "<i>Aucune absence non justifiée</i>.";
                } else {
                    $info_absence = "<i>Nombre de demi-journées d'absence non justifiées ";
                    $info_absence .= ": </i><b>" . $tab_bull['eleve'][$i]['eleve_nj'] . ".</b>";
                }
            }
            if ($tab_modele_pdf["afficher_abs_ret"][$classe_id] == '1') {
                if ($tab_bull['eleve'][$i]['eleve_retards'] != '0' and $tab_bull['eleve'][$i]['eleve_retards'] != '?') {
                    $info_absence = $info_absence . "<i> Nombre de retards : </i><b>" . $tab_bull['eleve'][$i]['eleve_retards'] . ".</b>";
                }
            }
            if ($tab_modele_pdf["afficher_abs_cpe"][$classe_id] == '1' && isset($tab_bull['eleve'][$i]['cperesp_civilite']) && isset($tab_bull['eleve'][$i]['cperesp_login'])) {
                $pdf->SetFont('DejaVu', '', 8);
                // C.P.E.
                $info_absence = $info_absence . " (" . ucfirst($gepi_cpe_suivi) . " chargé";
                if ($tab_bull['eleve'][$i]['cperesp_civilite'] != "M.") {
                    $info_absence = $info_absence . "e";
                }
                /*
                $sql="SELECT civilite FROM utilisateurs WHERE login='******'";
                $res_civi=mysql_query($sql);
                if(mysql_num_rows($res_civi)>0){
                	$lig_civi=mysql_fetch_object($res_civi);
                	if($lig_civi->civilite!="M."){
                		$info_absence = $info_absence."e";
                	}
                }
                */
                $info_absence = $info_absence . " du suivi : <i>" . affiche_utilisateur($tab_bull['eleve'][$i]['cperesp_login'], $tab_bull['id_classe']) . "</i>)";
            }
            //$pdf->MultiCellTag($tab_modele_pdf["largeur_cadre_absences"][$classe_id], 5, ($info_absence), '', 'J', '');
            //$pdf->ext_MultiCellTag($tab_modele_pdf["largeur_cadre_absences"][$classe_id], 5, $info_absence, '', 'J', '');
            $taille_max_police = 8;
            $taille_min_police = ceil($taille_max_police / 3);
            $largeur_dispo = $tab_modele_pdf["largeur_cadre_absences"][$classe_id];
            $h_cell = 5;
            cell_ajustee($info_absence, $pdf->GetX(), $pdf->GetY(), $largeur_dispo, $h_cell, $taille_max_police, $taille_min_police, '');
            //=========================
            // MODIF: boireaus 20081220
            // Désactivation de ce qui provoquait un décalage progressif du bloc Avis du conseil,...
            //if ( isset($Y_avis_cons_init) ) { $tab_modele_pdf["Y_avis_cons"][$classe_id] = $Y_avis_cons_init; }
            //if ( isset($Y_sign_chef_init) ) { $tab_modele_pdf["Y_sign_chef"][$classe_id] = $Y_sign_chef_init; }
            //=========================
            // Il y a une ligne pour les absences, retards,... donc on compte une ligne (+0.5) de décalage pour le bloc Avis du conseil et celui de la signature du chefetab
            //if ( !isset($Y_avis_cons_init) ) { $Y_avis_cons_init = $tab_modele_pdf["Y_avis_cons"][$classe_id] + 0.5; }
            //if ( !isset($Y_sign_chef_init) ) { $Y_sign_chef_init = $tab_modele_pdf["Y_sign_chef"][$classe_id] + 0.5; }
            $Y_avis_cons_init = $tab_modele_pdf["Y_avis_cons"][$classe_id] + 0.5;
            $Y_sign_chef_init = $tab_modele_pdf["Y_sign_chef"][$classe_id] + 0.5;
            //=========================
            // MODIF: boireaus 20081220
            // Désactivation de ce qui provoquait une réduction progressive de la hauteur du bloc Avis du conseil,...
            //if ( isset($hauteur_avis_cons_init) ) { $tab_modele_pdf["hauteur_avis_cons"][$classe_id] = $hauteur_avis_cons_init; }
            //if ( isset($hauteur_sign_chef_init) ) { $tab_modele_pdf["hauteur_sign_chef"][$classe_id] = $hauteur_sign_chef_init; }
            //=========================
            //if ( !isset($hauteur_avis_cons_init) ) { $hauteur_avis_cons_init = $tab_modele_pdf["hauteur_avis_cons"][$classe_id] - 0.5; }
            //if ( !isset($hauteur_sign_chef_init) ) { $hauteur_sign_chef_init = $tab_modele_pdf["hauteur_sign_chef"][$classe_id] - 0.5; }
            $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;
            $hauteur_pris_app_abs = 0;
            if ($tab_bull['eleve'][$i]['appreciation_absences'] != "") {
                // supprimer les espaces
                $text_absences_appreciation = trim(str_replace(array("\r\n", "\r", "\n"), ' ', unhtmlentities($tab_bull['eleve'][$i]['appreciation_absences'])));
                $info_absence_appreciation = "<i>Avis " . ucfirst($gepi_cpe_suivi) . " :</i> <b>" . $text_absences_appreciation . "</b>";
                $text_absences_appreciation = '';
                $pdf->SetXY($tab_modele_pdf["X_absence"][$classe_id], $tab_modele_pdf["Y_absence"][$classe_id] + 4);
                $pdf->SetFont('DejaVu', '', 8);
                //$pdf->MultiCellTag(200, 3, ($info_absence_appreciation), '', 'J', '');
                //$pdf->MultiCellTag($tab_modele_pdf["largeur_cadre_absences"][$classe_id], 3, ($info_absence_appreciation), '', 'J', '');
                //$pdf->ext_MultiCellTag($tab_modele_pdf["largeur_cadre_absences"][$classe_id], 3, ($info_absence_appreciation), '', 'J', '');
                $val = $pdf->GetStringWidth($info_absence_appreciation);
                // nombre de lignes que prend la remarque cpe
                //Arrondi à l'entier supérieur : ceil()
                $nb_ligne = 1;
                $nb_ligne = ceil($val / 200);
                $hauteur_pris = $nb_ligne * 3;
                $taille_max_police = 8;
                $taille_min_police = ceil($taille_max_police / 3);
                $largeur_dispo = $tab_modele_pdf["largeur_cadre_absences"][$classe_id];
                $h_cell = $hauteur_pris;
                cell_ajustee($info_absence_appreciation, $pdf->GetX(), $pdf->GetY(), $largeur_dispo, $h_cell, $taille_max_police, $taille_min_police, '');
                $hauteur_pris_app_abs = $hauteur_pris;
                //$tab_modele_pdf["Y_avis_cons"][$classe_id] = $tab_modele_pdf["Y_avis_cons"][$classe_id] + $hauteur_pris;
                $Y_avis_cons_init = $Y_avis_cons_init + $hauteur_pris;
                //$tab_modele_pdf["hauteur_avis_cons"][$classe_id] = $tab_modele_pdf["hauteur_avis_cons"][$classe_id] - ( $hauteur_pris + 0.5 );
                $hauteur_avis_cons_init = $hauteur_avis_cons_init - ($hauteur_pris + 0.5);
                //$tab_modele_pdf["Y_sign_chef"][$classe_id] = $tab_modele_pdf["Y_sign_chef"][$classe_id] + $hauteur_pris;
                $Y_sign_chef_init = $Y_sign_chef_init + $hauteur_pris;
                //$tab_modele_pdf["hauteur_sign_chef"][$classe_id] = $tab_modele_pdf["hauteur_sign_chef"][$classe_id] - ( $hauteur_pris + 0.5 );
                $hauteur_sign_chef_init = $hauteur_sign_chef_init - ($hauteur_pris + 0.5);
                $hauteur_pris = 0;
            } else {
                if ($Y_avis_cons_init != $tab_modele_pdf["Y_avis_cons"][$classe_id]) {
                    //$tab_modele_pdf["Y_avis_cons"][$classe_id] = $tab_modele_pdf["Y_avis_cons"][$classe_id] - $hauteur_pris;
                    $Y_avis_cons_init = $Y_avis_cons_init - $hauteur_pris;
                    //$tab_modele_pdf["hauteur_avis_cons"][$classe_id] = $tab_modele_pdf["hauteur_avis_cons"][$classe_id] + $hauteur_pris;
                    $hauteur_avis_cons_init = $hauteur_avis_cons_init + $hauteur_pris;
                    //$tab_modele_pdf["Y_sign_chef"][$classe_id] = $tab_modele_pdf["Y_sign_chef"][$classe_id] - $hauteur_pris;
                    $Y_sign_chef_init = $Y_sign_chef_init - $hauteur_pris;
                    //$tab_modele_pdf["hauteur_sign_chef"][$classe_id] = $tab_modele_pdf["hauteur_sign_chef"][$classe_id] + $hauteur_pris;
                    $hauteur_sign_chef_init = $hauteur_sign_chef_init + $hauteur_pris;
                    $hauteur_pris = 0;
                }
            }
            $info_absence = '';
            $info_absence_appreciation = '';
            $pdf->SetFont('DejaVu', '', 10);
        }
        // sinon, si le bloc absence n'est pas activé
        if ($tab_modele_pdf["active_bloc_absence"][$classe_id] != '1') {
            //=========================
            // MODIF: boireaus 20081220
            // Désactivation de ce qui provoquait un décalage progressif du bloc Avis du conseil,...
            //if ( isset($Y_avis_cons_init) ) { $tab_modele_pdf["Y_avis_cons"][$classe_id] = $Y_avis_cons_init; }
            //if ( isset($Y_sign_chef_init) ) { $tab_modele_pdf["Y_sign_chef"][$classe_id] = $Y_sign_chef_init; }
            //=========================
            //if ( !isset($Y_avis_cons_init) ) { $Y_avis_cons_init = $tab_modele_pdf["Y_avis_cons"][$classe_id]; }
            //if ( !isset($Y_sign_chef_init) ) { $Y_sign_chef_init = $tab_modele_pdf["Y_sign_chef"][$classe_id]; }
            $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;
        }
        // fin
        //=========================
        // MODIF: boireaus 20081220
        /*
        if($Y_avis_cons_init!=$tab_modele_pdf["Y_avis_cons"][$classe_id]) {
        	$Y_avis_cons[$classe_id] = $tab_modele_pdf["Y_avis_cons"][$classe_id] + 0.5;
        	$Y_sign_chef[$classe_id] = $tab_modele_pdf["Y_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 :';
            }
            $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_bull['avis'][$i];
            // ***** AJOUT POUR LES MENTIONS *****
            //$textmention = $tab_bull['id_mention'][$i];
            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($classe_id);
            }
            if (isset($tableau_des_mentions_sur_le_bulletin[$tab_bull['id_mention'][$i]])) {
                $textmention = $tableau_des_mentions_sur_le_bulletin[$tab_bull['id_mention'][$i]];
            } else {
                $textmention = "-";
            }
            // ***** FIN DE L'AJOUT POUR LES MENTIONS *****
            //$avec_coches_mentions="y";
            //if($avec_coches_mentions=="y") {
            if ($tab_modele_pdf["affich_coches_mentions"][$classe_id] != "n") {
                //$marge_droite_avis_cons=40;
                if (count($tableau_des_mentions_sur_le_bulletin) > 0) {
                    $marge_droite_avis_cons = 40;
                } else {
                    $marge_droite_avis_cons = 5;
                }
            } else {
                $marge_droite_avis_cons = 5;
                //if(($textmention!="")&&($textmention!="-")) {
                if ($tab_modele_pdf["affich_mentions"][$classe_id] != "n" && $textmention != "" && $textmention != "-") {
                    //$texteavis.="\n".traduction_mention($textmention);
                    if ($use_cell_ajustee == "n") {
                        if ($tab_modele_pdf["affich_intitule_mentions"][$classe_id] != "n") {
                            $texteavis .= "\n" . ucfirst($gepi_denom_mention) . " : ";
                        }
                        $texteavis .= $textmention;
                    } else {
                        if ($tab_modele_pdf["affich_intitule_mentions"][$classe_id] != "n") {
                            $texteavis .= "\n" . "<b>" . ucfirst($gepi_denom_mention) . " :</b> ";
                        }
                        $texteavis .= $textmention;
                    }
                }
            }
            if ($use_cell_ajustee == "n") {
                $pdf->drawTextBox($texteavis, $tab_modele_pdf["longeur_avis_cons"][$classe_id] - $marge_droite_avis_cons, $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] - $marge_droite_avis_cons;
                $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 is_numeric($tab_modele_pdf["taille_profprincipal_bloc_avis_conseil"][$classe_id]) and $tab_modele_pdf["taille_profprincipal_bloc_avis_conseil"][$classe_id] > 0 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_bull['eleve'][$i]['pp']['login'])) {
            if ($tab_modele_pdf["afficher_tous_profprincipaux"][$classe_id] == 1) {
                $index_pp = 'pp_classe';
            } else {
                $index_pp = 'pp';
            }
            if (isset($tab_bull['eleve'][$i][$index_pp][0]['login'])) {
                $pp_classe[$i] = "<b>" . ucfirst($tab_bull['gepi_prof_suivi']) . "</b> : ";
                $pp_classe[$i] .= "<i>" . affiche_utilisateur($tab_bull['eleve'][$i][$index_pp][0]['login'], $tab_bull['eleve'][$i]['id_classe']) . "</i>";
                for ($i_pp = 1; $i_pp < count($tab_bull['eleve'][$i][$index_pp]); $i_pp++) {
                    $pp_classe[$i] .= ", ";
                    $pp_classe[$i] .= "<i>" . affiche_utilisateur($tab_bull['eleve'][$i][$index_pp][$i_pp]['login'], $tab_bull['eleve'][$i]['id_classe']) . "</i>";
                }
            } else {
                $pp_classe[$i] = "";
            }
            //$pdf->MultiCellTag(200, 5, ($pp_classe[$i]), '', 'J', '');
            //$pdf->ext_MultiCellTag(200, 5, ($pp_classe[$i]), '', 'J', '');
            $taille_max_police = $taille;
            $taille_min_police = ceil($taille_max_police / 3);
            //$largeur_dispo=200;
            $largeur_dispo = $tab_modele_pdf["longeur_avis_cons"][$classe_id];
            $h_cell = 5;
            cell_ajustee($pp_classe[$i], $pdf->GetX(), $pdf->GetY(), $largeur_dispo, $h_cell, $taille_max_police, $taille_min_police, '');
        }
        //if($avec_coches_mentions=="y") {
        if ($tab_modele_pdf["affich_coches_mentions"][$classe_id] != "n") {
            // ***** AJOUT POUR LES MENTIONS *****
            // Essai pour ajouter un bloc renseignant les mentions du CC
            // A COMPLETER...
            $pdf->SetFont('DejaVu', '', 9);
            $X_pp_aff = $tab_modele_pdf["X_avis_cons"][$classe_id] + $tab_modele_pdf["longeur_avis_cons"][$classe_id] - 35;
            $Y_pp_aff = $tab_modele_pdf["Y_avis_cons"][$classe_id] + 5;
            $pdf->SetXY($X_pp_aff, $Y_pp_aff);
            /*
            $pdf->Cell(35,4, 'Félicitations      ',0,2,'R');
            $pdf->Cell(35,4, 'Mention honorable      ',0,2,'R');
            $pdf->Cell(35,4, 'Encouragements      ',0,2,'R');
            */
            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($classe_id);
            }
            //for($loop_mention=0;$loop_mention<count($tableau_des_mentions_sur_le_bulletin);$loop_mention++) {
            $loop_mention = 0;
            foreach ($tableau_des_mentions_sur_le_bulletin as $key_mention => $value_mention) {
                //$pdf->Cell(35,4, $value_mention,0,2,'R');
                $pdf->Cell(35, 4, $value_mention, 0, 2, 'L');
                $loop_mention++;
            }
            /*
            $pdf->Rect($X_pp_aff+30, $Y_pp_aff+0.3, 2.4, 3);
            $pdf->Rect($X_pp_aff+30, $Y_pp_aff+4.3, 2.4, 3);
            $pdf->Rect($X_pp_aff+30, $Y_pp_aff+8.3, 2.4, 3);
            $pdf->Rect($X_pp_aff, $Y_pp_aff+0.1, 0.01, 12);
            */
            //for($loop_mention=0;$loop_mention<count($tableau_des_mentions_sur_le_bulletin);$loop_mention++) {
            $loop_mention = 0;
            foreach ($tableau_des_mentions_sur_le_bulletin as $key_mention => $value_mention) {
                $pdf->Rect($X_pp_aff + 30, $Y_pp_aff + 4 * $loop_mention + 0.3, 2.4, 3);
                if ($key_mention == $tab_bull['id_mention'][$i]) {
                    $pdf->SetXY($X_pp_aff - 1.73, $Y_pp_aff + $loop_mention * 4);
                    $pdf->Cell(35, 4, 'X', 0, 2, 'R');
                }
                $loop_mention++;
            }
            $pdf->Rect($X_pp_aff, $Y_pp_aff + 0.1, 0.01, $loop_mention * 4);
            /*
            // Si félicitations (à modifier...)
            if($textmention=="F") {
            	$pdf->SetXY($X_pp_aff-1.73,$Y_pp_aff);
            	$pdf->Cell(35,4, 'X',0,2,'R');
            }
            // Si mention honorable (à modifier...)
            if($textmention=="M") {
            	$pdf->SetXY($X_pp_aff-1.73,$Y_pp_aff+4);
            	$pdf->Cell(35,4, 'X',0,2,'R');
            }
            // Si encouragements (à modifier...)
            if($textmention=="E") {
            	$pdf->SetXY($X_pp_aff-1.73,$Y_pp_aff+8);
            	$pdf->Cell(35,4, 'X',0,2,'R');
            }
            */
            // Fin de l'essai
            // ***** FIN DE L'AJOUT POUR LES MENTIONS *****
        }
        // ======================= 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);
            /*
            // 20120715
            // Si une image de signature doit être insérée...
            $tmp_fich=getSettingValue('fichier_signature');
            $fich_sign = '../backup/'.getSettingValue('backup_directory').'/'.$tmp_fich;
            //echo "\$fich_sign=$fich_sign<br />\n";
            if($tab_modele_pdf["signature_img"][$classe_id]==='1' and ($tmp_fich!='') and file_exists($fich_sign))
            {
            	$sql="SELECT 1=1 FROM droits_acces_fichiers WHERE fichier='signature_img' AND ((identite='".$_SESSION['statut']."' AND type='statut') OR (identite='".$_SESSION['login']."' AND type='individu'))";
            	$test=mysql_query($sql);
            	if(mysql_num_rows($test)>0) {
            */
            // 20130719
            if (isset($signature_bull[$tab_bull['id_classe']]) && $signature_bull[$tab_bull['id_classe']] != "" && file_exists($signature_bull[$tab_bull['id_classe']])) {
                $fich_sign = $signature_bull[$tab_bull['id_classe']];
                $X_sign = $tab_modele_pdf["X_sign_chef"][$classe_id];
                $Y_sign = $Y_sign_chef_init;
                $largeur_dispo = $tab_modele_pdf["longeur_sign_chef"][$classe_id] - 10;
                $hauteur_dispo = $hauteur_sign_chef_init - 10;
                /*
                echo "\$tab_modele_pdf[\"longeur_sign_chef\"][$classe_id]=".$tab_modele_pdf["longeur_sign_chef"][$classe_id]."<br />\n";
                echo "\$hauteur_sign_chef_init=".$hauteur_sign_chef_init."<br />\n";
                
                $valeur=redimensionne_image($fich_sign, $largeur_dispo, );
                $L_sign = $valeur[0];
                $H_sign = $valeur[1];
                */
                $tmp_dim_photo = getimagesize($fich_sign);
                $ratio_l = $tmp_dim_photo[0] / $largeur_dispo;
                $ratio_h = $tmp_dim_photo[1] / $hauteur_dispo;
                if ($ratio_l > $ratio_h) {
                    $L_sign = $largeur_dispo;
                    $H_sign = $largeur_dispo * $tmp_dim_photo[1] / $tmp_dim_photo[0];
                } else {
                    $H_sign = $hauteur_dispo;
                    $L_sign = $hauteur_dispo * $tmp_dim_photo[0] / $tmp_dim_photo[1];
                }
                /*
                echo "\$X_sign=$X_sign<br />\n";
                echo "\$Y_sign=$Y_sign<br />\n";
                echo "\$L_sign=$L_sign<br />\n";
                echo "\$H_sign=$H_sign<br />\n";
                */
                $X_sign += ($tab_modele_pdf["longeur_sign_chef"][$classe_id] - $L_sign) / 2;
                $Y_sign += ($hauteur_sign_chef_init - $H_sign) / 2;
                $tmp_dim_photo = getimagesize($fich_sign);
                if (isset($tmp_dim_photo[2]) && $tmp_dim_photo[2] == 2) {
                    //$pdf->Image($fich_sign, $X_sign, $Y_sign, $L_sign, $H_sign);
                    $pdf->Image($fich_sign, round($X_sign), round($Y_sign), round($L_sign), round($H_sign));
                }
                //}
            }
            $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->MultiCell($tab_modele_pdf["longeur_sign_chef"][$classe_id], 5, $tab_bull['formule'], 0, 2, '');
                    $pdf->SetX($tab_modele_pdf["X_sign_chef"][$classe_id]);
                }
                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->MultiCell($tab_modele_pdf["longeur_sign_chef"][$classe_id], 5, $tab_bull['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, '');
                //$pdf->ext_MultiCell($tab_modele_pdf["longeur_sign_chef"][$classe_id],5, ("Visa du Chef d'établissement\nou de son délégué"),0,2,'');
            }
        }
        //		}
        // Insertion du relevé de notes si réclamé:
        /*
        if(count($tab_rel)!=0) {
        	releve_pdf($tab_rel,$i);
        }
        */
        if (count($tab_rel) != 0) {
            $temoin_releve_trouve = 'n';
            if (isset($tab_rel['eleve'])) {
                //echo "\$tab_bull['eleve'][$i]['login']="******"<br />";
                //for($k=0;$k<count($tab_rel['eleve']);$k++) {
                //for($k=0;$k<$tab_bull['eff_total_classe'];$k++) {
                for ($k = 0; $k < count($tab_rel['eleve']); $k++) {
                    //echo "\$tab_rel['eleve'][$k]['login']="******"<br />";
                    if (isset($tab_rel['eleve'][$k]['login'])) {
                        if ($tab_rel['eleve'][$k]['login'] == $tab_bull['eleve'][$i]['login']) {
                            releve_pdf($tab_rel, $k);
                            $temoin_releve_trouve = 'y';
                            break;
                        }
                    }
                }
            }
            /*
            else {
            	echo "<p style='color:red;'>Il semble que le tableau des relevés de notes soit vide.</p>\n";
            }
            */
            if ($temoin_releve_trouve == 'n') {
                $pdf->AddPage("P");
                $pdf->SetFontSize(10);
                $pdf->SetXY(20, 20);
                $pdf->SetFont('DejaVu', 'B', 14);
                $pdf->Cell(90, 7, "Relevé de notes non trouvé pour " . my_strtoupper($tab_bull['eleve'][$i]['nom']) . " " . casse_mot($tab_bull['eleve'][$i]['prenom'], 'majf2'), 0, 2, '');
            }
        }
    }
}
コード例 #4
0
ファイル: saisie_notes.php プロジェクト: alhousseyni/gepi
     }
     $mess_note[$i][$k] .= "</td>\n";
     $mess_comment[$i][$k] = "<td class='cn' bgcolor='{$couleur_devoirs}'>";
     if ($current_group["classe"]["ver_periode"][$eleve_id_classe[$i]][$periode_num] == "N" || $acces_exceptionnel_saisie) {
         if (isset($appreciations_import[$current_displayed_line]) and $appreciations_import[$current_displayed_line] != '') {
             $eleve_comment = $appreciations_import[$current_displayed_line];
         }
         $mess_comment[$i][$k] .= "<textarea id=\"n1" . $num_id . "\" onKeyDown=\"clavier(this.id,event);\" name='comment_eleve[{$i}]' rows=1 cols=60 class='wrap' onchange=\"changement()\"";
         if (getSettingValue("gepi_pmv") != "n") {
             $mess_comment[$i][$k] .= " onfocus=\"";
             $sql = "SELECT elenoet FROM eleves WHERE login='******';";
             $res_ele = mysqli_query($GLOBALS["mysqli"], $sql);
             if (mysqli_num_rows($res_ele) > 0) {
                 $lig_ele = mysqli_fetch_object($res_ele);
                 if (nom_photo($lig_ele->elenoet)) {
                     $mess_comment[$i][$k] .= ";affiche_photo('" . nom_photo($lig_ele->elenoet) . "','" . addslashes(my_strtoupper($eleve_nom[$i]) . " " . casse_mot($eleve_prenom[$i], 'majf2')) . "')";
                 } else {
                     $mess_comment[$i][$k] .= ";document.getElementById('div_photo_eleve').innerHTML='';";
                 }
             } else {
                 $mess_comment[$i][$k] .= ";document.getElementById('div_photo_eleve').innerHTML='';";
             }
             $mess_comment[$i][$k] .= "\"";
         }
         $mess_comment[$i][$k] .= ">" . $eleve_comment . "</textarea></td>\n";
     } else {
         $mess_comment[$i][$k] .= $eleve_comment . "</td>\n";
     }
     $mess_comment_pdf[$i][$k] = $eleve_comment;
     $num_id++;
 }
コード例 #5
0
ファイル: saisie_notes_cc.php プロジェクト: rhertzog/lcs
    echo "<input type='text' name='note_eleve[{$i}]' size='4' autocomplete='off' id=\"n" . $num_id . "\" onKeyDown=\"clavier(this.id,event);\" onfocus=\"javascript:this.select()";
    if ($elenoet != "") {
        echo ";affiche_photo('" . nom_photo($elenoet) . "','" . addslashes(my_strtoupper($eleve_nom[$i]) . " " . casse_mot($eleve_prenom[$i], 'majf2')) . "')";
    }
    echo "\" onchange=\"verifcol({$num_id});changement();\" value='";
    if (isset($note_import[$current_displayed_line]) and $note_import[$current_displayed_line] != '') {
        echo $note_import[$current_displayed_line];
    } elseif (isset($note_enr[$eleve_login[$i]])) {
        echo $note_enr[$eleve_login[$i]];
    }
    echo "' />\n";
    "</td>\n";
    echo "<td>\n";
    echo "<textarea id=\"n1" . $num_id . "\" onKeyDown=\"clavier(this.id,event);\" name='comment_eleve[{$i}]' rows='1' cols='60' class='wrap' onfocus=\"javascript:this.select()";
    if ($elenoet != "") {
        echo ";affiche_photo('" . nom_photo($elenoet) . "','" . addslashes(my_strtoupper($eleve_nom[$i]) . " " . casse_mot($eleve_prenom[$i], 'majf2')) . "')";
    }
    echo "\" onchange=\"changement()\">";
    if (isset($commentaire[$eleve_login[$i]])) {
        echo $commentaire[$eleve_login[$i]];
    }
    echo "</textarea>\n";
    "</td>\n";
    echo "</tr>\n";
    $num_id++;
    $i++;
    $current_displayed_line++;
}
echo "</table>\n";
echo "<center><input type='submit' value='Enregistrer' /></center>\n";
echo "<input type='hidden' name='is_posted' value='1' />\n";
コード例 #6
0
ファイル: affiche_listes.php プロジェクト: rhertzog/lcs
					if(in_array($lig->login,$tab_ele)) {
						$tab_ele_toutes_requetes[]=$lig->login;

						$eff_tot_select++;
						if(mb_strtoupper($lig->sexe)=='F') {$eff_tot_select_F++;} else {$eff_tot_select_M++;}

						//$num_eleve2_id_classe_actuelle[$j]=$cpt;

						//$contenu_affichage_requete_courante.="<tr id='tr_eleve_$cpt' class='white_hover'>\n";
						$contenu_affichage_requete_courante.="<tr id='tr_eleve_$cpt' class='white_hover'>\n";
						//onmouseover=\"this.style.backgroundColor='white'\" onmouseout=\"this.style.backgroundColor='$tmp_bgcolor'\"
						$contenu_affichage_requete_courante.="<td>\n";
						$contenu_affichage_requete_courante.="<a name='eleve$cpt'></a>\n";
						if(nom_photo($lig->elenoet)) {
							$contenu_affichage_requete_courante.="<a href='#eleve$cpt' onmouseover=\"affiche_photo('".nom_photo($lig->elenoet)."','".addslashes(mb_strtoupper($lig->nom)." ".ucfirst(mb_strtolower($lig->prenom)))."');afficher_div('div_photo','y',100,100);\" onmouseout=\"cacher_div('div_photo')\" onclick=\"return false;\">";

							$contenu_affichage_requete_courante.=mb_strtoupper($lig->nom)." ".ucfirst(mb_strtolower($lig->prenom));
							$contenu_affichage_requete_courante.="</a>\n";
						}
						else {
							$contenu_affichage_requete_courante.=mb_strtoupper($lig->nom)." ".ucfirst(mb_strtolower($lig->prenom));
						}
						$contenu_affichage_requete_courante.="<input type='hidden' name='eleve[$cpt]' value='$lig->login' />\n";
						$contenu_affichage_requete_courante.="</td>\n";
						$lignes_tab.=mb_strtoupper($lig->nom)." ".ucfirst(mb_strtolower($lig->prenom)).";";

						//===================================
						// Initialisations
						$profil='RAS';
						$moy="-";
コード例 #7
0
ファイル: ajout_abs.php プロジェクト: rhertzog/lcs
				<br />
				<div class="norme_absence_bleu">
					<strong><?php echo classe_de($data_id['login']);
			}?>
					</strong>
				</div>
		<?php
			if ($mode==="classe") { ?>
				<strong><?php echo $data_id['classe']; ?></strong>
				<br /><?php $id_classe = $data_id['id']; ?><br />
		<?php }
			/* if ($mode=="groupe") { ?><strong><?php echo $data_id['nom_groupe']; ?></strong><br /><?php $id_groupe = $data_id['id_groupe']; ?><br /><?php } */
		}
		if (getSettingValue("active_module_trombinoscopes")=='y') {
			$photo = '';
			$photo = nom_photo($id_eleve_photo,"eleves",2);
			if ( $photo === NULL or !file_exists($photo) ) {
				$photo = "../../mod_trombinoscopes/images/trombivide.jpg";
			}
			$valeur=redimensionne_image($photo);
        ?>
			<img src="<?php echo $photo; ?>" style="width: <?php echo $valeur[0]; ?>px; height: <?php echo $valeur[1]; ?>px; border: 0px" alt="" title="" />
			<br />
		<?php
		}
		if ($mode==="eleve")
		{
			$test_dispense = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM ".$prefix_base."absences_eleves WHERE eleve_absence_eleve='".$id_eleve."' AND type_absence_eleve='D'"),0);
			if ($test_dispense != '0')
			{  ?>
				<table class="tableau_info_compt" border="0" cellspacing="0" cellpadding="2">
コード例 #8
0
 echo "<input type='hidden' name='login_ele[{$cpt}]' value='" . $login_ele . "' />\n";
 $nom_prenom_ele = get_nom_prenom_eleve($login_ele);
 if ($acces_visu_eleve) {
     echo "<div style='float:right; width:16px'><a href='../eleves/visu_eleve.php?ele_login="******"&amp;onglet=enseignements' target='_blank'><img src='../images/icons/ele_onglets.png' class='icone16' alt='OngletsEle' /></a></div>";
 }
 /*
 if(isset($eleves_list["users"][$e_login]['elenoet'])) {
 	echo " onmouseover=\"affiche_photo_courante('".nom_photo($eleves_list["users"][$e_login]['elenoet'])."')\" onmouseout=\"vide_photo_courante();\"";
 }
 */
 $chaine_photo = " onmouseover=\"vide_photo_courante()\" onmouseout=\"vide_photo_courante();\"";
 $sql = "SELECT elenoet FROM eleves WHERE login='******';";
 $res_elenoet = mysqli_query($GLOBALS["mysqli"], $sql);
 if (mysqli_num_rows($res_elenoet) > 0) {
     $lig_elenoet = mysqli_fetch_object($res_elenoet);
     $chaine_photo = " onmouseover=\"affiche_photo_courante('" . nom_photo($lig_elenoet->elenoet) . "')\" onmouseout=\"vide_photo_courante();\"";
 }
 if ($acces_eleve_options && ($_SESSION['statut'] == 'administrateur' || $_SESSION['statut'] == 'scolarite' && isset($tmp_tab_class_per_ele['periode'][$num_periode]['id_classe']) && is_scol_classe_ele($_SESSION['login'], $login_ele, $num_periode))) {
     echo "<a href='../classes/eleve_options.php?login_eleve=" . $login_ele . "&id_classe=" . $tmp_tab_class_per_ele['periode'][$num_periode]['id_classe'] . "' target='_blank' title=\"Voir/modifier les inscriptions de cet élève dans un nouvel onglet.\"" . $chaine_photo . ">" . $nom_prenom_ele . "</a>";
 } else {
     echo "<a href='#'" . $chaine_photo . ">" . $nom_prenom_ele . "</a>";
 }
 echo "</td>\n";
 echo "<td>\n";
 echo $tmp_tab_class_ele["liste"];
 echo "</td>\n";
 $nb_grp_ele = 0;
 $info_plusieurs_grp_ele = "";
 $ligne_si_desinscription_possible = "";
 $ligne_si_desinscription_impossible = "";
 $temoin_desinscription_impossible = "n";
コード例 #9
0
				{

            		?><a href="ajout_<?php if($data_avec_motif['type_absence_eleve']=="A") { ?>abs<?php } if ($data_avec_motif['type_absence_eleve']=="R") { ?>ret<?php } if ($data_avec_motif['type_absence_eleve']=="D") { ?>dip<?php } if ($data_avec_motif['type_absence_eleve']=="I") { ?>inf<?php } ?>.php?action=supprimer&amp;type=<?php echo $type; ?>&amp;id=<?php echo $data_avec_motif['id_absence_eleve']; ?>&amp;date_ce_jour=<?php echo $date_ce_jour; ?>" <?php $info_sup = 'du '.date_fr($data_avec_motif['d_date_absence_eleve']).' au '.date_fr($data_avec_motif['a_date_absence_eleve']); ?>onClick="return confirm('Etes-vous sur de vouloir le supprimer <?php if($data_avec_motif['type_absence_eleve']=="A") { ?>l\'absence<?php } if ($data_avec_motif['type_absence_eleve']=="R") { ?>le retard<?php } if ($data_avec_motif['type_absence_eleve']=="D") { ?>la dispence<?php } if ($data_avec_motif['type_absence_eleve']=="I") { ?>le passage à l'infirmerie<?php } ?> <?php echo $info_sup; ?>.')"><img src="../../images/icons/delete.png" style="width: 16px; height: 16px;" title="supprimer <?php if($data_avec_motif['type_absence_eleve']=="A") { ?>l'absence<?php } if ($data_avec_motif['type_absence_eleve']=="R") { ?>le retard<?php } if ($data_avec_motif['type_absence_eleve']=="D") { ?>la dispence<?php } if ($data_avec_motif['type_absence_eleve']=="I") { ?>le passage à l'infirmerie<?php } ?> <?php echo $info_sup; ?>" border="0" alt="" /></a><?php


				} ?>

		<a href="ajout_<?php if($data_avec_motif['type_absence_eleve']=="A") { ?>abs<?php } if($data_avec_motif['type_absence_eleve']=="D") { ?>dip<?php } if($data_avec_motif['type_absence_eleve']=="I") { ?>inf<?php } if ($data_avec_motif['type_absence_eleve']=="R") { ?>ret<?php } ?>.php?action=modifier&amp;type=<?php echo $type; ?>&amp;id=<?php echo $data_avec_motif['id_absence_eleve']; ?>&amp;mode=eleve"><img src="../../images/icons/saisie.png" style="width: 16px; height: 16px;" title="modifier <?php if($data_avec_motif['type_absence_eleve']=="A") { ?>l'absence<?php } if ($data_avec_motif['type_absence_eleve']=="R") { ?>le retard<?php } if ($data_avec_motif['type_absence_eleve']=="D") { ?>la dispence<?php } if ($data_avec_motif['type_absence_eleve']=="I") { ?>le passage à l'infirmerie<?php } ?>" border="0" alt="" /></a>
		<a href="gestion_absences.php?select_fiche_eleve=<?php echo $data_avec_motif['login']; ?>" title="consulter la fiche de l'élève"><?php echo "<b>".strtoupper($data_avec_motif['nom'])."</b> ".ucfirst($data_avec_motif['prenom']) . " (" . $data_avec_motif['regime'] . ") (" . classe_de($data_avec_motif['login']) . " )"; ?></a>

		</td>
		<td class="<?php echo $couleur_cellule; ?>">
<?php
			if ((getSettingValue("active_module_trombinoscopes")=='y') and ($photo=="avec_photo")) {
				$nom_photo = '';
				$nom_photo = nom_photo($data_avec_motif['elenoet'],"eleves",2);
        		$photos = $nom_photo;
				//if ( $nom_photo === '' or !file_exists($photo) ) { $photos = "../../mod_trombinoscopes/images/trombivide.jpg"; }
				if ( $nom_photo === NULL or !file_exists($photos) ) { $photos = "../../mod_trombinoscopes/images/trombivide.jpg"; }
				$valeur = redimensionne_image($photos);
?>
			<img src="<?php echo $photos; ?>" style="width: <?php echo $valeur[0]; ?>px; height: <?php echo $valeur[1]; ?>px; border: 0px" alt="" title="" /></td>
<?php
			}
?>
		</td>
	</tr>
<?php
			$total = $total + 1;

		} // fin du while
コード例 #10
0
ファイル: mon_compte.php プロジェクト: rhertzog/lcs
			$sql="SELECT elenoet FROM eleves WHERE login='******'login']."';";
			$res_elenoet=mysqli_query($GLOBALS["mysqli"], $sql);
			if(mysqli_num_rows($res_elenoet)==0) {
				echo "</td></tr></table>\n";
				echo "<p><b>ERREUR !</b> Votre statut d'élève ne semble pas être confirmé dans la table 'eleves'.</p>\n";
				// A FAIRE
				// AJOUTER UNE ALERTE INTRUSION
				require("../lib/footer.inc.php");
				die();
			}
			$lig_tmp_elenoet=mysqli_fetch_object($res_elenoet);
			$reg_no_gep=$lig_tmp_elenoet->elenoet;

			if($reg_no_gep!="") {
				// Récupération du nom de la photo en tenant compte des histoires des zéro 02345.jpg ou 2345.jpg
				$photo=nom_photo($reg_no_gep);

				//echo "<td align='center'>\n";
				$temoin_photo="non";
				//if("$photo"!="") {
				if($photo) {
					if(file_exists($photo)) {
						$temoin_photo="oui";
						// la photo sera réduite si nécessaire
						$dimphoto=dimensions_affichage_photo($photo,getSettingValue('l_max_aff_trombinoscopes'),getSettingValue('h_max_aff_trombinoscopes'));
						echo "<div>\n";




						echo '<img src="'.$photo.'" style="width: '.$dimphoto[0].'px; height: '.$dimphoto[1].'px; border: 0px;" alt="Ma photo" />';
コード例 #11
0
ファイル: popup.php プロジェクト: rhertzog/lcs
     echo "{$lig_eleve->nom} {$lig_eleve->prenom}";
     echo "</a>";
 } else {
     echo "{$lig_eleve->nom} {$lig_eleve->prenom}";
 }
 //echo "<br />\n";
 echo "</td>\n";
 echo "<td>{$lig_eleve->classe}</td>\n";
 /*
 
 				echo "</td>\n";
 */
 if ($avec_details == 'y') {
     if (getSettingValue('active_module_trombinoscopes') == 'y') {
         echo "<td>\n";
         $_photo_eleve = nom_photo($lig_eleve->elenoet);
         if ($_photo_eleve != '') {
             echo "<a href='#' onclick=\"document.getElementById('div_photo_eleve_contenu_corps').innerHTML='<div align=\\'center\\'><img src=\\'{$_photo_eleve}\\' width=\\'150\\' /></div>';afficher_div('div_photo_eleve','y',-100,20); return false;\"><img src='../images/icons/buddy.png' alt=\"{$lig_eleve->nom} {$lig_eleve->prenom}\"></a>\n";
         } else {
             echo "&nbsp;";
         }
         echo "</td>\n";
     }
     echo "<td>\n";
     if ($lien_visu_eleve == "y") {
         echo "<a href='../eleves/visu_eleve.php?ele_login={$lig_eleve->login}&amp;cacher_header=y' title='Accéder à la consultation élève' style='text-decoration:none; color:black;'>" . affiche_date_naissance($lig_eleve->naissance) . "</a>";
     } else {
         echo affiche_date_naissance($lig_eleve->naissance);
     }
     echo "</td>\n";
 }
コード例 #12
0
ファイル: visu_eleve.inc.php プロジェクト: rhertzog/lcs
 echo "<a href='mailto:" . $tab_ele['email'] . "?subject=" . getSettingValue('gepiPrefixeSujetMail') . "GEPI&amp;body=";
 if ($tmp_date['hours'] >= 18) {
     echo "Bonsoir";
 } else {
     echo "Bonjour";
 }
 echo ",%0d%0aCordialement.'>";
 echo $tab_ele['email'];
 echo "</a>";
 echo "</td></tr>\n";
 //echo "<tr><th>:</th><td>".$tab_ele['']."</td></tr>\n";
 echo "</table>\n";
 echo "</td>\n";
 if ($active_module_trombinoscopes == "y") {
     echo "<td valign='top'>\n";
     $photo = nom_photo($tab_ele['elenoet']);
     if ($photo) {
         if (file_exists($photo)) {
             $dimphoto = redimensionne_image_releve($photo);
             echo '<img src="' . $photo . '" style="width: ' . $dimphoto[0] . 'px; height: ' . $dimphoto[1] . 'px; border: 0px; border-right: 3px solid #FFFFFF; float: left;" alt="" />' . "\n";
         }
     }
     echo "</td>\n";
 }
 echo "</tr>\n";
 echo "</table>\n";
 if (isset($tab_ele['etab_id'])) {
     if ($tab_ele['etab_id'] != '990') {
         if ($RneEtablissement != $tab_ele['etab_id']) {
             echo "<p>Etablissement d'origine : ";
             echo $tab_ele['etab_niveau_nom'] . " " . $tab_ele['etab_type'] . " " . $tab_ele['etab_nom'] . " (" . $tab_ele['etab_cp'] . " " . $tab_ele['etab_ville'] . ")\n";
コード例 #13
0
ファイル: edit_eleves.php プロジェクト: alhousseyni/gepi
 if ($new_classe != $prev_classe and $order_by == "classe" and $multiclasses) {
     echo "<tr style='background-color: #CCCCCC;'>\n";
     echo "<td colspan='3' style='padding: 5px; font-weight: bold;'>";
     echo "Classe de : " . $eleves_list["users"][$e_login]["classe"];
     echo "</td>\n";
     foreach ($current_group["periodes"] as $period) {
         echo "<td>&nbsp;</td>\n";
     }
     echo "<td>&nbsp;</td>\n";
     echo "</tr>\n";
     $prev_classe = $new_classe;
 }
 $alt = $alt * -1;
 echo "<tr id='tr_{$num_eleve}' class='lig{$alt} white_hover'";
 if (isset($eleves_list["users"][$e_login]['elenoet'])) {
     echo " onmouseover=\"affiche_photo_courante('" . nom_photo($eleves_list["users"][$e_login]['elenoet']) . "')\" onmouseout=\"vide_photo_courante();\"";
 }
 echo ">\n";
 if (array_key_exists($e_login, $eleves_list["users"])) {
     /*
     echo "<td>" . $eleves_list["users"][$e_login]["prenom"] . " " .
     	$eleves_list["users"][$e_login]["nom"] .
     	"</td>";
     */
     echo "<td>";
     if ($acces_eleve_options == "y") {
         echo "<a href='../classes/eleve_options.php?login_eleve={$e_login}&id_classe=" . $eleves_list["users"][$e_login]['id_classe'] . "' title=\"Consulter les matières suivies par " . $eleves_list["users"][$e_login]["nom"] . " " . $eleves_list["users"][$e_login]["prenom"] . " en classe de " . $eleves_list["users"][$e_login]["classe"] . "\"";
         echo " onclick=\"return confirm_abandon (this, change, '{$themessage}')\"";
         echo ">";
         echo $eleves_list["users"][$e_login]["nom"];
         echo " ";
コード例 #14
0
 $elenoet_eleve[$cpt_i] = $donner['elenoet'];
 $ele_id_eleve[$cpt_i] = $donner['ele_id'];
 $nom_eleve[$cpt_i] = $donner['nom'];
 $prenom_eleve[$cpt_i] = $donner['prenom'];
 $sexe[$cpt_i] = $donner['sexe'];
 if ($sexe[$cpt_i] == "M") {
     $date_naissance[$cpt_i] = 'Né le ' . date_fr($donner['naissance']);
 } else {
     $date_naissance[$cpt_i] = 'Née le ' . date_fr($donner['naissance']);
 }
 $INE_eleve[$cpt_i] = $donner['no_gep'];
 //echo "\$INE_eleve[$cpt_i]=$INE_eleve[$cpt_i]<br />";
 $classe_tableau_id[$cpt_i] = $donner['id'];
 $classe_nomlong[$cpt_i] = $donner['nom_complet'];
 $classe_nomcour[$cpt_i] = $donner['classe'];
 $tmp_photo = nom_photo(my_strtolower($donner['elenoet']));
 //if("$tmp_photo"!=""){
 if ($tmp_photo) {
     $photo[$cpt_i] = $tmp_photo;
 } else {
     $photo[$cpt_i] = "";
 }
 $doublement[$cpt_i] = '';
 if ($donner['doublant'] === 'R') {
     if ($sexe[$cpt_i] === 'M') {
         $doublement[$cpt_i] = 'doublant';
     } else {
         $doublement[$cpt_i] = 'doublante';
     }
 }
 if ($donner['regime'] === 'd/p') {
コード例 #15
0
ファイル: plan_de_classe.php プロジェクト: rhertzog/lcs
//echo "<br />";
//echo "<a href='javascript:decale_photos(10,0)'>Clic</a>";

echo "</div>\n";

echo add_token_field();
echo "<input type='hidden' name='dim_photo_$id_groupe' value='$dim_photo' />\n";

$chaine_affichage_div="";
$unite_div_infobulle="px";
$chaine_login_ele="";

$repertoire="eleves";
while($lig=mysqli_fetch_object($res)) {

	$nom_photo = nom_photo($lig->elenoet,$repertoire);
	$photo = $nom_photo;

	$alt_nom_prenom_aff=mb_strtoupper($lig->nom)." ".casse_mot($lig->prenom,'majf2');

	if (($nom_photo) and (file_exists($photo))) {
		$info_image = getimagesize($photo);
		// largeur et hauteur de l'image d'origine
		$largeur = $info_image[0];
		$hauteur = $info_image[1];

		if($largeur>$hauteur) {$dif_ref=$largeur;}
		else {$dif_ref=$hauteur;}
		$ratio=$dif_ref/$dim_photo;

		// définit largeur et hauteur pour la nouvelle image
コード例 #16
0
ファイル: fiche_eleve.php プロジェクト: rhertzog/lcs
              $nom_eleve = strtoupper($data_liste_fiche['nom']);
              $prenom_eleve = ucfirst($data_liste_fiche['prenom']);
              $naissance_eleve = date_frl(date_sql(affiche_date_naissance($data_liste_fiche['naissance'])));
              $date_de_naissance = $data_liste_fiche['naissance'];
              $sexe_eleve = $data_liste_fiche['sexe'];
		$responsable_eleve = tel_responsable($ele_id_eleve);
          }

    ?>

<div class="couleur_ligne_3" style="width: 500px; height: 135px; margin: auto; border: solid 2px #2F4F4F;">
	<div style="background-image: url(../images/haut_tab.png); font-size: 120%; font-weight: bold; color: #E8F1F4; text-align: left;">Identité élève</div>
	<div style="width: 90px; float: right; padding: 2px; text-align: center;">
		<?php
		if ( getSettingValue("active_module_trombinoscopes")=='y' ) {
		$nom_photo = nom_photo($select_fiche_eleve_photo,"eleves",2);
	             $photos = $nom_photo;
	                // if (($nom_photo == "") or (!(file_exists($photos)))) { $photos = "../../mod_trombinoscopes/images/trombivide.jpg"; }
	                 if (($nom_photo==NULL) or (!(file_exists($photos)))) { $photos = "../../mod_trombinoscopes/images/trombivide.jpg"; }
			       $valeur=redimensionne_image($photos);
	                 ?><img src="<?php echo $photos; ?>" style="width: <?php echo $valeur[0]; ?>px; height: <?php echo $valeur[1]; ?>px; border: 0px" alt="" title="" /><?php
	             }
		?>
	</div>
	<div style="text-align: left; margin: 2px;">
		Nom : <?php echo $nom_eleve; ?><br />
		Prénom : <?php echo $prenom_eleve; ?><br />
		Date de naissance : <?php echo $naissance_eleve; ?><br />
		Age : <?php echo age($date_de_naissance); ?> ans <br /><br />
		Classe : <?php echo classe_de($login_eleve); ?> (Suivi par : <?php echo pp(classe_court_de($login_eleve)); ?>)
	</div>
コード例 #17
0
ファイル: visu_ele_func.lib.php プロジェクト: rhertzog/lcs
function releve_html($tab_rel, $id_classe, $num_periode, $index_per)
{
    global $gepi_prof_suivi, $RneEtablissement, $gepiSchoolName, $gepiSchoolAdress1, $gepiSchoolAdress2, $gepiSchoolZipCode, $gepiSchoolCity, $gepiSchoolPays, $gepiSchoolTel, $gepiSchoolFax, $gepiYear, $releve_body_marginleft, $releve_largeurtableau, $releve_col_matiere_largeur, $releve_cellpadding, $releve_cellspacing, $releve_ecart_entete, $releve_class_bordure, $releve_categ_font_size, $releve_categ_bgcolor, $genre_periode, $releve_affich_nom_etab, $releve_affich_adr_etab, $releve_mention_nom_court, $releve_mention_doublant, $releve_affiche_eleve_une_ligne, $releve_affiche_numero, $releve_affiche_etab, $activer_photo_releve, $releve_affiche_tel, $releve_affiche_fax, $releve_intitule_app, $releve_affiche_INE_eleve, $releve_affiche_formule, $releve_formule_bas, $fichier_bulletin, $min_max_moyclas, $releve_addressblock_padding_right, $releve_addressblock_padding_top, $releve_addressblock_padding_text, $releve_addressblock_length, $releve_addressblock_font_size, $releve_addressblock_logo_etab_prop, $releve_addressblock_autre_prop, $releve_addressblock_classe_annee2, $releve_ecart_bloc_nom, $releve_addressblock_debug, $un_seul_bull_par_famille, $type_etablissement, $type_etablissement2, $active_module_trombinoscopes;
    // Récupérer avant le nombre de bulletins à imprimer
    // - que le premier resp
    // - tous les resp si adr différentes
    // et le passer via global
    //================================
    //echo "\$choix_periode=$choix_periode<br />";
    $choix_periode = "periode";
    $chaine_coef = "coef.:";
    // Pour n'imprimer qu'un relevé dans le cas où on n'imprime pas les adresses des responsables
    $nb_releves = 1;
    /*
    // Tableau contenant le nom de la classe, l'année et la période.
    echo "<table width='".$releve_addressblock_autre_prop."%' ";
    echo "cellspacing='".$releve_cellspacing."' cellpadding='".$releve_cellpadding."'>\n";
    echo "<tr>\n";
    echo "<td class='releve_empty'>\n";
    echo "&nbsp;\n";
    echo "</td>\n";
    echo "<td style='width:".$releve_addressblock_classe_annee2."%;'>\n";
    echo "<p class='bulletin' align='center'><span class=\"releve_grand\">Classe de ".$tab_rel['periodes'][$index_per]['nom_complet']."<br />Année scolaire ".$gepiYear."</span><br />\n";
    
    echo "<b>".$tab_rel['periodes'][$index_per]['nom_periode']."</b> : Relevé de notes";
    
    echo "</td>\n";
    echo "</tr>\n";
    echo "</table>\n";
    
    echo "<hr />";
    */
    /*
    echo "<pre>";
    print_r($tab_rel);
    echo "</pre>";
    */
    echo "<table width='{$releve_largeurtableau}' border='0' cellspacing='" . $releve_cellspacing . "' cellpadding='" . $releve_cellpadding . "' summary='Relevé de notes'>\n";
    echo "<tr>\n";
    echo "<td style=\"width: 30%;\">\n";
    if ($activer_photo_releve == 'y' and $active_module_trombinoscopes == 'y') {
        $photo = nom_photo($tab_rel['elenoet']);
        if ($photo) {
            if (file_exists($photo)) {
                $dimphoto = redimensionne_image_releve($photo);
                echo '<img src="' . $photo . '" style="width: ' . $dimphoto[0] . 'px; height: ' . $dimphoto[1] . 'px; border: 0px; border-right: 3px solid #FFFFFF; float: left;" alt="" />' . "\n";
            }
        }
    }
    //affichage des données sur une seule ligne ou plusieurs
    if ($releve_affiche_eleve_une_ligne == 'no') {
        // sur plusieurs lignes
        echo "<p class='bulletin'>\n";
        echo "<b><span class=\"releve_grand\">" . $tab_rel['nom'] . " " . $tab_rel['prenom'] . "</span></b><br />";
        echo "Né";
        if (my_strtoupper($tab_rel['sexe']) == "F") {
            echo "e";
        }
        echo "&nbsp;le&nbsp;" . $tab_rel['naissance'];
        //Eric Ajout
        echo "<br />";
        if ($tab_rel['regime'] == "d/p") {
            echo "Demi-pensionnaire";
        }
        if ($tab_rel['regime'] == "ext.") {
            echo "Externe";
        }
        if ($tab_rel['regime'] == "int.") {
            echo "Interne";
        }
        if ($tab_rel['regime'] == "i-e") {
            echo "Interne&nbsp;externé";
            if (my_strtoupper($tab_rel['sexe']) != "F") {
                echo "e";
            }
        }
        //Eric Ajout
        if ($releve_mention_doublant == 'yes') {
            if ($tab_rel['doublant'] == 'R') {
                echo "<br />";
                echo "Redoublant";
                if (my_strtoupper($tab_rel['sexe']) != "F") {
                    echo "e";
                }
            }
        }
        if ($releve_mention_nom_court == 'no') {
            //Eric Ajout et supp
            //echo "<BR />";
            //echo ", $current_classe";
        } else {
            echo "<br />";
            echo $tab_rel['periodes'][$index_per]['classe'];
        }
    } else {
        //sur une ligne
        echo "<p class='bulletin'>\n";
        echo "<b><span class=\"releve_grand\">" . $tab_rel['nom'] . " " . $tab_rel['prenom'] . "</span></b><br />";
        echo "Né";
        if (my_strtoupper($tab_rel['sexe']) == "F") {
            echo "e";
        }
        echo "&nbsp;le&nbsp;" . $tab_rel['naissance'];
        if ($tab_rel['regime'] == "d/p") {
            echo ", Demi-pensionnaire";
        }
        if ($tab_rel['regime'] == "ext.") {
            echo ", Externe";
        }
        if ($tab_rel['regime'] == "int.") {
            echo ", Interne";
        }
        if ($tab_rel['regime'] == "i-e") {
            echo ", Interne&nbsp;externé";
            if (my_strtoupper($tab_rel['sexe']) != "F") {
                echo "e";
            }
        }
        //Eric Ajout
        if ($releve_mention_doublant == 'yes') {
            if ($tab_rel['doublant'] == 'R') {
                echo ", Redoublant";
                if (my_strtoupper($tab_rel['sexe']) != "F") {
                    echo "e";
                }
            }
        }
        if ($releve_mention_nom_court == 'yes') {
            echo ", " . $tab_rel['periodes'][$index_per]['classe'];
        }
    }
    if ($releve_affiche_INE_eleve == "y") {
        echo "<br />\n";
        echo "Numéro INE: " . $tab_rel['no_gep'];
    }
    if ($releve_affiche_etab == "y") {
        if (isset($tab_rel['etab_nom']) && $tab_rel['etab_nom'] != '') {
            echo "<br />\n";
            if ($tab_rel['etab_id'] != '990') {
                if ($RneEtablissement != $tab_rel['etab_id']) {
                    echo "Etablissement d'origine : ";
                    echo $tab_rel['etab_niveau_nom'] . " " . $tab_rel['etab_type'] . " " . $tab_rel['etab_nom'] . " (" . $tab_rel['etab_cp'] . " " . $tab_rel['etab_ville'] . ")\n";
                }
            } else {
                echo "Etablissement d'origine : ";
                echo "hors de France\n";
            }
        }
    }
    echo "</p></td>\n<td style=\"width: 40%;text-align: center;\">\n";
    echo "<p class='bulletin'><span class=\"releve_grand\">Classe de " . $tab_rel['periodes'][$index_per]['nom_complet'] . "<br />Année scolaire " . $gepiYear . "</span><br />\n";
    echo "<b>" . $tab_rel['periodes'][$index_per]['nom_periode'] . "</b> : Relevé de notes";
    echo "</p>\n";
    /*
    $nom_fic_logo = $logo_etab;
    $nom_fic_logo_c = "../images/".$nom_fic_logo;
    if (($nom_fic_logo != '') and (file_exists($nom_fic_logo_c))) {
    	echo "</td>\n<td style=\"text-align: right;\"><img src=\"".$nom_fic_logo_c."\" border=\"0\" alt=\"Logo\" />";
    } else {
    */
    echo "</td>\n<td>&nbsp;";
    //}
    echo "</td>\n";
    echo "<td style=\"width: 20%;text-align: center;\">";
    echo "<p class='bulletin'>";
    if ($releve_affich_nom_etab == "y") {
        echo "<span class=\"releve_grand\">" . $gepiSchoolName . "</span>";
    }
    if ($releve_affich_adr_etab == "y") {
        //echo "<span class=\"releve_grand\">".$gepiSchoolName."</span>";
        if ($releve_affich_nom_etab == "y") {
            echo "<br />\n";
        }
        echo $gepiSchoolAdress1 . "<br />\n";
        echo $gepiSchoolAdress2 . "<br />\n";
        echo $gepiSchoolZipCode . " " . $gepiSchoolCity;
        if ($releve_affiche_tel == "y") {
            echo "<br />\nTel: " . $gepiSchoolTel;
        }
        if ($releve_affiche_fax == "y") {
            echo "<br />\nFax: " . $gepiSchoolFax;
        }
    }
    echo "</p>\n";
    echo "</td>\n</tr>\n</table>\n";
    // On rajoute des lignes vides
    $n = 0;
    while ($n < $releve_ecart_entete) {
        echo "<br />";
        $n++;
    }
    //=============================================
    // Tableau des matieres/devoirs/notes/appréciations
    //include ($fichier_bulletin);
    // On initialise le tableau :
    if (!isset($tab_rel['periodes'][$index_per]['groupes'])) {
        echo "<p>L'élève n'a aucune note sur cette période.</p>\n";
    } else {
        $larg_tab = $releve_largeurtableau;
        $larg_col1 = $releve_col_matiere_largeur;
        $larg_col2 = $larg_tab - $larg_col1;
        echo "<table width=\"{$larg_tab}\" class='boireaus' border='1' cellspacing='3' cellpadding='3' summary='Matières/notes/appréciations'>\n";
        //echo "<table width=\"$larg_tab\"$releve_class_bordure border='1' cellspacing='3' cellpadding='3'>\n";
        echo "<tr>\n";
        echo "<td width=\"{$larg_col1}\" class='releve'><b>Matière</b><br /><i>Professeur</i></td>\n";
        echo "<td width=\"{$larg_col2}\" class='releve'>Notes sur 20</td>\n";
        echo "</tr>\n";
        // Boucle groupes
        $j = 0;
        $prev_cat_id = null;
        $alt = 1;
        while ($j < count($tab_rel['periodes'][$index_per]['groupes'])) {
            /*
            $sql="SELECT 1=1 FROM j_groupes_visibilite WHERE id_groupe='".$tab_rel['periodes'][$index_per]['groupes'][$j]['id_groupe']."' AND domaine='bulletins' AND visible='n';";
            $test_visibilite=mysql_query($sql);
            if(mysql_num_rows($test_visibilite)>0) {
            */
            $index_grp = -1;
            for ($loop = 0; $loop < count($tab_rel['groupes']); $loop++) {
                //echo "<tr><td>".$tab_rel['groupes'][$loop]['id_groupe']."</td><td>".$tab_rel['periodes'][$index_per]['groupes'][$j]['id_groupe']."</td></tr>";
                if ($tab_rel['groupes'][$loop]['id_groupe'] == $tab_rel['periodes'][$index_per]['groupes'][$j]['id_groupe']) {
                    $index_grp = $loop;
                    break;
                }
            }
            if ($tab_rel['periodes'][$index_per]['affiche_categories']) {
                // On regarde si on change de catégorie de matière
                //echo "<tr><td>\$tab_rel['periodes'][$index_per]['groupes'][$index_grp]['name']=".$tab_rel['periodes'][$index_per]['groupes'][$index_grp]['name']."<br />\$tab_rel['periodes'][$index_per]['groupes'][$index_grp]['id_cat']=".$tab_rel['periodes'][$index_per]['groupes'][$index_grp]['id_cat']."</td><td>$prev_cat_id</td></tr>\n";
                //if ($tab_rel['periodes'][$index_per]['groupes'][$index_grp]['id_cat'] != $prev_cat_id) {
                if ($tab_rel['periodes'][$index_per]['groupes'][$j]['id_cat'] != $prev_cat_id) {
                    //$prev_cat_id = $tab_rel['periodes'][$index_per]['groupes'][$index_grp]['id_cat'];
                    $prev_cat_id = $tab_rel['periodes'][$index_per]['groupes'][$j]['id_cat'];
                    echo "<tr>\n";
                    echo "<td colspan='2'>\n\n";
                    //echo "<p style='padding: 0; margin:0; font-size: 10px;'>".$tab_rel['categorie'][$prev_cat_id]."</p>\n";
                    echo "<p style='padding: 0; margin:0; font-size: " . $releve_categ_font_size . "px;";
                    if ($releve_categ_bgcolor != "") {
                        echo "background-color:{$releve_categ_bgcolor};";
                    }
                    //echo "'>".$tab_rel['categorie'][$prev_cat_id]."</p>\n";
                    echo "'>" . $tab_rel['periodes'][$index_per]['groupes'][$j]['cat_nom_complet'] . "</p>\n";
                    echo "</td>\n";
                    echo "</tr>\n";
                }
            }
            $alt = $alt * -1;
            echo "<tr class='lig{$alt}'>\n";
            echo "<td class='releve'>\n";
            echo "<b>" . htmlspecialchars($tab_rel['periodes'][$index_per]['groupes'][$j]['matiere_nom_complet']) . "</b>";
            $k = 0;
            $nbre_professeurs = isset($tab_rel['groupes'][$index_grp]['prof']) ? count($tab_rel['groupes'][$index_grp]['prof']) : NULL;
            while ($k < $nbre_professeurs) {
                echo "<br /><i>" . affiche_utilisateur(htmlspecialchars($tab_rel['groupes'][$index_grp]['prof'][$k]['prof_login']), $id_classe) . "</i>";
                $k++;
            }
            echo "</td>\n";
            echo "<td class='releve' style='text-align:left;'>\n";
            // Boucle sur la liste des devoirs
            if (!isset($tab_rel['periodes'][$index_per]['groupes'][$j]['devoir'])) {
                echo "&nbsp;";
            } else {
                $m = 0;
                $tiret = "no";
                while ($m < count($tab_rel['periodes'][$index_per]['groupes'][$j]['devoir'])) {
                    // Note de l'élève sur le devoir:
                    $eleve_note = $tab_rel['periodes'][$index_per]['groupes'][$j]['devoir'][$m]['note'];
                    // Statut de l'élève sur le devoir:
                    $eleve_statut = $tab_rel['periodes'][$index_per]['groupes'][$j]['devoir'][$m]['statut'];
                    // Appréciation de l'élève sur le devoir:
                    $eleve_app = $tab_rel['periodes'][$index_per]['groupes'][$j]['devoir'][$m]['app'];
                    // Le professeur a-t-il autorisé l'accès à l'appréciation lors de la saisie du devoir
                    $eleve_display_app = $tab_rel['periodes'][$index_per]['groupes'][$j]['devoir'][$m]['display_app'];
                    // Nom court du devoir:
                    $eleve_nom_court = $tab_rel['periodes'][$index_per]['groupes'][$j]['devoir'][$m]['nom_court'];
                    // Date du devoir:
                    $eleve_date = $tab_rel['periodes'][$index_per]['groupes'][$j]['devoir'][$m]['date'];
                    // Coef du devoir:
                    $eleve_coef = $tab_rel['periodes'][$index_per]['groupes'][$j]['devoir'][$m]['coef'];
                    //note sur
                    $eleve_note_sur = $tab_rel['periodes'][$index_per]['groupes'][$j]['devoir'][$m]['note_sur'];
                    //==========================================
                    // On teste s'il y aura une "Note" à afficher
                    if ($eleve_statut != '' and $eleve_statut != 'v') {
                        $affiche_note = $eleve_statut;
                    } elseif ($eleve_statut == 'v') {
                        $affiche_note = "";
                    } elseif ($eleve_note != '') {
                        $affiche_note = $eleve_note;
                        //if(getSettingValue("note_autre_que_sur_referentiel")=="V" || $snnote['note_sur']!=getSettingValue("referentiel_note")) {
                        if (getSettingValue("note_autre_que_sur_referentiel") == "V" || isset($snnote['note_sur']) && $snnote['note_sur'] != getSettingValue("referentiel_note")) {
                            $affiche_note .= "/" . $eleve_note_sur;
                        }
                    } else {
                        $affiche_note = "";
                    }
                    //==========================================
                    // Nom du devoir ou pas
                    if ($tab_rel['rn_app'] == "y" and $eleve_display_app == "1") {
                        if ($affiche_note == "") {
                            if ($tab_rel['rn_nomdev'] != "y") {
                                $affiche_note = $eleve_nom_court;
                            } else {
                                $affiche_note = "&nbsp;";
                            }
                        }
                    }
                    // Si une "Note" doit être affichée
                    if ($affiche_note != '') {
                        if ($tiret == "yes") {
                            if ($tab_rel['rn_app'] == "y" or $tab_rel['rn_nomdev'] == "y") {
                                echo "<br />";
                            } else {
                                echo " - ";
                            }
                        }
                        if ($tab_rel['rn_nomdev'] == "y") {
                            echo "{$eleve_nom_court}: <b>" . $affiche_note . "</b>";
                        } else {
                            echo "<b>" . $affiche_note . "</b>";
                        }
                        // Coefficient (si on affiche tous les coef...
                        // ou si on ne les affiche que s'il y a plusieurs coef différents)
                        //if(($tab_rel['rn_toutcoefdev']=="y")||
                        //	(($tab_rel['rn_coefdev_si_diff']=="y")&&($tab_rel['groupes'][$j]['differents_coef']=="y"))) {
                        if ($tab_rel['rn_toutcoefdev'] == "y" || $tab_rel['rn_coefdev_si_diff'] == "y" && $tab_rel['periodes'][$index_per]['groupes'][$j]['differents_coef'] == "y") {
                            echo " (<i><small>" . $chaine_coef . $eleve_coef . "</small></i>)";
                        }
                        // Si on a demandé à afficher les appréciations
                        // et si le prof a coché l'autorisation d'accès à l'appréciations
                        if ($tab_rel['rn_app'] == "y" and $eleve_display_app == "1") {
                            echo " - Appréciation : ";
                            if ($eleve_app != "") {
                                echo $eleve_app;
                            } else {
                                echo "-";
                            }
                        }
                        if ($tab_rel['rn_datedev'] == "y") {
                            // Format: 2006-09-28 00:00:00
                            $tmpdate = explode(" ", $eleve_date);
                            $tmpdate = explode("-", $tmpdate[0]);
                            echo " (<i><small>{$tmpdate['2']}/{$tmpdate['1']}/{$tmpdate['0']}</small></i>)";
                        }
                        //====================================================================
                        // Après un tour avec affichage dans la boucle:
                        $tiret = "yes";
                    }
                    $m++;
                }
            }
            echo "</td>\n";
            echo "</tr>\n";
            //}
            $j++;
        }
        echo "</table>\n";
    }
    //=============================================
    //================================
    if ($tab_rel['rn_sign_chefetab'] == 'y' || $tab_rel['rn_sign_pp'] == 'y' || $tab_rel['rn_sign_resp'] == 'y') {
        $nb_cases = 0;
        if ($tab_rel['rn_sign_chefetab'] == 'y') {
            $nb_cases++;
        }
        if ($tab_rel['rn_sign_pp'] == 'y') {
            $nb_cases++;
        }
        if ($tab_rel['rn_sign_resp'] == 'y') {
            $nb_cases++;
        }
        $largeur_case = round($releve_largeurtableau / $nb_cases);
        echo "<table{$releve_class_bordure} border='1' width='{$releve_largeurtableau}' summary='Signatures'>\n";
        echo "<tr>\n";
        if ($tab_rel['rn_sign_chefetab'] == 'y') {
            echo "<td width='{$largeur_case}'>\n";
            echo "<b>Signature du chef d'établissement:</b>";
            for ($m = 0; $m < $tab_rel['rn_sign_nblig']; $m++) {
                echo "<br />\n";
            }
            echo "</td>\n";
        }
        if ($tab_rel['rn_sign_pp'] == 'y') {
            echo "<td width='{$largeur_case}'>\n";
            echo "<b>Signature du " . $gepi_prof_suivi . ":</b>";
            for ($m = 0; $m < $tab_rel['rn_sign_nblig']; $m++) {
                echo "<br />\n";
            }
            echo "</td>\n";
        }
        if ($tab_rel['rn_sign_resp'] == 'y') {
            echo "<td width='{$largeur_case}'>\n";
            echo "<b>Signature des responsables:</b>";
            for ($m = 0; $m < $tab_rel['rn_sign_nblig']; $m++) {
                echo "<br />\n";
            }
            echo "</td>\n";
        }
        echo "</tr>\n";
        echo "</table>\n";
    }
    if ($tab_rel['rn_formule'] != "") {
        echo "<p>" . htmlspecialchars($tab_rel['rn_formule']) . "</p>\n";
    }
    //================================
    //================================
    // Affichage de la formule de bas de page
    if ($releve_formule_bas != '' and $releve_affiche_formule == 'y') {
        // Pas d'affichage dans le cas d'un bulletin d'une période "examen blanc"
        echo "<table width='{$releve_largeurtableau}' style='margin-left:5px; margin-right:5px;' border='0' cellspacing='" . $releve_cellspacing . "' cellpadding='" . $releve_cellpadding . "' summary='Formule de bas de page'>\n";
        echo "<tr>";
        echo "<td><p align='center' class='bulletin'>" . $releve_formule_bas . "</p></td>\n";
        echo "</tr></table>";
    }
    //================================
}
コード例 #18
0
ファイル: alert_suivi.php プロジェクト: rhertzog/lcs
					$responsable_eleve = tel_responsable($ele_id_eleve);

					// l'alert
					$date_debut_alert = $donnee_alert_eleve['date_alert_eleve'];
					$groupe_alert = $donnee_alert_eleve['groupe_alert_eleve'];
					$nb_compte = $donnee_alert_eleve['nb_trouve'];
					$etat_alert_eleve = $donnee_alert_eleve['etat_alert_eleve'];
					$etatpar_alert_eleve = $donnee_alert_eleve['etatpar_alert_eleve'];
				}
			?>
		<a name="ea"></a>

			<div style="width: 90px; float: right; padding: 2px; text-align: center;">
			<?php
			if ( getSettingValue("active_module_trombinoscopes")=='y' ) {
			    $nom_photo = nom_photo($elenoet_eleve,"eleves",2);
			    if ($nom_photo != NULL) $photos = $nom_photo;
			    //if ((!(file_exists($photos))) or ($nom_photo == "")) { $photos = "../../mod_trombinoscopes/images/trombivide.jpg"; }
			    if ((!(file_exists($photos))) or ($nom_photo == NULL)) { $photos = "../../mod_trombinoscopes/images/trombivide.jpg"; }
			    $valeur=redimensionne_image($photos);
          ?><img src="<?php echo $photos; ?>" style="width: <?php echo $valeur[0]; ?>px; height: <?php echo $valeur[1]; ?>px; border: 0px" alt="" title="" /><?php
		  }
			?>
			</div>
				<div style="font-size: 150%; background: #555555; color: #FFFFFF;"><?php echo $civilite_eleve.' '.$nom_eleve.' '.$prenom_eleve; ?></div>
				<div style="border-bottom: 2px solid #1B2BDF; width: 70%"><?php echo 'né(e) le '.$naissance_eleve.' - agé(e) de '.age($date_de_naissance).'ans<br />Classe de : <strong>'.$classe_eleve.'</strong>'; ?></div><br />
				<div style="margin-left: 10px; padding-left: 10px;"><strong>Les responsables :</strong><br />
					<?php
					$cpt_responsable = 0;
					while ( !empty($responsable_eleve[$cpt_responsable]) )
					{
コード例 #19
0
function releve_html($tab_rel, $i, $num_releve_specifie)
{
    global $RneEtablissement, $gepiSchoolName, $gepiSchoolAdress1, $gepiSchoolAdress2, $gepiSchoolZipCode, $gepiSchoolCity, $gepiSchoolPays, $gepiSchoolTel, $gepiSchoolFax, $gepiSchoolMail, $gepiYear, $logo_etab, $choix_periode, $chaine_coef, $releve_body_marginleft, $releve_largeurtableau, $releve_col_matiere_largeur, $releve_col_moyenne_largeur, $releve_cellpadding, $releve_cellspacing, $releve_ecart_entete, $releve_class_bordure, $releve_categ_font_size, $releve_categ_bgcolor, $genre_periode, $releve_affich_nom_etab, $releve_affich_adr_etab, $releve_mention_nom_court, $releve_mention_doublant, $releve_affiche_eleve_une_ligne, $releve_affiche_numero, $releve_affiche_etab, $activer_photo_releve, $releve_affiche_tel, $releve_affiche_fax, $releve_affiche_mail, $releve_intitule_app, $releve_affiche_INE_eleve, $releve_affiche_formule, $releve_formule_bas, $fichier_bulletin, $min_max_moyclas, $releve_addressblock_padding_right, $releve_addressblock_padding_top, $releve_addressblock_padding_text, $releve_addressblock_length, $releve_addressblock_font_size, $releve_addressblock_logo_etab_prop, $releve_addressblock_autre_prop, $releve_addressblock_classe_annee2, $releve_ecart_bloc_nom, $releve_addressblock_debug, $un_seul_bull_par_famille, $nb_releves, $type_etablissement, $type_etablissement2, $active_module_trombinoscopes;
    global $tab_devoirs_affiches_en_sous_conteneur;
    // Pour être pris en compte dans les boites/conteneurs:
    global $retour_a_la_ligne;
    global $rn_couleurs_alternees;
    $debug_releve = "n";
    $debug_ele_login = "******";
    $debug_id_groupe = 237;
    // Récupérer avant le nombre de bulletins à imprimer
    // - que le premier resp
    // - tous les resp si adr différentes
    // et le passer via global
    //================================
    // Pour retourner à la ligne entre les devoirs dans le cas où le nom ou l'appréciation du devoir est demandée:
    $retour_a_la_ligne = "y";
    // Passer à "n" pour désactiver le retour à la ligne.
    if (isset($tab_rel['rn_retour_ligne']) && ($tab_rel['rn_retour_ligne'] == 'y' || $tab_rel['rn_retour_ligne'] == 'n')) {
        $retour_a_la_ligne = $tab_rel['rn_retour_ligne'];
    }
    $gepi_denom_boite = getSettingValue('gepi_denom_boite');
    $gepi_denom_boite_genre = getSettingValue('gepi_denom_boite_genre');
    //echo "\$releve_largeurtableau=$releve_largeurtableau<br />";
    //if(!isset($releve_largeurtableau)) {
    //	$releve_largeurtableau="100%";
    //}
    /*
    $affiche_categories
    
    $avec_appreciation_devoir
    $avec_nom_devoir
    $avec_tous_coef_devoir
    
    $avec_coef_devoir
    $tab_releve[$id_classe]['rn_coefdev_si_diff']
    
    $tab_ele['groupe'][$j]['differents_coef']
    $affiche_coef
    
    $avec_date_devoir
    */
    $id_classe = $tab_rel['id_classe'];
    // Pour n'imprimer qu'un relevé dans le cas où on n'imprime pas les adresses des responsables
    $nb_releves = 1;
    unset($tab_adr_ligne1);
    unset($tab_adr_ligne2);
    unset($tab_adr_ligne3);
    //if ($tab_rel['affiche_adresse'] == 'y') {
    // On fait le travail sur $tab_adr_ligne1 même si on ne souhaite pas afficher l'adresse des responsables parce que c'est aussi cette démarche qui permet de déterminer $nb_releves
    // Préparation des lignes adresse responsable
    if (!isset($tab_rel['eleve'][$i]['resp'][0])) {
        $tab_adr_ligne1[0] = "<font color='red'><b>ADRESSE MANQUANTE</b></font>";
        $tab_adr_ligne2[0] = "";
        $tab_adr_ligne3[0] = "";
    } else {
        if (isset($tab_rel['eleve'][$i]['resp'][1])) {
            if (isset($tab_rel['eleve'][$i]['resp'][1]['adr1']) && isset($tab_rel['eleve'][$i]['resp'][1]['adr2']) && isset($tab_rel['eleve'][$i]['resp'][1]['adr3']) && isset($tab_rel['eleve'][$i]['resp'][1]['adr4']) && isset($tab_rel['eleve'][$i]['resp'][1]['cp']) && isset($tab_rel['eleve'][$i]['resp'][1]['commune'])) {
                // Le deuxième responsable existe et est renseigné
                if ($tab_rel['eleve'][$i]['resp'][0]['adr_id'] == $tab_rel['eleve'][$i]['resp'][1]['adr_id'] or my_strtolower($tab_rel['eleve'][$i]['resp'][0]['adr1']) == my_strtolower($tab_rel['eleve'][$i]['resp'][1]['adr1']) && my_strtolower($tab_rel['eleve'][$i]['resp'][0]['adr2']) == my_strtolower($tab_rel['eleve'][$i]['resp'][1]['adr2']) && my_strtolower($tab_rel['eleve'][$i]['resp'][0]['adr3']) == my_strtolower($tab_rel['eleve'][$i]['resp'][1]['adr3']) && my_strtolower($tab_rel['eleve'][$i]['resp'][0]['adr4']) == my_strtolower($tab_rel['eleve'][$i]['resp'][1]['adr4']) && $tab_rel['eleve'][$i]['resp'][0]['cp'] == $tab_rel['eleve'][$i]['resp'][1]['cp'] && my_strtolower($tab_rel['eleve'][$i]['resp'][0]['commune']) == my_strtolower($tab_rel['eleve'][$i]['resp'][1]['commune'])) {
                    // Les adresses sont identiques
                    $nb_releves = 1;
                    if ($tab_rel['eleve'][$i]['resp'][0]['nom'] != $tab_rel['eleve'][$i]['resp'][1]['nom'] && $tab_rel['eleve'][$i]['resp'][1]['nom'] != "") {
                        // Les noms des responsables sont différents
                        $tab_adr_ligne1[0] = $tab_rel['eleve'][$i]['resp'][0]['civilite'] . " " . $tab_rel['eleve'][$i]['resp'][0]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][0]['prenom'] . " et " . $tab_rel['eleve'][$i]['resp'][1]['civilite'] . " " . $tab_rel['eleve'][$i]['resp'][1]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][1]['prenom'];
                    } else {
                        if ($tab_rel['eleve'][$i]['resp'][0]['civilite'] != "" && $tab_rel['eleve'][$i]['resp'][1]['civilite'] != "") {
                            $tab_adr_ligne1[0] = $tab_rel['eleve'][$i]['resp'][0]['civilite'] . " et " . $tab_rel['eleve'][$i]['resp'][1]['civilite'] . " " . $tab_rel['eleve'][$i]['resp'][0]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][0]['prenom'];
                        } else {
                            $tab_adr_ligne1[0] = "M. et Mme " . $tab_rel['eleve'][$i]['resp'][0]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][0]['prenom'];
                        }
                    }
                    $tab_adr_ligne2[0] = $tab_rel['eleve'][$i]['resp'][0]['adr1'];
                    if ($tab_rel['eleve'][$i]['resp'][0]['adr2'] != "") {
                        $tab_adr_ligne2[0] .= "<br />\n" . $tab_rel['eleve'][$i]['resp'][0]['adr2'];
                    }
                    if ($tab_rel['eleve'][$i]['resp'][0]['adr3'] != "") {
                        $tab_adr_ligne2[0] .= "<br />\n" . $tab_rel['eleve'][$i]['resp'][0]['adr3'];
                    }
                    if ($tab_rel['eleve'][$i]['resp'][0]['adr4'] != "") {
                        $tab_adr_ligne2[0] .= "<br />\n" . $tab_rel['eleve'][$i]['resp'][0]['adr4'];
                    }
                    $tab_adr_ligne3[0] = $tab_rel['eleve'][$i]['resp'][0]['cp'] . " " . $tab_rel['eleve'][$i]['resp'][0]['commune'];
                    if ($tab_rel['eleve'][$i]['resp'][0]['pays'] != "" && my_strtolower($tab_rel['eleve'][$i]['resp'][0]['pays']) != my_strtolower($gepiSchoolPays)) {
                        if ($tab_adr_ligne3[0] != " ") {
                            $tab_adr_ligne3[0] .= "<br />";
                        }
                        $tab_adr_ligne3[0] .= $tab_rel['eleve'][$i]['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_rel['eleve'][$i]['resp'][1]['adr1'] != "" && $tab_rel['eleve'][$i]['resp'][1]['commune'] != "") {
                        $nb_releves = 2;
                    } else {
                        $nb_releves = 1;
                    }
                    for ($cpt = 0; $cpt < $nb_releves; $cpt++) {
                        if ($tab_rel['eleve'][$i]['resp'][$cpt]['civilite'] != "") {
                            $tab_adr_ligne1[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['civilite'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['prenom'];
                        } else {
                            $tab_adr_ligne1[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['prenom'];
                        }
                        $tab_adr_ligne2[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['adr1'];
                        if ($tab_rel['eleve'][$i]['resp'][$cpt]['adr2'] != "") {
                            $tab_adr_ligne2[$cpt] .= "<br />\n" . $tab_rel['eleve'][$i]['resp'][$cpt]['adr2'];
                        }
                        if ($tab_rel['eleve'][$i]['resp'][$cpt]['adr3'] != "") {
                            $tab_adr_ligne2[$cpt] .= "<br />\n" . $tab_rel['eleve'][$i]['resp'][$cpt]['adr3'];
                        }
                        if ($tab_rel['eleve'][$i]['resp'][$cpt]['adr4'] != "") {
                            $tab_adr_ligne2[$cpt] .= "<br />\n" . $tab_rel['eleve'][$i]['resp'][$cpt]['adr4'];
                        }
                        $tab_adr_ligne3[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['cp'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['commune'];
                        if ($tab_rel['eleve'][$i]['resp'][$cpt]['pays'] != "" && my_strtolower($tab_rel['eleve'][$i]['resp'][$cpt]['pays']) != my_strtolower($gepiSchoolPays)) {
                            if ($tab_adr_ligne3[$cpt] != " ") {
                                $tab_adr_ligne3[$cpt] .= "<br />";
                            }
                            $tab_adr_ligne3[$cpt] .= $tab_rel['eleve'][$i]['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_releves = 2;
                } else {
                    $nb_releves = 1;
                }
                for ($cpt = 0; $cpt < $nb_releves; $cpt++) {
                    if ($tab_rel['eleve'][$i]['resp'][$cpt]['civilite'] != "") {
                        $tab_adr_ligne1[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['civilite'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['prenom'];
                    } else {
                        $tab_adr_ligne1[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['prenom'];
                    }
                    $tab_adr_ligne2[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['adr1'];
                    if ($tab_rel['eleve'][$i]['resp'][$cpt]['adr2'] != "") {
                        $tab_adr_ligne2[$cpt] .= "<br />\n" . $tab_rel['eleve'][$i]['resp'][$cpt]['adr2'];
                    }
                    if ($tab_rel['eleve'][$i]['resp'][$cpt]['adr3'] != "") {
                        $tab_adr_ligne2[$cpt] .= "<br />\n" . $tab_rel['eleve'][$i]['resp'][$cpt]['adr3'];
                    }
                    if ($tab_rel['eleve'][$i]['resp'][$cpt]['adr4'] != "") {
                        $tab_adr_ligne2[$cpt] .= "<br />\n" . $tab_rel['eleve'][$i]['resp'][$cpt]['adr4'];
                    }
                    $tab_adr_ligne3[$cpt] = $tab_rel['eleve'][$i]['resp'][$cpt]['cp'] . " " . $tab_rel['eleve'][$i]['resp'][$cpt]['commune'];
                    if ($tab_rel['eleve'][$i]['resp'][$cpt]['pays'] != "" && my_strtolower($tab_rel['eleve'][$i]['resp'][$cpt]['pays']) != my_strtolower($gepiSchoolPays)) {
                        if ($tab_adr_ligne3[$cpt] != " ") {
                            $tab_adr_ligne3[$cpt] .= "<br />";
                        }
                        $tab_adr_ligne3[$cpt] .= $tab_rel['eleve'][$i]['resp'][$cpt]['pays'];
                    }
                }
            }
        } else {
            // Il n'y a pas de deuxième responsable
            $nb_releves = 1;
            if ($tab_rel['eleve'][$i]['resp'][0]['civilite'] != "") {
                $tab_adr_ligne1[0] = $tab_rel['eleve'][$i]['resp'][0]['civilite'] . " " . $tab_rel['eleve'][$i]['resp'][0]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][0]['prenom'];
            } else {
                $tab_adr_ligne1[0] = $tab_rel['eleve'][$i]['resp'][0]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][0]['prenom'];
            }
            $tab_adr_ligne2[0] = $tab_rel['eleve'][$i]['resp'][0]['adr1'];
            if ($tab_rel['eleve'][$i]['resp'][0]['adr2'] != "") {
                $tab_adr_ligne2[0] .= "<br />\n" . $tab_rel['eleve'][$i]['resp'][0]['adr2'];
            }
            if ($tab_rel['eleve'][$i]['resp'][0]['adr3'] != "") {
                $tab_adr_ligne2[0] .= "<br />\n" . $tab_rel['eleve'][$i]['resp'][0]['adr3'];
            }
            if ($tab_rel['eleve'][$i]['resp'][0]['adr4'] != "") {
                $tab_adr_ligne2[0] .= "<br />\n" . $tab_rel['eleve'][$i]['resp'][0]['adr4'];
            }
            $tab_adr_ligne3[0] = $tab_rel['eleve'][$i]['resp'][0]['cp'] . " " . $tab_rel['eleve'][$i]['resp'][0]['commune'];
            if ($tab_rel['eleve'][$i]['resp'][0]['pays'] != "" && my_strtolower($tab_rel['eleve'][$i]['resp'][0]['pays']) != my_strtolower($gepiSchoolPays)) {
                if ($tab_adr_ligne3[0] != " ") {
                    $tab_adr_ligne3[0] .= "<br />";
                }
                $tab_adr_ligne3[0] .= $tab_rel['eleve'][$i]['resp'][0]['pays'];
            }
        }
    }
    // Envoi du bulletin à des resp_legal=0
    if (isset($tab_rel['eleve'][$i]['resp'][2])) {
        //$indice_tab_adr=count($tab_adr_ligne1);
        foreach ($tab_rel['eleve'][$i]['resp'] as $key => $value) {
            if ($key >= 2) {
                //echo "DEBUG: \$key=$key<br />";
                if ($tab_rel['eleve'][$i]['resp'][$key]['civilite'] != "") {
                    $tab_adr_ligne1[$nb_releves] = $tab_rel['eleve'][$i]['resp'][$key]['civilite'] . " " . $tab_rel['eleve'][$i]['resp'][$key]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][$key]['prenom'];
                } else {
                    $tab_adr_ligne1[$nb_releves] = $tab_rel['eleve'][$i]['resp'][$key]['nom'] . " " . $tab_rel['eleve'][$i]['resp'][$key]['prenom'];
                }
                $tab_adr_ligne2[$nb_releves] = $tab_rel['eleve'][$i]['resp'][$key]['adr1'];
                if ($tab_rel['eleve'][$i]['resp'][$key]['adr2'] != "") {
                    $tab_adr_ligne2[$nb_releves] .= "<br />\n" . $tab_rel['eleve'][$i]['resp'][$key]['adr2'];
                }
                if ($tab_rel['eleve'][$i]['resp'][$key]['adr3'] != "") {
                    $tab_adr_ligne2[$nb_releves] .= "<br />\n" . $tab_rel['eleve'][$i]['resp'][$key]['adr3'];
                }
                if ($tab_rel['eleve'][$i]['resp'][$key]['adr4'] != "") {
                    $tab_adr_ligne2[$nb_releves] .= "<br />\n" . $tab_rel['eleve'][$i]['resp'][$key]['adr4'];
                }
                $tab_adr_ligne3[$nb_releves] = $tab_rel['eleve'][$i]['resp'][$key]['cp'] . " " . $tab_rel['eleve'][$i]['resp'][$key]['commune'];
                if ($tab_rel['eleve'][$i]['resp'][$key]['pays'] != "" && my_strtolower($tab_rel['eleve'][$i]['resp'][$key]['pays']) != my_strtolower($gepiSchoolPays)) {
                    if ($tab_adr_ligne3[$nb_releves] != " ") {
                        $tab_adr_ligne3[$nb_releves] .= "<br />";
                    }
                    $tab_adr_ligne3[$nb_releves] .= $tab_rel['eleve'][$i]['resp'][$key]['pays'];
                }
                $nb_releves++;
            }
        }
    }
    //}
    // Fin de la préparation des lignes adresse responsable
    //echo "\$nb_releves=$nb_releves<br />";
    //echo "\$num_releve_specifie=$num_releve_specifie<br />";
    $num_premier_releve = 0;
    if ($num_releve_specifie != -1) {
        $num_premier_releve = $num_releve_specifie;
        $nb_releves = $num_releve_specifie + 1;
    }
    //echo "\$num_premier_releve=$num_premier_releve<br />";
    //echo "\$nb_releves=$nb_releves<br />";
    // Début des bulletins
    for ($num_releve = $num_premier_releve; $num_releve < $nb_releves; $num_releve++) {
        //echo "\$num_releve=$num_releve<br />";
        //echo "\$i=$i<br />";
        //echo "\$tab_rel['eleve'][$i]['nom']=".$tab_rel['eleve'][$i]['nom']."<br />";
        // Page de garde
        //if ( $affiche_page_garde == 'yes' OR $tab_rel['affiche_adresse'] == 'y') {
        if ($tab_rel['affiche_adresse'] == 'y') {
            // Affectation des lignes adresse responsable avec les lignes correspondant au bulletin en cours
            $ligne1 = $tab_adr_ligne1[$num_releve];
            $ligne2 = $tab_adr_ligne2[$num_releve];
            $ligne3 = $tab_adr_ligne3[$num_releve];
            // Info affichée en haut de la page de garde
            $info_eleve_page_garde = "Elève: " . $tab_rel['eleve'][$i]['nom'] . " " . $tab_rel['eleve'][$i]['prenom'] . ", " . $tab_rel['eleve'][$i]['classe'];
            //if ($affiche_page_garde == "yes") {
            //	include "./page_garde.php";
            //	// Saut de page
            //	echo "<p class='saut'>&nbsp;</p>\n";
            //}
        }
        if ($tab_rel['affiche_adresse'] == 'y') {
            //-------------------------------
            // Maintenant, on affiche l'en-tête : Les données de l'élève, le bloc adresse responsable et l'adresse du lycée.
            //-------------------------------
            echo "\n<!-- Début du cadre entête -->\n";
            echo "<div";
            if ($releve_addressblock_debug == "y") {
                echo " style='border:1px solid red;'";
            }
            echo ">\n";
            // Pour éviter que le bloc-adresse ne remonte au-delà du saut de page:
            echo "<div style='clear: both; font-size: xx-small;'>&nbsp;</div>\n";
            // Cadre adresse du responsable:
            echo "<div style='float:right;\nwidth:" . $releve_addressblock_length . "mm;\npadding-top:" . $releve_addressblock_padding_top . "mm;\npadding-bottom:" . $releve_addressblock_padding_text . "mm;\npadding-right:" . $releve_addressblock_padding_right . "mm;\n";
            if ($releve_addressblock_debug == "y") {
                echo "border: 1px solid blue;\n";
            }
            echo "font-size: " . $releve_addressblock_font_size . "pt;\n'>\n<div style='text-align:left;'>\n{$ligne1}<br />\n{$ligne2}<br />\n{$ligne3}\n</div>\n</div>\n";
            // Cadre contenant le tableau Logo+Ad_etab et le nom, prénom,... de l'élève:
            echo "<div style='float:left;\nleft:0px;\ntop:0px;\nwidth:" . $releve_addressblock_logo_etab_prop . "%;\n";
            if ($releve_addressblock_debug == "y") {
                echo "border: 1px solid green;\n";
            }
            echo "'>\n";
            echo "<table";
            if ($releve_addressblock_debug == "y") {
                echo " border='1'";
            }
            echo " summary='Tableau des informations établissement'";
            echo ">\n";
            echo "<tr>\n";
            $nom_fic_logo = $logo_etab;
            $nom_fic_logo_c = "../images/" . $nom_fic_logo;
            if ($nom_fic_logo != '' and file_exists($nom_fic_logo_c)) {
                echo "<td style=\"text-align: left;\"><img src=\"" . $nom_fic_logo_c . "\" border=\"0\" alt=\"Logo\" /></td>\n";
            }
            echo "<td style='text-align: center;'>";
            echo "<p class='bulletin'>";
            if ($releve_affich_nom_etab == "y") {
                echo "<span class=\"releve_grand\">" . $gepiSchoolName . "</span>";
            }
            if ($releve_affich_adr_etab == "y") {
                echo "<br />\n" . $gepiSchoolAdress1 . "<br />\n" . $gepiSchoolAdress2 . "<br />\n" . $gepiSchoolZipCode . " " . $gepiSchoolCity;
                if ($releve_affiche_tel == "y") {
                    echo "<br />\nTel: " . $gepiSchoolTel;
                }
                if ($releve_affiche_fax == "y") {
                    echo "<br />\nFax: " . $gepiSchoolFax;
                }
                if ($releve_affiche_mail == "y") {
                    echo "<br />\nEmail: " . $gepiSchoolMail;
                }
            }
            echo "</p>\n";
            echo "</td>\n";
            echo "</tr>\n";
            echo "</table>\n";
            echo "<br />";
            // On rajoute des lignes vides
            $n = 0;
            while ($n < $releve_ecart_bloc_nom) {
                echo "<br />";
                $n++;
            }
            if ($activer_photo_releve == 'y' and $active_module_trombinoscopes == 'y') {
                $photo = nom_photo($tab_rel['eleve'][$i]['elenoet']);
                if ($photo) {
                    if (file_exists($photo)) {
                        $dimphoto = redimensionne_image_releve($photo);
                        echo '<img src="' . $photo . '" style="width: ' . $dimphoto[0] . 'px; height: ' . $dimphoto[1] . 'px; border: 0px; border-right: 3px solid #FFFFFF; float: left;" alt="" />' . "\n";
                    }
                }
            }
            //affichage des données sur une seule ligne ou plusieurs
            if ($releve_affiche_eleve_une_ligne == 'no') {
                // sur plusieurs lignes
                echo "<p class='bulletin'>\n";
                echo "<b><span class=\"releve_grand\">" . $tab_rel['eleve'][$i]['nom'] . " " . $tab_rel['eleve'][$i]['prenom'] . "</span></b><br />";
                echo "Né";
                if (mb_strtoupper($tab_rel['eleve'][$i]['sexe']) == "F") {
                    echo "e";
                }
                echo "&nbsp;le&nbsp;" . $tab_rel['eleve'][$i]['naissance'];
                //Eric Ajout
                echo "<br />";
                if ($tab_rel['eleve'][$i]['regime'] == "d/p") {
                    echo "Demi-pensionnaire";
                }
                if ($tab_rel['eleve'][$i]['regime'] == "ext.") {
                    echo "Externe";
                }
                if ($tab_rel['eleve'][$i]['regime'] == "int.") {
                    echo "Interne";
                }
                if ($tab_rel['eleve'][$i]['regime'] == "i-e") {
                    echo "Interne&nbsp;externé";
                    if (mb_strtoupper($tab_rel['eleve'][$i]['sexe']) == "F") {
                        echo "e";
                    }
                }
                //Eric Ajout
                if ($releve_mention_doublant == 'yes') {
                    if ($tab_rel['eleve'][$i]['doublant'] == 'R') {
                        echo "<br />";
                        echo "Redoublant";
                        if (mb_strtoupper($tab_rel['eleve'][$i]['sexe']) == "F") {
                            echo "e";
                        }
                    }
                }
                if ($releve_mention_nom_court == 'no') {
                    //Eric Ajout et supp
                    //echo "<BR />";
                    //echo ", $current_classe";
                } else {
                    echo "<br />";
                    echo $tab_rel['eleve'][$i]['classe'];
                }
            } else {
                //sur une ligne
                echo "<p class='bulletin'>\n";
                echo "<b><span class=\"releve_grand\">" . $tab_rel['eleve'][$i]['nom'] . " " . $tab_rel['eleve'][$i]['prenom'] . "</span></b><br />";
                echo "Né";
                if (mb_strtoupper($tab_rel['eleve'][$i]['sexe']) == "F") {
                    echo "e";
                }
                echo "&nbsp;le&nbsp;" . $tab_rel['eleve'][$i]['naissance'];
                if ($tab_rel['eleve'][$i]['regime'] == "d/p") {
                    echo ", Demi-pensionnaire";
                }
                if ($tab_rel['eleve'][$i]['regime'] == "ext.") {
                    echo ", Externe";
                }
                if ($tab_rel['eleve'][$i]['regime'] == "int.") {
                    echo ", Interne";
                }
                if ($tab_rel['eleve'][$i]['regime'] == "i-e") {
                    echo ", Interne&nbsp;externé";
                    if (mb_strtoupper($tab_rel['eleve'][$i]['sexe']) == "F") {
                        echo "e";
                    }
                }
                if ($releve_mention_doublant == 'yes') {
                    if ($tab_rel['eleve'][$i]['doublant'] == 'R') {
                        echo ", Redoublant";
                        if (mb_strtoupper($tab_rel['eleve'][$i]['sexe']) == "F") {
                            echo "e";
                        }
                    }
                }
                if ($releve_mention_nom_court == 'yes') {
                    echo ", " . $tab_rel['eleve'][$i]['classe'];
                }
            }
            if ($releve_affiche_INE_eleve == "y") {
                echo "<br />\n";
                echo "Numéro INE: " . $tab_rel['eleve'][$i]['no_gep'];
            }
            if ($releve_affiche_etab == "y") {
                if (isset($tab_rel['eleve'][$i]['etab_nom']) && $tab_rel['eleve'][$i]['etab_nom'] != '') {
                    echo "<br />\n";
                    if ($tab_rel['eleve'][$i]['etab_id'] != '990') {
                        if ($RneEtablissement != $tab_rel['eleve'][$i]['etab_id']) {
                            echo "Etablissement d'origine : ";
                            echo $tab_rel['eleve'][$i]['etab_niveau_nom'] . " " . $tab_rel['eleve'][$i]['etab_type'] . " " . $tab_rel['eleve'][$i]['etab_nom'] . " (" . $tab_rel['eleve'][$i]['etab_cp'] . " " . $tab_rel['eleve'][$i]['etab_ville'] . ")\n";
                        }
                    } else {
                        echo "Etablissement d'origine : ";
                        echo "hors de France\n";
                    }
                }
            }
            echo "</p>\n";
            echo "</div>\n";
            //echo "<spacer type='vertical' size='10'>";
            // Tableau contenant le nom de la classe, l'année et la période.
            echo "<table width='" . $releve_addressblock_autre_prop . "%' ";
            if ($releve_addressblock_debug == "y") {
                echo "border='1' ";
            }
            echo "summary=\"Tableau de l'entête\" ";
            echo "cellspacing='" . $releve_cellspacing . "' cellpadding='" . $releve_cellpadding . "'>\n";
            echo "<tr>\n";
            echo "<td class='releve_empty'>\n";
            echo "&nbsp;\n";
            echo "</td>\n";
            echo "<td style='width:" . $releve_addressblock_classe_annee2 . "%;'>\n";
            echo "<p class='bulletin' align='center'><span class=\"releve_grand\">Classe de " . $tab_rel['eleve'][$i]['classe_nom_complet'] . "<br />Année scolaire " . $gepiYear . "</span><br />\n";
            if ($choix_periode == 'intervalle') {
                echo "Relevé de notes du <b>" . $tab_rel['intervalle']['debut'] . "</b> au <b>" . $tab_rel['intervalle']['fin'] . "</b></span>";
            } else {
                echo "<b>" . $tab_rel['nom_periode'] . "</b> : Relevé de notes";
            }
            echo "</td>\n";
            echo "</tr>\n";
            echo "</table>\n";
            // Pour que le tableau des appréciations ne vienne pas s'encastrer dans les DIV float:
            echo "<div style='clear: both; font-size: xx-small;'>&nbsp;</div>\n";
            // Fin du cadre entête:
            echo "</div>\n";
            echo "<!-- Fin du cadre entête -->\n\n";
        } else {
            //-------------------------------
            // Maintenant, on affiche l'en-tête : Les données de l'élève, et l'adresse du lycée.
            // sans bloc adresse responsable
            //-------------------------------
            echo "<div class='center'>\n";
            echo "<table width='{$releve_largeurtableau}' border='0' cellspacing='" . $releve_cellspacing . "' cellpadding='" . $releve_cellpadding . "'";
            echo " summary=\"Tableau de l'entête\"";
            echo ">\n";
            echo "<tr>\n";
            echo "<td style=\"width: 30%;\">\n";
            if ($activer_photo_releve == 'y' and $active_module_trombinoscopes == 'y') {
                $photo = nom_photo($tab_rel['eleve'][$i]['elenoet']);
                if ($photo) {
                    if (file_exists($photo)) {
                        $dimphoto = redimensionne_image_releve($photo);
                        echo '<img src="' . $photo . '" style="width: ' . $dimphoto[0] . 'px; height: ' . $dimphoto[1] . 'px; border: 0px; border-right: 3px solid #FFFFFF; float: left;" alt="" />' . "\n";
                    }
                }
            }
            //affichage des données sur une seule ligne ou plusieurs
            if ($releve_affiche_eleve_une_ligne == 'no') {
                // sur plusieurs lignes
                echo "<p class='bulletin'>\n";
                echo "<b><span class=\"releve_grand\">" . $tab_rel['eleve'][$i]['nom'] . " " . $tab_rel['eleve'][$i]['prenom'] . "</span></b><br />";
                echo "Né";
                if (mb_strtoupper($tab_rel['eleve'][$i]['sexe']) == "F") {
                    echo "e";
                }
                echo "&nbsp;le&nbsp;" . $tab_rel['eleve'][$i]['naissance'];
                //Eric Ajout
                echo "<br />";
                if ($tab_rel['eleve'][$i]['regime'] == "d/p") {
                    echo "Demi-pensionnaire";
                }
                if ($tab_rel['eleve'][$i]['regime'] == "ext.") {
                    echo "Externe";
                }
                if ($tab_rel['eleve'][$i]['regime'] == "int.") {
                    echo "Interne";
                }
                if ($tab_rel['eleve'][$i]['regime'] == "i-e") {
                    echo "Interne&nbsp;externé";
                    if (mb_strtoupper($tab_rel['eleve'][$i]['sexe']) == "F") {
                        echo "e";
                    }
                }
                //Eric Ajout
                if ($releve_mention_doublant == 'yes') {
                    if ($tab_rel['eleve'][$i]['doublant'] == 'R') {
                        echo "<br />";
                        echo "Redoublant";
                        if (mb_strtoupper($tab_rel['eleve'][$i]['sexe']) == "F") {
                            echo "e";
                        }
                    }
                }
                if ($releve_mention_nom_court == 'no') {
                    //Eric Ajout et supp
                    //echo "<BR />";
                    //echo ", $current_classe";
                } else {
                    echo "<br />";
                    echo $tab_rel['eleve'][$i]['classe'];
                }
            } else {
                //sur une ligne
                echo "<p class='bulletin'>\n";
                echo "<b><span class=\"releve_grand\">" . $tab_rel['eleve'][$i]['nom'] . " " . $tab_rel['eleve'][$i]['prenom'] . "</span></b><br />";
                echo "Né";
                if (mb_strtoupper($tab_rel['eleve'][$i]['sexe']) == "F") {
                    echo "e";
                }
                echo "&nbsp;le&nbsp;" . $tab_rel['eleve'][$i]['naissance'];
                if ($tab_rel['eleve'][$i]['regime'] == "d/p") {
                    echo ", Demi-pensionnaire";
                }
                if ($tab_rel['eleve'][$i]['regime'] == "ext.") {
                    echo ", Externe";
                }
                if ($tab_rel['eleve'][$i]['regime'] == "int.") {
                    echo ", Interne";
                }
                if ($tab_rel['eleve'][$i]['regime'] == "i-e") {
                    echo ", Interne&nbsp;externé";
                    if (mb_strtoupper($tab_rel['eleve'][$i]['sexe']) == "F") {
                        echo "e";
                    }
                }
                //Eric Ajout
                if ($releve_mention_doublant == 'yes') {
                    if ($tab_rel['eleve'][$i]['doublant'] == 'R') {
                        echo ", Redoublant";
                        if (mb_strtoupper($tab_rel['eleve'][$i]['sexe']) == "F") {
                            echo "e";
                        }
                    }
                }
                if ($releve_mention_nom_court == 'yes') {
                    echo ", " . $tab_rel['eleve'][$i]['classe'];
                }
            }
            if ($releve_affiche_INE_eleve == "y") {
                echo "<br />\n";
                echo "Numéro INE: " . $tab_rel['eleve'][$i]['no_gep'];
            }
            if ($releve_affiche_etab == "y") {
                if (isset($tab_rel['eleve'][$i]['etab_nom']) && $tab_rel['eleve'][$i]['etab_nom'] != '') {
                    echo "<br />\n";
                    if ($tab_rel['eleve'][$i]['etab_id'] != '990') {
                        if ($RneEtablissement != $tab_rel['eleve'][$i]['etab_id']) {
                            echo "Etablissement d'origine : ";
                            echo $tab_rel['eleve'][$i]['etab_niveau_nom'] . " " . $tab_rel['eleve'][$i]['etab_type'] . " " . $tab_rel['eleve'][$i]['etab_nom'] . " (" . $tab_rel['eleve'][$i]['etab_cp'] . " " . $tab_rel['eleve'][$i]['etab_ville'] . ")\n";
                        }
                    } else {
                        echo "Etablissement d'origine : ";
                        echo "hors de France\n";
                    }
                }
            }
            echo "</p></td>\n<td style=\"width: 40%;text-align: center;\">\n";
            if ($tab_rel['affiche_adresse'] != "y") {
                echo "<p class='bulletin'><span class=\"releve_grand\">Classe de " . $tab_rel['eleve'][$i]['classe_nom_complet'] . "<br />Année scolaire " . $gepiYear . "</span><br />\n";
                if ($choix_periode == 'intervalle') {
                    echo "Relevé de notes du <b>" . $tab_rel['intervalle']['debut'] . "</b> au <b>" . $tab_rel['intervalle']['fin'] . "</b>";
                } else {
                    echo "<b>" . $tab_rel['nom_periode'] . "</b> : Relevé de notes";
                }
                echo "</p>\n";
            } else {
                echo "&nbsp;";
            }
            $nom_fic_logo = $logo_etab;
            $nom_fic_logo_c = "../images/" . $nom_fic_logo;
            if ($nom_fic_logo != '' and file_exists($nom_fic_logo_c)) {
                echo "</td>\n<td style=\"text-align: right;\"><img src=\"" . $nom_fic_logo_c . "\" border=\"0\" alt=\"Logo\" />";
            } else {
                echo "</td>\n<td>&nbsp;";
            }
            echo "</td>\n";
            echo "<td style=\"width: 20%;text-align: center;\">";
            echo "<p class='bulletin'>";
            if ($releve_affich_nom_etab == "y") {
                echo "<span class=\"releve_grand\">" . $gepiSchoolName . "</span>";
            }
            if ($releve_affich_adr_etab == "y") {
                //echo "<span class=\"releve_grand\">".$gepiSchoolName."</span>";
                if ($releve_affich_nom_etab == "y") {
                    echo "<br />\n";
                }
                echo $gepiSchoolAdress1 . "<br />\n";
                echo $gepiSchoolAdress2 . "<br />\n";
                echo $gepiSchoolZipCode . " " . $gepiSchoolCity;
                if ($releve_affiche_tel == "y") {
                    echo "<br />\nTel: " . $gepiSchoolTel;
                }
                if ($releve_affiche_fax == "y") {
                    echo "<br />\nFax: " . $gepiSchoolFax;
                }
                if ($releve_affiche_mail == "y") {
                    echo "<br />\nEmail: " . $gepiSchoolMail;
                }
            }
            echo "</p>\n";
            echo "</td>\n</tr>\n</table>\n";
            echo "</div>\n";
            //-------------------------------
            // Fin de l'en-tête
        }
        // On rajoute des lignes vides
        $n = 0;
        while ($n < $releve_ecart_entete) {
            echo "<br />";
            $n++;
        }
        //=============================================
        // Tableau des matieres/devoirs/notes/appréciations
        //include ($fichier_bulletin);
        if (!isset($tab_rel['eleve'][$i]['groupe']) || count($tab_rel['eleve'][$i]['groupe']) == 0) {
            echo "<div class='noprint' style='background-color: white; color: red; border: 1px solid black;padding: 1em;'>Aucun enseignement n'est associé à l'élève";
            if ($choix_periode == 'intervalle') {
                echo ",<br />ou l'élève n'a aucune note sur l'intervalle de dates choisi (<i>en demandant l'affichage des relevés pour la période entière, les matières sont affichées, même si aucune note n'a été saisie</i>).</p>";
            }
            echo ".<br />\n";
            if ($tab_rel['affiche_categories']) {
                echo "<br />Si vous pensez que c'est anormal, c'est peut-être dû à un mauvais paramétrage des catégories de matières.<br />";
                //echo "Il est possible de contrôler les catégories de matières en administrateur dans Gestion générale/Nettoyage des tables pour corriger ce problème.\n";
                echo "Il est possible de corriger le problème en administrateur en refaisant le paramétrage des catégories de matières dans 'Gestion des bases/Gestion des classes/&lt;Une_classe&gt; Paramètres' ou dans 'Gestion des bases/Gestion des classes/Paramétrage par lots'.\n";
            }
            echo "</div>\n";
        }
        // On initialise le tableau :
        $larg_tab = $releve_largeurtableau;
        $larg_col1 = $releve_col_matiere_largeur;
        if ($tab_rel['rn_col_moy'] != "y") {
            $larg_col2 = $larg_tab - $larg_col1;
        } else {
            $larg_col1b = $releve_col_moyenne_largeur;
            $larg_col2 = $larg_tab - $larg_col1b - $larg_col1;
        }
        //echo "<table width=\"$larg_tab\" class='boireaus' border=1 cellspacing=3 cellpadding=3>\n";
        echo "<div class='center'>\n";
        echo "<table width=\"{$larg_tab}\"{$releve_class_bordure} border='1' cellspacing='3' cellpadding='3' ";
        echo "summary=\"Tableau des notes\"";
        if (isset($rn_couleurs_alternees) && $rn_couleurs_alternees == "y") {
            echo " style='background-color:white;'";
        }
        echo ">\n";
        echo "<tr>\n";
        echo "<th style=\"width: " . $larg_col1 . "px\" class='releve'><b>Matière</b><br /><i>Professeur</i></th>\n";
        if ($tab_rel['rn_col_moy'] == "y") {
            echo "<th style=\"width: " . $larg_col1b . "px\" class='releve'>Moy.</th>\n";
        }
        echo "<th style=\"width: " . $larg_col2 . "px\" class='releve'>Notes sur 20</th>\n";
        echo "</tr>\n";
        // Boucle groupes
        $j = 0;
        $prev_cat_id = null;
        $alt = 1;
        if (isset($tab_rel['eleve'][$i]['groupe']) && count($tab_rel['eleve'][$i]['groupe']) > 0) {
            while ($j < count($tab_rel['eleve'][$i]['groupe'])) {
                if ($choix_periode != 'intervalle' || $choix_periode == 'intervalle' && isset($tab_rel['eleve'][$i]['groupe'][$j]['devoir'])) {
                    //count($tab_rel['eleve'][$i]['groupe'][$j]['devoir']>0)))) {
                    if ($tab_rel['affiche_categories']) {
                        // On regarde si on change de catégorie de matière
                        if ($tab_rel['eleve'][$i]['groupe'][$j]['id_cat'] != $prev_cat_id) {
                            $prev_cat_id = $tab_rel['eleve'][$i]['groupe'][$j]['id_cat'];
                            echo "<tr>\n";
                            if ($tab_rel['rn_col_moy'] == "y") {
                                $colspan = 3;
                            } else {
                                $colspan = 2;
                            }
                            echo "<td colspan='{$colspan}'>\n\n";
                            //echo "<p style='padding: 0; margin:0; font-size: 10px;'>".$tab_rel['categorie'][$prev_cat_id]."</p>\n";
                            echo "<p style='padding: 0; margin:0; font-size: " . $releve_categ_font_size . "px;";
                            if ($releve_categ_bgcolor != "") {
                                echo "background-color:{$releve_categ_bgcolor};";
                            }
                            echo "'>" . $tab_rel['categorie'][$prev_cat_id] . "</p>\n";
                            echo "</td>\n";
                            echo "</tr>\n";
                        }
                    }
                    $alt = $alt * -1;
                    if (isset($rn_couleurs_alternees) && $rn_couleurs_alternees == "y") {
                        echo "<tr class='lig{$alt}'>\n";
                    } else {
                        echo "<tr>\n";
                    }
                    echo "<td class='releve'>\n";
                    echo "<b>" . $tab_rel['eleve'][$i]['groupe'][$j]['matiere_nom_complet'] . "</b>";
                    //echo $tab_rel['eleve'][$i]['groupe'][$j]['id_groupe'];
                    $k = 0;
                    // Il peut y avoir une matière sans prof, avec une note saisie en compte secours
                    if (isset($tab_rel['eleve'][$i]['groupe'][$j]['prof_login'])) {
                        while ($k < count($tab_rel['eleve'][$i]['groupe'][$j]['prof_login'])) {
                            echo "<br /><i>" . affiche_utilisateur(htmlspecialchars($tab_rel['eleve'][$i]['groupe'][$j]['prof_login'][$k]), $id_classe) . "</i>";
                            $k++;
                        }
                    }
                    //echo "<br />\$tab_rel['rn_col_moy']=".$tab_rel['rn_col_moy'];
                    echo "</td>\n";
                    if ($tab_rel['rn_col_moy'] == "y") {
                        echo "<td class='releve'>\n";
                        if (!isset($tab_rel['eleve'][$i]['groupe'][$j]['moyenne'][$tab_rel['num_periode']])) {
                            echo "&nbsp;";
                        } else {
                            if ($tab_rel['verouiller'] == 'N') {
                                echo "<span title=\"ATTENTION : La période n'est pas close.\n                    La moyenne affichée est susceptible de\n                    changer d'ici à la fin de la période.\n                    Des notes peuvent encore être ajoutées,\n                    des coefficients de devoirs peuvent être\n                    modifiés,...\">";
                                echo $tab_rel['eleve'][$i]['groupe'][$j]['moyenne'][$tab_rel['num_periode']];
                                echo "</span>";
                            } else {
                                echo $tab_rel['eleve'][$i]['groupe'][$j]['moyenne'][$tab_rel['num_periode']];
                            }
                        }
                        echo "</td>\n";
                    }
                    echo "<td class='releve'>\n";
                    // Boucle sur la liste des devoirs
                    if (!isset($tab_rel['eleve'][$i]['groupe'][$j]['devoir'])) {
                        echo "&nbsp;";
                        //echo "\$tab_rel['eleve'][$i]['groupe'][$j]['devoir'] n'est pas affecté.<br />";
                    } else {
                        if ($debug_releve == "y" && $tab_rel['eleve'][$i]['login'] == $debug_ele_login && $tab_rel['eleve'][$i]['groupe'][$j]['id_groupe'] == $debug_id_groupe) {
                            if (isset($tab_rel['eleve'][$i]['groupe'][$j]['existence_sous_conteneurs'])) {
                                echo "<span style='color:red'>\$tab_rel['eleve'][{$i}]['groupe'][{$j}]['existence_sous_conteneurs']=" . $tab_rel['eleve'][$i]['groupe'][$j]['existence_sous_conteneurs'] . "</span><br />";
                            } else {
                                echo "<span style='color:red'>Pas de sous-conteneur</span><br />";
                            }
                        }
                        $tab_devoirs_affiches_en_sous_conteneur = array();
                        //if((isset($tab_rel['eleve'][$i]['groupe'][$j]['affiche_boites']))&&($tab_rel['eleve'][$i]['groupe'][$j]['affiche_boites']=='y')) {
                        //if((isset($tab_rel['eleve'][$i]['groupe'][$j]['id_cn']['existence_sous_conteneurs']))&&($tab_rel['eleve'][$i]['groupe'][$j]['id_cn']['existence_sous_conteneurs']=='y')) {
                        if (isset($tab_rel['eleve'][$i]['groupe'][$j]['existence_sous_conteneurs']) && $tab_rel['eleve'][$i]['groupe'][$j]['existence_sous_conteneurs'] == 'y') {
                            //echo "Il y a des sous-conteneurs<br />";
                            $premier_cn = "y";
                            $temoin_affichage_de_conteneur = "n";
                            $temoin_conteneur = 0;
                            // Parcours des carnets de notes (un seule si une période est choisie, mais peut-être plusieurs si on a un intervalle de dates)
                            foreach ($tab_rel['eleve'][$i]['groupe'][$j]['id_cn'] as $tmp_id_cn => $tab_id_cn) {
                                // On ne récupère que les conteneurs de niveau 1, pas la racine... et si on a plusieurs périodes, on peut récupérer les boites d'une autre période... d'où des tests par la suite sur ce qu'il convient d'afficher.
                                unset($tmp_tab);
                                $tmp_tab[] = $tmp_id_cn;
                                //if($temoin_conteneur>0) {echo "<br />\n";}
                                if ($premier_cn != "y") {
                                    echo "<br />\n";
                                }
                                $premier_cn = "n";
                                if ($debug_releve == "y" && $tab_rel['eleve'][$i]['login'] == $debug_ele_login && $tab_rel['eleve'][$i]['groupe'][$j]['id_groupe'] == $debug_id_groupe) {
                                    echo "<b style='color:red'>cn {$tmp_id_cn}</b> ";
                                }
                                //echo "<br /><u><b>Racine ($tmp_id_cn)&nbsp;:</b></u> \n";
                                $retour_liste_notes_html = liste_notes_html($tab_rel, $i, $j, $tmp_tab);
                                if ($retour_liste_notes_html != '') {
                                    //echo "|A1:$tmp_id_cn|";
                                    //echo "<u><b>Racine ($tmp_id_cn)&nbsp;:</b></u> \n";
                                    echo $retour_liste_notes_html;
                                    //echo "|A2:$tmp_id_cn|";
                                    $temoin_affichage_de_conteneur = "y";
                                    $temoin_conteneur++;
                                } else {
                                    $temoin_conteneur = 0;
                                }
                                // Faire la boucle while($m<count($tab_rel['eleve'][$i]['groupe'][$j]['devoir'])) {}
                                // avec un test sur $tab_ele['groupe'][$j]['devoir'][$m]['id_conteneur']==$tmp_id_cn (soit la racine du cn à ce niveau)
                                for ($k = 0; $k < count($tab_id_cn['conteneurs']); $k++) {
                                    unset($tmp_tab);
                                    //if(isset($tab_id_cn['conteneurs'][$k]['id_racine'])) {
                                    //echo "\$tab_id_cn['conteneurs'][$k]['id_racine']=".$tab_id_cn['conteneurs'][$k]['id_racine']."<br />";
                                    $tmp_tab[] = $tab_id_cn['conteneurs'][$k]['id_racine'];
                                    if (isset($tab_id_cn['conteneurs'][$k]['conteneurs_enfants'])) {
                                        for ($kk = 0; $kk < count($tab_id_cn['conteneurs'][$k]['conteneurs_enfants']); $kk++) {
                                            $tmp_tab[] = $tab_id_cn['conteneurs'][$k]['conteneurs_enfants'][$kk];
                                            //echo "\$tab_id_cn['conteneurs'][$k]['conteneurs_enfants'][$kk]=".$tab_id_cn['conteneurs'][$k]['conteneurs_enfants'][$kk]."<br />";
                                        }
                                    }
                                    //echo "<br />\n";
                                    //echo "<u><b>".$tab_id_cn['conteneurs'][$k]['nom_complet']."&nbsp;:</b></u> \n";
                                    $retour_liste_notes_html = liste_notes_html($tab_rel, $i, $j, $tmp_tab);
                                    if ($retour_liste_notes_html != '') {
                                        // On n'affiche le conteneur que s'il y a des notes
                                        //echo "<br />\n";
                                        //echo "<u><b>".$tab_id_cn['conteneurs'][$k]['nom_complet']."&nbsp;:</b></u> \n";
                                        if ($temoin_conteneur > 0) {
                                            echo "<br />\n";
                                        }
                                        echo "<u><b>" . casse_mot($tab_id_cn['conteneurs'][$k]['nom_complet'], 'maj');
                                        if ($tab_rel['rn_toutcoefdev'] == "y" || $tab_id_cn['temoin_coef_differents_conteneurs'] == "y") {
                                            echo " <span style='font-weight:normal' title=\"Coefficient " . ($gepi_denom_boite_genre == "f" ? "de la" : "du") . " {$gepi_denom_boite}\">(coef.:" . $tab_id_cn['conteneurs'][$k]['coef'] . ")</span>";
                                        }
                                        if ($tab_id_cn['conteneurs'][$k]['display_parents'] == '1') {
                                            echo " (<em title=\"Moyenne sur " . ($gepi_denom_boite_genre == "f" ? "cette" : "ce") . " {$gepi_denom_boite}\">" . $tab_id_cn['conteneurs'][$k]['moy'] . "</em>)";
                                        }
                                        echo "&nbsp;:</b></u> \n";
                                        echo $retour_liste_notes_html;
                                        $temoin_affichage_de_conteneur = "y";
                                        $temoin_conteneur++;
                                    } else {
                                        $temoin_conteneur = 0;
                                    }
                                    // Faire la boucle while($m<count($tab_rel['eleve'][$i]['groupe'][$j]['devoir'])) {}
                                    // avec un test sur $tab_ele['groupe'][$j]['devoir'][$m]['id_conteneur'] égal à $tab_id_cn['conteneurs'][$k]['id_racine'] ou dans $tab_id_cn['conteneurs'][$k]['conteneurs_enfants'][]
                                    //}
                                }
                            }
                            if ($debug_releve == "y" && $tab_rel['eleve'][$i]['login'] == $debug_ele_login && $tab_rel['eleve'][$i]['groupe'][$j]['id_groupe'] == $debug_id_groupe) {
                                foreach ($tab_devoirs_affiches_en_sous_conteneur as $key => $value) {
                                    echo "<span style='color:lime'>\$tab_devoirs_affiches_en_sous_conteneur[{$key}]={$value}</span><br />";
                                }
                            }
                            //DEBUG
                            //echo "<br />\$temoin_affichage_de_conteneur=$temoin_affichage_de_conteneur<br />";
                            //if($temoin_affichage_de_conteneur!='y') {
                            //echo "|B:$tmp_id_cn|";
                            // On va tester s'il y a des devoirs hors des boites (qui se sont révélées vides?)
                            $m = 0;
                            $tiret = "no";
                            while ($m < count($tab_rel['eleve'][$i]['groupe'][$j]['devoir'])) {
                                if (!in_array($tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['id_devoir'], $tab_devoirs_affiches_en_sous_conteneur)) {
                                    /*
                                    $temoin_devoir_a_la_racine="y";
                                    for($k=0;$k<count($tab_id_cn['conteneurs']);$k++) {
                                    	if($tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['id_conteneur']==$tab_id_cn['conteneurs'][$k]['id_racine']) {
                                    		$temoin_devoir_a_la_racine="n";
                                    		break;
                                    	}
                                    	//$k++;
                                    }
                                    
                                    if($temoin_devoir_a_la_racine=="y") {
                                    */
                                    if ($debug_releve == "y" && $tab_rel['eleve'][$i]['login'] == $debug_ele_login && $tab_rel['eleve'][$i]['groupe'][$j]['id_groupe'] == $debug_id_groupe) {
                                        echo "<span style='color:green'>" . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['id_devoir'] . " </span><br />";
                                        echo "<span style='color:plum'>id_cahier_notes=" . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['id_cahier_notes'] . " </span> <span style='color:plum'>id_conteneur=" . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['id_conteneur'] . " </span> ";
                                    }
                                    if ($tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['id_cahier_notes'] == $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['id_conteneur']) {
                                        //if(($m==0)&&($temoin_conteneur>0)) {
                                        //if($m==0) {
                                        if ($m == 0 && $temoin_affichage_de_conteneur == "y") {
                                            echo "<br />\n";
                                        }
                                        // Note de l'élève sur le devoir:
                                        $eleve_note = $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['note'];
                                        // Statut de l'élève sur le devoir:
                                        $eleve_statut = $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['statut'];
                                        // Appréciation de l'élève sur le devoir:
                                        $eleve_app = $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['app'];
                                        // Le professeur a-t-il autorisé l'accès à l'appréciation lors de la saisie du devoir
                                        $eleve_display_app = $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['display_app'];
                                        // Nom court du devoir:
                                        $eleve_nom_court = $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['nom_court'];
                                        // Date du devoir:
                                        $eleve_date = $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['date'];
                                        // Coef du devoir:
                                        $eleve_coef = $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['coef'];
                                        //==========================================
                                        // On teste s'il y aura une "Note" à afficher
                                        if ($eleve_statut != '' and $eleve_statut != 'v') {
                                            $affiche_note = $eleve_statut;
                                        } elseif ($eleve_statut == 'v') {
                                            $affiche_note = "";
                                        } elseif ($eleve_note != '') {
                                            $affiche_note = $eleve_note;
                                        } else {
                                            $affiche_note = "";
                                        }
                                        //==========================================
                                        // Nom du devoir ou pas
                                        if ($tab_rel['rn_app'] == "y" and $eleve_display_app == "1") {
                                            if ($affiche_note == "") {
                                                if ($tab_rel['rn_nomdev'] != "y") {
                                                    $affiche_note = $eleve_nom_court;
                                                } else {
                                                    $affiche_note = "&nbsp;";
                                                }
                                            }
                                        }
                                        // Si une "Note" doit être affichée
                                        if ($affiche_note != '') {
                                            if ($tiret == "yes") {
                                                if (($tab_rel['rn_app'] == "y" or $tab_rel['rn_nomdev'] == "y") && $retour_a_la_ligne == 'y') {
                                                    echo "<br />";
                                                } else {
                                                    echo " - ";
                                                }
                                            }
                                            if ($tab_rel['rn_nomdev'] == "y") {
                                                echo "{$eleve_nom_court}: <b>" . $affiche_note . "</b>";
                                            } else {
                                                echo "<b>" . $affiche_note . "</b>";
                                            }
                                            // Coefficient (si on affiche tous les coef...
                                            // ou si on ne les affiche que s'il y a plusieurs coef différents)
                                            if ($tab_rel['rn_toutcoefdev'] == "y" || $tab_rel['rn_coefdev_si_diff'] == "y" && $tab_rel['eleve'][$i]['groupe'][$j]['differents_coef'] == "y") {
                                                echo " (<i><small>" . $chaine_coef . $eleve_coef . "</small></i>)";
                                            }
                                            // Si on a demandé à afficher les appréciations
                                            // et si le prof a coché l'autorisation d'accès à l'appréciations
                                            if ($tab_rel['rn_app'] == "y" and $eleve_display_app == "1") {
                                                echo " - Appréciation : ";
                                                if ($eleve_app != "") {
                                                    echo $eleve_app;
                                                } else {
                                                    echo "-";
                                                }
                                            }
                                            if ($tab_rel['rn_datedev'] == "y") {
                                                // Format: 2006-09-28 00:00:00
                                                $tmpdate = explode(" ", $eleve_date);
                                                $tmpdate = explode("-", $tmpdate[0]);
                                                echo " (<i><small>{$tmpdate['2']}/{$tmpdate['1']}/{$tmpdate['0']}</small></i>)";
                                            }
                                            // 20100626
                                            if ($tab_rel['rn_moy_min_max_classe'] == 'y') {
                                                echo " (<em title=\"" . $eleve_nom_court . " (" . formate_date($eleve_date) . ")\nNote minimale   : " . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['min'] . "\nMoyenne classe : " . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['moy_classe'] . "\nNote maximale  : " . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['max'] . "\"><small>";
                                                //echo $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['min']."|".$tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['moy_classe']."|".$tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['max'];
                                                echo "<span class='cn_moymin'>" . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['min'] . "</span>|<span class='cn_moyclasse'>" . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['moy_classe'] . "</span>|<span class='cn_moymax'>" . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['max'] . "</span>";
                                                echo "</small></em>)";
                                            } elseif ($tab_rel['rn_moy_classe'] == 'y') {
                                                echo " (<em class='cn_moyclasse'>classe:" . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['moy_classe'] . "</em>)";
                                            }
                                            //====================================================================
                                            // Après un tour avec affichage dans la boucle:
                                            $tiret = "yes";
                                        }
                                    }
                                }
                                $m++;
                            }
                            //}
                        } else {
                            $m = 0;
                            $tiret = "no";
                            while ($m < count($tab_rel['eleve'][$i]['groupe'][$j]['devoir'])) {
                                // Note de l'élève sur le devoir:
                                $eleve_note = $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['note'];
                                // Statut de l'élève sur le devoir:
                                $eleve_statut = $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['statut'];
                                // Appréciation de l'élève sur le devoir:
                                $eleve_app = $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['app'];
                                // Le professeur a-t-il autorisé l'accès à l'appréciation lors de la saisie du devoir
                                $eleve_display_app = $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['display_app'];
                                // Nom court du devoir:
                                $eleve_nom_court = $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['nom_court'];
                                // Date du devoir:
                                $eleve_date = $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['date'];
                                // Coef du devoir:
                                $eleve_coef = $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['coef'];
                                //==========================================
                                // On teste s'il y aura une "Note" à afficher
                                if ($eleve_statut != '' and $eleve_statut != 'v') {
                                    $affiche_note = $eleve_statut;
                                } elseif ($eleve_statut == 'v') {
                                    $affiche_note = "";
                                } elseif ($eleve_note != '') {
                                    $affiche_note = $eleve_note;
                                } else {
                                    $affiche_note = "";
                                }
                                //==========================================
                                // Nom du devoir ou pas
                                if ($tab_rel['rn_app'] == "y" and $eleve_display_app == "1") {
                                    if ($affiche_note == "") {
                                        if ($tab_rel['rn_nomdev'] != "y") {
                                            $affiche_note = $eleve_nom_court;
                                        } else {
                                            $affiche_note = "&nbsp;";
                                        }
                                    }
                                }
                                // Si une "Note" doit être affichée
                                if ($affiche_note != '') {
                                    if ($tiret == "yes") {
                                        if (($tab_rel['rn_app'] == "y" or $tab_rel['rn_nomdev'] == "y") && $retour_a_la_ligne == 'y') {
                                            echo "<br />";
                                        } else {
                                            echo " - ";
                                        }
                                    }
                                    if ($tab_rel['rn_nomdev'] == "y") {
                                        echo "{$eleve_nom_court}: <b>" . $affiche_note . "</b>";
                                    } else {
                                        echo "<b>" . $affiche_note . "</b>";
                                    }
                                    // Coefficient (si on affiche tous les coef...
                                    // ou si on ne les affiche que s'il y a plusieurs coef différents)
                                    if ($tab_rel['rn_toutcoefdev'] == "y" || $tab_rel['rn_coefdev_si_diff'] == "y" && $tab_rel['eleve'][$i]['groupe'][$j]['differents_coef'] == "y") {
                                        echo " (<i><small>" . $chaine_coef . $eleve_coef . "</small></i>)";
                                    }
                                    // Si on a demandé à afficher les appréciations
                                    // et si le prof a coché l'autorisation d'accès à l'appréciations
                                    if ($tab_rel['rn_app'] == "y" and $eleve_display_app == "1") {
                                        echo " - Appréciation : ";
                                        if ($eleve_app != "") {
                                            echo $eleve_app;
                                        } else {
                                            echo "-";
                                        }
                                    }
                                    if ($tab_rel['rn_datedev'] == "y") {
                                        // Format: 2006-09-28 00:00:00
                                        $tmpdate = explode(" ", $eleve_date);
                                        $tmpdate = explode("-", $tmpdate[0]);
                                        echo " (<i><small>{$tmpdate['2']}/{$tmpdate['1']}/{$tmpdate['0']}</small></i>)";
                                    }
                                    // 20100626
                                    if ($tab_rel['rn_moy_min_max_classe'] == 'y') {
                                        echo " (<em title=\"" . $eleve_nom_court . " (" . formate_date($eleve_date) . ")\nNote minimale   : " . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['min'] . "\nMoyenne classe : " . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['moy_classe'] . "\nNote maximale  : " . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['max'] . "\"><small>";
                                        //echo $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['min']."|".$tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['moy_classe']."|".$tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['max'];
                                        echo "<span class='cn_moymin'>" . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['min'] . "</span>|<span class='cn_moyclasse'>" . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['moy_classe'] . "</span>|<span class='cn_moymax'>" . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['max'] . "</span>";
                                        echo "</small></em>)";
                                        //echo " (<i><small>".$tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['min']."|".$tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['moy_classe']."|".$tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['max']."</small></i>)";
                                    } elseif ($tab_rel['rn_moy_classe'] == 'y') {
                                        echo " (<em>classe:" . $tab_rel['eleve'][$i]['groupe'][$j]['devoir'][$m]['moy_classe'] . "</em>)";
                                    }
                                    //====================================================================
                                    // Après un tour avec affichage dans la boucle:
                                    $tiret = "yes";
                                }
                                $m++;
                            }
                        }
                    }
                    echo "</td>\n";
                    echo "</tr>\n";
                }
                $j++;
            }
        }
        echo "</table>\n";
        //=============================================
        /*
        // Avis du conseil de classe à ramener par là
        
        if (($releve_affiche_avis == 'y')||($releve_affiche_signature == 'y')) {
        	// Tableau de l'avis des conseil de classe
        	echo "<table $class_bordure width='$largeurtableau' border='1' cellspacing='".$releve_cellspacing."' cellpadding='".$releve_cellpadding."'>\n";
        	echo "<tr>\n";
        }
        
                if ($releve_affiche_avis == 'y') {
        	//
        	// Case de gauche : avis des conseils de classe
        	//
        	echo "<td style='vertical-align: top; text-align: left;'>\n";
        	// 1) l'avis
        	echo "<span class='bulletin'><i>Avis du conseil de classe:</i></span><br />\n";
        
        	if($tab_rel['avis'][$i]!="") {
        		echo "<span class='avis_bulletin'>";
        		echo texte_html_ou_pas($tab_rel['avis'][$i]);
        		echo "</span>";
        		if($releve_affiche_signature == 'y'){
        			echo "<br />\n";
        		}
        	}
        	else {
        		echo "&nbsp;";
        		// Si il n'y a pas d'avis, on rajoute des lignes vides selon les paramètres d'impression
        		$n = 0;
        		if ($releve_espace_avis >0){
        			while ($n < $releve_espace_avis) {
        				echo "<br />\n";
        				$n++;
        			}
        		}
        	}
        }
                elseif ($releve_affiche_signature == 'y') {
                    echo "<td style=\"vertical-align: top;\">";
                }
        
                if ($releve_affiche_signature == 'y') {
                    // 2) Le nom du professeur principal
        	if(isset($tab_rel['eleve'][$i]['pp']['login'])) {
        		echo "<b>".ucfirst($gepi_prof_suivi)."</b> ";
        		echo "<i>".affiche_utilisateur($tab_rel['eleve'][$i]['pp']['login'],$tab_rel['eleve'][$i]['id_classe'])."</i>";
        	}
        
        	echo "</td>\n";
        	//
        	// Case de droite : paraphe du proviseur
        	//
        	echo "<td style='vertical-align: top; text-align: left;' width='30%'>\n";
        	echo "<span class='bulletin'><b>".$tab_rel['formule']."</b>:</span><br />";
        	echo "<span class='bulletin'><i>".$tab_rel['suivi_par']."</i></span>";
        }
        
                // Si une des deux variables 'releve_affiche_avis' ou 'releve_affiche_signature' est à 'y', il faut fermer le tableau
                if (($releve_affiche_avis == 'y')||($releve_affiche_signature == 'y')) {
                    echo "</td>\n";
                    // Fin du tableau
                    echo "</tr>\n";
        	echo "</table>\n";
                }
        */
        //================================
        //=============================================
        // BLOC Absence
        // TODO : ajouter un test sur le choix
        if ($tab_rel['rn_abs_2'] == 'y') {
            $eleve_query = EleveQuery::create()->orderByNom()->orderByPrenom()->distinct();
            $eleve_query->filterByLogin($tab_rel['eleve'][$i]['login']);
            $eleve = $eleve_query->findOne();
            $nbAbsencesRetard = decompteAbsences($tab_rel['eleve'][$i]['login'], $choix_periode, $tab_rel);
            ?>
<div style="width: <?php 
            echo $releve_largeurtableau - 20;
            ?>
px; 
	 margin: .5em 0;
	 padding: .2em .5em;
	 border: 5px double black; ">
  <?php 
            echo $nbAbsencesRetard['nbAbsences'];
            ?>
 absence(s)
   dont <?php 
            echo $nbAbsencesRetard['nbAbsencesNonJustifiees'];
            ?>
 non justifiée(s)
   <?php 
            echo $nbAbsencesRetard['nbRetards'];
            ?>
 retard(s)
  
</div>
<?php 
        }
        //================================
        //================================
        if ($tab_rel['rn_sign_chefetab'] == 'y' || $tab_rel['rn_sign_pp'] == 'y' || $tab_rel['rn_sign_resp'] == 'y') {
            $nb_cases = 0;
            if ($tab_rel['rn_sign_chefetab'] == 'y') {
                $nb_cases++;
            }
            if ($tab_rel['rn_sign_pp'] == 'y') {
                $nb_cases++;
            }
            if ($tab_rel['rn_sign_resp'] == 'y') {
                $nb_cases++;
            }
            $largeur_case = round($releve_largeurtableau / $nb_cases);
            echo "<table{$releve_class_bordure} border='1' width='{$releve_largeurtableau}'";
            echo " summary=\"Tableau des signatures\"";
            if (isset($rn_couleurs_alternees) && $rn_couleurs_alternees == "y") {
                echo " style='background-color:white;'";
            }
            echo ">\n";
            echo "<tr>\n";
            if ($tab_rel['rn_sign_chefetab'] == 'y') {
                echo "<td style='width: {$largeur_case}'>\n";
                echo "<b>Signature du chef d'établissement:</b>";
                for ($m = 0; $m < $tab_rel['rn_sign_nblig']; $m++) {
                    echo "<br />\n";
                }
                echo "</td>\n";
            }
            if ($tab_rel['rn_sign_pp'] == 'y') {
                echo "<td style='width: {$largeur_case}'>\n";
                echo "<b>Signature du " . $tab_rel['gepi_prof_suivi'] . ":</b>";
                for ($m = 0; $m < $tab_rel['rn_sign_nblig']; $m++) {
                    echo "<br />\n";
                }
                echo "</td>\n";
            }
            if ($tab_rel['rn_sign_resp'] == 'y') {
                echo "<td style='width: {$largeur_case}'>\n";
                echo "<b>Signature des responsables:</b>";
                for ($m = 0; $m < $tab_rel['rn_sign_nblig']; $m++) {
                    echo "<br />\n";
                }
                echo "</td>\n";
            }
            echo "</tr>\n";
            echo "</table>\n";
        }
        if ($tab_rel['rn_formule'] != "") {
            //echo "<p>".htmlspecialchars($tab_rel['rn_formule'])."</p>\n";
            //echo "<p>".$tab_rel['rn_formule']."</p>\n";
            echo "<table width='{$releve_largeurtableau}' style='margin-left:5px; margin-right:5px;' border='0' cellspacing='" . $releve_cellspacing . "' cellpadding='" . $releve_cellpadding . "' summary='Formule du bas de relevé de notes'>\n";
            echo "<tr>";
            echo "<td><p align='center' class='bulletin'>" . $tab_rel['rn_formule'] . "</p></td>\n";
            echo "</tr></table>";
        }
        //================================
        //echo "</div>\n";
        //================================
        // Affichage de la formule de bas de page
        //echo "\$releve_formule_bas=$releve_formule_bas<br />";
        //echo "\$releve_affiche_formule=$releve_affiche_formule<br />";
        if ($releve_formule_bas != '' and $releve_affiche_formule == 'y') {
            // Pas d'affichage dans le cas d'un bulletin d'une période "examen blanc"
            echo "<table width='{$releve_largeurtableau}' style='margin-left:5px; margin-right:5px;' border='0' cellspacing='" . $releve_cellspacing . "' cellpadding='" . $releve_cellpadding . "'>\n";
            echo "<tr>";
            echo "<td><p align='center' class='bulletin'>" . $releve_formule_bas . "</p></td>\n";
            echo "</tr></table>";
        }
        echo "</div>\n";
        //================================
        if ($num_releve == 0 && $nb_releves == 2) {
            echo "<p class='saut'>&nbsp;</p>\n";
        }
    }
}
コード例 #20
0
ファイル: affiche_eleve.php プロジェクト: alhousseyni/gepi
	echo "<input type='hidden' name='is_posted' value='y' />\n";

	//echo "\$eleve1=$eleve1 et \$affiche_photo=$affiche_photo<br />";

	echo "<div class='fieldset_opacite50' style='margin-bottom:0.5em;'>";
	// Affichage de la photo si elle existe:
	if((isset($eleve1))&&($affiche_photo!="non")) {
		//$chemin_photos='/var/wwws/gepi/photos';

		$sql="SELECT elenoet FROM eleves WHERE login='******'";
		$res_elenoet=mysqli_query($GLOBALS["mysqli"], $sql);
		if(mysqli_num_rows($res_elenoet)==1) {
			$lig_elenoet=mysqli_fetch_object($res_elenoet);
			$elenoet1=$lig_elenoet->elenoet;

			$photo=nom_photo($elenoet1);
			//if("$photo"!="") {
			if ($photo) {
				$dimimg=getimagesize($photo);
				if(!$dimimg) {
					echo "<span style='color:red'>Erreur sur $photo</span>";
				}
				else {

					$largimg=$largeur_imposee_photo;
					$hautimg=round($dimimg[1]*$largeur_imposee_photo/$dimimg[0]);

					echo "<img src='".$photo."' width='$largimg' height='$hautimg' alt='Photo de $eleve1' />\n";
				}
			}
コード例 #21
0
ファイル: lib_exb.php プロジェクト: alhousseyni/gepi
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, '');
                }
            }
        }
    }
}
コード例 #22
0
ファイル: edit.php プロジェクト: rhertzog/lcs
     echo "<div style='clear: both; font-size: xx-small;'>&nbsp;</div>\n";
     // Fin du cadre entête:
     echo "</div>\n";
 } else {
     //-------------------------------
     // Maintenant, on affiche l'en-tête : Les données de l'élève, et l'adresse du lycée.
     //-------------------------------
     echo "<table width='{$largeurtableau}' border='0' cellspacing='" . $cellspacing . "' cellpadding='" . $cellpadding . "' summary='Tableau des données élève et établissement'>\n";
     //echo "<table width='$largeurtableau' border='1' cellspacing='".getSettingValue("cellspacing")."' cellpadding='".getSettingValue("cellpadding")."'>\n";
     echo "<tr>\n";
     echo "<td style=\"width: 30%;\">\n";
     //echo "getSettingValue(\"activer_photo_bulletin\")=".getSettingValue("activer_photo_bulletin")."<br />";
     //echo "getSettingValue(\"active_module_trombinoscopes\")=".getSettingValue("active_module_trombinoscopes")."<br />";
     if (getSettingValue("activer_photo_bulletin") == 'y' and getSettingValue("active_module_trombinoscopes") == 'y') {
         $current_eleve_idphoto = mysql_result($appel_liste_eleves, $i, "elenoet");
         $photo = nom_photo($current_eleve_idphoto);
         if ($photo) {
             if (file_exists($photo)) {
                 echo '<img src="' . $photo . '" style="width: 60px; height: 80px; border: 0px; border-right: 3px solid #FFFFFF; float: left;" alt="" />' . "\n";
             }
         }
     }
     //affichage des données sur une seule ligne ou plusieurs
     if ($bull_affiche_eleve_une_ligne == 'no') {
         // sur plusieurs lignes
         echo "<p class='bulletin'>\n";
         echo "<b><span class=\"bgrand\">{$current_eleve_nom} {$current_eleve_prenom}</span></b><br />";
         if ($current_eleve_sexe == "M") {
             echo "Né&nbsp;le&nbsp;{$current_eleve_naissance}";
         } else {
             echo "Née&nbsp;le&nbsp;{$current_eleve_naissance}";
コード例 #23
0
ファイル: saisir_groupe_plan.php プロジェクト: rhertzog/lcs
*/
					if(isset($tab_coord[$eleve['login']]['x'])) {
						$x=$tab_coord[$eleve['login']]['x'];
						$y=$tab_coord[$eleve['login']]['y'];
					}
					else {
						$y=$max_y+$hauteur_div+70;
						$x=(10+$largeur_div)*$compteur_nouvel_eleve+10;
						$compteur_nouvel_eleve++;
					}

					echo "<div id='div_".$eleve['position']."' style='position:absolute; top:".$y."px; left:".$x."px; width:".$largeur_div."px; height:".$hauteur_div."px; text-align:center;'>\n";
					//overflow: auto; 

					echo "<label for='active_absence_eleve_".$eleve['position']."'>\n";
					$photo=nom_photo($eleve['elenoet'], "eleves");

					if(!file_exists($photo)) {
						$photo="../mod_trombinoscopes/images/trombivide.jpg";
					}

					$info_image = getimagesize($photo);
					// largeur et hauteur de l'image d'origine
					$largeur = $info_image[0];
					$hauteur = $info_image[1];

					if($largeur>$hauteur) {$dif_ref=$largeur;}
					else {$dif_ref=$hauteur;}
					$ratio=$dif_ref/$dim_photo_pdc;

					// définit largeur et hauteur pour la nouvelle image
コード例 #24
0
/**
 * Recherche les personnels sans photos
 *
 * @param string $statut statut recherché
 * @return array tableau des personnels sans photo ou NULL
 * @see nom_photo()
 */
function recherche_personnel_sans_photo($statut='professeur') {
  $personnel=NULL;
  $requete_liste_personnel = "SELECT login,nom,prenom FROM utilisateurs u
	WHERE u.statut='".$statut."' AND u.etat='actif' 
	ORDER BY nom, prenom ASC";
  $res_personnel = mysqli_query($GLOBALS["mysqli"], $requete_liste_personnel);
  while ($row = mysqli_fetch_object($res_personnel)) {
	$nom_photo = nom_photo($row->login,"personnels");
	if (!($nom_photo and file_exists($nom_photo))) {
	  $personnel[]=$row;
	}
  }
  return $personnel;
}
コード例 #25
0
ファイル: trombinoscopes.php プロジェクト: alhousseyni/gepi
 if ($action_affiche == 'equipepeda' || $action_affiche == 'discipline' || $action_affiche == 'statusgepi') {
     if ($_SESSION['statut'] == 'eleve' && isset($tmp_id_classe)) {
         $alt_nom_prenom_aff = affiche_utilisateur($login_trombinoscope[$i], $tmp_id_classe);
         $nom_prenom_aff = $alt_nom_prenom_aff . "</span>";
     } elseif ($_SESSION['statut'] == 'responsable' && isset($tmp_id_classe)) {
         $alt_nom_prenom_aff = affiche_utilisateur($login_trombinoscope[$i], $tmp_id_classe);
         $nom_prenom_aff = $alt_nom_prenom_aff . "</span>";
     } else {
         $nom_prenom_aff = "<b>" . $nom_es . "</b></span><br />" . $prenom_es;
         $alt_nom_prenom_aff = $nom_es . " " . $prenom_es;
     }
 } else {
     $nom_prenom_aff = "<b>" . $nom_es . "</b></span><br />" . $prenom_es;
     $alt_nom_prenom_aff = $nom_es . " " . $prenom_es;
 }
 $nom_photo = nom_photo($id_photo_trombinoscope[$i], $repertoire);
 $photo = $nom_photo;
 if ($nom_photo and file_exists($photo)) {
     $valeur = redimensionne_image($photo);
 } else {
     $valeur[0] = getSettingValue("l_max_aff_trombinoscopes");
     $valeur[1] = getSettingValue("h_max_aff_trombinoscopes");
 }
 $lien_upload_propose = "n";
 if ($action_affiche == 'classe' || $action_affiche == 'groupe') {
     if ($_SESSION['statut'] == 'administrateur' || $_SESSION['statut'] == 'scolarite' || $_SESSION['statut'] == 'cpe' && getSettingAOui('CpeAccesUploadPhotosEleves')) {
         echo "<a href=\"#\" onclick=\"afficher_div_upload_photo('" . $login_trombinoscope[$i] . "','" . addslashes($nom_es . " " . $prenom_es) . "');afficher_div('div_upload_photo','y',-20,20);return false;\" title=\"Téléverser une (nouvelle) photo pour {$alt_nom_prenom_aff}\">";
         $lien_upload_propose = "y";
     }
 }
 echo "<img src='";
コード例 #26
0
ファイル: saisie_pointages.php プロジェクト: alhousseyni/gepi
                     $cpt_saisies_creneau_courant++;
                     if (!isset($tab_totaux_tfoot['creneau'][$current_id_creneau][$current_id_type])) {
                         $tab_totaux_tfoot['creneau'][$current_id_creneau][$current_id_type] = 0;
                     }
                     $tab_totaux_tfoot['creneau'][$current_id_creneau][$current_id_type]++;
                 }
             }
         }
         echo "\n\t\t\t\t\t</td>";
     }
     if ($active_module_trombinoscopes) {
         $photo = nom_photo($tab_ele["eleves"]["all"]["users"][$current_eleve_login]['elenoet']);
         if ($photo == NULL or !file_exists($photo)) {
             $photo = "../mod_trombinoscopes/images/trombivide.jpg";
         }
         echo "\n\t\t\t\t\t<td>" . nom_photo($current_eleve_login) . "<img src='" . $photo . "' width='50' alt='Photo' /></td>";
     }
     echo "\n\t\t\t\t</tr>";
 }
 echo "\n\t\t\t</tbody>\n\t\t\t<tfoot>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>Totaux</th>\n\t\t\t\t\t<th>";
 foreach ($tab_classe as $current_id_classe => $current_clas) {
     echo preg_replace("/ /", "&nbsp;", $current_clas['nom_classe']) . "<span style='font-size:xx-small' title='Effectif'>&nbsp;(" . $current_clas['effectif'] . ")</span> ";
 }
 echo "</th>\n\t\t\t\t\t<th>";
 foreach ($tab_totaux_tfoot['total'] as $current_id_type => $current_effectif) {
     echo "<span title=\"" . $tab_type_pointage_discipline['id_type'][$current_id_type]['nom'] . " (" . $tab_type_pointage_discipline['id_type'][$current_id_type]['description'] . ")\">" . mb_substr($tab_type_pointage_discipline['id_type'][$current_id_type]['nom'], 0, 2) . "&nbsp;:&nbsp;" . $current_effectif . "</span><br />";
 }
 echo "</th>";
 // <!-- Boucle sur les créneaux -->
 foreach ($tab_creneaux as $current_id_creneau => $current_creneau) {
     echo "\n\t\t\t\t\t<th>";
コード例 #27
0
                 $eff_fut_classe_hors_selection_F[$i]++;
             } else {
                 $eff_fut_classe_hors_selection_M[$i]++;
             }
             break;
         }
     }
 } else {
     //echo "<tr id='tr_eleve_$cpt' class='white_hover'>\n";
     //echo "<tr id='tr_eleve_$cpt' class='white_hover white_survol' onmouseover=\"this.style.backgroundColor='white';\" onmouseout=\"this.style.backgroundColor='';\">\n";
     //echo "<tr id='tr_eleve_$cpt' class='white_hover' onmouseover=\"document.getElementById('nom_prenom_eleve_numero_$cpt').style.color='red';\" onmouseout=\"document.getElementById('nom_prenom_eleve_numero_$cpt').style.color='';\">\n";
     echo "<tr id='tr_eleve_{$cpt}' class='white_hover white_survol' onmouseover=\"this.style.backgroundColor='white';\" onmouseout=\"colorise_ligne2({$cpt});\">\n";
     echo "<td>\n";
     echo "<a name='eleve{$cpt}'></a>\n";
     if (nom_photo($lig->elenoet)) {
         echo "<a href='#eleve{$cpt}' onclick=\"affiche_photo('" . nom_photo($lig->elenoet) . "','" . addslashes(mb_strtoupper($lig->nom) . " " . ucfirst(mb_strtolower($lig->prenom))) . "');afficher_div('div_photo','y',100,100);return false;\">";
         echo "<span id='nom_prenom_eleve_numero_{$cpt}' class='col_nom_eleve'>";
         echo mb_strtoupper($lig->nom) . " " . ucfirst(mb_strtolower($lig->prenom));
         echo "</span>";
         echo "</a>\n";
     } else {
         echo "<span id='nom_prenom_eleve_numero_{$cpt}' class='col_nom_eleve'>";
         echo mb_strtoupper($lig->nom) . " " . ucfirst(mb_strtolower($lig->prenom));
         echo "</span>";
     }
     echo "<input type='hidden' name='eleve[{$cpt}]' value='{$lig->login}' />\n";
     echo "</td>\n";
     echo "<td>";
     echo "<span style='display:none' id='eleve_sexe_{$cpt}'>" . $lig->sexe . "</span>";
     //echo image_sexe($lig->sexe);
     echo "<div id='div_sexe_{$cpt}' onclick=\"affiche_set_sexe({$cpt}, '{$lig->login}');changement();return false;\">" . image_sexe($lig->sexe) . "</div>\n";
コード例 #28
0
ファイル: popup.php プロジェクト: alhousseyni/gepi
     echo $current_ele['nom'] . " " . $current_ele['prenom'];
     echo "</a>";
 } else {
     echo $current_ele['nom'] . " " . $current_ele['prenom'];
 }
 //echo "<br />\n";
 echo "</td>\n";
 echo "<td>" . $current_ele['nom_classe'] . "</td>\n";
 /*
 
 			echo "</td>\n";
 */
 if ($avec_details == 'y') {
     if (getSettingValue('active_module_trombinoscopes') == 'y') {
         echo "<td>\n";
         $_photo_eleve = nom_photo($current_ele['elenoet']);
         if ($_photo_eleve != '') {
             echo "<a href='#' onclick=\"document.getElementById('div_photo_eleve_contenu_corps').innerHTML='<div align=\\'center\\'><img src=\\'{$_photo_eleve}\\' width=\\'150\\' /></div>';afficher_div('div_photo_eleve','y',-100,20); return false;\"><img src='../images/icons/buddy.png' alt=\"" . $current_ele['nom'] . " " . $current_ele['prenom'] . "\"></a>\n";
         } else {
             echo "&nbsp;";
         }
         echo "</td>\n";
     }
     echo "<td>\n";
     if ($lien_visu_eleve == "y") {
         echo "<a href='../eleves/visu_eleve.php?ele_login={$current_login_ele}&amp;cacher_header=y' title='Accéder à la consultation élève' style='text-decoration:none; color:black;'>" . affiche_date_naissance($current_ele['naissance']) . "</a>";
     } else {
         echo affiche_date_naissance($current_ele['naissance']);
     }
     echo "</td>\n";
 }
コード例 #29
0
ファイル: eleve_eleve.php プロジェクト: rhertzog/lcs
		echo "<a href='#' onmouseover=\"afficher_div('info_popup_eleve1','y',-100,20);\"";
		//echo " onmouseout=\"cacher_div('info_popup_eleve');\"";
		echo ">";
		echo "<img src='../images/icons/buddy.png' alt='Informations élève 1' />";
		echo "</a>";
		echo "<br />";

		// ============================================
		// Création de l'infobulle2:

		$titre=$v_eleve_nom_prenom2;
		//$texte="<table border='0'>\n";
		$texte="<div align='center'>\n";
		//$texte.="<tr>\n";
		if($v_elenoet2!=""){
			$photo=nom_photo($v_elenoet2);
			//if("$photo"!=""){
			if($photo) {
				$texte.="<img src='".$photo."' width='150' alt=\"$v_eleve_nom_prenom2\" />";
				$texte.="<br />\n";
			}
		}
		//$texte.="<td>\n";
		$texte.="<br />\n";
		$texte.="Né";
		if($v_sexe2=="F"){
			$texte.="e";
		}
		$texte.=" le $v_naissance2\n";
		//$texte.="</td>\n";
		//$texte.="</tr>\n";
コード例 #30
0
ファイル: saisie_avis2.php プロジェクト: alhousseyni/gepi
     echo ucfirst($gepi_denom_mention) . " : ";
     echo champ_select_mention('current_eleve_mention', $id_classe, $current_eleve_mention);
 }
 // **** FIN DE L'AJOUT POUR LES MENTIONS ****
 echo "</td>\n";
 //==========================
 // Photo
 $sql = "SELECT elenoet, nom, prenom, sexe FROM eleves WHERE login='******';";
 $res_ele = mysqli_query($GLOBALS["mysqli"], $sql);
 $lig_ele = mysqli_fetch_object($res_ele);
 $current_eleve_elenoet = $lig_ele->elenoet;
 $current_eleve_nom = $lig_ele->nom;
 $current_eleve_prenom = $lig_ele->prenom;
 $current_eleve_sexe = $lig_ele->sexe;
 // Photo...
 $photo = nom_photo($current_eleve_elenoet);
 $temoin_photo = "";
 //if("$photo"!=""){
 if ($photo) {
     $titre = "{$current_eleve_nom} {$current_eleve_prenom}";
     $texte = "<div align='center'>\n";
     $texte .= "<img src='" . $photo . "' width='150' alt=\"{$current_eleve_nom} {$current_eleve_prenom}\" title=\"{$current_eleve_nom} {$current_eleve_prenom}\" />";
     $texte .= "<br />\n";
     $texte .= "</div>\n";
     $temoin_photo = "y";
     $tabdiv_infobulle[] = creer_div_infobulle('photo_' . $current_eleve_login, $titre, "", $texte, "", 14, 0, 'y', 'y', 'n', 'n');
     echo "<td valign='top'>\n";
     //echo " <a href='#' onmouseover=\"afficher_div('photo_$current_eleve_login','y',-100,20);\"";
     //echo " <a href='#' onmouseover=\"delais_afficher_div('photo_$current_eleve_login','y',-100,20,1000,10,10);\"";
     echo " <a href=\"{$photo}\" onmouseover=\"delais_afficher_div('photo_{$current_eleve_login}','y',-100,20,1000,10,10);\" onclick=\"afficher_div('photo_{$current_eleve_login}','y',-100,20); return false;\" target='_blank'";
     echo ">";