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, ''); } } } }
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, ''); } } } } }