Projet

Général

Profil

Evolution #2570 » bull_func.lib.php

Martial LENZEN, 07/12/2010 19:07

 
1
<?php
2

    
3
/* $Id: bull_func.lib.php 4878 2010-07-24 13:54:01Z regis $ */
4

    
5
include("../cahier_notes/visu_releve_notes_func.lib.php");
6

    
7
function nbsp_au_lieu_de_vide($texte) {
8
	if($texte=="") {
9
		echo "&nbsp;";
10
	}
11
	else {
12
		echo $texte;
13
	}
14
}
15

    
16

    
17
/*
18
function decompte_debug($motif,$texte) {
19
	global $tab_instant, $debug;
20
	$instant=time();
21
	if(isset($tab_instant[$motif])) {
22
		$diff=$instant-$tab_instant[$motif];
23
		if($debug=="y") {
24
			echo "<p>$texte: ".$diff." s</p>\n";
25
		}
26
	}
27
	else {
28
		if($debug=="y") {
29
			echo "<p>$texte</p>\n";
30
		}
31
	}
32
	$tab_instant[$motif]=$instant;
33
}
34

    
35
function decompte_debug($motif,$texte) {
36
	global $tab_instant, $debug;
37
	if($debug=="y") {
38
		$instant=microtime();
39
		if(isset($tab_instant[$motif])) {
40
			$tmp_tab1=explode(" ",$instant);
41
			$tmp_tab2=explode(" ",$tab_instant[$motif]);
42
			if($tmp_tab1[1]!=$tmp_tab2[1]) {
43
				$diff=$tmp_tab1[1]-$tmp_tab2[1];
44
			}
45
			else {
46
				$diff=$tmp_tab1[0]-$tmp_tab2[0];
47
			}
48
			//if($debug=="y") {
49
				echo "<p style='color:green;'>$texte: ".$diff." s</p>\n";
50
			//}
51
		}
52
		else {
53
			//if($debug=="y") {
54
				echo "<p style='color:green;'>$texte</p>\n";
55
			//}
56
		}
57
		$tab_instant[$motif]=$instant;
58
	}
59
}
60
*/
61

    
62
function regime($id_reg) {
63
	switch($id_reg) {
64
		case "d/p":
65
			$regime="Demi-pensionnaire";
66
			break;
67
		case "ext.":
68
			$regime="Externe";
69
			break;
70
		case "int.":
71
			$regime="Interne";
72
			break;
73
		case "i-e":
74
			$regime="Interne-extern?";
75
			break;
76
		default:
77
			$regime="R?gime inconnu...";
78
			break;
79
	}
80

    
81
	return $regime;
82
}
83

    
84
function redimensionne_image_b($photo){
85
	global $bull_photo_largeur_max, $bull_photo_hauteur_max;
86

    
87
	// prendre les informations sur l'image
88
	$info_image=getimagesize($photo);
89
	// largeur et hauteur de l'image d'origine
90
	$largeur=$info_image[0];
91
	$hauteur=$info_image[1];
92

    
93
	// calcule le ratio de redimensionnement
94
	$ratio_l=$largeur/$bull_photo_largeur_max;
95
	$ratio_h=$hauteur/$bull_photo_hauteur_max;
96
	$ratio=($ratio_l>$ratio_h)?$ratio_l:$ratio_h;
97

    
98
	// d?finit largeur et hauteur pour la nouvelle image
99
	$nouvelle_largeur=round($largeur/$ratio);
100
	$nouvelle_hauteur=round($hauteur/$ratio);
101

    
102
	return array($nouvelle_largeur, $nouvelle_hauteur);
103
}
104

    
105
/*
106
function texte_html_ou_pas($texte){
107
	// Si le texte contient des < et >, on affiche tel quel
108
	if((strstr($texte,">"))||(strstr($texte,"<"))){
109
		$retour=$texte;
110
	}
111
	// Sinon, on transforme les retours ? la ligne en <br />
112
	else{
113
		$retour=nl2br($texte);
114
	}
115
	return $retour;
116
}
117
*/
118

    
119
// $tab_bulletin[$id_classe][$periode_num]
120
// $i indice ?l?ve
121
function bulletin_html($tab_bull,$i,$tab_rel) {
122
	global
123
		//============================================
124
		// Param?tres g?n?raux:
125
		// En admin, dans Gestion g?n?rale/Configuration g?n?rale
126
		$gepi_prof_suivi,
127

    
128
		$RneEtablissement,
129
		$gepiSchoolName,
130
		$gepiSchoolAdress1,
131
		$gepiSchoolAdress2,
132
		$gepiSchoolZipCode,
133
		$gepiSchoolCity,
134
		$gepiSchoolPays,
135
		$gepiSchoolTel,
136
		$gepiSchoolFax,
137
		$gepiYear,
138

    
139
		$logo_etab,
140
		//============================================
141
		// Param?tres d'impression des bulletins HTML:
142

    
143
		// Mise en page du bulletin scolaire
144
		$bull_body_marginleft,
145
		// $titlesize, $textsize, $p_bulletin_margin sont r?cup?r?s plus haut dans l'ent?te pour ?crire les styles
146
		$largeurtableau,
147

    
148
		$col_matiere_largeur,
149
		$col_note_largeur,
150
		$col_boite_largeur,
151
		$col_hauteur,		// La hauteur minimale de ligne n'est exploit?e que dans les boites/conteneurs
152
		$cellpadding,
153
		$cellspacing,
154
		$bull_ecart_entete,
155
		$bull_espace_avis,
156
		// $bull_bordure_classique permet de renseigner $class_bordure
157
		$class_bordure,
158

    
159
		$bull_categ_font_size,
160
		$bull_categ_bgcolor,
161
		//======================
162
		$bull_categ_font_size_avis,
163
		$bull_police_avis,
164
		$bull_font_style_avis,
165
		// Ils sont utilis?s dans l'ent?te pour g?n?rer les styles
166
		//======================
167
		$genre_periode,
168
		$bull_affich_nom_etab,
169
		$bull_affich_adr_etab,
170

    
171
		// Informations devant figurer sur le bulletin scolaire
172
		$bull_mention_nom_court,
173
		$bull_mention_doublant,
174
		$bull_affiche_eleve_une_ligne,
175
		$bull_affiche_appreciations,
176
		$bull_affiche_absences,
177
		$bull_affiche_avis,
178
		$bull_affiche_aid,
179
		$bull_affiche_numero,		// affichage du num?ro du bulletin
180
		// L'affichage des graphes devrait provenir des Param?tres d'impression des bulletins HTML, mais le param?tre a ?t? stock? dans $tab_bull
181
		$bull_affiche_signature,	// affichage du nom du PP et du chef d'?tablissement
182
		$bull_affiche_etab,			// Etablissement d'origine
183

    
184

    
185
		$activer_photo_bulletin,
186
		// $bull_photo_largeur_max et $bull_photo_hauteur_max sont r?cup?r?es via global dans redimensionne_image()
187

    
188
		$bull_affiche_tel,
189
		$bull_affiche_fax,
190
		$bull_intitule_app,
191
		$bull_affiche_INE_eleve,
192
		$bull_affiche_formule,
193
		$bull_formule_bas,
194
		// Nom du fichier d?termin? d'apr?s le param?tre choix_bulletin
195
		$fichier_bulletin,
196
		$min_max_moyclas,
197

    
198
		// Bloc adresse responsable
199
		$addressblock_padding_right,
200
		$addressblock_padding_top,
201
		$addressblock_padding_text,
202
		$addressblock_length,
203
		$addressblock_font_size,
204
		//addressblock_logo_etab_prop correspond au pourcentage $largeur1 et $largeur2 est le compl?ment ? 100%
205
		$largeur1,
206
		$largeur2,
207
		// Pourcentage calcul? par rapport au tableau contenant le bloc Classe, Ann?e,...
208
		$addressblock_classe_annee2,
209
		// Nombre de sauts de ligne entre le bloc Logo+Etablissement et le bloc Nom, pr?nom,... de l'?l?ve
210
		$bull_ecart_bloc_nom,
211
		$addressblock_debug,
212

    
213
		// Page de garde
214
		$page_garde_imprime,
215
		$affiche_page_garde,
216
		// Les autres param?tres de la page de garde sont r?cup?r?s directement dans page_garde.php
217
		// Il faudrait ramener ici les variables pour ?viter de faire les requ?tes autant de fois qu'il y a de bulletins
218

    
219
		//============================================
220
		// Param?tre transmis depuis la page d'impression des bulletins
221
		$un_seul_bull_par_famille,
222

    
223
		//============================================
224
		// Tableaux provenant de /lib/global.inc
225
		$type_etablissement,
226
		$type_etablissement2,
227

    
228
		//============================================
229
		// Param?tre du module trombinoscope
230
		// En admin, dans Gestion des modules
231
		$active_module_trombinoscopes
232
;
233

    
234
	// R?cup?rer avant le nombre de bulletins ? imprimer
235
	// - que le premier resp
236
	// - tous les resp si adr diff?rentes
237
	// et le passer via global
238
	//================================
239

    
240
	// Initialisation:
241
	$nb_bulletins=1;
242

    
243
	unset($tab_adr_ligne1);
244
	unset($tab_adr_ligne2);
245
	unset($tab_adr_ligne3);
246
	if ( $affiche_page_garde == 'yes' OR $tab_bull['affiche_adresse'] == 'y') {
247
		// Pr?paration des lignes adresse responsable
248
		if (!isset($tab_bull['eleve'][$i]['resp'][0])) {
249
			$tab_adr_ligne1[0]="<font color='red'><b>ADRESSE MANQUANTE</b></font>";
250
			$tab_adr_ligne2[0]="";
251
			$tab_adr_ligne3[0]="";
252
		}
253
		else {
254
			if (isset($tab_bull['eleve'][$i]['resp'][1])) {
255
				if((isset($tab_bull['eleve'][$i]['resp'][1]['adr1']))&&
256
					(isset($tab_bull['eleve'][$i]['resp'][1]['adr2']))&&
257
					(isset($tab_bull['eleve'][$i]['resp'][1]['adr3']))&&
258
					(isset($tab_bull['eleve'][$i]['resp'][1]['adr4']))&&
259
					(isset($tab_bull['eleve'][$i]['resp'][1]['cp']))&&
260
					(isset($tab_bull['eleve'][$i]['resp'][1]['commune']))
261
				) {
262
					// Le deuxi?me responsable existe et est renseign?
263
				if ((strtolower($tab_bull['eleve'][$i]['resp'][0]['adr_id'])==strtolower($tab_bull['eleve'][$i]['resp'][1]['adr_id'])) OR
264
					(
265
						(strtolower($tab_bull['eleve'][$i]['resp'][0]['adr1'])==strtolower($tab_bull['eleve'][$i]['resp'][1]['adr1']))&&
266
						(strtolower($tab_bull['eleve'][$i]['resp'][0]['adr2'])==strtolower($tab_bull['eleve'][$i]['resp'][1]['adr2']))&&
267
						(strtolower($tab_bull['eleve'][$i]['resp'][0]['adr3'])==strtolower($tab_bull['eleve'][$i]['resp'][1]['adr3']))&&
268
						(strtolower($tab_bull['eleve'][$i]['resp'][0]['adr4'])==strtolower($tab_bull['eleve'][$i]['resp'][1]['adr4']))&&
269
						(strtolower($tab_bull['eleve'][$i]['resp'][0]['cp'])==strtolower($tab_bull['eleve'][$i]['resp'][1]['cp']))&&
270
						(strtolower($tab_bull['eleve'][$i]['resp'][0]['commune'])==strtolower($tab_bull['eleve'][$i]['resp'][1]['commune']))
271
					)
272
				) {
273
						// Les adresses sont identiques
274
						$nb_bulletins=1;
275

    
276
					if((strtolower($tab_bull['eleve'][$i]['resp'][0]['nom'])!=strtolower($tab_bull['eleve'][$i]['resp'][1]['nom']))&&
277
							($tab_bull['eleve'][$i]['resp'][1]['nom']!="")) {
278
							// Les noms des responsables sont diff?rents
279
							//$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'];
280
							$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'];
281
							//$tab_adr_ligne1[0].=" et ";
282
							$tab_adr_ligne1[0].="<br />\n";
283
							$tab_adr_ligne1[0].="et ";
284
							$tab_adr_ligne1[0].=$tab_bull['eleve'][$i]['resp'][1]['civilite']." ".$tab_bull['eleve'][$i]['resp'][1]['nom']." ".$tab_bull['eleve'][$i]['resp'][1]['prenom'];
285
						}
286
						else{
287
							if(($tab_bull['eleve'][$i]['resp'][0]['civilite']!="")&&($tab_bull['eleve'][$i]['resp'][1]['civilite']!="")) {
288
								$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'];
289
							}
290
							else {
291
								$tab_adr_ligne1[0]="M. et Mme ".$tab_bull['eleve'][$i]['resp'][0]['nom']." ".$tab_bull['eleve'][$i]['resp'][0]['prenom'];
292
							}
293
						}
294

    
295
						$tab_adr_ligne2[0]=$tab_bull['eleve'][$i]['resp'][0]['adr1'];
296
						if($tab_bull['eleve'][$i]['resp'][0]['adr2']!=""){
297
							$tab_adr_ligne2[0].="<br />\n".$tab_bull['eleve'][$i]['resp'][0]['adr2'];
298
						}
299
						if($tab_bull['eleve'][$i]['resp'][0]['adr3']!=""){
300
							$tab_adr_ligne2[0].="<br />\n".$tab_bull['eleve'][$i]['resp'][0]['adr3'];
301
						}
302
						if($tab_bull['eleve'][$i]['resp'][0]['adr4']!=""){
303
							$tab_adr_ligne2[0].="<br />\n".$tab_bull['eleve'][$i]['resp'][0]['adr4'];
304
						}
305
						$tab_adr_ligne3[0]=$tab_bull['eleve'][$i]['resp'][0]['cp']." ".$tab_bull['eleve'][$i]['resp'][0]['commune'];
306

    
307
						if(($tab_bull['eleve'][$i]['resp'][0]['pays']!="")&&(strtolower($tab_bull['eleve'][$i]['resp'][0]['pays'])!=strtolower($gepiSchoolPays))) {
308
							if($tab_adr_ligne3[0]!=" "){
309
								$tab_adr_ligne3[0].="<br />";
310
							}
311
							$tab_adr_ligne3[0].=$tab_bull['eleve'][$i]['resp'][0]['pays'];
312
						}
313
					}
314
					else {
315
						// Les adresses sont diff?rentes
316
						//if ($un_seul_bull_par_famille!="oui") {
317
						// On teste en plus si la deuxi?me adresse est valide
318
						if (($un_seul_bull_par_famille!="oui")&&
319
							($tab_bull['eleve'][$i]['resp'][1]['adr1']!="")&&
320
							($tab_bull['eleve'][$i]['resp'][1]['commune']!="")
321
						) {
322
							$nb_bulletins=2;
323
						}
324
						else {
325
							$nb_bulletins=1;
326
						}
327

    
328
						for($cpt=0;$cpt<$nb_bulletins;$cpt++) {
329
							if($tab_bull['eleve'][$i]['resp'][$cpt]['civilite']!="") {
330
								$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'];
331
							}
332
							else {
333
								$tab_adr_ligne1[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['nom']." ".$tab_bull['eleve'][$i]['resp'][$cpt]['prenom'];
334
							}
335

    
336
							$tab_adr_ligne2[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['adr1'];
337
							if($tab_bull['eleve'][$i]['resp'][$cpt]['adr2']!=""){
338
								$tab_adr_ligne2[$cpt].="<br />\n".$tab_bull['eleve'][$i]['resp'][$cpt]['adr2'];
339
							}
340
							if($tab_bull['eleve'][$i]['resp'][$cpt]['adr3']!=""){
341
								$tab_adr_ligne2[$cpt].="<br />\n".$tab_bull['eleve'][$i]['resp'][$cpt]['adr3'];
342
							}
343
							if($tab_bull['eleve'][$i]['resp'][$cpt]['adr4']!=""){
344
								$tab_adr_ligne2[$cpt].="<br />\n".$tab_bull['eleve'][$i]['resp'][$cpt]['adr4'];
345
							}
346
							$tab_adr_ligne3[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['cp']." ".$tab_bull['eleve'][$i]['resp'][$cpt]['commune'];
347

    
348
							if(($tab_bull['eleve'][$i]['resp'][$cpt]['pays']!="")&&(strtolower($tab_bull['eleve'][$i]['resp'][$cpt]['pays'])!=strtolower($gepiSchoolPays))) {
349
								if($tab_adr_ligne3[$cpt]!=" "){
350
									$tab_adr_ligne3[$cpt].="<br />";
351
								}
352
								$tab_adr_ligne3[$cpt].=$tab_bull['eleve'][$i]['resp'][$cpt]['pays'];
353
							}
354

    
355
						}
356

    
357
					}
358
				}
359
				else {
360
					// Il n'y a pas de deuxi?me adresse, mais il y aurait un deuxi?me responsable???
361
					// CA NE DEVRAIT PAS ARRIVER ETANT DONN? LA REQUETE EFFECTUEE QUI JOINT resp_pers ET resp_adr...
362
						if ($un_seul_bull_par_famille!="oui") {
363
							$nb_bulletins=2;
364
						}
365
						else {
366
							$nb_bulletins=1;
367
						}
368

    
369
						for($cpt=0;$cpt<$nb_bulletins;$cpt++) {
370
							if($tab_bull['eleve'][$i]['resp'][$cpt]['civilite']!="") {
371
								$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'];
372
							}
373
							else {
374
								$tab_adr_ligne1[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['nom']." ".$tab_bull['eleve'][$i]['resp'][$cpt]['prenom'];
375
							}
376

    
377
							$tab_adr_ligne2[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['adr1'];
378
							if($tab_bull['eleve'][$i]['resp'][$cpt]['adr2']!=""){
379
								$tab_adr_ligne2[$cpt].="<br />\n".$tab_bull['eleve'][$i]['resp'][$cpt]['adr2'];
380
							}
381
							if($tab_bull['eleve'][$i]['resp'][$cpt]['adr3']!=""){
382
								$tab_adr_ligne2[$cpt].="<br />\n".$tab_bull['eleve'][$i]['resp'][$cpt]['adr3'];
383
							}
384
							if($tab_bull['eleve'][$i]['resp'][$cpt]['adr4']!=""){
385
								$tab_adr_ligne2[$cpt].="<br />\n".$tab_bull['eleve'][$i]['resp'][$cpt]['adr4'];
386
							}
387
							$tab_adr_ligne3[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['cp']." ".$tab_bull['eleve'][$i]['resp'][$cpt]['commune'];
388

    
389
							if(($tab_bull['eleve'][$i]['resp'][$cpt]['pays']!="")&&(strtolower($tab_bull['eleve'][$i]['resp'][$cpt]['pays'])!=strtolower($gepiSchoolPays))) {
390
								if($tab_adr_ligne3[$cpt]!=" "){
391
									$tab_adr_ligne3[$cpt].="<br />";
392
								}
393
								$tab_adr_ligne3[$cpt].=$tab_bull['eleve'][$i]['resp'][$cpt]['pays'];
394
							}
395
						}
396
				}
397
			}
398
			else {
399
				// Il n'y a pas de deuxi?me responsable
400
				$nb_bulletins=1;
401

    
402
				if($tab_bull['eleve'][$i]['resp'][0]['civilite']!="") {
403
					$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'];
404
				}
405
				else {
406
					$tab_adr_ligne1[0]=$tab_bull['eleve'][$i]['resp'][0]['nom']." ".$tab_bull['eleve'][$i]['resp'][0]['prenom'];
407
				}
408

    
409
				$tab_adr_ligne2[0]=$tab_bull['eleve'][$i]['resp'][0]['adr1'];
410
				if($tab_bull['eleve'][$i]['resp'][0]['adr2']!=""){
411
					$tab_adr_ligne2[0].="<br />\n".$tab_bull['eleve'][$i]['resp'][0]['adr2'];
412
				}
413
				if($tab_bull['eleve'][$i]['resp'][0]['adr3']!=""){
414
					$tab_adr_ligne2[0].="<br />\n".$tab_bull['eleve'][$i]['resp'][0]['adr3'];
415
				}
416
				if($tab_bull['eleve'][$i]['resp'][0]['adr4']!=""){
417
					$tab_adr_ligne2[0].="<br />\n".$tab_bull['eleve'][$i]['resp'][0]['adr4'];
418
				}
419
				$tab_adr_ligne3[0]=$tab_bull['eleve'][$i]['resp'][0]['cp']." ".$tab_bull['eleve'][$i]['resp'][0]['commune'];
420

    
421
				if(($tab_bull['eleve'][$i]['resp'][0]['pays']!="")&&(strtolower($tab_bull['eleve'][$i]['resp'][0]['pays'])!=strtolower($gepiSchoolPays))) {
422
					if($tab_adr_ligne3[0]!=" "){
423
						$tab_adr_ligne3[0].="<br />";
424
					}
425
					$tab_adr_ligne3[0].=$tab_bull['eleve'][$i]['resp'][0]['pays'];
426
				}
427
			}
428
		}
429
	}
430
	// Fin de la pr?paration des lignes adresse responsable
431

    
432
	// Pour afficher deux moyennes g?n?rales: avec les coeff de Gestion des bases/<Classe> Enseignements et avec des coef ? 1
433
	$affiche_deux_moy_gen=$tab_bull['affiche_moyenne_general_coef_1'];
434

    
435
	// D?but des bulletins
436
	for ($bulletin=0; $bulletin<$nb_bulletins; $bulletin++) {
437
		echo "\n<!-- D?but du bulletin n?$bulletin pour ".$tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom'].", ".$tab_bull['eleve'][$i]['classe']." -->\n\n";
438

    
439
		// Page de garde
440
		if ( $affiche_page_garde == 'yes' OR $tab_bull['affiche_adresse'] == 'y') {
441

    
442
			// Affectation des lignes adresse responsable avec les lignes correspondant au bulletin en cours
443
			$ligne1=$tab_adr_ligne1[$bulletin];
444
			$ligne2=$tab_adr_ligne2[$bulletin];
445
			$ligne3=$tab_adr_ligne3[$bulletin];
446

    
447
			// Info affich?e en haut de la page de garde
448
			$info_eleve_page_garde="El?ve: ".$tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom'].", ".$tab_bull['eleve'][$i]['classe'];
449

    
450
			if ($affiche_page_garde == "yes") {
451
				echo "\n<!-- D?but de la page de garde -->\n\n";
452
				include "./page_garde.php";
453
				echo "\n<!-- Fin de la page de garde -->\n\n";
454
				// Saut de page
455
				echo "<p class='saut'>&nbsp;</p>\n";
456
			}
457
		}
458

    
459

    
460
		echo "\n<!-- D?but de l'affichage de l'ent?te du bulletin n?$bulletin pour ".$tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom'].", ".$tab_bull['eleve'][$i]['classe']." -->\n";
461

    
462
		if($tab_bull['affiche_adresse'] == 'y') {
463
			//-------------------------------
464
			// Maintenant, on affiche l'en-t?te : Les donn?es de l'?l?ve, le bloc adresse responsable et l'adresse du lyc?e.
465
			//-------------------------------
466

    
467
			echo "\n<!-- D?but du cadre ent?te -->\n";
468
			echo "<div";
469
			if($addressblock_debug=="y"){echo " style='border:1px solid red;'";}
470
			echo ">\n";
471

    
472
			// Pour ?viter que le cadre Adresse responsable ne vienne remonter sur la page pr?c?dente:
473
			echo "<div style='clear: both; font-size: xx-small;'>&nbsp;</div>\n";
474

    
475
			// Cadre adresse du responsable:
476
			echo "<div style='float:right;
477
width:".$addressblock_length."mm;
478
padding-top:".$addressblock_padding_top."mm;
479
padding-bottom:".$addressblock_padding_text."mm;
480
padding-right:".$addressblock_padding_right."mm;\n";
481
			if($addressblock_debug=="y"){echo "border: 1px solid blue;\n";}
482
			echo "font-size: ".$addressblock_font_size."pt;
483
'>
484
<div align='left'>
485
$ligne1<br />
486
$ligne2<br />
487
$ligne3
488
</div>
489
</div>\n";
490

    
491

    
492
			// Cadre contenant le tableau Logo+Ad_etab et le nom, pr?nom,... de l'?l?ve:
493
			echo "<div style='float:left;
494
left:0px;
495
top:0px;
496
width:".$largeur1."%;\n";
497
			if($addressblock_debug=="y"){echo "border: 1px solid green;\n";}
498
			echo "'>\n";
499

    
500
			echo "<table summary='Tableau du logo et infos ?tablissement'";
501
			if($addressblock_debug=="y"){echo " border='1'";}
502
			echo ">\n";
503
			echo "<tr>\n";
504

    
505
			$nom_fic_logo = $logo_etab;
506
			$nom_fic_logo_c = "../images/".$nom_fic_logo;
507

    
508
			if (($nom_fic_logo != '') and (file_exists($nom_fic_logo_c))) {
509
				echo "<td style=\"text-align: left;\"><img src=\"".$nom_fic_logo_c."\" border=\"0\" alt=\"Logo\" /></td>\n";
510
			}
511
			echo "<td style='text-align: center;'>";
512
			echo "<p class='bulletin'>";
513
			if($bull_affich_nom_etab=="y"){
514
				echo "<span class=\"bgrand\">".$gepiSchoolName."</span>";
515
			}
516
			if($bull_affich_adr_etab=="y"){
517
				echo "<br />\n".$gepiSchoolAdress1."<br />\n".$gepiSchoolAdress2."<br />\n".$gepiSchoolZipCode." ".$gepiSchoolCity;
518
				if($bull_affiche_tel=="y"){echo "<br />\nTel: ".$gepiSchoolTel;}
519
				if($bull_affiche_fax=="y"){echo "<br />\nFax: ".$gepiSchoolFax;}
520
			}
521
			echo "</p>\n";
522

    
523
			echo "</td>\n";
524
			echo "</tr>\n";
525
			echo "</table>\n";
526

    
527
			echo "<br />";
528

    
529

    
530
			// On rajoute des lignes vides
531
			$n = 0;
532
			while ($n < $bull_ecart_bloc_nom) {
533
				echo "<br />";
534
				$n++;
535
			}
536

    
537
			if ($activer_photo_bulletin=='y' and $active_module_trombinoscopes=='y') {
538
				$photo=nom_photo($tab_bull['eleve'][$i]['elenoet']);
539
				//echo "$photo";
540
				//if("$photo"!=""){
541
				if($photo){
542
					//$photo="../photos/eleves/".$photo;
543
					//if(file_exists($photo)){
544
						//$dimphoto=redimensionne_image($photo);
545
						$dimphoto=redimensionne_image_b($photo);
546
						echo '<img src="'.$photo.'" style="width: '.$dimphoto[0].'px; height: '.$dimphoto[1].'px; border: 0px; border-right: 3px solid #FFFFFF; float: left;" alt="" />'."\n";
547
					//}
548
				}
549
			}
550

    
551

    
552
			//affichage des donn?es sur une seule ligne ou plusieurs
553
			if  ($bull_affiche_eleve_une_ligne == 'no') { // sur plusieurs lignes
554
				echo "<p class='bulletin'>\n";
555
				echo "<b><span class=\"bgrand\">".$tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom']."</span></b><br />";
556
				echo "N?";
557
				if (strtoupper($tab_bull['eleve'][$i]['sexe'])=="F") {echo "e";}
558
				echo "&nbsp;le&nbsp;".$tab_bull['eleve'][$i]['naissance'];
559
				//Eric Ajout
560
				echo "<br />";
561
				if ($tab_bull['eleve'][$i]['regime'] == "d/p") {echo "Demi-pensionnaire";}
562
				if ($tab_bull['eleve'][$i]['regime'] == "ext.") {echo "Externe";}
563
				if ($tab_bull['eleve'][$i]['regime'] == "int.") {echo "Interne";}
564
				if ($tab_bull['eleve'][$i]['regime'] == "i-e"){
565
					echo "Interne&nbsp;extern?";
566
					if (strtoupper($tab_bull['eleve'][$i]['sexe'])=="F") {echo "e";}
567
				}
568
				//Eric Ajout
569
				if ($bull_mention_doublant == 'yes'){
570
					if ($tab_bull['eleve'][$i]['doublant'] == 'R'){
571
					echo "<br />";
572
					echo "Redoublant";
573
					if (strtoupper($tab_bull['eleve'][$i]['sexe'])=="F") {echo "e";}
574
					}
575
				}
576

    
577
				if ($bull_mention_nom_court == 'no') {
578
					//Eric Ajout et supp
579
					//echo "<BR />";
580
					//echo ", $current_classe";
581
				} else {
582
					echo "<br />";
583
					echo $tab_bull['eleve'][$i]['classe'];
584
				}
585
			}
586
			else { //sur une ligne
587
				echo "<p class='bulletin'>\n";
588
				echo "<b><span class=\"bgrand\">".$tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom']."</span></b><br />";
589
				echo "N?";
590
				if (strtoupper($tab_bull['eleve'][$i]['sexe'])=="F") {echo "e";}
591
				echo "&nbsp;le&nbsp;".$tab_bull['eleve'][$i]['naissance'];
592
				if ($tab_bull['eleve'][$i]['regime'] == "d/p") {echo ", Demi-pensionnaire";}
593
				if ($tab_bull['eleve'][$i]['regime'] == "ext.") {echo ", Externe";}
594
				if ($tab_bull['eleve'][$i]['regime'] == "int.") {echo ", Interne";}
595
				if ($tab_bull['eleve'][$i]['regime'] == "i-e"){
596
					echo ", Interne&nbsp;extern?";
597
					if (strtoupper($tab_bull['eleve'][$i]['sexe'])=="F") {echo "e";}
598
				}
599
				if ($bull_mention_doublant == 'yes'){
600
					if ($tab_bull['eleve'][$i]['doublant'] == 'R'){
601
						echo ", redoublant";
602
						if (strtoupper($tab_bull['eleve'][$i]['sexe'])=="F") {echo "e";}
603
					}
604
				}
605
				if ($bull_mention_nom_court == 'yes') {
606
					echo ", ".$tab_bull['eleve'][$i]['classe'];
607
				}
608
			}
609

    
610
			if($bull_affiche_INE_eleve=="y"){
611
				echo "<br />\n";
612
				echo "Num?ro INE : ".$tab_bull['eleve'][$i]['no_gep'];
613
			}
614

    
615
			if($bull_affiche_etab=="y"){
616
				if ((isset($tab_bull['eleve'][$i]['etab_nom']))&&($tab_bull['eleve'][$i]['etab_nom']!='')) {
617
					echo "<br />\n";
618
					if ($tab_bull['eleve'][$i]['etab_id'] != '990') {
619
						if ($RneEtablissement != $tab_bull['eleve'][$i]['etab_id']) {
620
							echo "Etablissement d'origine : ";
621
							echo $tab_bull['eleve'][$i]['etab_niveau_nom']." ".$tab_bull['eleve'][$i]['etab_type']." ".$tab_bull['eleve'][$i]['etab_nom']." (".$tab_bull['eleve'][$i]['etab_cp']." ".$tab_bull['eleve'][$i]['etab_ville'].")\n";
622
						}
623
					} else {
624
						echo "Etablissement d'origine : ";
625
						echo "hors de France\n";
626
					}
627
				}
628
			}
629

    
630
			echo "</p>\n";
631

    
632
			echo "</div>\n";
633

    
634
			//echo "<spacer type='vertical' size='10'>";
635

    
636

    
637
			// Tableau contenant le nom de la classe, l'ann?e et la p?riode.
638
			echo "<table width='".$largeur2."%' ";
639
			if($addressblock_debug=="y"){echo "border='1' ";}
640
			echo "cellspacing='".$cellspacing."' cellpadding='".$cellpadding."' summary='Tableau des nom de classe, ann?e et p?riode'>\n";
641
			echo "<tr>\n";
642
			echo "<td class='empty'>\n";
643
			echo "&nbsp;\n";
644
			echo "</td>\n";
645
			echo "<td style='width:".$addressblock_classe_annee2."%;'>\n";
646
			echo "<p class='bulletin' align='center'><span class=\"bgrand\">Classe de ".$tab_bull['eleve'][$i]['classe_nom_complet']."<br />Ann?e scolaire ".$gepiYear."</span><br />\n";
647
			$temp = strtolower($tab_bull["nom_periode"]);
648
			echo "Bulletin&nbsp;";
649
			if($genre_periode=="M"){
650
				echo "du ";
651
			}
652
			else{
653
				echo "de la ";
654
			}
655
			echo "$temp</p>";
656
			echo "</td>\n";
657
			echo "</tr>\n";
658
			echo "</table>\n";
659

    
660
			// Pour que le tableau des appr?ciations ne vienne pas s'encastrer dans les DIV float:
661
			echo "<div style='clear: both; font-size: xx-small;'>&nbsp;</div>\n";
662

    
663
			// Fin du cadre ent?te:
664
			echo "</div>\n";
665

    
666
		}
667
		else{
668
			//-------------------------------
669
			// Maintenant, on affiche l'en-t?te : Les donn?es de l'?l?ve, et l'adresse du lyc?e.
670
			// sans bloc adresse responsable
671
			//-------------------------------
672

    
673
			echo "<table width='$largeurtableau' border='0' cellspacing='".$cellspacing."' cellpadding='".$cellpadding."' summary='Tableau des donn?es ?l?ve et ?tablissement'>\n";
674

    
675
			echo "<tr>\n";
676
			echo "<td style=\"width: 30%;\">\n";
677
			if ($activer_photo_bulletin=='y' and $active_module_trombinoscopes=='y') {
678
				$photo=nom_photo($tab_bull['eleve'][$i]['elenoet']);
679
				//echo "$photo";
680
				if("$photo"!=""){
681
					$photo="../photos/eleves/".$photo;
682
					if(file_exists($photo)){
683
						echo '<img src="'.$photo.'" style="width: 60px; height: 80px; border: 0px; border-right: 3px solid #FFFFFF; float: left;" alt="" />'."\n";
684
					}
685
				}
686
			}
687

    
688
				//affichage des donn?es sur une seule ligne ou plusieurs
689
			if  ($bull_affiche_eleve_une_ligne == 'no') { // sur plusieurs lignes
690
				echo "<p class='bulletin'>\n";
691
				echo "<b><span class=\"bgrand\">".$tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom']."</span></b><br />";
692
				echo "N?";
693
				if (strtoupper($tab_bull['eleve'][$i]['sexe'])=="F") {echo "e";}
694
				echo "&nbsp;le&nbsp;".$tab_bull['eleve'][$i]['naissance'];
695
				//Eric Ajout
696
				echo "<br />";
697
				if ($tab_bull['eleve'][$i]['regime'] == "d/p") {echo "Demi-pensionnaire";}
698
				if ($tab_bull['eleve'][$i]['regime'] == "ext.") {echo "Externe";}
699
				if ($tab_bull['eleve'][$i]['regime'] == "int.") {echo "Interne";}
700
				if ($tab_bull['eleve'][$i]['regime'] == "i-e"){
701
					echo "Interne&nbsp;extern?";
702
					if (strtoupper($tab_bull['eleve'][$i]['sexe'])=="F") {echo "e";}
703
				}
704
				//Eric Ajout
705
				if ($bull_mention_doublant == 'yes'){
706
					if ($tab_bull['eleve'][$i]['doublant'] == 'R'){
707
					echo "<br />";
708
					echo "Redoublant";
709
					if (strtoupper($tab_bull['eleve'][$i]['sexe'])=="F") {echo "e";}
710
					}
711
				}
712

    
713

    
714
				if ($bull_mention_nom_court == 'no') {
715
					//Eric Ajout et supp
716
					//echo "<BR />";
717
					//echo ", $current_classe";
718
				} else {
719
					echo "<br />";
720
					echo $tab_bull['eleve'][$i]['classe'];
721
				}
722

    
723
			} else { //sur une ligne
724
				echo "<p class='bulletin'>\n";
725
				echo "<b><span class=\"bgrand\">".$tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom']."</span></b><br />";
726
				echo "N?";
727
				if (strtoupper($tab_bull['eleve'][$i]['sexe'])=="F") {echo "e";}
728
				echo "&nbsp;le&nbsp;".$tab_bull['eleve'][$i]['naissance'];
729

    
730
				if ($tab_bull['eleve'][$i]['regime'] == "d/p") {echo ", Demi-pensionnaire";}
731
				elseif ($tab_bull['eleve'][$i]['regime'] == "ext.") {echo ", Externe";}
732
				elseif ($tab_bull['eleve'][$i]['regime'] == "int.") {echo ", Interne";}
733
				elseif ($tab_bull['eleve'][$i]['regime'] == "i-e"){
734
					echo ", Interne&nbsp;extern?";
735
					if (strtoupper($tab_bull['eleve'][$i]['sexe'])=="F") {echo "e";}
736
				}
737
				//Eric Ajout
738
				if ($bull_mention_doublant == 'yes'){
739
					if ($tab_bull['eleve'][$i]['doublant'] == 'R'){
740
					echo ", redoublant";
741
					if (strtoupper($tab_bull['eleve'][$i]['sexe'])=="F") {echo "e";}
742
					}
743
				}
744
				if ($bull_mention_nom_court == 'yes') {
745
					echo ", ".$tab_bull['eleve'][$i]['classe'];
746
				}
747
			}
748

    
749

    
750
			if($bull_affiche_etab=="y"){
751
				if ((isset($tab_bull['eleve'][$i]['etab_nom']))&&($tab_bull['eleve'][$i]['etab_nom']!='')) {
752
					echo "<br />\n";
753
					if ($tab_bull['eleve'][$i]['etab_id'] != '990') {
754
						if ($RneEtablissement != $tab_bull['eleve'][$i]['etab_id']) {
755
							echo "Etablissement d'origine : ";
756
							echo $tab_bull['eleve'][$i]['etab_niveau_nom']." ".$tab_bull['eleve'][$i]['etab_type']." ".$tab_bull['eleve'][$i]['etab_nom']." (".$tab_bull['eleve'][$i]['etab_cp']." ".$tab_bull['eleve'][$i]['etab_ville'].")\n";
757
						}
758
					} else {
759
						echo "Etablissement d'origine : ";
760
						echo "hors de France\n";
761
					}
762
				}
763
			}
764

    
765
			echo "</p></td>\n<td style=\"width: 40%;text-align: center;\">\n";
766

    
767
			if ($tab_bull['affiche_adresse'] != "y") {
768
				echo "<p class='bulletin'><span class=\"bgrand\">Classe de ".$tab_bull['eleve'][$i]['classe_nom_complet']."<br />Ann?e scolaire ".$gepiYear."</span><br />\n";
769
				$temp = strtolower($tab_bull['nom_periode']);
770
				echo "Bulletin&nbsp;";
771
				if($genre_periode=="M"){
772
					echo "du ";
773
				}
774
				else{
775
					echo "de la ";
776
				}
777
				echo "$temp</p>\n";
778
			} else {
779
				echo "&nbsp;";
780
			}
781

    
782
			$nom_fic_logo = $logo_etab;
783
			$nom_fic_logo_c = "../images/".$nom_fic_logo;
784
			if (($nom_fic_logo != '') and (file_exists($nom_fic_logo_c))) {
785
				echo "</td>\n<td style=\"text-align: right;\"><img src=\"".$nom_fic_logo_c."\" border=\"0\" alt=\"Logo\" />";
786
			} else {
787
				echo "</td>\n<td>&nbsp;";
788
			}
789
			echo "</td>\n";
790
			echo "<td style=\"width: 20%;text-align: center;\">";
791
			echo "<p class='bulletin'>";
792
			if($bull_affich_nom_etab=="y"){
793
				echo "<span class=\"bgrand\">".$gepiSchoolName."</span>";
794
			}
795
			if($bull_affich_adr_etab=="y"){
796
				//echo "<span class=\"bgrand\">".$gepiSchoolName."</span>";
797
				if($bull_affich_nom_etab=="y"){echo "<br />\n";}
798
				echo $gepiSchoolAdress1."<br />\n";
799
				echo $gepiSchoolAdress2."<br />\n";
800
				echo $gepiSchoolZipCode." ".$gepiSchoolCity;
801

    
802
				if($bull_affiche_tel=="y"){echo "<br />\nTel: ".$gepiSchoolTel;}
803
				if($bull_affiche_fax=="y"){echo "<br />\nFax: ".$gepiSchoolFax;}
804
			}
805
			echo "</p>\n";
806

    
807
			echo "</td>\n</tr>\n</table>\n";
808
			//-------------------------------
809
			// Fin de l'en-t?te
810
		}
811

    
812
		echo "\n<!-- Fin de l'affichage de l'ent?te du bulletin n?$bulletin pour ".$tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom'].", ".$tab_bull['eleve'][$i]['classe']." -->\n\n";
813

    
814
		// On rajoute des lignes vides
815
		$n = 0;
816
		while ($n < $bull_ecart_entete) {
817
			echo "<br />\n";
818
			$n++;
819
		}
820

    
821

    
822

    
823
		echo "\n<!-- D?but de l'affichage du tableau des mati?res du bulletin n?$bulletin pour ".$tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom'].", ".$tab_bull['eleve'][$i]['classe']." -->\n\n";
824
        //=============================================
825

    
826
		// Tableau des mati?res/notes/appr?ciations
827

    
828
		include ($fichier_bulletin);
829

    
830
        //=============================================
831
		echo "\n<!-- Fin de l'affichage du tableau des mati?res du bulletin n?$bulletin pour ".$tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom'].", ".$tab_bull['eleve'][$i]['classe']." -->\n\n";
832

    
833

    
834
		// Absences et retards
835
		//if($tab_bull['affiche_absences']=='y') {
836
		if($bull_affiche_absences=='y') {
837
			echo "\n<!-- D?but de l'affichage du tableau des absences du bulletin n?$bulletin pour ".$tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom'].", ".$tab_bull['eleve'][$i]['classe']." -->\n\n";
838

    
839
            echo "<table width='$largeurtableau' border='0' cellspacing='".$cellspacing."' cellpadding='".$cellpadding."' summary='Tableau des absences'>\n";
840
			echo "<tr>\n";
841
			echo "<td style='vertical-align: top;'>\n";
842
			echo "<p class='bulletin'>";
843
			if ($tab_bull['eleve'][$i]['eleve_absences'] == '0') {
844
				echo "<i>Aucune demi-journ?e d'absence</i>.";
845
			} else {
846
				echo "<i>Nombre de demi-journ?es d'absence ";
847
				if ($tab_bull['eleve'][$i]['eleve_nj'] == '0') {echo "justifi?es ";}
848
				echo ": </i><b>".$tab_bull['eleve'][$i]['eleve_absences']."</b>";
849
				if ($tab_bull['eleve'][$i]['eleve_nj'] != '0') {
850
					echo " (dont <b>".$tab_bull['eleve'][$i]['eleve_nj']."</b> non justifi?e"; if ($tab_bull['eleve'][$i]['eleve_nj'] != '1') {echo "s";}
851
					echo ")";
852
				}
853
				echo ".";
854
			}
855
			if ($tab_bull['eleve'][$i]['eleve_retards'] != '0') {
856
				echo "<i> Nombre de retards : </i><b>".$tab_bull['eleve'][$i]['eleve_retards']."</b>";
857
			}
858
			echo "  (C.P.E. charg?";
859

    
860
			if($tab_bull['eleve'][$i]['cperesp_civilite']!="M.") {
861
				echo "e";
862
			}
863

    
864
			echo " du suivi : ". affiche_utilisateur($tab_bull['eleve'][$i]['cperesp_login'],$tab_bull['id_classe']) . ")";
865
			if ($tab_bull['eleve'][$i]['appreciation_absences']!="") {echo "<br />".texte_html_ou_pas($tab_bull['eleve'][$i]['appreciation_absences']);}
866
			echo "</p>\n";
867
			echo "</td>\n</tr>\n</table>\n";
868

    
869
			echo "\n<!-- Fin de l'affichage du tableau des absences du bulletin n?$bulletin pour ".$tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom'].", ".$tab_bull['eleve'][$i]['classe']." -->\n\n";
870

    
871
		}
872

    
873

    
874

    
875
		//=============================================
876

    
877

    
878
		// Avis du conseil de classe ? ramener par l?
879

    
880
		if (($bull_affiche_avis == 'y')||($bull_affiche_signature == 'y')) {
881

    
882
			echo "\n<!-- D?but de l'affichage du tableau de l'avis du conseil/signature du bulletin n?$bulletin pour ".$tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom'].", ".$tab_bull['eleve'][$i]['classe']." -->\n\n";
883

    
884
			// Tableau de l'avis des conseil de classe
885
			echo "<table $class_bordure width='$largeurtableau' border='1' cellspacing='".$cellspacing."' cellpadding='".$cellpadding."' summary=\"Tableau de l'avis du conseil de classe\">\n";
886
			echo "<tr>\n";
887
		}
888

    
889
        if ($bull_affiche_avis == 'y') {
890
			//
891
			// Case de gauche : avis des conseils de classe
892
			//
893
			echo "<td style='vertical-align: top; text-align: left;'>\n";
894
			// 1) l'avis
895
			echo "<span class='bulletin'><i>Avis du conseil de classe:</i></span><br />\n";
896

    
897
			if($tab_bull['avis'][$i]!="") {
898
				echo "<span class='avis_bulletin'>";
899
				/*
900
				if((strstr($tab_bull['avis'][$i],">"))||(strstr($tab_bull['avis'][$i],"<"))){
901
					echo $tab_bull['avis'][$i];
902
				}
903
				else{
904
					echo nl2br($tab_bull['avis'][$i]);
905
				}
906
				*/
907
				echo texte_html_ou_pas($tab_bull['avis'][$i]);
908
				echo "</span>";
909

    
910
// **** AJOUT POUR LES MENTIONS ****
911
				echo "<br/><b>Mention : </b>";
912
				echo texte_html_ou_pas($tab_bull['mention'][$i]);
913
// **** FIN D'AJOUT POUR LES MENTIONS ****
914

    
915
				if($bull_affiche_signature == 'y'){
916
					echo "<br />\n";
917
				}
918
			}
919
			else {
920
				echo "&nbsp;";
921
				// Si il n'y a pas d'avis, on rajoute des lignes vides selon les param?tres d'impression
922
				$n = 0;
923
				if ($bull_espace_avis >0){
924
					while ($n < $bull_espace_avis) {
925
						echo "<br />\n";
926
						$n++;
927
					}
928
				}
929
			}
930
		}
931
        elseif ($bull_affiche_signature == 'y') {
932
            echo "<td style=\"vertical-align: top;\">";
933
        }
934

    
935
        if ($bull_affiche_signature == 'y') {
936
            // 2) Le nom du professeur principal
937
			/*
938
			if(isset($tab_bull['eleve'][$i]['pp']['login'])) {
939
				echo "<b>".ucfirst($gepi_prof_suivi)."</b> ";
940
				echo "<i>".affiche_utilisateur($tab_bull['eleve'][$i]['pp']['login'],$tab_bull['eleve'][$i]['id_classe'])."</i>";
941
			}
942
			*/
943
			if(isset($tab_bull['eleve'][$i]['pp'][0])) {
944
				echo "<b>".ucfirst($gepi_prof_suivi)." : </b>";
945
				echo "<i>".affiche_utilisateur($tab_bull['eleve'][$i]['pp'][0]['login'],$tab_bull['eleve'][$i]['id_classe'])."</i>";
946
				for($i_pp=1;$i_pp<count($tab_bull['eleve'][$i]['pp']);$i_pp++) {
947
					echo ", ";
948
					echo "<i>".affiche_utilisateur($tab_bull['eleve'][$i]['pp'][$i_pp]['login'],$tab_bull['eleve'][$i]['id_classe'])."</i>";
949
				}
950
			}
951

    
952
			echo "</td>\n";
953
			//
954
			// Case de droite : paraphe du proviseur
955
			//
956
			echo "<td style='vertical-align: top; text-align: left;' width='30%'>\n";
957
			echo "<!-- Case: paraphe du proviseur -->\n";
958
			if($tab_bull['formule']!='') {echo "<span class='bulletin'><b>".$tab_bull['formule']."</b>:</span><br />";}
959
			if($tab_bull['suivi_par']!='') {echo "<span class='bulletin'><i>".$tab_bull['suivi_par']."</i></span>";}
960
		}
961

    
962
        // Si une des deux variables 'bull_affiche_avis' ou 'bull_affiche_signature' est ? 'y', il faut fermer le tableau
963
        if (($bull_affiche_avis == 'y')||($bull_affiche_signature == 'y')) {
964
            echo "</td>\n";
965
            // Fin du tableau
966
            echo "</tr>\n";
967
			echo "</table>\n";
968

    
969
			echo "\n<!-- Fin de l'affichage du tableau de l'avis du conseil/signature du bulletin n?$bulletin pour ".$tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom'].", ".$tab_bull['eleve'][$i]['classe']." -->\n\n";
970

    
971
        }
972
		//================================
973

    
974

    
975

    
976
		// Affichage de la formule de bas de page
977

    
978
		if (($bull_formule_bas != '') and ($bull_affiche_formule == 'y')) {
979
			// Pas d'affichage dans le cas d'un bulletin d'une p?riode "examen blanc"
980
			echo "<table width='$largeurtableau' style='margin-left:5px; margin-right:5px;' border='0' cellspacing='".$cellspacing."' cellpadding='".$cellpadding."' summary='Formule de bas de page'>\n";
981
			echo "<tr>";
982
			echo "<td><p align='center' class='bulletin'>".$bull_formule_bas."</p></td>\n";
983
			echo "</tr></table>";
984
		}
985

    
986

    
987
		echo "\n<!-- Fin du bulletin n?$bulletin pour ".$tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom'].", ".$tab_bull['eleve'][$i]['classe']." -->\n\n";
988

    
989

    
990
		// Insertion du relev? de notes si r?clam?:
991
		if(count($tab_rel)!=0) {
992
			echo "<p class='saut'>&nbsp;</p>\n";
993
			// Il y a un d?calage sur les indices dans le cas o? on n'imprime pas la classe enti?re
994
			//releve_html($tab_rel,$i,$bulletin);
995
			if(isset($tab_rel['eleve'])) {
996
				for($k=0;$k<count($tab_rel['eleve']);$k++) {
997
					if($tab_rel['eleve'][$k]['login']==$tab_bull['eleve'][$i]['login']) {
998
						releve_html($tab_rel,$k,$bulletin);
999
						break;
1000
					}
1001
				}
1002
			}
1003
			else {
1004
				echo "<p style='color:red;'>Il semble que le tableau des relev?s de notes soit vide.</p>\n";
1005
			}
1006
		}
1007

    
1008
		if(($bulletin==0)&&($nb_bulletins==2)){
1009
			echo "<p class='saut'>&nbsp;</p>\n";
1010
		}
1011

    
1012
	}
1013
}
1014

    
1015
function bulletin_pdf($tab_bull,$i,$tab_rel) {
1016
	global
1017
		//==============
1018
		//Ajout J.Etheve
1019
		//$coefficients_a_1,
1020
		//==============
1021
		//============================================
1022
		// Param?tres g?n?raux:
1023
		// En admin, dans Gestion g?n?rale/Configuration g?n?rale
1024
		$gepi_prof_suivi,
1025

    
1026
		$RneEtablissement,
1027
		$gepiSchoolName,
1028
		$gepiSchoolAdress1,
1029
		$gepiSchoolAdress2,
1030
		$gepiSchoolZipCode,
1031
		$gepiSchoolCity,
1032
		$gepiSchoolPays,
1033
		$gepiSchoolTel,
1034
		$gepiSchoolFax,
1035
		$gepiSchoolEmail,
1036
		$gepiYear,
1037

    
1038
		$logo_etab,
1039

    
1040
		$bull_intitule_app,
1041

    
1042
		$bull_formule_bas,
1043

    
1044
		// Param?tre transmis depuis la page d'impression des bulletins
1045
		$un_seul_bull_par_famille,
1046

    
1047
		$compteur_bulletins,
1048

    
1049
		// Datation du bulletin (param?tre initi? dans l'ent?te du bulletin PDF)
1050
		$date_bulletin,
1051

    
1052
		// Param?tres du mod?le PDF
1053
		$tab_modele_pdf,
1054

    
1055
		$use_cell_ajustee,
1056

    
1057
		// Pour permettre de r?cup?rer via global dans releve_pdf() le num?ro du parent dont on imprime le bulletin avec au verso le relev? de notes:
1058
		$num_resp_bull,
1059

    
1060
		// Pour r?cup?rer le 1 relev? par page en verso du bulletin... variable r?cup?r?e via 'global' dans la fonction releve_pdf()
1061
		$nb_releve_par_page,
1062

    
1063
		//20100615
1064
		$moyennes_periodes_precedentes,
1065

    
1066
		// Objet PDF initi? hors de la pr?sente fonction donnant la page du bulletin pour un ?l?ve
1067
		$pdf;
1068
		//=========================================
1069

    
1070
	//==============
1071
	//Ajout J.Etheve
1072
	// ***** flag pour l'affichage de la moyenne g?n?rale non coefficient?e
1073
	/*
1074
	if ($coefficients_a_1!="oui") {
1075
		$affiche_deux_moy_gen=1;
1076
	}
1077
	else {
1078
		$affiche_deux_moy_gen==0;
1079
	}
1080
	*/
1081
	$affiche_deux_moy_gen=$tab_bull['affiche_moyenne_general_coef_1'];
1082
	// *****
1083

    
1084
	if(($nb_releve_par_page!=1)||($nb_releve_par_page!=2)) {
1085
		// Actuellement, on n'a qu'un bulletin par page/recto donc qu'un relev? de notes par verso, mais sait-on jamais un jour...
1086
		$nb_releve_par_page=1;
1087
	}
1088

    
1089
	// Pr?paration des lignes d'adresse
1090

    
1091
	//echo "\$i=$i et \$nb_bulletins=$nb_bulletins<br />";
1092

    
1093
	// Initialisation:
1094
	for($loop=0;$loop<=1;$loop++) {
1095
		$tab_adr_ligne1[$loop]="";
1096
		$tab_adr_ligne2[$loop]="";
1097
		$tab_adr_ligne3[$loop]="";
1098
		$tab_adr_ligne4[$loop]="";
1099
		$tab_adr_ligne5[$loop]="";
1100
		$tab_adr_ligne6[$loop]="";
1101
	}
1102

    
1103
	// ON N'UTILISE PAS LE CHAMP adr4 DE L'ADRESSE DANS resp_adr
1104
	// IL FAUDRA VOIR COMMENT LE RECUPERER
1105

    
1106
	if (!isset($tab_bull['eleve'][$i]['resp'][0])) {
1107
		//$tab_adr_ligne1[0]="<font color='red'><b>ADRESSE MANQUANTE</b></font>";
1108
		$tab_adr_ligne1[0]="ADRESSE MANQUANTE";
1109
		$tab_adr_ligne2[0]="";
1110
		$tab_adr_ligne3[0]="";
1111
		$tab_adr_ligne4[0]="";
1112
		$tab_adr_ligne5[0]="";
1113

    
1114
		// Initialisation parce qu'on a des blagues s'il n'y a pas de resp:
1115
		$nb_bulletins=1;
1116
	}
1117
	else {
1118
		if (isset($tab_bull['eleve'][$i]['resp'][1])) {
1119
			if((isset($tab_bull['eleve'][$i]['resp'][1]['adr1']))&&
1120
				(isset($tab_bull['eleve'][$i]['resp'][1]['adr2']))&&
1121
				(isset($tab_bull['eleve'][$i]['resp'][1]['adr3']))&&
1122
				(isset($tab_bull['eleve'][$i]['resp'][1]['adr4']))&&
1123
				(isset($tab_bull['eleve'][$i]['resp'][1]['cp']))&&
1124
				(isset($tab_bull['eleve'][$i]['resp'][1]['commune']))
1125
			) {
1126
				// Le deuxi?me responsable existe et est renseign?
1127
				if (($tab_bull['eleve'][$i]['resp'][0]['adr_id']==$tab_bull['eleve'][$i]['resp'][1]['adr_id']) OR
1128
					(
1129
						($tab_bull['eleve'][$i]['resp'][0]['adr1']==$tab_bull['eleve'][$i]['resp'][1]['adr1'])&&
1130
						($tab_bull['eleve'][$i]['resp'][0]['adr2']==$tab_bull['eleve'][$i]['resp'][1]['adr2'])&&
1131
						($tab_bull['eleve'][$i]['resp'][0]['adr3']==$tab_bull['eleve'][$i]['resp'][1]['adr3'])&&
1132
						($tab_bull['eleve'][$i]['resp'][0]['adr4']==$tab_bull['eleve'][$i]['resp'][1]['adr4'])&&
1133
						($tab_bull['eleve'][$i]['resp'][0]['cp']==$tab_bull['eleve'][$i]['resp'][1]['cp'])&&
1134
						($tab_bull['eleve'][$i]['resp'][0]['commune']==$tab_bull['eleve'][$i]['resp'][1]['commune'])
1135
					)
1136
				) {
1137
					// Les adresses sont identiques
1138
					$nb_bulletins=1;
1139

    
1140
					if(($tab_bull['eleve'][$i]['resp'][0]['nom']!=$tab_bull['eleve'][$i]['resp'][1]['nom'])&&
1141
						($tab_bull['eleve'][$i]['resp'][1]['nom']!="")) {
1142
						// Les noms des responsables sont diff?rents
1143
						$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'];
1144

    
1145
						/*
1146
						$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'];
1147
						//$tab_adr_ligne1[0].=" et ";
1148
						$tab_adr_ligne1[0].="<br />\n";
1149
						$tab_adr_ligne1[0].="et ";
1150
						$tab_adr_ligne1[0].=$tab_bull['eleve'][$i]['resp'][1]['civilite']." ".$tab_bull['eleve'][$i]['resp'][1]['nom']." ".$tab_bull['eleve'][$i]['resp'][1]['prenom'];
1151
						*/
1152
					}
1153
					else{
1154
						if(($tab_bull['eleve'][$i]['resp'][0]['civilite']!="")&&($tab_bull['eleve'][$i]['resp'][1]['civilite']!="")) {
1155
							$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'];
1156
						}
1157
						else {
1158
							$tab_adr_ligne1[0]="M. et Mme ".$tab_bull['eleve'][$i]['resp'][0]['nom']." ".$tab_bull['eleve'][$i]['resp'][0]['prenom'];
1159
						}
1160
					}
1161

    
1162
					$tab_adr_ligne2[0]=$tab_bull['eleve'][$i]['resp'][0]['adr1'];
1163
					if($tab_bull['eleve'][$i]['resp'][0]['adr2']!=""){
1164
						$tab_adr_ligne3[0]=$tab_bull['eleve'][$i]['resp'][0]['adr2'];
1165
					}
1166
					if($tab_bull['eleve'][$i]['resp'][0]['adr3']!=""){
1167
						$tab_adr_ligne4[0]=$tab_bull['eleve'][$i]['resp'][0]['adr3'];
1168
					}
1169
					//if($tab_bull['eleve'][$i]['resp'][0]['adr4']!=""){
1170
					//	$tab_adr_ligne2[0]=$tab_bull['eleve'][$i]['resp'][0]['adr4'];
1171
					//}
1172
					$tab_adr_ligne5[0]=$tab_bull['eleve'][$i]['resp'][0]['cp']." ".$tab_bull['eleve'][$i]['resp'][0]['commune'];
1173

    
1174

    
1175
					if(($tab_bull['eleve'][$i]['resp'][0]['pays']!="")&&(strtolower($tab_bull['eleve'][$i]['resp'][0]['pays'])!=strtolower($gepiSchoolPays))) {
1176
						$tab_adr_ligne6[0]=$tab_bull['eleve'][$i]['resp'][0]['pays'];
1177
					}
1178

    
1179
				}
1180
				else {
1181
					// Les adresses sont diff?rentes
1182
					//if ($un_seul_bull_par_famille!="oui") {
1183
					// On teste en plus si la deuxi?me adresse est valide
1184
					if (($un_seul_bull_par_famille!="oui")&&
1185
						($tab_bull['eleve'][$i]['resp'][1]['adr1']!="")&&
1186
						($tab_bull['eleve'][$i]['resp'][1]['commune']!="")
1187
					) {
1188
						$nb_bulletins=2;
1189
					}
1190
					else {
1191
						$nb_bulletins=1;
1192
					}
1193

    
1194
					for($cpt=0;$cpt<$nb_bulletins;$cpt++) {
1195
						if($tab_bull['eleve'][$i]['resp'][$cpt]['civilite']!="") {
1196
							$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'];
1197
						}
1198
						else {
1199
							$tab_adr_ligne1[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['nom']." ".$tab_bull['eleve'][$i]['resp'][$cpt]['prenom'];
1200
						}
1201

    
1202
						$tab_adr_ligne2[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['adr1'];
1203
						if($tab_bull['eleve'][$i]['resp'][$cpt]['adr2']!=""){
1204
							$tab_adr_ligne3[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['adr2'];
1205
						}
1206
						if($tab_bull['eleve'][$i]['resp'][$cpt]['adr3']!=""){
1207
							$tab_adr_ligne4[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['adr3'];
1208
						}
1209
						/*
1210
						if($tab_bull['eleve'][$i]['resp'][$cpt]['adr4']!=""){
1211
							$tab_adr_ligne2[$cpt].="<br />\n".$tab_bull['eleve'][$i]['resp'][$cpt]['adr4'];
1212
						}
1213
						*/
1214
						$tab_adr_ligne5[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['cp']." ".$tab_bull['eleve'][$i]['resp'][$cpt]['commune'];
1215

    
1216
						if(($tab_bull['eleve'][$i]['resp'][$cpt]['pays']!="")&&(strtolower($tab_bull['eleve'][$i]['resp'][$cpt]['pays'])!=strtolower($gepiSchoolPays))) {
1217
							$tab_adr_ligne6[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['pays'];
1218
						}
1219
					}
1220

    
1221
				}
1222
			}
1223
			else {
1224
				// Il n'y a pas de deuxi?me adresse, mais il y aurait un deuxi?me responsable???
1225
				// CA NE DEVRAIT PAS ARRIVER ETANT DONN? LA REQUETE EFFECTUEE QUI JOINT resp_pers ET resp_adr...
1226
				if ($un_seul_bull_par_famille!="oui") {
1227
					$nb_bulletins=2;
1228
				}
1229
				else {
1230
					$nb_bulletins=1;
1231
				}
1232

    
1233
				for($cpt=0;$cpt<$nb_bulletins;$cpt++) {
1234
					if($tab_bull['eleve'][$i]['resp'][$cpt]['civilite']!="") {
1235
						$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'];
1236
					}
1237
					else {
1238
						$tab_adr_ligne1[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['nom']." ".$tab_bull['eleve'][$i]['resp'][$cpt]['prenom'];
1239
					}
1240

    
1241
					$tab_adr_ligne2[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['adr1'];
1242
					if($tab_bull['eleve'][$i]['resp'][$cpt]['adr2']!=""){
1243
						$tab_adr_ligne3[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['adr2'];
1244
					}
1245
					if($tab_bull['eleve'][$i]['resp'][$cpt]['adr3']!=""){
1246
						$tab_adr_ligne4[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['adr3'];
1247
					}
1248
					/*
1249
					if($tab_bull['eleve'][$i]['resp'][$cpt]['adr4']!=""){
1250
						$tab_adr_ligne2[$cpt].="<br />\n".$tab_bull['eleve'][$i]['resp'][$cpt]['adr4'];
1251
					}
1252
					*/
1253
					$tab_adr_ligne5[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['cp']." ".$tab_bull['eleve'][$i]['resp'][$cpt]['commune'];
1254

    
1255
					if(($tab_bull['eleve'][$i]['resp'][$cpt]['pays']!="")&&(strtolower($tab_bull['eleve'][$i]['resp'][$cpt]['pays'])!=strtolower($gepiSchoolPays))) {
1256
						$tab_adr_ligne6[$cpt]=$tab_bull['eleve'][$i]['resp'][$cpt]['pays'];
1257
					}
1258
				}
1259
			}
1260
		}
1261
		else {
1262
			// Il n'y a pas de deuxi?me responsable
1263
			$nb_bulletins=1;
1264

    
1265
			if($tab_bull['eleve'][$i]['resp'][0]['civilite']!="") {
1266
				$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'];
1267
			}
1268
			else {
1269
				$tab_adr_ligne1[0]=$tab_bull['eleve'][$i]['resp'][0]['nom']." ".$tab_bull['eleve'][$i]['resp'][0]['prenom'];
1270
			}
1271

    
1272
			$tab_adr_ligne2[0]=$tab_bull['eleve'][$i]['resp'][0]['adr1'];
1273
			if($tab_bull['eleve'][$i]['resp'][0]['adr2']!=""){
1274
				$tab_adr_ligne3[0]=$tab_bull['eleve'][$i]['resp'][0]['adr2'];
1275
			}
1276
			if($tab_bull['eleve'][$i]['resp'][0]['adr3']!=""){
1277
				$tab_adr_ligne4[0]=$tab_bull['eleve'][$i]['resp'][0]['adr3'];
1278
			}
1279
			/*
1280
			if($tab_bull['eleve'][$i]['resp'][0]['adr4']!=""){
1281
				$tab_adr_ligne2[0].="<br />\n".$tab_bull['eleve'][$i]['resp'][0]['adr4'];
1282
			}
1283
			*/
1284
			$tab_adr_ligne5[0]=$tab_bull['eleve'][$i]['resp'][0]['cp']." ".$tab_bull['eleve'][$i]['resp'][0]['commune'];
1285

    
1286
			if(($tab_bull['eleve'][$i]['resp'][0]['pays']!="")&&(strtolower($tab_bull['eleve'][$i]['resp'][0]['pays'])!=strtolower($gepiSchoolPays))) {
1287
				$tab_adr_ligne6[0]=$tab_bull['eleve'][$i]['resp'][0]['pays'];
1288
			}
1289
		}
1290
	}
1291
	//=========================================
1292

    
1293
	//echo "\$i=$i et \$nb_bulletins=$nb_bulletins<br />";
1294

    
1295
	//+++++++++++++++++++++++++++++++++++++++++++
1296
	// A FAIRE
1297
	// Mettre ici une boucle pour $nb_bulletins
1298
	// Et tenir compte par la suite de la demande d'intercaler le relev? de notes ou non
1299
	//+++++++++++++++++++++++++++++++++++++++++++
1300

    
1301
	for($num_resp_bull=0;$num_resp_bull<$nb_bulletins;$num_resp_bull++) {
1302
		$pdf->AddPage(); //ajout d'une page au document
1303
		$pdf->SetFont('Arial');
1304

    
1305
		//================================
1306
		// On ins?re le footer d?s que la page est cr??e:
1307
		//Positionnement ? 1 cm du bas et 0,5cm + 0,5cm du cot? gauche
1308
		$pdf->SetXY(5,-10);
1309
		//Police Arial Gras 6
1310
		$pdf->SetFont('Arial','B',8);
1311
		// $fomule = 'Bulletin ? conserver pr?cieusement. Aucun duplicata ne sera d?livr?. - GEPI : solution libre de gestion et de suivi des r?sultats scolaires.'
1312
		$pdf->Cell(0,4.5, traite_accents_utf8($bull_formule_bas),0,0,'C');
1313
		//================================
1314

    
1315
		// A VERIFIER: CETTE VARIABLE NE DOIT PAS ETRE UTILE
1316
		// SI LES VALEURS AFFICHEES PROVIENNENT DE L'EXTRACTION HORS DE LA FONCTION
1317
		$total_coef_en_calcul=0;
1318

    
1319
		// quand on change d'?l?ve on vide les variables suivantes
1320
		$categorie_passe = '';
1321
		$total_moyenne_classe_en_calcul = 0;
1322
		$total_moyenne_min_en_calcul = 0;
1323
		$total_moyenne_max_en_calcul = 0;
1324
		$total_coef_en_calcul = 0;
1325

    
1326
		// ...
1327
		$hauteur_pris=0;
1328

    
1329

    
1330
		//=========================================
1331

    
1332
		// R?cup?ration de l'identifiant de la classe:
1333
		$classe_id=$tab_bull['eleve'][$i]['id_classe'];
1334

    
1335
		//=========================================
1336

    
1337
		if($tab_modele_pdf["affiche_filigrame"][$classe_id]==='1'){
1338
			$pdf->SetFont('Arial','B',50);
1339
			$pdf->SetTextColor(255,192,203);
1340
			//$pdf->TextWithRotation(40,190,$texte_filigrame[$classe_id],45);
1341
			$pdf->TextWithRotation(40,190,$tab_modele_pdf["texte_filigrame"][$classe_id],45);
1342
			$pdf->SetTextColor(0,0,0);
1343
		}
1344

    
1345
		//=========================================
1346

    
1347
		// Bloc identification etablissement
1348
		$logo = '../images/'.getSettingValue('logo_etab');
1349
		$format_du_logo = strtolower(str_replace('.','',strstr(getSettingValue('logo_etab'), '.')));
1350

    
1351
		// Logo
1352
		//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'))
1353
		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'))
1354
		{
1355
			$valeur=redimensionne_image($logo, $tab_modele_pdf["L_max_logo"][$classe_id], $tab_modele_pdf["H_max_logo"][$classe_id]);
1356
			$X_logo = 5;
1357
			$Y_logo = 5;
1358
			$L_logo = $valeur[0];
1359
			$H_logo = $valeur[1];
1360
			$X_etab = $X_logo + $L_logo + 1;
1361
			$Y_etab = $Y_logo;
1362

    
1363
			if ( !isset($tab_modele_pdf["centrage_logo"][$classe_id]) or empty($tab_modele_pdf["centrage_logo"][$classe_id]) ) {
1364
				$tab_modele_pdf["centrage_logo"][$classe_id] = '0';
1365
			}
1366

    
1367
			if ( $tab_modele_pdf["centrage_logo"][$classe_id] === '1' ) {
1368
				// centrage du logo
1369
				$centre_du_logo = ( $H_logo / 2 );
1370
				$Y_logo = $tab_modele_pdf["Y_centre_logo"][$classe_id] - $centre_du_logo;
1371
			}
1372

    
1373
			//logo
1374
			$pdf->Image($logo, $X_logo, $Y_logo, $L_logo, $H_logo);
1375
		}
1376

    
1377
		//$pdf->SetXY(100,5);
1378
		//$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
1379
		//$pdf->Cell(90,7, "\$format_du_logo=$format_du_logo",0,2,'');
1380

    
1381
		//=========================================
1382

    
1383
		// Adresse ?tablissement
1384
		if ( !isset($X_etab) or empty($X_etab) ) {
1385
			$X_etab = '5';
1386
			$Y_etab = '5';
1387
		}
1388
		$pdf->SetXY($X_etab,$Y_etab);
1389
		$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',14);
1390

    
1391
		//=========================
1392
		// AJOUT: boireaus 20081224
1393
		//        Ajout du test $tab_modele_pdf["affiche_nom_etab"][$classe_id] et $tab_modele_pdf["affiche_adresse_etab"][$classe_id]
1394
		//=========================
1395
		//$tab_modele_pdf["affiche_nom_etab"][$classe_id]=0;
1396
		if(((isset($tab_modele_pdf["affiche_nom_etab"][$classe_id]))&&($tab_modele_pdf["affiche_nom_etab"][$classe_id]!="0"))||
1397
			(!isset($tab_modele_pdf["affiche_nom_etab"][$classe_id]))) {
1398
			// mettre en gras le nom de l'?tablissement si $nom_etab_gras = 1
1399
			if ( $tab_modele_pdf["nom_etab_gras"][$classe_id] === '1' ) {
1400
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',14);
1401
			}
1402
			$pdf->Cell(90,7, traite_accents_utf8($gepiSchoolName),0,2,'');
1403
		}
1404

    
1405
		//$tab_modele_pdf["affiche_adresse_etab"][$classe_id]=0;
1406
		if(((isset($tab_modele_pdf["affiche_adresse_etab"][$classe_id]))&&($tab_modele_pdf["affiche_adresse_etab"][$classe_id]!="0"))||
1407
			(!isset($tab_modele_pdf["affiche_adresse_etab"][$classe_id]))) {
1408
			$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
1409

    
1410
			if ( $gepiSchoolAdress1 != '' ) {
1411
				$pdf->Cell(90,5, traite_accents_utf8($gepiSchoolAdress1),0,2,'');
1412
			}
1413
			if ( $gepiSchoolAdress2 != '' ) {
1414
				$pdf->Cell(90,5, traite_accents_utf8($gepiSchoolAdress2),0,2,'');
1415
			}
1416

    
1417
			$pdf->Cell(90,5, traite_accents_utf8($gepiSchoolZipCode." ".$gepiSchoolCity),0,2,'');
1418
		}
1419

    
1420
		$passealaligne = '0';
1421
		// ent?te t?l?phone
1422
		// emplacement du cadre t?l?com
1423
		$x_telecom = $pdf->GetX();
1424
		$y_telecom = $pdf->GetY();
1425

    
1426
		// Affichage du tel de l'?tablissement
1427
		if( $tab_modele_pdf["entente_tel"][$classe_id]==='1' ) {
1428
			$grandeur = ''; 
1429
			$text_tel = '';
1430
			if ( $tab_modele_pdf["tel_image"][$classe_id] != '' ) {
1431
				$a = $pdf->GetX();
1432
				$b = $pdf->GetY();
1433
				$ima = '../images/imabulle/'.$tab_modele_pdf["tel_image"][$classe_id].'.jpg';
1434
				$valeurima=redimensionne_image($ima, 15, 15);
1435
				$pdf->Image($ima, $a, $b, $valeurima[0], $valeurima[1]);
1436
				$text_tel = '      '.$gepiSchoolTel;
1437
				$grandeur = $pdf->GetStringWidth($text_tel);
1438
				$grandeur = $grandeur + 2;
1439
			}
1440
			else {
1441
				if ($tab_modele_pdf["tel_texte"][$classe_id]!= '') {
1442
					$text_tel = $tab_modele_pdf["tel_texte"][$classe_id];
1443
				}
1444
				$text_tel .= $gepiSchoolTel;
1445
				$grandeur = $pdf->GetStringWidth($text_tel);
1446
			}
1447
			/*
1448
			if ( $tab_modele_pdf["tel_texte"][$classe_id] != '' and $tab_modele_pdf["tel_image"][$classe_id] === '' ) {
1449
				$text_tel = $tab_modele_pdf["tel_texte"][$classe_id].''.$gepiSchoolTel;
1450
				$grandeur = $pdf->GetStringWidth($text_tel);
1451
			}
1452
			*/
1453

    
1454
			$pdf->Cell($grandeur,5, $text_tel,0,$passealaligne,'');
1455
		}
1456

    
1457
		$passealaligne = '2';
1458
		// ent?te fax
1459
		if( $tab_modele_pdf["entente_fax"][$classe_id]==='1' ) {
1460
			$text_fax = '';
1461
			if ( $tab_modele_pdf["fax_image"][$classe_id] != '' ) {
1462
				$a = $pdf->GetX();
1463
				$b = $pdf->GetY();
1464
				$ima = '../images/imabulle/'.$tab_modele_pdf["fax_image"][$classe_id].'.jpg';
1465
				$valeurima=redimensionne_image($ima, 15, 15);
1466
				$pdf->Image($ima, $a, $b, $valeurima[0], $valeurima[1]);
1467
				$text_fax = '      '.$gepiSchoolFax;
1468
			}
1469
			else {
1470
				if ( $tab_modele_pdf["fax_texte"][$classe_id] != '' ) {
1471
					$text_fax = $tab_modele_pdf["fax_texte"][$classe_id];
1472
				}
1473
				$text_fax .= $gepiSchoolFax;
1474

    
1475
			}
1476
			/*
1477
			if ( $tab_modele_pdf["fax_texte"][$classe_id] != '' and $tab_modele_pdf["fax_image"][$classe_id] === '' ) {
1478
				$text_fax = $tab_modele_pdf["fax_texte"][$classe_id].''.$gepiSchoolFax;
1479
			}
1480
			*/
1481
			$pdf->Cell(90,5, $text_fax,0,$passealaligne,'');
1482
		}
1483

    
1484
		if($tab_modele_pdf["entente_mel"][$classe_id]==='1') {
1485
			$text_mel = '';
1486
			$y_telecom = $y_telecom + 5;
1487
			$pdf->SetXY($x_telecom,$y_telecom);
1488

    
1489
			//$text_mel = $gepiSchoolEmail;
1490
			if ( $tab_modele_pdf["courrier_image"][$classe_id] != '' ) {
1491
				$a = $pdf->GetX();
1492
				$b = $pdf->GetY();
1493
				$ima = '../images/imabulle/'.$tab_modele_pdf["courrier_image"][$classe_id].'.jpg';
1494
				$valeurima=redimensionne_image($ima, 15, 15);
1495
				$pdf->Image($ima, $a, $b, $valeurima[0], $valeurima[1]);
1496
				$text_mel = '      '.$gepiSchoolEmail;
1497
			}
1498
			else {
1499
				if ( $tab_modele_pdf["courrier_texte"][$classe_id] != '' ) {
1500
					$text_mel = $tab_modele_pdf["courrier_texte"][$classe_id];
1501
				}
1502
				$text_mel .= $gepiSchoolEmail;
1503
			}
1504
			/*
1505
			if ( $tab_modele_pdf["courrier_texte"][$classe_id] != '' and $tab_modele_pdf["courrier_image"][$classe_id] === '' ) {
1506
				$text_mel = $tab_modele_pdf["courrier_texte"][$classe_id].' '.$gepiSchoolEmail;
1507
			}
1508
			*/
1509
			$pdf->Cell(90,5, $text_mel,0,2,'');
1510
		}
1511

    
1512
		// ============= FIN ENTETE BULLETIN ==========================
1513

    
1514
		//=========================================
1515

    
1516
		// A VOIR: REMPLACER LE $i PAR AUTRE CHOSE POUR EVITER LA COLLISION AVEC L'INDICE $i pass? ? la fonction
1517
		//$i = $nb_eleve_aff;
1518

    
1519
		//$id_periode = $periode_classe[$id_classe_selection][$cpt_info_periode];
1520
		$id_periode = $tab_bull['num_periode'];
1521

    
1522
		// AJOUT ERIC
1523
		//$classe_id=$id_classe_selection;
1524

    
1525
		$pdf->SetFont('Arial','B',12);
1526

    
1527
		// gestion des styles
1528
		$pdf->SetStyle("b","arial","B",8,"0,0,0");
1529
		$pdf->SetStyle("i","arial","I",8,"0,0,0");
1530
		$pdf->SetStyle("u","arial","U",8,"0,0,0");
1531

    
1532
		// style pour la case appr?ciation g?n?rale
1533
		// identit? du professeur principal
1534
		if ( $tab_modele_pdf["taille_profprincipal_bloc_avis_conseil"][$classe_id] != '' and $tab_modele_pdf["taille_profprincipal_bloc_avis_conseil"][$classe_id] < '15' ) {
1535
			$taille = $tab_modele_pdf["taille_profprincipal_bloc_avis_conseil"][$classe_id];
1536
		} else {
1537
			$taille = '10';
1538
		}
1539
		$pdf->SetStyle("bppc","arial","B",$taille,"0,0,0");
1540
		$pdf->SetStyle("ippc","arial","I",$taille,"0,0,0");
1541

    
1542
		// bloc affichage de l'adresse des parents
1543
		if($tab_modele_pdf["active_bloc_adresse_parent"][$classe_id]==='1') {
1544
			$pdf->SetXY($tab_modele_pdf["X_parent"][$classe_id],$tab_modele_pdf["Y_parent"][$classe_id]);
1545
			// d?finition des Largeur - hauteur
1546
			if ( $tab_modele_pdf["largeur_bloc_adresse"][$classe_id] != '' and $tab_modele_pdf["largeur_bloc_adresse"][$classe_id] != '0' ) {
1547
				$longeur_cadre_adresse = $tab_modele_pdf["largeur_bloc_adresse"][$classe_id];
1548
			} else {
1549
				$longeur_cadre_adresse = '90';
1550
			}
1551
			if ( $tab_modele_pdf["hauteur_bloc_adresse"][$classe_id] != '' and $tab_modele_pdf["hauteur_bloc_adresse"][$classe_id] != '0' ) {
1552
				$hauteur_cadre_adresse = $tab_modele_pdf["hauteur_bloc_adresse"][$classe_id];
1553
			} else {
1554
				$hauteur_cadre_adresse = '1';
1555
			}
1556

    
1557
			//=========================
1558

    
1559
			$texte_1_responsable = trim($tab_adr_ligne1[$num_resp_bull]);
1560
			$hauteur_caractere=12;
1561
			$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',$hauteur_caractere);
1562
			$val = $pdf->GetStringWidth($texte_1_responsable);
1563
			$taille_texte = $longeur_cadre_adresse;
1564
			$grandeur_texte='test';
1565
			while($grandeur_texte != 'ok') {
1566
				if($taille_texte < $val){
1567
					$hauteur_caractere = $hauteur_caractere-0.3;
1568
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',$hauteur_caractere);
1569
					$val = $pdf->GetStringWidth($texte_1_responsable);
1570
				} else {
1571
					$grandeur_texte = 'ok';
1572
				}
1573
			}
1574
			$pdf->Cell(90,7, traite_accents_utf8($texte_1_responsable),0,2,'');
1575

    
1576
			$texte_1_responsable = $tab_adr_ligne2[$num_resp_bull];
1577
			$hauteur_caractere=10;
1578
			$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
1579
			$val = $pdf->GetStringWidth($texte_1_responsable);
1580
			$taille_texte = $longeur_cadre_adresse;
1581
			$grandeur_texte='test';
1582
			while($grandeur_texte!='ok') {
1583
				if($taille_texte<$val){
1584
					$hauteur_caractere = $hauteur_caractere-0.3;
1585
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
1586
					$val = $pdf->GetStringWidth($texte_1_responsable);
1587
				} else {
1588
					$grandeur_texte='ok';
1589
				}
1590
			}
1591
			$pdf->Cell(90,5, traite_accents_utf8($texte_1_responsable),0,2,'');
1592

    
1593
			$texte_1_responsable = $tab_adr_ligne3[$num_resp_bull];
1594
			$hauteur_caractere=10;
1595
			$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
1596
			$val = $pdf->GetStringWidth($texte_1_responsable);
1597
			$taille_texte = $longeur_cadre_adresse;
1598
			$grandeur_texte='test';
1599
			while($grandeur_texte!='ok') {
1600
				if($taille_texte<$val){
1601
					$hauteur_caractere = $hauteur_caractere-0.3;
1602
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
1603
					$val = $pdf->GetStringWidth($texte_1_responsable);
1604
				} else {
1605
					$grandeur_texte='ok';
1606
				}
1607
			}
1608
			$pdf->Cell(90,5, traite_accents_utf8($texte_1_responsable),0,2,'');
1609

    
1610
			// Suppression du saut de ligne pour mettre la ligne 3 de l'adresse
1611
			//$pdf->Cell(90,5, '',0,2,'');
1612

    
1613
			$texte_1_responsable = $tab_adr_ligne4[$num_resp_bull];
1614
			$hauteur_caractere=10;
1615
			$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
1616
			$val = $pdf->GetStringWidth($texte_1_responsable);
1617
			$taille_texte = $longeur_cadre_adresse;
1618
			$grandeur_texte='test';
1619
			while($grandeur_texte!='ok') {
1620
				if($taille_texte<$val){
1621
					$hauteur_caractere = $hauteur_caractere-0.3;
1622
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
1623
					$val = $pdf->GetStringWidth($texte_1_responsable);
1624
				} else {
1625
					$grandeur_texte='ok';
1626
				}
1627
			}
1628
			$pdf->Cell(90,5, traite_accents_utf8($texte_1_responsable),0,2,'');
1629

    
1630
			//$texte_1_responsable = $cp_parents[$ident_eleve_aff][$responsable_place]." ".$ville_parents[$ident_eleve_aff][$responsable_place];
1631
			$texte_1_responsable = $tab_adr_ligne5[$num_resp_bull];
1632
			$hauteur_caractere=10;
1633
			$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
1634
			$val = $pdf->GetStringWidth($texte_1_responsable);
1635
			$taille_texte = $longeur_cadre_adresse;
1636
			$grandeur_texte='test';
1637
			while($grandeur_texte!='ok') {
1638
				if($taille_texte<$val){
1639
					$hauteur_caractere = $hauteur_caractere-0.3;
1640
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
1641
					$val = $pdf->GetStringWidth($texte_1_responsable);
1642
				} else {
1643
					$grandeur_texte='ok';
1644
				}
1645
			}
1646
			$pdf->Cell(90,5, traite_accents_utf8($texte_1_responsable),0,2,'');
1647

    
1648

    
1649
			//============================
1650
			//if((strtolower($gepiSchoolPays)!=strtolower($pays_parents[$ident_eleve_aff][$responsable_place]))&&($pays_parents[$ident_eleve_aff][$responsable_place]!="")) {
1651
			if(isset($tab_adr_ligne6[$num_resp_bull])) {
1652
				$texte_1_responsable = $tab_adr_ligne6[$num_resp_bull];
1653
				$hauteur_caractere=10;
1654
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
1655
				$val = $pdf->GetStringWidth($texte_1_responsable);
1656
				$taille_texte = $longeur_cadre_adresse;
1657
				$grandeur_texte='test';
1658
				while($grandeur_texte!='ok') {
1659
					if($taille_texte<$val){
1660
						$hauteur_caractere = $hauteur_caractere-0.3;
1661
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
1662
						$val = $pdf->GetStringWidth($texte_1_responsable);
1663
					} else {
1664
						$grandeur_texte='ok';
1665
					}
1666
				}
1667
				$pdf->Cell(90,5, traite_accents_utf8($texte_1_responsable),0,2,'');
1668
			}
1669
			//============================
1670

    
1671
			$texte_1_responsable = '';
1672
			if ( $tab_modele_pdf["cadre_adresse"][$classe_id] != 0 ) {
1673
				$pdf->Rect($tab_modele_pdf["X_parent"][$classe_id], $tab_modele_pdf["Y_parent"][$classe_id], $longeur_cadre_adresse, $hauteur_cadre_adresse, 'D');
1674
			}
1675
		}
1676

    
1677
		//=========================================
1678

    
1679
		// Bloc affichage information sur l'?l?ve
1680
		if($tab_modele_pdf["active_bloc_eleve"][$classe_id]==='1') {
1681
			$pdf->SetXY($tab_modele_pdf["X_eleve"][$classe_id],$tab_modele_pdf["Y_eleve"][$classe_id]);
1682
			// d?finition des Lageur - hauteur
1683
			if ( $tab_modele_pdf["largeur_bloc_eleve"][$classe_id] != '' and $tab_modele_pdf["largeur_bloc_eleve"][$classe_id] != '0' ) {
1684
				$longeur_cadre_eleve = $tab_modele_pdf["largeur_bloc_eleve"][$classe_id];
1685
			} else {
1686
				$longeur_cadre_eleve = $pdf->GetStringWidth($tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom']);
1687
				$rajout_cadre_eleve = 100-$longeur_cadre_eleve;
1688
				$longeur_cadre_eleve = $longeur_cadre_eleve + $rajout_cadre_eleve;
1689
			}
1690
			if ( $tab_modele_pdf["hauteur_bloc_eleve"][$classe_id] != '' and $tab_modele_pdf["hauteur_bloc_eleve"][$classe_id] != '0' ) {
1691
				$hauteur_cadre_eleve = $tab_modele_pdf["hauteur_bloc_eleve"][$classe_id];
1692
			} else {
1693
				$nb_ligne = 5;
1694
				$hauteur_ligne = 6;
1695
				$hauteur_cadre_eleve = $nb_ligne*$hauteur_ligne;
1696
			}
1697

    
1698
			$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',14);
1699

    
1700
			if($tab_modele_pdf["cadre_eleve"][$classe_id]!=0) {
1701
				$pdf->Rect($tab_modele_pdf["X_eleve"][$classe_id], $tab_modele_pdf["Y_eleve"][$classe_id], $longeur_cadre_eleve, $hauteur_cadre_eleve, 'D');
1702
			}
1703

    
1704
			$X_eleve_2 = $tab_modele_pdf["X_eleve"][$classe_id]; $Y_eleve_2=$tab_modele_pdf["Y_eleve"][$classe_id];
1705

    
1706
			//photo de l'?l?ve
1707
			if ( !isset($tab_modele_pdf["ajout_cadre_blanc_photo"][$classe_id]) or empty($tab_modele_pdf["ajout_cadre_blanc_photo"][$classe_id]) ) {
1708
				$tab_modele_pdf["ajout_cadre_blanc_photo"][$classe_id] = '0';
1709
			}
1710
			if ( $tab_modele_pdf["ajout_cadre_blanc_photo"][$classe_id] === '1' ) {
1711
				$ajouter = '1';
1712
			} else {
1713
				$ajouter = '0';
1714
			}
1715

    
1716

    
1717
			$photo[$i]="../photos/eleves/".$tab_bull['eleve'][$i]['elenoet'].".jpg";
1718
			if(!file_exists($photo[$i])) {
1719
				$photo[$i]="../photos/eleves/0".$tab_bull['eleve'][$i]['elenoet'].".jpg";
1720
			}
1721

    
1722
			if($tab_modele_pdf["active_photo"][$classe_id]==='1' and $photo[$i]!='' and file_exists($photo[$i])) {
1723
				$L_photo_max = ($hauteur_cadre_eleve - ( $ajouter * 2 )) * 2.8;
1724
				$H_photo_max = ($hauteur_cadre_eleve - ( $ajouter * 2 )) * 2.8;
1725
				$valeur=redimensionne_image($photo[$i], $L_photo_max, $H_photo_max);
1726
				$X_photo = $tab_modele_pdf["X_eleve"][$classe_id]+ 0.20 + $ajouter;
1727
				$Y_photo = $tab_modele_pdf["Y_eleve"][$classe_id]+ 0.25 + $ajouter;
1728
				$L_photo = $valeur[0];
1729
				$H_photo = $valeur[1];
1730
				$X_eleve_2 = $tab_modele_pdf["X_eleve"][$classe_id] + $L_photo + $ajouter + 1;
1731
				$Y_eleve_2 = $Y_photo;
1732
				$pdf->Image($photo[$i], $X_photo, $Y_photo, $L_photo, $H_photo);
1733
				$longeur_cadre_eleve = $longeur_cadre_eleve - ( $valeur[0] + $ajouter );
1734
			}
1735

    
1736

    
1737
			$pdf->SetXY($X_eleve_2,$Y_eleve_2);
1738

    
1739
			//$pdf->Cell(90,7, traite_accents_utf8($tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom']),0,2,'');
1740
			$nom_prenom=traite_accents_utf8($tab_bull['eleve'][$i]['nom']." ".$tab_bull['eleve'][$i]['prenom']);
1741

    
1742
			$hauteur_caractere_nom_prenom=14;
1743
			$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',$hauteur_caractere_nom_prenom);
1744
			$val = $pdf->GetStringWidth($nom_prenom);
1745
			if($tab_modele_pdf["active_photo"][$classe_id]==='1' and $photo[$i]!='' and file_exists($photo[$i])) {
1746
				$taille_texte = 90-$L_photo; // Espace max
1747
			}
1748
			else {
1749
				$taille_texte = 90; // Espace max
1750
			}
1751
			if($taille_texte<10) {$taille_texte=90;} // S?curit? pour ne pas risquer une boucle infinie
1752
			$grandeur_texte='test';
1753
			while($grandeur_texte!='ok') {
1754
				if($taille_texte<$val) {
1755
					$hauteur_caractere_nom_prenom=$hauteur_caractere_nom_prenom-0.3;
1756
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',$hauteur_caractere_nom_prenom);
1757
					$val = $pdf->GetStringWidth($nom_prenom);
1758
				} else {
1759
					$grandeur_texte='ok';
1760
				}
1761
			}
1762
			$grandeur_texte='test';
1763
			$pdf->Cell(90,7, $nom_prenom,0,2,'');
1764

    
1765

    
1766
			$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
1767
			if($tab_modele_pdf["affiche_date_naissance"][$classe_id]==='1') {
1768
				if($tab_bull['eleve'][$i]['naissance']!="") {
1769
					$info_naissance="N?";
1770
					if($tab_bull['eleve'][$i]['sexe']=="F") {$info_naissance.="e";}
1771
					$info_naissance.=" le ".$tab_bull['eleve'][$i]['naissance'];
1772

    
1773
					if((getSettingValue('ele_lieu_naissance')=='y')&&($tab_modele_pdf["affiche_lieu_naissance"][$classe_id]==='1')) {
1774
						$info_naissance.=" ? ".$tab_bull['eleve'][$i]['lieu_naissance'];
1775
					}
1776

    
1777
					$pdf->Cell(90,5, traite_accents_utf8($info_naissance),0,2,'');
1778
				}
1779
			}
1780

    
1781

    
1782
			$rdbt = '';
1783
			if($tab_modele_pdf["affiche_dp"][$classe_id]==='1') {
1784
				if($tab_modele_pdf["affiche_doublement"][$classe_id]==='1') {
1785
					//if($tab_bull['eleve'][$i]['doublant']!="") {
1786
					if($tab_bull['eleve'][$i]['doublant']=="R") {
1787
						//$rdbt=" ; ".$doublement[$i];
1788
						//$rdbt=" ; redoublant";
1789
						$rdbt="redoublant";
1790
						if($tab_bull['eleve'][$i]['sexe']=="F") {
1791
							$rdbt.="e";
1792
						}
1793
					}
1794
					//if(isset($tab_bull['eleve'][$i]['regime'])) {
1795
					if((isset($tab_bull['eleve'][$i]['regime']))&&($tab_bull['eleve'][$i]['regime']!="")) {
1796
						if($rdbt=="") {
1797
							$pdf->Cell(90,4, traite_accents_utf8(regime($tab_bull['eleve'][$i]['regime'])),0,2,'');
1798
						}
1799
						else {
1800
							$pdf->Cell(90,4, traite_accents_utf8(regime($tab_bull['eleve'][$i]['regime'])."; ".$rdbt),0,2,'');
1801
						}
1802
					} else {
1803
						$pdf->Cell(90,4,traite_accents_utf8($rdbt),0,2,'');
1804
					}
1805
				}
1806
			} else {
1807
				if($tab_modele_pdf["affiche_doublement"][$classe_id]==='1') {
1808
					//if($tab_bull['eleve'][$i]['doublant']!="") {
1809
					if($tab_bull['eleve'][$i]['doublant']=="R") {
1810
						//$pdf->Cell(90,4.5, $doublement[$i],0,2,'');
1811
						//$rdbt=" ; redoublant";
1812
						$rdbt="redoublant";
1813
						if($tab_bull['eleve'][$i]['sexe']=="F") {
1814
							$rdbt.="e";
1815
						}
1816
						$pdf->Cell(90,4.5, traite_accents_utf8($rdbt),0,2,'');
1817
					}
1818
				}
1819
			}
1820

    
1821
			// affiche le nom court de la classe
1822
			if ( $tab_modele_pdf["affiche_nom_court"][$classe_id] === '1' )
1823
			{
1824
				if($tab_bull['eleve'][$i]['classe']!="")
1825
				{
1826
					// si l'affichage du num?ro INE est activ? alors on ne passe pas
1827
					$passe_a_la_ligne = 0;
1828
					//if ( $tab_modele_pdf["affiche_ine"][$classe_id] != '1' or $tab_modele_pdf["INE_eleve"][$i] == '' )
1829
					if ( $tab_modele_pdf["affiche_ine"][$classe_id] != '1' or $tab_bull['eleve'][$i]['no_gep'] == '' )
1830
					{
1831
						$passe_a_la_ligne = 1;
1832
					}
1833
					$pdf->Cell(45,4.5, traite_accents_utf8(unhtmlentities($tab_bull['eleve'][$i]['classe'])),0, $passe_a_la_ligne,'');
1834
				}
1835
			}
1836

    
1837
			// affiche l'INE de l'?l?ve
1838
			if ( $tab_modele_pdf["affiche_ine"][$classe_id] === '1' )
1839
			{
1840
				if ( $tab_bull['eleve'][$i]['no_gep'] != '' )
1841
				{
1842
					$pdf->Cell(45,4.5, 'INE: '.$tab_bull['eleve'][$i]['no_gep'], 0, 1,'');
1843
				}
1844
			}
1845

    
1846
			// Affichage du num?ro d'impression
1847
			$pdf->SetX($X_eleve_2);
1848

    
1849
			if($tab_modele_pdf["affiche_effectif_classe"][$classe_id]==='1') {
1850
				if($tab_modele_pdf["affiche_numero_impression"][$classe_id]==='1') {
1851
					$pass_ligne = '0';
1852
				} else {
1853
					$pass_ligne = '2';
1854
				}
1855
				if($tab_bull['eff_classe']!="") {
1856
					$pdf->Cell(45,4.5, traite_accents_utf8('Effectif : '.$tab_bull['eff_classe'].' ?l?ves'),0,$pass_ligne,'');
1857
				}
1858
			}
1859
			if($tab_modele_pdf["affiche_numero_impression"][$classe_id]==='1') {
1860
				//+++++++++++++++++++
1861
				//+++++++++++++++++++
1862
				// A VOIR... CE $i...
1863
				// 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.
1864
				//+++++++++++++++++++
1865
				//+++++++++++++++++++
1866
				//$num_ordre = $i;
1867
				$num_ordre = $i+1;
1868
				$pdf->Cell(45,4, 'Bulletin N? '.$num_ordre,0,2,'');
1869
			}
1870

    
1871
			// Affichage de l'?tablissement d'origine
1872
			// On n'affiche pas l'?tablissement d'origine si c'est le m?me que l'?tablissement actuel: $RneEtablissement
1873
			//if($tab_modele_pdf["affiche_etab_origine"][$classe_id]==='1' and !empty($etablissement_origine[$i]) ) {
1874
			//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']) ) {
1875
			if(($tab_modele_pdf["affiche_etab_origine"][$classe_id]==='1')&&(isset($tab_bull['eleve'][$i]['etab_id']))&&(!empty($tab_bull['eleve'][$i]['etab_id']))&&(strtolower($tab_bull['eleve'][$i]['etab_id'])!=strtolower($RneEtablissement))) {
1876
				$pdf->SetX($X_eleve_2);
1877
				$hauteur_caractere_etaborigine = '10';
1878
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_etaborigine);
1879
				$val = $pdf->GetStringWidth('Etab. Origine : '.$tab_bull['eleve'][$i]['etab_niveau']." ".$tab_bull['eleve'][$i]['etab_nom']." (".$tab_bull['eleve'][$i]['etab_ville'].")");
1880
				$taille_texte = $longeur_cadre_eleve-3;
1881
				$grandeur_texte='test';
1882
				while($grandeur_texte!='ok') {
1883
					if($taille_texte<$val) {
1884
						$hauteur_caractere_etaborigine = $hauteur_caractere_etaborigine-0.3;
1885
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_etaborigine);
1886
						$val = $pdf->GetStringWidth('Etab. Origine : '.$tab_bull['eleve'][$i]['etab_niveau']." ".$tab_bull['eleve'][$i]['etab_nom']." (".$tab_bull['eleve'][$i]['etab_ville'].")");
1887
					} else {
1888
						$grandeur_texte='ok';
1889
					}
1890
				}
1891
				$grandeur_texte='test';
1892
				$pdf->Cell(90,4, traite_accents_utf8('Etab. Origine : '.$tab_bull['eleve'][$i]['etab_niveau']." ".$tab_bull['eleve'][$i]['etab_nom']." (".$tab_bull['eleve'][$i]['etab_ville'].")"),0,2);
1893
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
1894
			}
1895
		} // fin du bloc affichage information sur l'?l?ves
1896

    
1897
		//=========================================
1898

    
1899
		// Bloc affichage datation du bulletin:
1900
		// Classe, p?riode,...
1901
		if($tab_modele_pdf["active_bloc_datation"][$classe_id]==='1') {
1902
			$pdf->SetXY($tab_modele_pdf["X_datation_bul"][$classe_id], $tab_modele_pdf["Y_datation_bul"][$classe_id]);
1903

    
1904
			// d?finition des Largeur - hauteur
1905
			if ( $tab_modele_pdf["largeur_bloc_datation"][$classe_id] != '' and $tab_modele_pdf["largeur_bloc_datation"][$classe_id] != '0' ) {
1906
				$longeur_cadre_datation_bul = $tab_modele_pdf["largeur_bloc_datation"][$classe_id];
1907
			} else {
1908
				$longeur_cadre_datation_bul = '95';
1909
			}
1910
			if ( $tab_modele_pdf["hauteur_bloc_datation"][$classe_id] != '' and $tab_modele_pdf["hauteur_bloc_datation"][$classe_id] != '0' ) {
1911
				$hauteur_cadre_datation_bul = $tab_modele_pdf["hauteur_bloc_datation"][$classe_id];
1912
			} else {
1913
				$nb_ligne_datation_bul = 3;
1914
				$hauteur_ligne_datation_bul = 6;
1915
				$hauteur_cadre_datation_bul = $nb_ligne_datation_bul*$hauteur_ligne_datation_bul;
1916
			}
1917

    
1918
			if($tab_modele_pdf["cadre_datation_bul"][$classe_id]!=0) {
1919
				$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');
1920
			}
1921
			$taille_texte = '14'; $type_texte = 'B';
1922
			if ( $tab_modele_pdf["taille_texte_classe"][$classe_id] != '' and $tab_modele_pdf["taille_texte_classe"][$classe_id] != '0' ) {
1923
				$taille_texte = $tab_modele_pdf["taille_texte_classe"][$classe_id];
1924
			} else {
1925
				$taille_texte = '14';
1926
			}
1927
			if ( $tab_modele_pdf["type_texte_classe"][$classe_id] != '' ) {
1928
				if ( $tab_modele_pdf["type_texte_classe"][$classe_id] === 'N' ) {
1929
					$type_texte = '';
1930
				} else {
1931
					$type_texte = $tab_modele_pdf["type_texte_classe"][$classe_id];
1932
				}
1933
			} else {
1934
				$type_texte = 'B';
1935
			}
1936
			$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id], $type_texte, $taille_texte);
1937
			$pdf->Cell(90,7, traite_accents_utf8("Classe de ".unhtmlentities($tab_bull['classe_nom_complet'])),0,2,'C');
1938
			$taille_texte = '12'; $type_texte = '';
1939
			if ( $tab_modele_pdf["taille_texte_annee"][$classe_id] != '' and $tab_modele_pdf["taille_texte_annee"][$classe_id] != '0') {
1940
				$taille_texte = $tab_modele_pdf["taille_texte_annee"][$classe_id];
1941
			} else {
1942
				$taille_texte = '12';
1943
			}
1944

    
1945
			if ( $tab_modele_pdf["type_texte_annee"][$classe_id] != '' ) {
1946
				if ( $tab_modele_pdf["type_texte_annee"][$classe_id] === 'N' ) {
1947
					$type_texte = '';
1948
				}
1949
				else {
1950
					$type_texte = $tab_modele_pdf["type_texte_annee"][$classe_id];
1951
				}
1952
			}
1953
			else {
1954
				$type_texte = '';
1955
			}
1956
			$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id], $type_texte, $taille_texte);
1957
			$annee_scolaire = $gepiYear;
1958
			$pdf->Cell(90,5, traite_accents_utf8("Ann?e scolaire ".$annee_scolaire),0,2,'C');
1959
			$taille_texte = '10'; $type_texte = '';
1960
			if ( $tab_modele_pdf["taille_texte_periode"][$classe_id] != '' and $tab_modele_pdf["taille_texte_periode"][$classe_id] != '0' ) {
1961
				$taille_texte = $tab_modele_pdf["taille_texte_periode"][$classe_id];
1962
			}
1963
			else {
1964
				$taille_texte = '10';
1965
			}
1966
			if ( $tab_modele_pdf["type_texte_periode"][$classe_id] != '' ) {
1967
				if ( $tab_modele_pdf["type_texte_periode"][$classe_id] === 'N' ) {
1968
					$type_texte = '';
1969
				}
1970
				else {
1971
					$type_texte = $tab_modele_pdf["type_texte_periode"][$classe_id];
1972
				}
1973
			}
1974
			else {
1975
				$type_texte = '';
1976
			}
1977
			$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id], $type_texte, $taille_texte);
1978
			$pdf->Cell(90,5, traite_accents_utf8("Bulletin du ".unhtmlentities($tab_bull['nom_periode'])),0,2,'C');
1979
			$taille_texte = '8';
1980
			$type_texte = '';
1981

    
1982
			if ( $tab_modele_pdf["affiche_date_edition"][$classe_id] === '1' ) {
1983
				if ( $tab_modele_pdf["taille_texte_date_edition"][$classe_id] != '' and $tab_modele_pdf["taille_texte_date_edition"][$classe_id] != '0' ) {
1984
					$taille_texte = $tab_modele_pdf["taille_texte_date_edition"][$classe_id];
1985
				}
1986
				else {
1987
					$taille_texte = '8';
1988
				}
1989
				if ( $tab_modele_pdf["type_texte_date_datation"][$classe_id] != '' ) {
1990
					if ( $tab_modele_pdf["type_texte_date_datation"][$classe_id] === 'N' ) {
1991
						$type_texte = '';
1992
					}
1993
					else {
1994
						$type_texte = $tab_modele_pdf["type_texte_date_datation"][$classe_id];
1995
					}
1996
				}
1997
				else {
1998
					$type_texte = '';
1999
				}
2000
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id], $type_texte, $taille_texte);
2001
				$pdf->Cell(95,7, traite_accents_utf8($date_bulletin),0,2,'R');
2002
			}
2003

    
2004
			$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
2005
		}
2006

    
2007
		//=========================================
2008

    
2009
		// Bloc notes et appr?ciations
2010
		//nombre de matieres ? afficher
2011
		//$nb_matiere = $info_bulletin[$ident_eleve_aff][$id_periode]['nb_matiere'];
2012
		$nb_matiere=0;
2013
		//$fich=fopen("/tmp/infos_matieres_eleve.txt","a+");
2014
		//fwrite($fich,"\$tab_bull['eleve'][$i]['nom']=".$tab_bull['eleve'][$i]['nom']."\n");
2015
		for($j=0;$j<count($tab_bull['groupe']);$j++) {
2016
			if(isset($tab_bull['note'][$j][$i])) {
2017
				// Si l'?l?ve suit l'option, sa note est affect?e (?ventuellement vide)
2018
				//fwrite($fich,"\$tab_bull['groupe'][$j]['matiere']['matiere']=".$tab_bull['groupe'][$j]['matiere']['matiere']." ");
2019
				//fwrite($fich,"\$tab_bull['note'][$j][$i]=".$tab_bull['note'][$j][$i]."\n");
2020
				$nb_matiere++;
2021

    
2022

    
2023
				// Si les cat?gories doivent ?tre affich?es, il faut r?ordonner les mati?res pour ne pas avoir:
2024
				//     LIT
2025
				//     SCI
2026
				//     AUT
2027
				//     LIT ? nouveau
2028
				// 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
2029
				// Il vaudrait mieux refaire ce tri au d?part, avant d'?tre dans les boucles ?l?ves
2030

    
2031

    
2032
			}
2033
		}
2034

    
2035
		if(isset($tab_bull['eleve'][$i]['aid_b'])) {
2036
			$nb_matiere+=count($tab_bull['eleve'][$i]['aid_b']);
2037
		}
2038

    
2039
		if(isset($tab_bull['eleve'][$i]['aid_e'])) {
2040
			$nb_matiere+=count($tab_bull['eleve'][$i]['aid_e']);
2041
		}
2042

    
2043
		//fclose($fich);
2044

    
2045
		/*
2046
		//++++++++++++++++
2047
		// Pour debug:
2048
		$pdf->SetXY(100, 25);
2049
		$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
2050
		$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], 8, "nb_matiere=$nb_matiere",1,0,'C');
2051
		//++++++++++++++++
2052
		*/
2053

    
2054
		if($tab_modele_pdf["active_bloc_note_appreciation"][$classe_id]==='1' and $nb_matiere!='0') {
2055
			$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');
2056
			//ent?te du tableau des notes et app
2057
			$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
2058
			$hauteur_entete = 8;
2059
			$hauteur_entete_pardeux = $hauteur_entete/2;
2060
			$pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id], $tab_modele_pdf["Y_note_app"][$classe_id]);
2061
			$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
2062
			$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $hauteur_entete, traite_accents_utf8($tab_modele_pdf["titre_entete_matiere"][$classe_id]),1,0,'C');
2063
			$largeur_utilise = $tab_modele_pdf["largeur_matiere"][$classe_id];
2064

    
2065
			// coefficient mati?re
2066
			if($tab_modele_pdf["active_coef_moyenne"][$classe_id]==='1') {
2067
				$pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]);
2068
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
2069
				$pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $hauteur_entete, traite_accents_utf8($tab_modele_pdf["titre_entete_coef"][$classe_id]),'LRB',0,'C');
2070
				$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
2071
			}
2072

    
2073
			// nombre de notes
2074
			// 20081118
2075
			//if($tab_modele_pdf["active_nombre_note_case"][$classe_id]==='1') {
2076
			if(($tab_modele_pdf["active_nombre_note_case"][$classe_id]==='1')&&($tab_modele_pdf["active_nombre_note"][$classe_id]!='1')) {
2077
				$pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]);
2078
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
2079
				$pdf->Cell($tab_modele_pdf["largeur_nombre_note"][$classe_id], $hauteur_entete, traite_accents_utf8($tab_modele_pdf["titre_entete_nbnote"][$classe_id]),'LRB',0,'C');
2080
				$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_nombre_note"][$classe_id];
2081
			}
2082

    
2083
			// eleve | min | classe | max | rang | niveau | appreciation |
2084
			if ( $tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] === '1' ) {
2085
				$ordre_moyenne[0] = 'eleve';
2086
				$ordre_moyenne[1] = 'min';
2087
				$ordre_moyenne[2] = 'classe';
2088
				$ordre_moyenne[3] = 'max';
2089
				$ordre_moyenne[4] = 'rang';
2090
				$ordre_moyenne[5] = 'niveau';
2091
				$ordre_moyenne[6] = 'appreciation';
2092
			}
2093

    
2094
			// min | classe | max | eleve | niveau | rang | appreciation |
2095
			if ( $tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] === '2' ) {
2096
				$ordre_moyenne[0] = 'min';
2097
				$ordre_moyenne[1] = 'classe';
2098
				$ordre_moyenne[2] = 'max';
2099
				$ordre_moyenne[3] = 'eleve';
2100
				$ordre_moyenne[4] = 'niveau';
2101
				$ordre_moyenne[5] = 'rang';
2102
				$ordre_moyenne[6] = 'appreciation';
2103
			}
2104

    
2105
			// eleve | niveau | rang | appreciation | min | classe | max
2106
			if ( $tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] === '3' ) {
2107
				$ordre_moyenne[0] = 'eleve';
2108
				$ordre_moyenne[1] = 'niveau';
2109
				$ordre_moyenne[2] = 'rang';
2110
				$ordre_moyenne[3] = 'appreciation';
2111
				$ordre_moyenne[4] = 'min';
2112
				$ordre_moyenne[5] = 'classe';
2113
				$ordre_moyenne[6] = 'max';
2114
			}
2115

    
2116
			// eleve | classe | min | max | rang | niveau | appreciation |
2117
			if ( $tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] === '4' ) {
2118
				$ordre_moyenne[0] = 'eleve';
2119
				$ordre_moyenne[1] = 'classe';
2120
				$ordre_moyenne[2] = 'min';
2121
				$ordre_moyenne[3] = 'max';
2122
				$ordre_moyenne[4] = 'rang';
2123
				$ordre_moyenne[5] = 'niveau';
2124
				$ordre_moyenne[6] = 'appreciation';
2125
			}
2126

    
2127
			// eleve | min | classe | max | niveau | rang | appreciation |
2128
			if ( $tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] === '5' ) {
2129
				$ordre_moyenne[0] = 'eleve';
2130
				$ordre_moyenne[1] = 'min';
2131
				$ordre_moyenne[2] = 'classe';
2132
				$ordre_moyenne[3] = 'max';
2133
				$ordre_moyenne[4] = 'niveau';
2134
				$ordre_moyenne[5] = 'rang';
2135
				$ordre_moyenne[6] = 'appreciation';
2136
			}
2137

    
2138
			// min | classe | max | eleve | rang | niveau | appreciation |
2139
			//if ( $ordre_entete_model_bulletin[$classe_id] === '6' ) {
2140
			if ( $tab_modele_pdf["ordre_entete_model_bulletin"][$classe_id] === '6' ) {
2141
				$ordre_moyenne[0] = 'min';
2142
				$ordre_moyenne[1] = 'classe';
2143
				$ordre_moyenne[2] = 'max';
2144
				$ordre_moyenne[3] = 'eleve';
2145
				$ordre_moyenne[4] = 'rang';
2146
				$ordre_moyenne[5] = 'niveau';
2147
				$ordre_moyenne[6] = 'appreciation';
2148
			}
2149

    
2150

    
2151
			$cpt_ordre = 0;
2152
			$chapeau_moyenne = 'non';
2153
			while ( !empty($ordre_moyenne[$cpt_ordre]) ) {
2154

    
2155
				// Je ne saisis pas pourquoi cette variable est initialis?e ? ce niveau???
2156
				//$categorie_passe_count = 0;
2157

    
2158
				// le chapeau des moyennes
2159
				$ajout_espace_au_dessus = 4;
2160
				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' )
2161
				{
2162
					$largeur_moyenne = $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id] * $nb_entete_moyenne;
2163
					$text_entete_moyenne = 'Moyenne';
2164
					$pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]);
2165
					$pdf->Cell($largeur_moyenne, $hauteur_entete_pardeux, traite_accents_utf8($text_entete_moyenne),1,0,'C');
2166
					$chapeau_moyenne = 'oui';
2167
				}
2168

    
2169
				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' )  ) )
2170
				{
2171
					$largeur_moyenne = $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id] * ( $nb_entete_moyenne - 1 );
2172
					$text_entete_moyenne = 'Pour la classe';
2173
					$pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]);
2174
					$hauteur_caractere=10;
2175
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
2176
					$val = $pdf->GetStringWidth($text_entete_moyenne);
2177
					$taille_texte = $largeur_moyenne;
2178
					$grandeur_texte='test';
2179
					while($grandeur_texte!='ok') {
2180
						if($taille_texte<$val)
2181
						{
2182
							$hauteur_caractere = $hauteur_caractere-0.3;
2183
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
2184
							$val = $pdf->GetStringWidth($text_entete_moyenne);
2185
						}
2186
						else {
2187
							$grandeur_texte='ok';
2188
						}
2189
					}
2190
					$pdf->Cell($largeur_moyenne, $hauteur_entete_pardeux, traite_accents_utf8($text_entete_moyenne),1,0,'C');
2191
					$chapeau_moyenne = 'oui';
2192
				}
2193

    
2194
				//eleve
2195
				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' ) {
2196
					$ajout_espace_au_dessus = 4;
2197
					$hauteur_de_la_cellule = $hauteur_entete_pardeux;
2198
					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 )
2199
					{
2200
						$hauteur_de_la_cellule = $hauteur_entete;
2201
						$ajout_espace_au_dessus = 0;
2202
					}
2203
					$pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]+$ajout_espace_au_dessus);
2204
					$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]);
2205
					$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $hauteur_de_la_cellule, traite_accents_utf8("El?ve"),1,0,'C',$tab_modele_pdf["active_reperage_eleve"][$classe_id]);
2206
					$pdf->SetFillColor(0, 0, 0);
2207
					$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
2208
				}
2209

    
2210
				//classe
2211
				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' ) {
2212
					$pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]+4);
2213
					$hauteur_caractere = '8.5';
2214

    
2215
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
2216
					$text_moy_classe = 'Classe';
2217
					if ( $tab_modele_pdf["entete_model_bulletin"][$classe_id] === '2' ) {
2218
						$text_moy_classe = 'Moy.';
2219
					}
2220
					$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $hauteur_entete_pardeux, traite_accents_utf8($text_moy_classe),1,0,'C');
2221
					$X_moyenne_classe = $tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise;
2222
					$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
2223
				}
2224
				//min
2225
				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' ) {
2226
					$pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]+4);
2227
					$hauteur_caractere = '8.5';
2228
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
2229
					$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $hauteur_entete_pardeux, "Min.",1,0,'C');
2230
					$X_min_classe = $tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise;
2231
					$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
2232
				}
2233
				//max
2234
				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' ) {
2235
					$pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]+4);
2236
					$hauteur_caractere = '8.5';
2237
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
2238
					$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $hauteur_entete_pardeux, "Max.",1,0,'C');
2239
					$X_max_classe = $tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise;
2240
					$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
2241
				}
2242

    
2243
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
2244

    
2245
				// rang de l'?l?ve
2246
				if( $tab_modele_pdf["active_rang"][$classe_id] === '1' and $ordre_moyenne[$cpt_ordre] === 'rang' ) {
2247
					$pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]);
2248
					$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $hauteur_entete, traite_accents_utf8($tab_modele_pdf["titre_entete_rang"][$classe_id]),'LRB',0,'C');
2249
					//$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $hauteur_entete, $tab_modele_pdf["titre_entete_rang"][$classe_id],'LRB',0,'C');
2250
					$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_rang"][$classe_id];
2251
				}
2252

    
2253
				// graphique de niveau
2254
				if( $tab_modele_pdf["active_graphique_niveau"][$classe_id] === '1' and $ordre_moyenne[$cpt_ordre] === 'niveau' ) {
2255
					$pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]);
2256
					$hauteur_caractere = '10';
2257
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
2258
					$pdf->Cell($tab_modele_pdf["largeur_niveau"][$classe_id], $hauteur_entete_pardeux, "Niveau",'LR',0,'C');
2259
					$pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]+4);
2260
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
2261
					$pdf->Cell($tab_modele_pdf["largeur_niveau"][$classe_id], $hauteur_entete_pardeux, "ABC+C-DE",'LRB',0,'C');
2262
					$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_niveau"][$classe_id];
2263
				}
2264

    
2265
				//appreciation
2266
				$hauteur_caractere = '10';
2267
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere);
2268
				if($tab_modele_pdf["active_appreciation"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'appreciation' ) {
2269
					$pdf->SetXY($tab_modele_pdf["X_note_app"][$classe_id]+$largeur_utilise, $tab_modele_pdf["Y_note_app"][$classe_id]);
2270
					if ( !empty($ordre_moyenne[$cpt_ordre+1]) ) {
2271
						$cpt_ordre_sous = $cpt_ordre + 1;
2272
						$largeur_appret = 0;
2273
						while ( !empty($ordre_moyenne[$cpt_ordre_sous]) ) {
2274
							if ( $ordre_moyenne[$cpt_ordre_sous] === 'eleve' ) { $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id]; }
2275
							if ( $ordre_moyenne[$cpt_ordre_sous] === 'rang' ) { $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_rang"][$classe_id]; }
2276
							if ( $ordre_moyenne[$cpt_ordre_sous] === 'niveau' ) { $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_niveau"][$classe_id]; }
2277
							if ( $ordre_moyenne[$cpt_ordre_sous] === 'min' ) { $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id]; }
2278
							if ( $ordre_moyenne[$cpt_ordre_sous] === 'classe' ) { $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id]; }
2279
							if ( $ordre_moyenne[$cpt_ordre_sous] === 'max' ) { $largeur_appret = $largeur_appret + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id]; }
2280
							$cpt_ordre_sous = $cpt_ordre_sous + 1;
2281
						}
2282
						$largeur_appreciation = $tab_modele_pdf["longeur_note_app"][$classe_id] - $largeur_utilise - $largeur_appret;
2283
					} else {
2284
						$largeur_appreciation = $tab_modele_pdf["longeur_note_app"][$classe_id]-$largeur_utilise;
2285
					}
2286
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
2287

    
2288
					//$titre_entete_appreciation=$bull_intitule_app;
2289
					$titre_entete_appreciation=$tab_modele_pdf['titre_entete_appreciation'][$classe_id];
2290

    
2291
					$pdf->Cell($largeur_appreciation, $hauteur_entete, traite_accents_utf8($titre_entete_appreciation),'LRB',0,'C');
2292
					$largeur_utilise = $largeur_utilise + $largeur_appreciation;
2293
				}
2294
				$cpt_ordre = $cpt_ordre + 1;
2295
			}
2296
			$largeur_utilise = 0;
2297
			// fin de boucle d'ordre
2298

    
2299
			//===============================================
2300

    
2301
			//emplacement des blocs mati?re et note et appr?ciation
2302

    
2303
			//si cat?gorie activ? il faut compter le nombre de cat?gories
2304
			$nb_categories_select=0;
2305
			//$categorie_passe_for='';
2306

    
2307
			if($tab_modele_pdf["active_regroupement_cote"][$classe_id]==='1' or $tab_modele_pdf["active_entete_regroupement"][$classe_id]==='1') {
2308
				/* A CONVERTIR AVEC $tab_bull
2309
				for($x=0;$x<$nb_matiere;$x++) {
2310
					if($matiere[$ident_eleve_aff][$id_periode][$x]['categorie']!=$categorie_passe_for) {
2311
						$nb_categories_select=$nb_categories_select+1;
2312
					}
2313
					$categorie_passe_for=$matiere[$ident_eleve_aff][$id_periode][$x]['categorie'];
2314
				}
2315
				*/
2316
				//$nb_categories_select=count($tab_bull['cat_id']);
2317
				$nb_categories_select=count(array_count_values($tab_bull['cat_id']));
2318
			}
2319

    
2320
			fich_debug_bull("======================\n");
2321
			fich_debug_bull("El?ve ".$tab_bull['eleve'][$i]['login']."\n");
2322
			fich_debug_bull("\$nb_categories_select=$nb_categories_select\n");
2323

    
2324
			//$nb_matiere=count($tab_bull['eleve'][$i][]);
2325
			/*
2326
			$nb_matiere=0;
2327
			for($j=0;$j<count($tab_bull['groupe']);$j++) {
2328
				if(isset($tab_bull['note'][$j][$i])) {
2329
					// Si l'?l?ve suit l'option, sa note est affect?e (?ventuellement vide)
2330
					$nb_matiere++;
2331
				}
2332
			}
2333
			*/
2334

    
2335
			$X_bloc_matiere=$tab_modele_pdf["X_note_app"][$classe_id]; $Y_bloc_matiere=$tab_modele_pdf["Y_note_app"][$classe_id]+$hauteur_entete;
2336
			$longeur_bloc_matiere=$tab_modele_pdf["longeur_note_app"][$classe_id];
2337
			// calcul de la hauteur totale que peut prendre le cadre mati?re dans sa globalit?
2338
			if ( $tab_modele_pdf["active_moyenne"][$classe_id] === '1' and $tab_modele_pdf["active_moyenne_general"][$classe_id] === '1' )
2339
			{
2340
				// si les moyennes et la moyenne g?n?ral sont activ? alors on les ajoute ? ceux qui vaudras soustraire au cadre global matiere
2341
				$hauteur_toute_entete = $hauteur_entete + $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id];
2342

    
2343
				if($affiche_deux_moy_gen==1) {
2344
					$hauteur_toute_entete+=$tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id];
2345
				}
2346
			}
2347
			else {
2348
				$hauteur_toute_entete = $hauteur_entete;
2349
			}
2350

    
2351
			$hauteur_bloc_matiere=$tab_modele_pdf["hauteur_note_app"][$classe_id]-$hauteur_toute_entete;
2352
			$X_note_moy_app = $tab_modele_pdf["X_note_app"][$classe_id];
2353
			$Y_note_moy_app = $tab_modele_pdf["Y_note_app"][$classe_id]+$tab_modele_pdf["hauteur_note_app"][$classe_id]-$hauteur_entete;
2354

    
2355
			if($tab_modele_pdf["active_entete_regroupement"][$classe_id]==='1') {
2356
				$espace_entre_matier = ($hauteur_bloc_matiere-($nb_categories_select*5))/$nb_matiere;
2357
			}
2358
			else {
2359
				$espace_entre_matier = $hauteur_bloc_matiere/$nb_matiere;
2360
			}
2361

    
2362
			fich_debug_bull("\$hauteur_bloc_matiere=$hauteur_bloc_matiere\n");
2363
			fich_debug_bull("\$nb_matiere=$nb_matiere\n");
2364
			fich_debug_bull("\$espace_entre_matier=$espace_entre_matier\n");
2365

    
2366
			/*
2367
			//++++++++++++++++
2368
			// Pour debug:
2369
			$pdf->SetXY(100, 30);
2370
			$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
2371
			$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], 8, "espace_entre_matier=$espace_entre_matier",1,0,'C');
2372
			//++++++++++++++++
2373
			*/
2374

    
2375
			$pdf->SetXY($X_bloc_matiere, $Y_bloc_matiere);
2376
			$Y_decal = $Y_bloc_matiere;
2377

    
2378
			fich_debug_bull("\$Y_decal=$Y_decal\n");
2379

    
2380

    
2381
			//======================================================
2382
			// DEBUT DES AID AFFICH?S AVANT LES MATIERES
2383
			if(isset($tab_bull['eleve'][$i]['aid_b'])) {
2384
				//echo "count(\$tab_bull['eleve'][$i]['aid_b']=".count($tab_bull['eleve'][$i]['aid_b'])."<br />";
2385
				for($m=0;$m<count($tab_bull['eleve'][$i]['aid_b']);$m++) {
2386
					$pdf->SetXY($X_bloc_matiere, $Y_decal);
2387

    
2388
					// Si c'est une mati?re suivie par l'?l?ve
2389
					//if(isset($tab_bull['eleve'][$i]['note'][$m][$i])) {
2390

    
2391
						// calcul la taille du titre de la mati?re
2392
						$hauteur_caractere_matiere=10;
2393
						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' )
2394
						{
2395
							$hauteur_caractere_matiere = $tab_modele_pdf["taille_texte_matiere"][$classe_id];
2396
						}
2397
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',$hauteur_caractere_matiere);
2398

    
2399
						// Pour parer au bug sur la suppression de mati?re alors que des groupes sont conserv?s:
2400
						if(isset($tab_bull['eleve'][$i]['aid_b'][$m]['nom_complet'])) {
2401
							$info_nom_matiere=$tab_bull['eleve'][$i]['aid_b'][$m]['nom_complet'];
2402
						}
2403
						else {
2404
							$info_nom_matiere=$tab_bull['eleve'][$i]['aid_b'][$m]['nom'];
2405
						}
2406

    
2407
						$val = $pdf->GetStringWidth($info_nom_matiere);
2408
						$taille_texte = $tab_modele_pdf["largeur_matiere"][$classe_id] - 2;
2409
						$grandeur_texte='test';
2410
						while($grandeur_texte!='ok') {
2411
							if($taille_texte<$val)
2412
							{
2413
								$hauteur_caractere_matiere = $hauteur_caractere_matiere-0.3;
2414
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',$hauteur_caractere_matiere);
2415
								$val = $pdf->GetStringWidth($info_nom_matiere);
2416
							}
2417
							else {
2418
								$grandeur_texte='ok';
2419
							}
2420
						}
2421
						$grandeur_texte='test';
2422
						$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_entre_matier/2, traite_accents_utf8($info_nom_matiere),'LR',1,'L');
2423
						$Y_decal = $Y_decal+($espace_entre_matier/2);
2424
						$pdf->SetXY($X_bloc_matiere, $Y_decal);
2425
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
2426

    
2427
						fich_debug_bull("\$info_nom_matiere=$info_nom_matiere\n");
2428
						fich_debug_bull("\$Y_decal=$Y_decal\n");
2429

    
2430
						// nom des professeurs
2431

    
2432
						if ( isset($tab_bull['eleve'][$i]['aid_b'][$m]['aid_prof_resp_login'][0]) )
2433
						{
2434

    
2435
							$nb_prof_matiere = count($tab_bull['eleve'][$i]['aid_b'][$m]['aid_prof_resp_login']);
2436
							$espace_matiere_prof = $espace_entre_matier/2;
2437
							if($nb_prof_matiere>0){
2438
								$espace_matiere_prof = $espace_matiere_prof/$nb_prof_matiere;
2439
							}
2440
							$nb_pass_count = '0';
2441
							$text_prof = '';
2442
							while ($nb_prof_matiere > $nb_pass_count)
2443
							{
2444
								$tmp_login_prof=$tab_bull['eleve'][$i]['aid_b'][$m]['aid_prof_resp_login'][$nb_pass_count];
2445
								$text_prof=affiche_utilisateur($tmp_login_prof,$tab_bull['eleve'][$i]['id_classe']);
2446

    
2447
								if ( $nb_prof_matiere <= 2 ) { $hauteur_caractere_prof = 8; }
2448
								elseif ( $nb_prof_matiere == 3) { $hauteur_caractere_prof = 5; }
2449
								elseif ( $nb_prof_matiere > 3) { $hauteur_caractere_prof = 2; }
2450
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_prof);
2451
								$val = $pdf->GetStringWidth($text_prof);
2452
								$taille_texte = ($tab_modele_pdf["largeur_matiere"][$classe_id]);
2453
								$grandeur_texte='test';
2454
								while($grandeur_texte!='ok') {
2455
									if($taille_texte<$val)
2456
									{
2457
										$hauteur_caractere_prof = $hauteur_caractere_prof-0.3;
2458
										$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_prof);
2459
										$val = $pdf->GetStringWidth($text_prof);
2460
									}
2461
									else {
2462
										$grandeur_texte='ok';
2463
									}
2464
								}
2465
								$grandeur_texte='test';
2466
								$pdf->SetX($X_bloc_matiere);
2467
								if( empty($tab_bull['eleve'][$i]['aid_b'][$m]['aid_prof_resp_login'][$nb_pass_count+1]) ) {
2468
									$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_matiere_prof, traite_accents_utf8($text_prof),'LRB',1,'L');
2469
								}
2470
								if( !empty($tab_bull['eleve'][$i]['aid_b'][$m]['aid_prof_resp_login'][$nb_pass_count+1]) ) {
2471
									$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_matiere_prof, traite_accents_utf8($text_prof),'LR',1,'L');
2472
								}
2473
								$nb_pass_count = $nb_pass_count + 1;
2474
							}
2475
						}
2476
						$largeur_utilise = $tab_modele_pdf["largeur_matiere"][$classe_id];
2477

    
2478
						// coefficient mati?re
2479
						if($tab_modele_pdf["active_coef_moyenne"][$classe_id]==='1') {
2480
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
2481
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
2482
							//$pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $espace_entre_matier, $tab_bull['eleve'][$i]['coef_eleve'][$i][$m],1,0,'C');
2483
							$pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $espace_entre_matier, '',1,0,'C');
2484
							$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
2485
						}
2486

    
2487
						//permet le calcul total des coefficients
2488
						// if(empty($moyenne_min[$id_classe][$id_periode])) {
2489
							//$total_coef_en_calcul=$total_coef_en_calcul+$tab_bull['eleve'][$i]['coef_eleve'][$i][$m];
2490
						//}
2491

    
2492
						// nombre de note
2493
						// 20081118
2494
						//if($tab_modele_pdf["active_nombre_note_case"][$classe_id]==='1') {
2495
						if(($tab_modele_pdf["active_nombre_note_case"][$classe_id]==='1')&&($tab_modele_pdf["active_nombre_note"][$classe_id]!='1')) {
2496
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
2497
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
2498
							//$valeur = $tab_bull['eleve'][$i]['nbct'][$m][$i] . "/" . $tab_bull['eleve'][$i]['groupe'][$m]['nbct'];
2499
							$valeur = '';
2500
							$pdf->Cell($tab_modele_pdf["largeur_nombre_note"][$classe_id], $espace_entre_matier, $valeur,1,0,'C');
2501
							$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_nombre_note"][$classe_id];
2502
						}
2503

    
2504
						// les moyennes eleve, classe, min, max
2505
						$cpt_ordre = 0;
2506
						while (!empty($ordre_moyenne[$cpt_ordre]) ) {
2507
							//eleve
2508
							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' ) {
2509
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
2510
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',10);
2511
								$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]);
2512

    
2513
								// calcul nombre de sous affichage
2514

    
2515
								$nb_sousaffichage='1';
2516
								//20090908 if(empty($active_coef_sousmoyene)) { $active_coef_sousmoyene = ''; }
2517

    
2518
								//if($active_coef_sousmoyene==='1') { $nb_sousaffichage = $nb_sousaffichage + 1; }
2519
								if($tab_modele_pdf["active_coef_sousmoyene"][$classe_id]==='1') { $nb_sousaffichage = $nb_sousaffichage + 1; }
2520
								if($tab_modele_pdf["active_nombre_note"][$classe_id]==='1') { $nb_sousaffichage = $nb_sousaffichage + 1; }
2521
								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; } }
2522
								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; } }
2523
								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; } }
2524

    
2525
								// On filtre si la moyenne est vide, on affiche seulement un tiret
2526
								if ($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note']=="-") {
2527
									$valeur = "-";
2528
								}
2529
								elseif ($tab_bull['eleve'][$i]['aid_b'][$m]['aid_statut']!="") {
2530
									if($tab_bull['eleve'][$i]['aid_b'][$m]['aid_statut']=="other") {
2531
										$valeur = "-";
2532
									}
2533
									else {
2534
										$valeur=$tab_bull['eleve'][$i]['aid_b'][$m]['aid_statut'];
2535
									}
2536
								}
2537
								else {
2538
									$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]);
2539
								}
2540
								$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]);
2541
								$valeur = "";
2542

    
2543
								if($tab_modele_pdf["active_coef_sousmoyene"][$classe_id]==='1') {
2544
									$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'I',7);
2545
									//$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]);
2546
									$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]);
2547
								}
2548

    
2549
								if($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id]==='1') {
2550
									// On affiche toutes les moyennes dans la m?me colonne
2551
									$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'I',7);
2552
									if($tab_modele_pdf["active_moyenne_classe"][$classe_id]==='1') {
2553
										//if ($tab_bull['eleve'][$i]['moy_classe_grp'][$m]=="-") {
2554
										if (($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_moyenne']=="-")||($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_moyenne']=="")) {
2555
											$valeur = "-";
2556
										}
2557
										else {
2558
											$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]);
2559
										}
2560
										$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]);
2561
									}
2562
									if($tab_modele_pdf["active_moyenne_min"][$classe_id]==='1') {
2563
										//if ($tab_bull['eleve'][$i]['moy_min_classe_grp'][$m]=="-") {
2564
										if (($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_min']=="-")||($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_min']=="")) {
2565
											$valeur = "-";
2566
										} else {
2567
											$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]);
2568
										}
2569
										$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]);
2570
									}
2571
									if($tab_modele_pdf["active_moyenne_max"][$classe_id]==='1') {
2572
										//if ($tab_bull['eleve'][$i]['moy_max_classe_grp'][$m]=="-") {
2573
										if (($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_max']=="-")||($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_max']=="")) {
2574
											$valeur = "-";
2575
										} else {
2576
											$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]);
2577
										}
2578
										$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]);
2579
										$valeur = ''; // on remet ? vide.
2580
									}
2581
								}
2582

    
2583
								if($tab_modele_pdf["active_nombre_note"][$classe_id]==='1') {
2584
									$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'I',7);
2585
									$espace_pour_nb_note = $espace_entre_matier/$nb_sousaffichage;
2586
									$espace_pour_nb_note = $espace_pour_nb_note / 2;
2587
									$valeur1 = ''; $valeur2 = '';
2588
									/*
2589
									if ($tab_bull['eleve'][$i]['nbct'][$m][$i]!= 0 ) {
2590
										$valeur1 = $tab_bull['eleve'][$i]['nbct'][$m][$i].' note';
2591
										if($tab_bull['eleve'][$i]['nbct'][$m][$i]>1){$valeur1.='s';}
2592
										$valeur2 = 'sur '.$tab_bull['eleve'][$i]['groupe'][$m]['nbct'];
2593
									}
2594
									*/
2595
									$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]);
2596
									$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]);
2597
									$valeur1 = ''; $valeur2 = '';
2598
								}
2599
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
2600
								$pdf->SetFillColor(0, 0, 0);
2601
								$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
2602

    
2603
							} // Fin affichage ?l?ve
2604

    
2605
							//classe
2606
							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' ) {
2607
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
2608
								//if ($tab_bull['eleve'][$i]['moy_classe_grp'][$m]=="-") {
2609
								if (($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_moyenne']=="-")||($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_moyenne']=="")) {
2610
									$valeur = "-";
2611
								} else {
2612
									$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]);
2613
								}
2614
								$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier, $valeur,'TLRB',0,'C');
2615
								$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
2616
							}
2617
							//min
2618
							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' ) {
2619
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
2620
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
2621
								//if ($tab_bull['eleve'][$i]['moy_min_classe_grp'][$m]=="-") {
2622
								if (($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_min']=="-")||($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_min']=="")) {
2623
									$valeur = "-";
2624
								} else {
2625
									$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]);
2626
								}
2627
								$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier, $valeur,'TLRB',0,'C');
2628
								$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
2629
							}
2630
							//max
2631
							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' ) {
2632
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
2633
								//if ($tab_bull['eleve'][$i]['moy_max_classe_grp'][$m]== "-") {
2634
								if (($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_max']=="-")||($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note_max']=="")) {
2635
									$valeur = "-";
2636
								} else {
2637
									$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]);
2638
								}
2639
								$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier, $valeur,'TLRB',0,'C');
2640
								$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
2641
							}
2642
							//$largeur_utilise = $largeur_utilise+$largeur_moyenne;
2643

    
2644

    
2645
							// rang de l'?l?ve
2646
							if($tab_modele_pdf["active_rang"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'rang' ) {
2647
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
2648
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
2649
								// A REVOIR: J'AI l'EFFECTIF DU GROUPE, mais faut-il compter les ?l?ves ABS, DISP,...?
2650
								//if((isset($tab_bull['eleve'][$i]['rang'][$i][$m]))&&(isset($tab_bull['eleve'][$i]['groupe'][$m]['effectif']))) {
2651
									//$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');
2652

    
2653
								//if((isset($tab_bull['eleve'][$i]['rang'][$m][$i]))&&(isset($tab_bull['eleve'][$i]['groupe'][$m]['effectif']))) {
2654
								//	$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');
2655
								//}
2656
								//else {
2657
									$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $espace_entre_matier, '',1,0,'C');
2658
								//}
2659
								$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_rang"][$classe_id];
2660
							}
2661

    
2662
							// graphique de niveau
2663
							if($tab_modele_pdf["active_graphique_niveau"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'niveau' ) {
2664
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
2665
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
2666
								//$id_groupe_graph = $tab_bull['eleve'][$i]['groupe'][$m]['id'];
2667
								// placement de l'?l?ve dans le graphique de niveau
2668

    
2669
								// AJOUT: La variable n'?tait pas initialis?e dans le bulletin_pdf_avec_modele...
2670
								$place_eleve='';
2671

    
2672
								if ($tab_bull['eleve'][$i]['aid_b'][$m]['aid_note']!="") {
2673
									/*
2674
									if ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<5) { $place_eleve=5;}
2675
									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;}
2676
									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;}
2677
									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;}
2678
									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;}
2679
									if ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=15) { $place_eleve=0;}
2680
									*/
2681
									if(isset($tab_bull['eleve'][$i]['aid_b'][$m]['place_eleve'])) {
2682
										//$place_eleve=$tab_bull['eleve'][$i]['aid_b'][$m]['place_eleve'];
2683
										$place_eleve=$tab_bull['eleve'][$i]['aid_b'][$m]['place_eleve']-1;
2684
									}
2685
								}
2686
								$data_grap=array();
2687
								if(isset($tab_bull['eleve'][$i]['aid_b'][$m]['quartile1_classe'])) {$data_grap[0]=$tab_bull['eleve'][$i]['aid_b'][$m]['quartile1_classe'];}
2688
								if(isset($tab_bull['eleve'][$i]['aid_b'][$m]['quartile2_classe'])) {$data_grap[1]=$tab_bull['eleve'][$i]['aid_b'][$m]['quartile2_classe'];}
2689
								if(isset($tab_bull['eleve'][$i]['aid_b'][$m]['quartile3_classe'])) {$data_grap[2]=$tab_bull['eleve'][$i]['aid_b'][$m]['quartile3_classe'];}
2690
								if(isset($tab_bull['eleve'][$i]['aid_b'][$m]['quartile4_classe'])) {$data_grap[3]=$tab_bull['eleve'][$i]['aid_b'][$m]['quartile4_classe'];}
2691
								if(isset($tab_bull['eleve'][$i]['aid_b'][$m]['quartile5_classe'])) {$data_grap[4]=$tab_bull['eleve'][$i]['aid_b'][$m]['quartile5_classe'];}
2692
								if(isset($tab_bull['eleve'][$i]['aid_b'][$m]['quartile6_classe'])) {$data_grap[5]=$tab_bull['eleve'][$i]['aid_b'][$m]['quartile6_classe'];}
2693
								//if (array_sum($data_grap[$id_periode][$id_groupe_graph]) != 0) {
2694
								if (array_sum($data_grap) != 0) {
2695
									//$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);
2696
									$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);
2697
								}
2698
								$place_eleve=''; // on vide la variable
2699
								$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_niveau"][$classe_id];
2700
							}
2701

    
2702
							//appr?ciation
2703
							if($tab_modele_pdf["active_appreciation"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'appreciation' ) {
2704
								// si on autorise l'affichage des sous mati?re et s'il y en a alors on les affiche
2705
								//$id_groupe_select = $tab_bull['eleve'][$i]['groupe'][$m]['id'];
2706
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
2707
								$X_sous_matiere = 0;
2708
								$largeur_sous_matiere=0;
2709

    
2710
								/*
2711
								if($tab_modele_pdf["autorise_sous_matiere"][$classe_id]==='1' and !empty($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom'])) {
2712
									$X_sous_matiere = $X_note_moy_app+$largeur_utilise;
2713
									$Y_sous_matiere = $Y_decal-($espace_entre_matier/2);
2714
									$n=0;
2715
									$largeur_texte_sousmatiere=0; $largeur_sous_matiere=0;
2716
									while( !empty($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom'][$n]) )
2717
									{
2718
										$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
2719
										$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]);
2720
										if($largeur_sous_matiere<$largeur_texte_sousmatiere) { $largeur_sous_matiere=$largeur_texte_sousmatiere; }
2721
										$n = $n + 1;
2722
									}
2723
									if($largeur_sous_matiere!='0') { $largeur_sous_matiere = $largeur_sous_matiere + 2; }
2724
									$n=0;
2725
									while( !empty($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom'][$n]) )
2726
									{
2727
										$pdf->SetXY($X_sous_matiere, $Y_sous_matiere);
2728
										$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
2729
										$pdf->Cell($largeur_sous_matiere, $espace_entre_matier/count($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom']), traite_accents_utf8($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom'][$n].': '.$tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_note'][$n]),1,0,'L');
2730
										$Y_sous_matiere = $Y_sous_matiere+$espace_entre_matier/count($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom']);
2731
										$n = $n + 1;
2732
									}
2733
									$largeur_utilise = $largeur_utilise+$largeur_sous_matiere;
2734
								}
2735
								*/
2736
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
2737
								// calcul de la taille du texte des appr?ciation
2738
								$hauteur_caractere_appreciation = 9;
2739
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_appreciation);
2740

    
2741
								//suppression des espace en d?but et en fin
2742
								//$app_aff = trim($tab_bull['eleve'][$i]['aid_b'][$m]['aid_appreciation']);
2743
								$app_aff="";
2744
								if($tab_bull['eleve'][$i]['aid_b'][$m]['message']!='') {
2745
									$app_aff.=$tab_bull['eleve'][$i]['aid_b'][$m]['message'];
2746
								}
2747
								//if($app_aff!='') {$app_aff.=" ";}
2748
								if(($tab_bull['eleve'][$i]['aid_b'][$m]['display_nom']=='y')&&($tab_bull['eleve'][$i]['aid_b'][$m]['aid_nom']!='')) {
2749
									if($app_aff!='') {$app_aff.=" ";}
2750
									$app_aff.=$tab_bull['eleve'][$i]['aid_b'][$m]['aid_nom'];
2751
								}
2752
								if($app_aff!='') {$app_aff.="\n";}
2753
								$app_aff.=trim($tab_bull['eleve'][$i]['aid_b'][$m]['aid_appreciation']);
2754

    
2755
								fich_debug_bull("__________________________________________\n");
2756
								fich_debug_bull("$app_aff\n");
2757
								fich_debug_bull("__________________________________________\n");
2758

    
2759
								// DEBUT AJUSTEMENT TAILLE APPRECIATION
2760
								$taille_texte_total = $pdf->GetStringWidth($app_aff);
2761
								$largeur_appreciation2 = $largeur_appreciation - $largeur_sous_matiere;
2762

    
2763
								if($use_cell_ajustee=="n") {
2764
									//$taille_texte = (($espace_entre_matier/3)*$largeur_appreciation2);
2765
									$nb_ligne_app = '2.8';
2766
									//$nb_ligne_app = '3.8';
2767
									//$nb_ligne_app = '4.8';
2768
									$taille_texte_max = $nb_ligne_app * ($largeur_appreciation2-4);
2769
									//$taille_texte_max = $nb_ligne_app * ($largeur_appreciation2);
2770
									$grandeur_texte='test';
2771
	
2772
									fich_debug_bull("\$taille_texte_total=$taille_texte_total\n");
2773
									fich_debug_bull("\$largeur_appreciation2=$largeur_appreciation2\n");
2774
									fich_debug_bull("\$nb_ligne_app=$nb_ligne_app\n");
2775
									//fich_debug_bull("\$taille_texte_max = \$nb_ligne_app * (\$largeur_appreciation2-4)=$nb_ligne_app * ($largeur_appreciation2-4)=$taille_texte_max\n");
2776
									fich_debug_bull("\$taille_texte_max = \$nb_ligne_app * (\$largeur_appreciation2)=$nb_ligne_app * ($largeur_appreciation2)=$taille_texte_max\n");
2777
	
2778
									while($grandeur_texte!='ok') {
2779
										if($taille_texte_max < $taille_texte_total)
2780
										{
2781
											$hauteur_caractere_appreciation = $hauteur_caractere_appreciation-0.3;
2782
											//$hauteur_caractere_appreciation = $hauteur_caractere_appreciation-0.1;
2783
											$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_appreciation);
2784
											$taille_texte_total = $pdf->GetStringWidth($app_aff);
2785
										}
2786
										else {
2787
											$grandeur_texte='ok';
2788
										}
2789
									}
2790
									$grandeur_texte='test';
2791
									$pdf->drawTextBox(traite_accents_utf8($app_aff), $largeur_appreciation2, $espace_entre_matier, 'J', 'M', 1);
2792
								}
2793
								else {
2794
									//$texte="Bla bla\nbli ".$app_aff;
2795
									$texte=$app_aff;
2796
									$taille_max_police=$hauteur_caractere_appreciation;
2797
									$taille_min_police=ceil($taille_max_police/3);
2798

    
2799
									$largeur_dispo=$largeur_appreciation2;
2800
									$h_cell=$espace_entre_matier;
2801

    
2802
									if(getSettingValue('suppr_balises_app_prof')=='y') {$texte=preg_replace('/<(.*)>/U','',$texte);}
2803
									cell_ajustee(traite_accents_utf8($texte),$pdf->GetX(),$pdf->GetY(),$largeur_dispo,$h_cell,$taille_max_police,$taille_min_police,'LRBT');
2804
								}
2805

    
2806
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
2807
								$largeur_utilise = $largeur_utilise + $largeur_appreciation2;
2808
								//$largeur_utilise = 0;
2809
							}
2810

    
2811
							$cpt_ordre = $cpt_ordre + 1;
2812
						}
2813
						$largeur_utilise = 0;
2814
						// fin de boucle d'ordre
2815
						$Y_decal = $Y_decal+($espace_entre_matier/2);
2816
					//}
2817
				}
2818
			}
2819
			// FIN DES AID AFFICH?S AVANT LES MATIERES
2820
			//======================================================
2821

    
2822

    
2823
			// Compteur du nombre de mati?res dans la cat?gorie
2824
			$categorie_passe_count=0;
2825

    
2826
			//for($m=0; $m<$nb_matiere; $m++)
2827
			for($m=0; $m<count($tab_bull['groupe']); $m++)
2828
			{
2829
				$pdf->SetXY($X_bloc_matiere, $Y_decal);
2830

    
2831
				fich_debug_bull("\n");
2832
				fich_debug_bull("Cat?gorie pr?c?dente: \$categorie_passe=$categorie_passe\n");
2833
				//fich_debug_bull("Cat?gorie courante :  \$tab_bull['nom_cat_complet'][$m]=".$tab_bull['nom_cat_complet'][$m]."\n");
2834
				if(isset($tab_bull['nom_cat_complet'][$m])) {
2835
                  fich_debug_bull("Cat?gorie courante :  \$tab_bull['nom_cat_complet'][$m]=".$tab_bull['nom_cat_complet'][$m]."\n");
2836
                }
2837
                else {
2838
                  fich_debug_bull("Cat?gorie courante :  \$tab_bull['nom_cat_complet'][$m] non affect?e.\n");
2839
                }
2840
				fich_debug_bull("\$tab_bull['groupe'][$m]['matiere']['matiere']=".$tab_bull['groupe'][$m]['matiere']['matiere']."\n");
2841
				fich_debug_bull("\$X_bloc_matiere=$X_bloc_matiere\n");
2842
				fich_debug_bull("\$Y_decal=$Y_decal\n");
2843

    
2844
				// si on affiche les cat?gories
2845
				if($tab_modele_pdf["active_entete_regroupement"][$classe_id]==='1') {
2846
					//si on affiche les moyennes des cat?gories
2847
					//if($matiere[$ident_eleve_aff][$id_periode][$m]['categorie']!=$categorie_passe)
2848
					//if($tab_bull['cat_id'][$m]!=$categorie_passe)
2849
					if($tab_bull['nom_cat_complet'][$m]!=$categorie_passe)
2850
					{
2851
						$hauteur_caractere_catego = '10';
2852
						if ( $tab_modele_pdf["taille_texte_categorie"][$classe_id] != '' and $tab_modele_pdf["taille_texte_categorie"][$classe_id] != '0' ) {
2853
							$hauteur_caractere_catego = $tab_modele_pdf["taille_texte_categorie"][$classe_id];
2854
						}
2855
						else {
2856
							$hauteur_caractere_catego = '10';
2857
						}
2858
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_catego);
2859
						$tt_catego = unhtmlentities($tab_bull['nom_cat_complet'][$m]);
2860
						$val = $pdf->GetStringWidth($tt_catego);
2861
						$taille_texte = ($tab_modele_pdf["largeur_matiere"][$classe_id]);
2862
						$grandeur_texte='test';
2863
						while($grandeur_texte!='ok') {
2864
							if($taille_texte<$val)
2865
							{
2866
								$hauteur_caractere_catego = $hauteur_caractere_catego-0.3;
2867
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_catego);
2868
								$val = $pdf->GetStringWidth($tt_catego);
2869
							}
2870
							else {
2871
								$grandeur_texte='ok';
2872
							}
2873
						}
2874
						$grandeur_texte='test';
2875
						$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]);
2876

    
2877
						fich_debug_bull("On ?crit $tt_catego ? \$Y_decal=$Y_decal\n");
2878

    
2879
						$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], traite_accents_utf8(unhtmlentities($tt_catego)),'TLB',0,'L',$tab_modele_pdf["couleur_categorie_entete"][$classe_id]);
2880
						$largeur_utilise = $tab_modele_pdf["largeur_matiere"][$classe_id];
2881

    
2882
						// coefficient mati?re
2883
						if($tab_modele_pdf["active_coef_moyenne"][$classe_id]==='1') {
2884
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal);
2885
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
2886
							$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]);
2887
							$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
2888
						}
2889

    
2890
						// nombre de note
2891
						// 20081118
2892
						//if($tab_modele_pdf["active_nombre_note_case"][$classe_id]==='1') {
2893
						if(($tab_modele_pdf["active_nombre_note_case"][$classe_id]==='1')&&($tab_modele_pdf["active_nombre_note"][$classe_id]!='1')) {
2894
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal);
2895
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
2896
							$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]);
2897
							$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_nombre_note"][$classe_id];
2898
						}
2899
						$pdf->SetFillColor(0, 0, 0);
2900

    
2901
						// les moyennes eleve, classe, min, max par cat?gorie
2902
						$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal);
2903

    
2904
						$cpt_ordre = 0;
2905
						$chapeau_moyenne = 'non';
2906
						while ( !empty($ordre_moyenne[$cpt_ordre]) ) {
2907
							// Moyenne de l'?l?ve dans la cat?gorie
2908
							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' ) {
2909
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal);
2910
								if($tab_modele_pdf["active_moyenne_regroupement"][$classe_id]==='1') {
2911
									//$categorie_passage=$matiere[$ident_eleve_aff][$id_periode][$m]['categorie'];
2912
									$categorie_passage=$tab_bull['nom_cat_complet'][$m];
2913
									//if($matiere[$ident_eleve_aff][$id_periode][$m]['affiche_moyenne']==='1')
2914
									if(isset($tab_bull['moy_cat_eleve'][$i][$tab_bull['cat_id'][$m]]))
2915
									{
2916
										// On va afficher la moyenne de l'?l?ve pour la cat?gorie
2917
										if (($tab_bull['moy_cat_eleve'][$i][$tab_bull['cat_id'][$m]]=="")||($tab_bull['moy_cat_eleve'][$i][$tab_bull['cat_id'][$m]]=="-")) {
2918
											$valeur = "-";
2919
										} else {
2920
											//$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'];
2921
											$valeur = present_nombre(my_ereg_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]);
2922
											//$valeur =$tab_bull['moy_cat_eleve'][$i][$tab_bull['cat_id'][$m]];
2923
										}
2924
										$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',8);
2925
										$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]);
2926
										$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]);
2927
										$pdf->SetFillColor(0, 0, 0);
2928
										$valeur = "";
2929
									} else {
2930
										$pdf->SetFillColor(255, 255, 255);
2931
										$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]);
2932
									}
2933
								} else {
2934
									$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '','T',0,'C');
2935
								}
2936

    
2937
								$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
2938
							}
2939

    
2940
							// Moyenne de la classe dans la cat?gorie
2941
							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' ) {
2942
								$pdf->SetXY($X_moyenne_classe, $Y_decal);
2943
								if($tab_modele_pdf["active_moyenne_regroupement"][$classe_id]==='1') {
2944
									//$categorie_passage=$matiere[$ident_eleve_aff][$id_periode][$m]['categorie'];
2945
									$categorie_passage=$tab_bull['nom_cat_complet'][$m];
2946
									//if($matiere[$ident_eleve_aff][$id_periode][$m]['affiche_moyenne']==='1')
2947
									if(isset($tab_bull['moy_cat_classe'][$i][$tab_bull['cat_id'][$m]]))
2948
									{
2949
										// On va afficher la moyenne de la classe pour la cat?gorie
2950
										/*
2951
										if($matiere[$ident_eleve_aff][$id_periode][$categorie_passage]['coef_tt_catego']!=0){
2952
											$calcule_moyenne_classe_categorie[$categorie_passage]=$matiere[$ident_eleve_aff][$id_periode][$categorie_passage]['moy_classe']/$matiere[$ident_eleve_aff][$id_periode][$categorie_passage]['coef_tt_catego'];
2953
										}
2954
										else{
2955
											$calcule_moyenne_classe_categorie[$categorie_passage]="";
2956
										}
2957
										$calcule_moyenne_classe_categorie[$categorie_passage]=$calcule_moyenne_classe_categorie[$categorie_passage];
2958
										*/
2959
										//================================================
2960
										$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
2961
										//$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], 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]),'TLR',0,'C');
2962
										//$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], $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],'TLR',0,'C');
2963

    
2964
										// Patch mal foutu parce que present_nombre() attend un nombre au format 16.5 et que la moyenne de cat?gorie est d?j? format?e avec virgule 16,5... du coup on perdait la partie d?cimale.
2965
										//$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], present_nombre(my_ereg_replace(",",".",$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]),'TLR',0,'C');
2966

    
2967
										if (($tab_bull['moy_cat_classe'][$i][$tab_bull['cat_id'][$m]]=="")||($tab_bull['moy_cat_classe'][$i][$tab_bull['cat_id'][$m]]=="-")) {
2968
											$valeur = "-";
2969
										} else {
2970
											$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], 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]),'TLR',0,'C');
2971
										}
2972
									} else {
2973
										$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '','T',0,'C');
2974
									}
2975
								} else {
2976
									$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '','T',0,'C');
2977
								}
2978
								$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
2979
							}
2980

    
2981
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
2982
							// Moyenne minimale de la classe dans la cat?gorie
2983
							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' ) {
2984
								$pdf->SetXY($X_min_classe, $Y_decal);
2985
								if($tab_modele_pdf["active_moyenne_regroupement"][$classe_id]==='1') {
2986
									$categorie_passage=$tab_bull['nom_cat_complet'][$m];
2987

    
2988
									//if($matiere[$ident_eleve_aff][$id_periode][$m]['affiche_moyenne']==='1')
2989
									if(isset($tab_bull['moy_cat_min'][$i][$tab_bull['cat_id'][$m]]))
2990
									{
2991
										// On va afficher la moyenne min de la classe pour la cat?gorie
2992
										/*
2993
										// JE NE L'AI PAS EXTRAITE...
2994
										if($matiere[$ident_eleve_aff][$id_periode][$categorie_passage]['coef_tt_catego']!=0){
2995
											$calcule_moyenne_classe_categorie[$categorie_passage]=$matiere[$ident_eleve_aff][$id_periode][$categorie_passage]['moy_cat_min']/$matiere[$ident_eleve_aff][$id_periode][$categorie_passage]['coef_tt_catego'];
2996
										}
2997
										else{
2998
											$calcule_moyenne_classe_categorie[$categorie_passage]="";
2999
										}
3000
										//================================================
3001

    
3002
										$calcule_moyenne_classe_categorie[$categorie_passage]=$calcule_moyenne_classe_categorie[$categorie_passage];
3003
										*/
3004

    
3005
										//$calcule_moyenne_classe_categorie[$categorie_passage]=my_ereg_replace(",",".",$tab_bull['moy_cat_min'][$i][$tab_bull['cat_id'][$m]]);
3006

    
3007
										$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
3008
										if (($tab_bull['moy_cat_min'][$i][$tab_bull['cat_id'][$m]]=="")||($tab_bull['moy_cat_min'][$i][$tab_bull['cat_id'][$m]]=="-")) {
3009
											$valeur = "-";
3010
										} else {
3011
											$calcule_moyenne_classe_categorie[$categorie_passage]=my_ereg_replace(",",".",$tab_bull['moy_cat_min'][$i][$tab_bull['cat_id'][$m]]);
3012

    
3013
											$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], 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]),'TLR',0,'C');
3014
										}
3015
									} else {
3016
										$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '','T',0,'C');
3017
									}
3018
								} else {
3019
									$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '','T',0,'C');
3020
								}
3021
								$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
3022
							}
3023

    
3024
							// Moyenne maximale de la classe dans la cat?gorie
3025
							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' ) {
3026
								$pdf->SetXY($X_max_classe, $Y_decal);
3027

    
3028
								if($tab_modele_pdf["active_moyenne_regroupement"][$classe_id]==='1') {
3029
									$categorie_passage=$tab_bull['nom_cat_complet'][$m];
3030

    
3031
									//if($matiere[$ident_eleve_aff][$id_periode][$m]['affiche_moyenne']==='1')
3032
									if(isset($tab_bull['moy_cat_max'][$i][$tab_bull['cat_id'][$m]]))
3033
									{
3034
										// On va afficher la moyenne max de la classe pour la cat?gorie
3035
										/*
3036
										if($matiere[$ident_eleve_aff][$id_periode][$categorie_passage]['coef_tt_catego']){
3037
											$calcule_moyenne_classe_categorie[$categorie_passage]=$matiere[$ident_eleve_aff][$id_periode][$categorie_passage]['moy_max']/$matiere[$ident_eleve_aff][$id_periode][$categorie_passage]['coef_tt_catego'];
3038
										}
3039
										else{
3040
											$calcule_moyenne_classe_categorie[$categorie_passage]="";
3041
										}
3042
										//================================================
3043

    
3044
										$calcule_moyenne_classe_categorie[$categorie_passage]=$calcule_moyenne_classe_categorie[$categorie_passage];
3045
										*/
3046

    
3047
										//$calcule_moyenne_classe_categorie[$categorie_passage]=my_ereg_replace(",",".",$tab_bull['moy_cat_max'][$i][$tab_bull['cat_id'][$m]]);
3048

    
3049
										//$pdf->SetFont($caractere_utilse[$classe_id],'',8);
3050
										$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
3051
										//$pdf->Cell($largeur_d_une_moyenne[$classe_id], $hauteur_info_categorie[$classe_id], present_nombre($calcule_moyenne_classe_categorie[$categorie_passage], $arrondie_choix[$classe_id], $nb_chiffre_virgule[$classe_id], $chiffre_avec_zero[$classe_id]),'TLR',0,'C');
3052
										if (($tab_bull['moy_cat_max'][$i][$tab_bull['cat_id'][$m]]=="")||($tab_bull['moy_cat_max'][$i][$tab_bull['cat_id'][$m]]=="-")) {
3053
											$valeur = "-";
3054
										} else {
3055
											$calcule_moyenne_classe_categorie[$categorie_passage]=my_ereg_replace(",",".",$tab_bull['moy_cat_max'][$i][$tab_bull['cat_id'][$m]]);
3056

    
3057
											$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], 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]),'TLR',0,'C');
3058
										}
3059
									} else {
3060

    
3061
										$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '','T',0,'C');
3062
									}
3063
								} else {
3064
									$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '','T',0,'C');
3065
								}
3066
								$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
3067
							}
3068
							$cpt_ordre = $cpt_ordre + 1;
3069
						}
3070
						$largeur_utilise = 0;
3071
						// fin de boucle d'ordre
3072

    
3073
						// Rang de l'?l?ve
3074
						if($tab_modele_pdf["active_rang"][$classe_id]==='1') {
3075
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal);
3076
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
3077
							$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '','T',0,'C');
3078
							$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_rang"][$classe_id];
3079
						}
3080
						// Graphique de niveau
3081
						if($tab_modele_pdf["active_graphique_niveau"][$classe_id]==='1') {
3082
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal);
3083
							$pdf->Cell($tab_modele_pdf["largeur_niveau"][$classe_id], $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '','T',0,'C');
3084
							$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_niveau"][$classe_id];
3085
						}
3086
						// Appreciation
3087
						if($tab_modele_pdf["active_appreciation"][$classe_id]==='1') {
3088
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal);
3089
							$pdf->Cell($largeur_appreciation, $tab_modele_pdf["hauteur_info_categorie"][$classe_id], '','TB',0,'C');
3090
							$largeur_utilise=0;
3091
						}
3092
						$Y_decal = $Y_decal + 5;
3093

    
3094
					}
3095
				}
3096

    
3097
				fich_debug_bull("Apr?s les cat?gories\n");
3098
				fich_debug_bull("\$Y_decal=$Y_decal\n");
3099

    
3100
				//============================
3101
				// Modif: boireaus 20070828
3102
				if($tab_modele_pdf["active_regroupement_cote"][$classe_id]==='1' or $tab_modele_pdf["active_entete_regroupement"][$classe_id]==='1') {
3103
					//if($matiere[$ident_eleve_aff][$id_periode][$m]['categorie']===$categorie_passe) {
3104
					/*
3105
					if(isset($tab_bull['note'][$m][$i])) {
3106
						if($tab_bull['nom_cat_complet'][$m]===$categorie_passe) {
3107
							$categorie_passe_count=$categorie_passe_count+1;
3108
						}
3109
						else {
3110
							$categorie_passe_count=0;
3111
						}
3112

    
3113
						//if($matiere[$ident_eleve_aff][$id_periode][$m]['categorie']!=$categorie_passe) {
3114
						if($tab_bull['nom_cat_complet'][$m]!=$categorie_passe) {
3115
							$categorie_passe_count=$categorie_passe_count+1;
3116
						}
3117
					}
3118
					*/
3119
					if($tab_bull['nom_cat_complet'][$m]!=$categorie_passe) {
3120
						$categorie_passe_count=0;
3121

    
3122
						$Y_categ_cote=$Y_decal;
3123
					}
3124
					/*
3125
					else {
3126
						$categorie_passe_count++;
3127
					}
3128
					if(!isset($tab_bull['note'][$m][$i])) {
3129
						$categorie_passe_count--;
3130
					}
3131
					*/
3132

    
3133
					if(isset($tab_bull['note'][$m][$i])) {
3134
						$categorie_passe_count++;
3135
					}
3136
					// fin des moyen par cat?gorie
3137
				}
3138

    
3139
				fich_debug_bull("\$categorie_passe_count=$categorie_passe_count\n");
3140

    
3141
				//============================
3142

    
3143
				// si on affiche les cat?gories sur le c?t?
3144

    
3145
				if(!isset($tab_bull['nom_cat_complet'][$m+1])) {
3146
					//$matiere[$ident_eleve_aff][$id_periode][$m+1]['categorie']='';
3147
					$tab_bull['nom_cat_complet'][$m+1]='';
3148
				}
3149

    
3150
				if($tab_modele_pdf["active_regroupement_cote"][$classe_id]==='1') {
3151
					if($tab_bull['nom_cat_complet'][$m]!=$tab_bull['nom_cat_complet'][$m+1] and $categorie_passe!='')
3152
					{
3153
						//hauteur du regroupement hauteur des matier * nombre de matier de la cat?gorie
3154
						//$hauteur_regroupement=$espace_entre_matier*($categorie_passe_count+1);
3155
						$hauteur_regroupement=$espace_entre_matier*$categorie_passe_count;
3156

    
3157
						fich_debug_bull("\$espace_entre_matier=$espace_entre_matier\n");
3158
						fich_debug_bull("\$categorie_passe_count=$categorie_passe_count\n");
3159
						fich_debug_bull("\$hauteur_regroupement=$hauteur_regroupement\n");
3160

    
3161
						//placement du cadre
3162
						//if($nb_eleve_aff===0) { $enplus = 5; }
3163
						//if($nb_eleve_aff!=0) { $enplus = 0; }
3164
						//if($compteur_bulletins===0) { $enplus = 5; }
3165
						//if($compteur_bulletins!=0) { $enplus = 0; }
3166

    
3167
						fich_debug_bull("Position du cadre $categorie_passe\n");
3168
						$tmp_val=$Y_decal-$hauteur_regroupement+$espace_entre_matier;
3169
						fich_debug_bull("\$Y_decal-\$hauteur_regroupement+\$espace_entre_matier=".$Y_decal."-".$hauteur_regroupement."+".$espace_entre_matier."=".$tmp_val."\n");
3170

    
3171
						//$pdf->SetXY($X_bloc_matiere-5,$Y_decal-$hauteur_regroupement+$espace_entre_matier);
3172
						$pdf->SetXY($X_bloc_matiere-5,$Y_categ_cote);
3173

    
3174

    
3175
						$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]);
3176
						if($tab_modele_pdf["couleur_categorie_cote"][$classe_id] === '1') {
3177
							$mode_choix_c = '2';
3178
						}
3179
						else {
3180
							$mode_choix_c = '1';
3181
						}
3182
						$pdf->drawTextBox("", 5, $hauteur_regroupement, 'C', 'T', $mode_choix_c);
3183
						//texte ? afficher
3184
						$hauteur_caractere_vertical = '8';
3185
						if ( $tab_modele_pdf["taille_texte_categorie_cote"][$classe_id] != '' and $tab_modele_pdf["taille_texte_categorie_cote"][$classe_id] != '0') {
3186
							$hauteur_caractere_vertical = $tab_modele_pdf["taille_texte_categorie_cote"][$classe_id];
3187
						}
3188
						else {
3189
							$hauteur_caractere_vertical = '8';
3190
						}
3191
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_vertical);
3192
						$text_s = unhtmlentities($tab_bull['nom_cat_complet'][$m]);
3193
						$longeur_test_s = $pdf->GetStringWidth($text_s);
3194

    
3195
						// gestion de la taille du texte vertical
3196
						$taille_texte = $hauteur_regroupement;
3197
						$grandeur_texte = 'test';
3198
						while($grandeur_texte != 'ok') {
3199
							if($taille_texte < $longeur_test_s)
3200
							{
3201
								$hauteur_caractere_vertical = $hauteur_caractere_vertical-0.3;
3202
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_vertical);
3203
								$longeur_test_s = $pdf->GetStringWidth($text_s);
3204
							}
3205
							else {
3206
								$grandeur_texte = 'ok';
3207
							}
3208
						}
3209

    
3210

    
3211
						//d?calage pour centre le texte
3212
						$deca = ($hauteur_regroupement-$longeur_test_s)/2;
3213
						$deca = 0;
3214
						$deca = ($hauteur_regroupement-$longeur_test_s)/2;
3215

    
3216
						//place le texte dans le cadre
3217
						$placement = $Y_decal+$espace_entre_matier-$deca;
3218
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_vertical);
3219
						$pdf->TextWithDirection($X_bloc_matiere-1,$placement,traite_accents_utf8(unhtmlentities($text_s)),'U');
3220
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
3221
						$pdf->SetFillColor(0, 0, 0);
3222
					}
3223
				}
3224

    
3225
				fich_debug_bull("Apr?s les cat?gories sur le c?t?\n");
3226
				fich_debug_bull("\$Y_decal=$Y_decal\n");
3227

    
3228
				if($tab_modele_pdf["active_regroupement_cote"][$classe_id]==='1' or $tab_modele_pdf["active_entete_regroupement"][$classe_id]==='1') {
3229
					// fin d'affichage cat?gorie sur le cot?
3230
					$categorie_passe=$tab_bull['nom_cat_complet'][$m];
3231
					// fin de gestion de cat?gorie
3232
				}
3233
				//============================
3234

    
3235
				// Lignes de Mati?re, Note, Rang,... Appr?ciation
3236

    
3237
				$pdf->SetXY($X_bloc_matiere, $Y_decal);
3238

    
3239
				// Si c'est une mati?re suivie par l'?l?ve
3240
				if(isset($tab_bull['note'][$m][$i])) {
3241

    
3242
					// calcul la taille du titre de la mati?re
3243
					$hauteur_caractere_matiere=10;
3244
					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' )
3245
					{
3246
						$hauteur_caractere_matiere = $tab_modele_pdf["taille_texte_matiere"][$classe_id];
3247
					}
3248
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',$hauteur_caractere_matiere);
3249

    
3250
					// Pour parer au bug sur la suppression de mati?re alors que des groupes sont conserv?s:
3251
					if(isset($tab_bull['groupe'][$m]['matiere']['nom_complet'])) {
3252
						$info_nom_matiere=$tab_bull['groupe'][$m]['matiere']['nom_complet'];
3253
					}
3254
					else {
3255
						$info_nom_matiere=$tab_bull['groupe'][$m]['name']." (".$tab_bull['groupe'][$m]['id'].")";
3256
					}
3257

    
3258
					$val = $pdf->GetStringWidth($info_nom_matiere);
3259
					$taille_texte = $tab_modele_pdf["largeur_matiere"][$classe_id] - 2;
3260
					$grandeur_texte='test';
3261
					while($grandeur_texte!='ok') {
3262
						if($taille_texte<$val)
3263
						{
3264
							$hauteur_caractere_matiere = $hauteur_caractere_matiere-0.3;
3265
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',$hauteur_caractere_matiere);
3266
							$val = $pdf->GetStringWidth($info_nom_matiere);
3267
						}
3268
						else {
3269
							$grandeur_texte='ok';
3270
						}
3271
					}
3272
					$grandeur_texte='test';
3273
					$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_entre_matier/2, traite_accents_utf8($info_nom_matiere),'LR',1,'L');
3274
					$Y_decal = $Y_decal+($espace_entre_matier/2);
3275
					$pdf->SetXY($X_bloc_matiere, $Y_decal);
3276
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
3277

    
3278
					fich_debug_bull("\$info_nom_matiere=$info_nom_matiere\n");
3279
					fich_debug_bull("\$Y_decal=$Y_decal\n");
3280

    
3281
					// nom des professeurs
3282

    
3283
					if ( isset($tab_bull['groupe'][$m]["profs"]["list"]) )
3284
					{
3285

    
3286
						$nb_prof_matiere = count($tab_bull['groupe'][$m]["profs"]["list"]);
3287
						$espace_matiere_prof = $espace_entre_matier/2;
3288
						if($nb_prof_matiere>0){
3289
							$espace_matiere_prof = $espace_matiere_prof/$nb_prof_matiere;
3290
						}
3291
						$nb_pass_count = '0';
3292
						$text_prof = '';
3293
						while ($nb_prof_matiere > $nb_pass_count)
3294
						{
3295
							//$text_prof="";
3296
							//for($loop_prof_grp=0;$loop_prof_grp<$nb_prof_par_ligne;$loop_prof_grp++) {
3297
								// calcul de la hauteur du caract?re du prof
3298
								//$tmp_login_prof=$tab_bull['groupe'][$m]["profs"]["list"][$nb_pass_count+$loop_prof_grp];
3299
								$tmp_login_prof=$tab_bull['groupe'][$m]["profs"]["list"][$nb_pass_count];
3300
								/*
3301
								$text_prof=$tab_bull['groupe'][$m]["profs"]["users"]["$tmp_login_prof"]["civilite"];
3302
								$text_prof.=" ".$tab_bull['groupe'][$m]["profs"]["users"]["$tmp_login_prof"]["nom"];
3303
								$text_prof.=" ".substr($tab_bull['groupe'][$m]["profs"]["users"]["$tmp_login_prof"]["prenom"],0,1);
3304
								*/
3305
								//if($loop_prof_grp>0) {$text_prof.=", ";}
3306
								$text_prof=affiche_utilisateur($tmp_login_prof,$tab_bull['eleve'][$i]['id_classe']);
3307
							//}
3308

    
3309
							if ( $nb_prof_matiere <= 2 ) { $hauteur_caractere_prof = 8; }
3310
							elseif ( $nb_prof_matiere == 3) { $hauteur_caractere_prof = 5; }
3311
							elseif ( $nb_prof_matiere > 3) { $hauteur_caractere_prof = 2; }
3312
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_prof);
3313
							$val = $pdf->GetStringWidth($text_prof);
3314
							$taille_texte = ($tab_modele_pdf["largeur_matiere"][$classe_id]);
3315
							$grandeur_texte='test';
3316
							while($grandeur_texte!='ok') {
3317
								if($taille_texte<$val)
3318
								{
3319
									$hauteur_caractere_prof = $hauteur_caractere_prof-0.3;
3320
									$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_prof);
3321
									$val = $pdf->GetStringWidth($text_prof);
3322
								}
3323
								else {
3324
									$grandeur_texte='ok';
3325
								}
3326
							}
3327
							$grandeur_texte='test';
3328
							$pdf->SetX($X_bloc_matiere);
3329
							if( empty($tab_bull['groupe'][$m]["profs"]["list"][$nb_pass_count+1]) ) {
3330
								$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_matiere_prof, traite_accents_utf8($text_prof),'LRB',1,'L');
3331
							}
3332
							if( !empty($tab_bull['groupe'][$m]["profs"]["list"][$nb_pass_count+1]) ) {
3333
								$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_matiere_prof, traite_accents_utf8($text_prof),'LR',1,'L');
3334
							}
3335
							$nb_pass_count = $nb_pass_count + 1;
3336
						}
3337
					}
3338
					$largeur_utilise = $tab_modele_pdf["largeur_matiere"][$classe_id];
3339

    
3340
					// coefficient mati?re
3341
					if($tab_modele_pdf["active_coef_moyenne"][$classe_id]==='1') {
3342
						$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
3343
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
3344
						$pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $espace_entre_matier, $tab_bull['coef_eleve'][$i][$m],1,0,'C');
3345
						$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
3346
					}
3347

    
3348
					//permet le calcul total des coefficients
3349
					// if(empty($moyenne_min[$id_classe][$id_periode])) {
3350
						$total_coef_en_calcul=$total_coef_en_calcul+$tab_bull['coef_eleve'][$i][$m];
3351
					//}
3352

    
3353
					// nombre de note
3354
					// 20081118
3355
					//if($tab_modele_pdf["active_nombre_note_case"][$classe_id]==='1') {
3356
					if(($tab_modele_pdf["active_nombre_note_case"][$classe_id]==='1')&&($tab_modele_pdf["active_nombre_note"][$classe_id]!='1')) {
3357
						$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
3358
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
3359
						$valeur = $tab_bull['nbct'][$m][$i] . "/" . $tab_bull['groupe'][$m]['nbct'];
3360
						$pdf->Cell($tab_modele_pdf["largeur_nombre_note"][$classe_id], $espace_entre_matier, $valeur,1,0,'C');
3361
						$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_nombre_note"][$classe_id];
3362
					}
3363

    
3364
					// les moyennes eleve, classe, min, max
3365
					$cpt_ordre = 0;
3366
					while (!empty($ordre_moyenne[$cpt_ordre]) ) {
3367
						//eleve
3368
						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' ) {
3369
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
3370
							$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]);
3371

    
3372
							// calcul nombre de sous affichage
3373

    
3374
							$nb_sousaffichage='1';
3375
							//20090908 if(empty($active_coef_sousmoyene)) { $active_coef_sousmoyene = ''; }
3376

    
3377
							//++++++++++++++
3378
							//20100615
3379
							if((isset($moyennes_periodes_precedentes))&&($moyennes_periodes_precedentes=="y")) {
3380
								$nb_sousaffichage+=count($tab_bull['login_prec']); // Il faut r?cup?rer le nombre de p?riodes...
3381
							}
3382
							//++++++++++++++
3383

    
3384
							if($tab_modele_pdf["active_coef_sousmoyene"][$classe_id]==='1') { $nb_sousaffichage = $nb_sousaffichage + 1; }
3385

    
3386
							//20100615
3387
							if((!isset($moyennes_periodes_precedentes))||($moyennes_periodes_precedentes!="y")) {
3388
								// On n'affiche pas tout ce qui suit en plus, si on affiche les moyennes de toutes les p?riodes d?j?
3389
								if($tab_modele_pdf["active_nombre_note"][$classe_id]==='1') { $nb_sousaffichage = $nb_sousaffichage + 1; }
3390
								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; } }
3391
								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; } }
3392
								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; } }
3393
							}
3394

    
3395

    
3396
							//20100615
3397
							if((!isset($moyennes_periodes_precedentes))||($moyennes_periodes_precedentes!="y")) {
3398
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',10);
3399

    
3400
								// On filtre si la moyenne est vide, on affiche seulement un tiret
3401
								if ($tab_bull['note'][$m][$i]=="-") {
3402
									$valeur = "-";
3403
								}
3404
								elseif ($tab_bull['statut'][$m][$i]!="") {
3405
									$valeur=$tab_bull['statut'][$m][$i];
3406
								}
3407
								else {
3408
									$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]);
3409
								}
3410
								$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]);
3411
								$valeur = "";
3412

    
3413
								if($tab_modele_pdf["active_coef_sousmoyene"][$classe_id]==='1') {
3414
									$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'I',7);
3415
									$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]);
3416
								}
3417

    
3418
								if($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id]==='1') {
3419
									// On affiche toutes les moyennes dans la m?me colonne
3420
									$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'I',7);
3421
									if($tab_modele_pdf["active_moyenne_classe"][$classe_id]==='1') {
3422
										//if ($tab_bull['moy_classe_grp'][$m]=="-") {
3423
										if (($tab_bull['moy_classe_grp'][$m]=="-")||($tab_bull['moy_classe_grp'][$m]=="")) {
3424
											$valeur = "-";
3425
										}
3426
										else {
3427
											$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]);
3428
										}
3429
										$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]);
3430
									}
3431
									if($tab_modele_pdf["active_moyenne_min"][$classe_id]==='1') {
3432
										//if ($tab_bull['moy_min_classe_grp'][$m]=="-") {
3433
										if (($tab_bull['moy_min_classe_grp'][$m]=="-")||($tab_bull['moy_min_classe_grp'][$m]=="")) {
3434
											$valeur = "-";
3435
										} else {
3436
											$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]);
3437
										}
3438
										$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]);
3439
									}
3440
									if($tab_modele_pdf["active_moyenne_max"][$classe_id]==='1') {
3441
										//if ($tab_bull['moy_max_classe_grp'][$m]=="-") {
3442
										if (($tab_bull['moy_max_classe_grp'][$m]=="-")||($tab_bull['moy_max_classe_grp'][$m]=="")) {
3443
											$valeur = "-";
3444
										} else {
3445
											$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]);
3446
										}
3447
										$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]);
3448
										$valeur = ''; // on remet ? vide.
3449
									}
3450
								}
3451

    
3452
								if($tab_modele_pdf["active_nombre_note"][$classe_id]==='1') {
3453
									$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'I',7);
3454
									$espace_pour_nb_note = $espace_entre_matier/$nb_sousaffichage;
3455
									$espace_pour_nb_note = $espace_pour_nb_note / 2;
3456
									$valeur1 = ''; $valeur2 = '';
3457
									if ($tab_bull['nbct'][$m][$i]!= 0 ) {
3458
										$valeur1 = $tab_bull['nbct'][$m][$i].' note';
3459
										if($tab_bull['nbct'][$m][$i]>1){$valeur1.='s';}
3460
										$valeur2 = 'sur '.$tab_bull['groupe'][$m]['nbct'];
3461
									}
3462
									$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]);
3463
									$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]);
3464
									$valeur1 = ''; $valeur2 = '';
3465
								}
3466

    
3467
							}
3468
							else {
3469
								//20100615
3470
								// On affiche les moyennes de l'?l?ve pour les autres p?riodes dans la m?me colonne
3471
								// Il faut r?cup?rer l'indice de l'?l?ve... dans les tableaux r?cup?r?s de calcul_moy_gen.inc.php
3472
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'I',6);
3473

    
3474
								//for($loop_p=1;$loop_p<count($tab_bull['login_prec']);$loop_p++) {
3475
								foreach($tab_bull['login_prec'] as $key => $value) {
3476
									// 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
3477
									// Tableaux d'indices [$j][$i] (groupe, ?l?ve)
3478
									//$tab_bull['note_prec'][$loop_p]=$current_eleve_note;
3479
									//$tab_bull['statut_prec'][$loop_p]=$current_eleve_statut;
3480
									$indice_eleve=-1;
3481
									//for($loop_l=0;$loop_l<count($tab_bull['login_prec'][$loop_p]);$loop_l++) {
3482
									for($loop_l=0;$loop_l<count($tab_bull['login_prec'][$key]);$loop_l++) {
3483
										//echo "\$tab_bull['login_prec'][$key][$loop_l]=".$tab_bull['login_prec'][$key][$loop_l]." et \$tab_bull['eleve'][$i]['login']=".$tab_bull['eleve'][$i]['login']."<br />\n";
3484
										if($tab_bull['login_prec'][$key][$loop_l]==$tab_bull['eleve'][$i]['login']) {$indice_eleve=$loop_l;break;}
3485
									}
3486
									//echo "\$indice_eleve=$indice_eleve<br />\n";
3487

    
3488
									if($indice_eleve!=-1) {
3489
										// Recherche du groupe
3490
										$indice_grp=-1;
3491
										for($loop_l=0;$loop_l<count($tab_bull['group_prec'][$key]);$loop_l++) {
3492
											//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";
3493
											if($tab_bull['group_prec'][$key][$loop_l]['id']==$tab_bull['groupe'][$m]['id']) {$indice_grp=$loop_l;break;}
3494
										}
3495
										//echo "\$indice_grp=$indice_grp<br />\n";
3496

    
3497
										if($indice_grp!=-1) {
3498
											if(isset($tab_bull['statut_prec'][$key][$indice_grp][$indice_eleve])) {
3499
												if ($tab_bull['statut_prec'][$key][$indice_grp][$indice_eleve]!="") {
3500
													$valeur = $tab_bull['statut_prec'][$key][$indice_grp][$indice_eleve];
3501
												}
3502
												else {
3503
													$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]);
3504
												}
3505
												if($key==1) {$bordure_top='T';} else {$bordure_top='';}
3506
												$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]);
3507
											}
3508
										}
3509
									}
3510

    
3511
								}
3512

    
3513
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',10);
3514

    
3515
								// On filtre si la moyenne est vide, on affiche seulement un tiret
3516
								if ($tab_bull['note'][$m][$i]=="-") {
3517
									$valeur = "-";
3518
								}
3519
								elseif ($tab_bull['statut'][$m][$i]!="") {
3520
									$valeur=$tab_bull['statut'][$m][$i];
3521
								}
3522
								else {
3523
									$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]);
3524
								}
3525
								$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]);
3526
								$valeur = "";
3527

    
3528
								// On affiche ?ventuellement le coef
3529
								if($tab_modele_pdf["active_coef_sousmoyene"][$classe_id]==='1') {
3530
									$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'I',6);
3531
									$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]);
3532
								}
3533

    
3534
							}
3535

    
3536
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
3537
							$pdf->SetFillColor(0, 0, 0);
3538
							$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
3539

    
3540
						} // Fin affichage ?l?ve
3541

    
3542

    
3543
						//classe
3544
						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' ) {
3545
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
3546
							//if ($tab_bull['moy_classe_grp'][$m]=="-") {
3547
							if (($tab_bull['moy_classe_grp'][$m]=="-")||($tab_bull['moy_classe_grp'][$m]=="")) {
3548
								$valeur = "-";
3549
							} else {
3550
								$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]);
3551
							}
3552
							$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier, $valeur,'TLRB',0,'C');
3553
							/*
3554
							//permet le calcul de la moyenne g?n?ral de la classe
3555
							if(empty($moyenne_classe[$id_classe][$id_periode])) {
3556
								$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']);
3557
							}
3558
							*/
3559
							$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
3560
						}
3561
						//min
3562
						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' ) {
3563
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
3564
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
3565
							//if ($tab_bull['moy_min_classe_grp'][$m]=="-") {
3566
							if (($tab_bull['moy_min_classe_grp'][$m]=="-")||($tab_bull['moy_min_classe_grp'][$m]=="")) {
3567
								$valeur = "-";
3568
							} else {
3569
								$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]);
3570
							}
3571
							$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier, $valeur,'TLRB',0,'C');
3572
							/*
3573
							//permet le calcul de la moyenne mini
3574
							if(empty($moyenne_min[$id_classe][$id_periode])) {
3575
								$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']);
3576
							}
3577
							*/
3578
							$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
3579
						}
3580
						//max
3581
						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' ) {
3582
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
3583
							//if ($tab_bull['moy_max_classe_grp'][$m]== "-") {
3584
							if (($tab_bull['moy_max_classe_grp'][$m]=="-")||($tab_bull['moy_max_classe_grp'][$m]=="")) {
3585
								$valeur = "-";
3586
							} else {
3587
								$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]);
3588
							}
3589
							$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier, $valeur,'TLRB',0,'C');
3590

    
3591
							/*
3592
							//permet le calcul de la moyenne maxi
3593
							if(empty($moyenne_max[$id_classe][$id_periode])) {
3594
								$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']);
3595
							}
3596
							*/
3597
							$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
3598
						}
3599
						//$largeur_utilise = $largeur_utilise+$largeur_moyenne;
3600

    
3601

    
3602
						// rang de l'?l?ve
3603
						if($tab_modele_pdf["active_rang"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'rang' ) {
3604
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
3605
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
3606
							// A REVOIR: J'AI l'EFFECTIF DU GROUPE, mais faut-il compter les ?l?ves ABS, DISP,...?
3607
							//if((isset($tab_bull['rang'][$i][$m]))&&(isset($tab_bull['groupe'][$m]['effectif']))) {
3608
								//$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');
3609
							if((isset($tab_bull['rang'][$m][$i]))&&(isset($tab_bull['groupe'][$m]['effectif']))) {
3610
								$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');
3611
							}
3612
							else {
3613
								$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $espace_entre_matier, '',1,0,'C');
3614
							}
3615
							$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_rang"][$classe_id];
3616
						}
3617

    
3618
						// graphique de niveau
3619
						if($tab_modele_pdf["active_graphique_niveau"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'niveau' ) {
3620
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
3621
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
3622
							$id_groupe_graph = $tab_bull['groupe'][$m]['id'];
3623
							// placement de l'?l?ve dans le graphique de niveau
3624

    
3625
							// AJOUT: La variable n'?tait pas initialis?e dans le bulletin_pdf_avec_modele...
3626
							$place_eleve='';
3627

    
3628
							if ($tab_bull['note'][$m][$i]!="") {
3629
								/*
3630
								if ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<5) { $place_eleve=5;}
3631
								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;}
3632
								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;}
3633
								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;}
3634
								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;}
3635
								if ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=15) { $place_eleve=0;}
3636
								*/
3637
								if(isset($tab_bull['place_eleve'][$m][$i])) {
3638
									//$place_eleve=$tab_bull['place_eleve'][$m][$i];
3639
									$place_eleve=$tab_bull['place_eleve'][$m][$i]-1;
3640
								}
3641
							}
3642
							$data_grap[0]=$tab_bull['quartile1_grp'][$m];
3643
							$data_grap[1]=$tab_bull['quartile2_grp'][$m];
3644
							$data_grap[2]=$tab_bull['quartile3_grp'][$m];
3645
							$data_grap[3]=$tab_bull['quartile4_grp'][$m];
3646
							$data_grap[4]=$tab_bull['quartile5_grp'][$m];
3647
							$data_grap[5]=$tab_bull['quartile6_grp'][$m];
3648
							//if (array_sum($data_grap[$id_periode][$id_groupe_graph]) != 0) {
3649
							if (array_sum($data_grap) != 0) {
3650
								//$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);
3651
								$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);
3652
							}
3653
							$place_eleve=''; // on vide la variable
3654
							$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_niveau"][$classe_id];
3655
						}
3656

    
3657
						//appr?ciation
3658
						if($tab_modele_pdf["active_appreciation"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'appreciation' ) {
3659
							// si on autorise l'affichage des sous mati?re et s'il y en a alors on les affiche
3660
							$id_groupe_select = $tab_bull['groupe'][$m]['id'];
3661
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
3662
							$X_sous_matiere = 0; $largeur_sous_matiere=0;
3663

    
3664
							if($tab_modele_pdf["autorise_sous_matiere"][$classe_id]==='1' and !empty($tab_bull['groupe'][$m][$i]['cn_nom'])) {
3665
								$X_sous_matiere = $X_note_moy_app+$largeur_utilise;
3666
								$Y_sous_matiere = $Y_decal-($espace_entre_matier/2);
3667
								$n=0;
3668
								$largeur_texte_sousmatiere=0; $largeur_sous_matiere=0;
3669
								while( !empty($tab_bull['groupe'][$m][$i]['cn_nom'][$n]) )
3670
								{
3671
									$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
3672
									$largeur_texte_sousmatiere = $pdf->GetStringWidth($tab_bull['groupe'][$m][$i]['cn_nom'][$n].': '.$tab_bull['groupe'][$m][$i]['cn_note'][$n]);
3673
									if($largeur_sous_matiere<$largeur_texte_sousmatiere) { $largeur_sous_matiere=$largeur_texte_sousmatiere; }
3674
									$n = $n + 1;
3675
								}
3676
								if($largeur_sous_matiere!='0') { $largeur_sous_matiere = $largeur_sous_matiere + 2; }
3677
								$n=0;
3678
								while( !empty($tab_bull['groupe'][$m][$i]['cn_nom'][$n]) )
3679
								{
3680
									$pdf->SetXY($X_sous_matiere, $Y_sous_matiere);
3681
									$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
3682
									$pdf->Cell($largeur_sous_matiere, $espace_entre_matier/count($tab_bull['groupe'][$m][$i]['cn_nom']), traite_accents_utf8($tab_bull['groupe'][$m][$i]['cn_nom'][$n].': '.$tab_bull['groupe'][$m][$i]['cn_note'][$n]),1,0,'L');
3683
									$Y_sous_matiere = $Y_sous_matiere+$espace_entre_matier/count($tab_bull['groupe'][$m][$i]['cn_nom']);
3684
									$n = $n + 1;
3685
								}
3686
								$largeur_utilise = $largeur_utilise+$largeur_sous_matiere;
3687
							}
3688
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
3689
							// calcul de la taille du texte des appr?ciation
3690
							$hauteur_caractere_appreciation = 9;
3691
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_appreciation);
3692

    
3693
							//suppression des espace en d?but et en fin
3694
							$app_aff = trim($tab_bull['app'][$m][$i]);
3695

    
3696
							fich_debug_bull("__________________________________________\n");
3697
							fich_debug_bull("$app_aff\n");
3698
							fich_debug_bull("__________________________________________\n");
3699

    
3700
							// DEBUT AJUSTEMENT TAILLE APPRECIATION
3701
							$taille_texte_total = $pdf->GetStringWidth($app_aff);
3702
							$largeur_appreciation2 = $largeur_appreciation - $largeur_sous_matiere;
3703

    
3704
							if($use_cell_ajustee=="n") {
3705
								//$taille_texte = (($espace_entre_matier/3)*$largeur_appreciation2);
3706
								$nb_ligne_app = '2.8';
3707
								//$nb_ligne_app = '3.8';
3708
								//$nb_ligne_app = '4.8';
3709
								$taille_texte_max = $nb_ligne_app * ($largeur_appreciation2-4);
3710
								//$taille_texte_max = $nb_ligne_app * ($largeur_appreciation2);
3711
								$grandeur_texte='test';
3712
	
3713
								fich_debug_bull("\$taille_texte_total=$taille_texte_total\n");
3714
								fich_debug_bull("\$largeur_appreciation2=$largeur_appreciation2\n");
3715
								fich_debug_bull("\$nb_ligne_app=$nb_ligne_app\n");
3716
								//fich_debug_bull("\$taille_texte_max = \$nb_ligne_app * (\$largeur_appreciation2-4)=$nb_ligne_app * ($largeur_appreciation2-4)=$taille_texte_max\n");
3717
								fich_debug_bull("\$taille_texte_max = \$nb_ligne_app * (\$largeur_appreciation2)=$nb_ligne_app * ($largeur_appreciation2)=$taille_texte_max\n");
3718
	
3719
								while($grandeur_texte!='ok') {
3720
									if($taille_texte_max < $taille_texte_total)
3721
									{
3722
										$hauteur_caractere_appreciation = $hauteur_caractere_appreciation-0.3;
3723
										//$hauteur_caractere_appreciation = $hauteur_caractere_appreciation-0.1;
3724
										$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_appreciation);
3725
										$taille_texte_total = $pdf->GetStringWidth($app_aff);
3726
									}
3727
									else {
3728
										$grandeur_texte='ok';
3729
									}
3730
								}
3731
								$grandeur_texte='test';
3732
								$pdf->drawTextBox(traite_accents_utf8($app_aff), $largeur_appreciation2, $espace_entre_matier, 'J', 'M', 1);
3733
							}
3734
							else {
3735
								$texte=$app_aff;
3736
								//$texte="Bla bla\nbli ".$app_aff;
3737
								$taille_max_police=$hauteur_caractere_appreciation;
3738
								$taille_min_police=ceil($taille_max_police/3);
3739

    
3740
								$largeur_dispo=$largeur_appreciation2;
3741
								$h_cell=$espace_entre_matier;
3742

    
3743
								if(getSettingValue('suppr_balises_app_prof')=='y') {$texte=preg_replace('/<(.*)>/U','',$texte);}
3744
								cell_ajustee(traite_accents_utf8($texte),$pdf->GetX(),$pdf->GetY(),$largeur_dispo,$h_cell,$taille_max_police,$taille_min_police,'LRBT');
3745
							}
3746

    
3747
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
3748
							$largeur_utilise = $largeur_utilise + $largeur_appreciation2;
3749
							//$largeur_utilise = 0;
3750
						}
3751

    
3752
						$cpt_ordre = $cpt_ordre + 1;
3753
					}
3754
					$largeur_utilise = 0;
3755
					// fin de boucle d'ordre
3756
					$Y_decal = $Y_decal+($espace_entre_matier/2);
3757
				}
3758
			}
3759

    
3760

    
3761
			//======================================================
3762
			// DEBUT DES AID AFFICH?S APRES LES MATIERES
3763
			if(isset($tab_bull['eleve'][$i]['aid_e'])) {
3764
				//echo "count(\$tab_bull['eleve'][$i]['aid_e']=".count($tab_bull['eleve'][$i]['aid_e'])."<br />";
3765
				for($m=0;$m<count($tab_bull['eleve'][$i]['aid_e']);$m++) {
3766
					$pdf->SetXY($X_bloc_matiere, $Y_decal);
3767

    
3768
					// Si c'est une mati?re suivie par l'?l?ve
3769
					//if(isset($tab_bull['eleve'][$i]['note'][$m][$i])) {
3770

    
3771
						// calcul la taille du titre de la mati?re
3772
						$hauteur_caractere_matiere=10;
3773
						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' )
3774
						{
3775
							$hauteur_caractere_matiere = $tab_modele_pdf["taille_texte_matiere"][$classe_id];
3776
						}
3777
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',$hauteur_caractere_matiere);
3778

    
3779
						// Pour parer au bug sur la suppression de mati?re alors que des groupes sont conserv?s:
3780
						if(isset($tab_bull['eleve'][$i]['aid_e'][$m]['nom_complet'])) {
3781
							$info_nom_matiere=$tab_bull['eleve'][$i]['aid_e'][$m]['nom_complet'];
3782
						}
3783
						else {
3784
							$info_nom_matiere=$tab_bull['eleve'][$i]['aid_e'][$m]['nom'];
3785
						}
3786

    
3787
						$val = $pdf->GetStringWidth($info_nom_matiere);
3788
						$taille_texte = $tab_modele_pdf["largeur_matiere"][$classe_id] - 2;
3789
						$grandeur_texte='test';
3790
						while($grandeur_texte!='ok') {
3791
							if($taille_texte<$val)
3792
							{
3793
								$hauteur_caractere_matiere = $hauteur_caractere_matiere-0.3;
3794
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',$hauteur_caractere_matiere);
3795
								$val = $pdf->GetStringWidth($info_nom_matiere);
3796
							}
3797
							else {
3798
								$grandeur_texte='ok';
3799
							}
3800
						}
3801
						$grandeur_texte='test';
3802
						$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_entre_matier/2, traite_accents_utf8($info_nom_matiere),'LR',1,'L');
3803
						$Y_decal = $Y_decal+($espace_entre_matier/2);
3804
						$pdf->SetXY($X_bloc_matiere, $Y_decal);
3805
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
3806

    
3807
						fich_debug_bull("\$info_nom_matiere=$info_nom_matiere\n");
3808
						fich_debug_bull("\$Y_decal=$Y_decal\n");
3809

    
3810
						// nom des professeurs
3811

    
3812
						if ( isset($tab_bull['eleve'][$i]['aid_e'][$m]['aid_prof_resp_login'][0]) )
3813
						{
3814

    
3815
							$nb_prof_matiere = count($tab_bull['eleve'][$i]['aid_e'][$m]['aid_prof_resp_login']);
3816
							$espace_matiere_prof = $espace_entre_matier/2;
3817
							if($nb_prof_matiere>0){
3818
								$espace_matiere_prof = $espace_matiere_prof/$nb_prof_matiere;
3819
							}
3820
							$nb_pass_count = '0';
3821
							$text_prof = '';
3822
							while ($nb_prof_matiere > $nb_pass_count)
3823
							{
3824
								$tmp_login_prof=$tab_bull['eleve'][$i]['aid_e'][$m]['aid_prof_resp_login'][$nb_pass_count];
3825
								$text_prof=affiche_utilisateur($tmp_login_prof,$tab_bull['eleve'][$i]['id_classe']);
3826

    
3827
								if ( $nb_prof_matiere <= 2 ) { $hauteur_caractere_prof = 8; }
3828
								elseif ( $nb_prof_matiere == 3) { $hauteur_caractere_prof = 5; }
3829
								elseif ( $nb_prof_matiere > 3) { $hauteur_caractere_prof = 2; }
3830
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_prof);
3831
								$val = $pdf->GetStringWidth($text_prof);
3832
								$taille_texte = ($tab_modele_pdf["largeur_matiere"][$classe_id]);
3833
								$grandeur_texte='test';
3834
								while($grandeur_texte!='ok') {
3835
									if($taille_texte<$val)
3836
									{
3837
										$hauteur_caractere_prof = $hauteur_caractere_prof-0.3;
3838
										$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_prof);
3839
										$val = $pdf->GetStringWidth($text_prof);
3840
									}
3841
									else {
3842
										$grandeur_texte='ok';
3843
									}
3844
								}
3845
								$grandeur_texte='test';
3846
								$pdf->SetX($X_bloc_matiere);
3847
								if( empty($tab_bull['eleve'][$i]['aid_e'][$m]['aid_prof_resp_login'][$nb_pass_count+1]) ) {
3848
									$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_matiere_prof, traite_accents_utf8($text_prof),'LRB',1,'L');
3849
								}
3850
								if( !empty($tab_bull['eleve'][$i]['aid_e'][$m]['aid_prof_resp_login'][$nb_pass_count+1]) ) {
3851
									$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $espace_matiere_prof, traite_accents_utf8($text_prof),'LR',1,'L');
3852
								}
3853
								$nb_pass_count = $nb_pass_count + 1;
3854
							}
3855
						}
3856
						$largeur_utilise = $tab_modele_pdf["largeur_matiere"][$classe_id];
3857

    
3858
						// coefficient mati?re
3859
						if($tab_modele_pdf["active_coef_moyenne"][$classe_id]==='1') {
3860
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
3861
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
3862
							//$pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $espace_entre_matier, $tab_bull['eleve'][$i]['coef_eleve'][$i][$m],1,0,'C');
3863
							$pdf->Cell($tab_modele_pdf["largeur_coef_moyenne"][$classe_id], $espace_entre_matier, '',1,0,'C');
3864
							$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
3865
						}
3866

    
3867
						//permet le calcul total des coefficients
3868
						// if(empty($moyenne_min[$id_classe][$id_periode])) {
3869
							//$total_coef_en_calcul=$total_coef_en_calcul+$tab_bull['eleve'][$i]['coef_eleve'][$i][$m];
3870
						//}
3871

    
3872
						// nombre de note
3873
						// 20081118
3874
						//if($tab_modele_pdf["active_nombre_note_case"][$classe_id]==='1') {
3875
						if(($tab_modele_pdf["active_nombre_note_case"][$classe_id]==='1')&&($tab_modele_pdf["active_nombre_note"][$classe_id]!='1')) {
3876
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
3877
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
3878
							//$valeur = $tab_bull['eleve'][$i]['nbct'][$m][$i] . "/" . $tab_bull['eleve'][$i]['groupe'][$m]['nbct'];
3879
							$valeur = '';
3880
							$pdf->Cell($tab_modele_pdf["largeur_nombre_note"][$classe_id], $espace_entre_matier, $valeur,1,0,'C');
3881
							$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_nombre_note"][$classe_id];
3882
						}
3883

    
3884
						// les moyennes eleve, classe, min, max
3885
						$cpt_ordre = 0;
3886
						while (!empty($ordre_moyenne[$cpt_ordre]) ) {
3887
							//eleve
3888
							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' ) {
3889
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
3890
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',10);
3891
								$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]);
3892

    
3893
								// calcul nombre de sous affichage
3894

    
3895
								$nb_sousaffichage='1';
3896
								//20090908 if(empty($active_coef_sousmoyene)) { $active_coef_sousmoyene = ''; }
3897

    
3898
								if($tab_modele_pdf["active_coef_sousmoyene"][$classe_id]==='1') { $nb_sousaffichage = $nb_sousaffichage + 1; }
3899
								if($tab_modele_pdf["active_nombre_note"][$classe_id]==='1') { $nb_sousaffichage = $nb_sousaffichage + 1; }
3900
								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; } }
3901
								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; } }
3902
								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; } }
3903

    
3904
								// On filtre si la moyenne est vide, on affiche seulement un tiret
3905
								if ($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note']=="-") {
3906
									$valeur = "-";
3907
								}
3908
								elseif ($tab_bull['eleve'][$i]['aid_e'][$m]['aid_statut']!="") {
3909
									if($tab_bull['eleve'][$i]['aid_e'][$m]['aid_statut']=="other") {
3910
										$valeur = "-";
3911
									}
3912
									else {
3913
										$valeur=$tab_bull['eleve'][$i]['aid_e'][$m]['aid_statut'];
3914
									}
3915
								}
3916
								else {
3917
									$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]);
3918
								}
3919
								$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]);
3920
								$valeur = "";
3921

    
3922
								if($tab_modele_pdf["active_coef_sousmoyene"][$classe_id]==='1') {
3923
									$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'I',7);
3924
									//$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]);
3925
									$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]);
3926
								}
3927

    
3928
								if($tab_modele_pdf["toute_moyenne_meme_col"][$classe_id]==='1') {
3929
									// On affiche toutes les moyennes dans la m?me colonne
3930
									$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'I',7);
3931
									if($tab_modele_pdf["active_moyenne_classe"][$classe_id]==='1') {
3932
										//if ($tab_bull['eleve'][$i]['moy_classe_grp'][$m]=="-") {
3933
										if (($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_moyenne']=="-")||($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_moyenne']=="")) {
3934
											$valeur = "-";
3935
										}
3936
										else {
3937
											$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]);
3938
										}
3939
										$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]);
3940
									}
3941
									if($tab_modele_pdf["active_moyenne_min"][$classe_id]==='1') {
3942
										//if ($tab_bull['eleve'][$i]['moy_min_classe_grp'][$m]=="-") {
3943
										if (($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_min']=="-")||($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_min']=="")) {
3944
											$valeur = "-";
3945
										} else {
3946
											$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]);
3947
										}
3948
										$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]);
3949
									}
3950
									if($tab_modele_pdf["active_moyenne_max"][$classe_id]==='1') {
3951
										//if ($tab_bull['eleve'][$i]['moy_max_classe_grp'][$m]=="-") {
3952
										if (($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_max']=="-")||($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_max']=="")) {
3953
											$valeur = "-";
3954
										} else {
3955
											$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]);
3956
										}
3957
										$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]);
3958
										$valeur = ''; // on remet ? vide.
3959
									}
3960
								}
3961

    
3962
								if($tab_modele_pdf["active_nombre_note"][$classe_id]==='1') {
3963
									$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'I',7);
3964
									$espace_pour_nb_note = $espace_entre_matier/$nb_sousaffichage;
3965
									$espace_pour_nb_note = $espace_pour_nb_note / 2;
3966
									$valeur1 = ''; $valeur2 = '';
3967
									/*
3968
									if ($tab_bull['eleve'][$i]['nbct'][$m][$i]!= 0 ) {
3969
										$valeur1 = $tab_bull['eleve'][$i]['nbct'][$m][$i].' note';
3970
										if($tab_bull['eleve'][$i]['nbct'][$m][$i]>1){$valeur1.='s';}
3971
										$valeur2 = 'sur '.$tab_bull['eleve'][$i]['groupe'][$m]['nbct'];
3972
									}
3973
									*/
3974
									$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]);
3975
									$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]);
3976
									$valeur1 = ''; $valeur2 = '';
3977
								}
3978
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
3979
								$pdf->SetFillColor(0, 0, 0);
3980
								$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
3981

    
3982
							} // Fin affichage ?l?ve
3983

    
3984
							//classe
3985
							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' ) {
3986
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
3987
								//if ($tab_bull['eleve'][$i]['moy_classe_grp'][$m]=="-") {
3988
								if (($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_moyenne']=="-")||($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_moyenne']=="")) {
3989
									$valeur = "-";
3990
								} else {
3991
									$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]);
3992
								}
3993
								$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier, $valeur,'TLRB',0,'C');
3994
								$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
3995
							}
3996
							//min
3997
							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' ) {
3998
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
3999
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
4000
								//if ($tab_bull['eleve'][$i]['moy_min_classe_grp'][$m]=="-") {
4001
								if (($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_min']=="-")||($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_min']=="")) {
4002
									$valeur = "-";
4003
								} else {
4004
									$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]);
4005
								}
4006
								$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier, $valeur,'TLRB',0,'C');
4007
								$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
4008
							}
4009
							//max
4010
							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' ) {
4011
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
4012
								//if ($tab_bull['eleve'][$i]['moy_max_classe_grp'][$m]== "-") {
4013
								if (($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_max']=="-")||($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note_max']=="")) {
4014
									$valeur = "-";
4015
								} else {
4016
									$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]);
4017
								}
4018
								$pdf->Cell($tab_modele_pdf["largeur_d_une_moyenne"][$classe_id], $espace_entre_matier, $valeur,'TLRB',0,'C');
4019
								$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
4020
							}
4021
							//$largeur_utilise = $largeur_utilise+$largeur_moyenne;
4022

    
4023

    
4024
							// rang de l'?l?ve
4025
							if($tab_modele_pdf["active_rang"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'rang' ) {
4026
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
4027
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
4028
								// A REVOIR: J'AI l'EFFECTIF DU GROUPE, mais faut-il compter les ?l?ves ABS, DISP,...?
4029
								//if((isset($tab_bull['eleve'][$i]['rang'][$i][$m]))&&(isset($tab_bull['eleve'][$i]['groupe'][$m]['effectif']))) {
4030
									//$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');
4031

    
4032
								//if((isset($tab_bull['eleve'][$i]['rang'][$m][$i]))&&(isset($tab_bull['eleve'][$i]['groupe'][$m]['effectif']))) {
4033
								//	$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');
4034
								//}
4035
								//else {
4036
									$pdf->Cell($tab_modele_pdf["largeur_rang"][$classe_id], $espace_entre_matier, '',1,0,'C');
4037
								//}
4038
								$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_rang"][$classe_id];
4039
							}
4040

    
4041
							// graphique de niveau
4042
							if($tab_modele_pdf["active_graphique_niveau"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'niveau' ) {
4043
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
4044
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
4045
								//$id_groupe_graph = $tab_bull['eleve'][$i]['groupe'][$m]['id'];
4046
								// placement de l'?l?ve dans le graphique de niveau
4047

    
4048
								// AJOUT: La variable n'?tait pas initialis?e dans le bulletin_pdf_avec_modele...
4049
								$place_eleve='';
4050

    
4051
								//if ($tab_bull['eleve'][$i]['note'][$m][$i]!="") {
4052
								if ($tab_bull['eleve'][$i]['aid_e'][$m]['aid_note']!="") {
4053
									/*
4054
									if ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']<5) { $place_eleve=5;}
4055
									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;}
4056
									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;}
4057
									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;}
4058
									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;}
4059
									if ($matiere[$ident_eleve_aff][$id_periode][$m]['moy_eleve']>=15) { $place_eleve=0;}
4060
									*/
4061
									if(isset($tab_bull['eleve'][$i]['aid_e'][$m]['place_eleve'])) {
4062
										//$place_eleve=$tab_bull['eleve'][$i]['aid_e'][$m]['place_eleve'];
4063
										$place_eleve=$tab_bull['eleve'][$i]['aid_e'][$m]['place_eleve']-1;
4064
									}
4065
								}
4066
								$data_grap=array();
4067
								if(isset($tab_bull['eleve'][$i]['aid_e'][$m]['quartile1_classe'])) {$data_grap[0]=$tab_bull['eleve'][$i]['aid_e'][$m]['quartile1_classe'];}
4068
								if(isset($tab_bull['eleve'][$i]['aid_e'][$m]['quartile2_classe'])) {$data_grap[1]=$tab_bull['eleve'][$i]['aid_e'][$m]['quartile2_classe'];}
4069
								if(isset($tab_bull['eleve'][$i]['aid_e'][$m]['quartile3_classe'])) {$data_grap[2]=$tab_bull['eleve'][$i]['aid_e'][$m]['quartile3_classe'];}
4070
								if(isset($tab_bull['eleve'][$i]['aid_e'][$m]['quartile4_classe'])) {$data_grap[3]=$tab_bull['eleve'][$i]['aid_e'][$m]['quartile4_classe'];}
4071
								if(isset($tab_bull['eleve'][$i]['aid_e'][$m]['quartile5_classe'])) {$data_grap[4]=$tab_bull['eleve'][$i]['aid_e'][$m]['quartile5_classe'];}
4072
								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) {
4073
								if (array_sum($data_grap) != 0) {
4074
									//$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);
4075
									$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);
4076
								}
4077
								$place_eleve=''; // on vide la variable
4078
								$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_niveau"][$classe_id];
4079
							}
4080

    
4081
							//appr?ciation
4082
							if($tab_modele_pdf["active_appreciation"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'appreciation' ) {
4083
								// si on autorise l'affichage des sous mati?re et s'il y en a alors on les affiche
4084
								//$id_groupe_select = $tab_bull['eleve'][$i]['groupe'][$m]['id'];
4085
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
4086
								$X_sous_matiere = 0;
4087
								$largeur_sous_matiere=0;
4088

    
4089
								/*
4090
								if($tab_modele_pdf["autorise_sous_matiere"][$classe_id]==='1' and !empty($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom'])) {
4091
									$X_sous_matiere = $X_note_moy_app+$largeur_utilise;
4092
									$Y_sous_matiere = $Y_decal-($espace_entre_matier/2);
4093
									$n=0;
4094
									$largeur_texte_sousmatiere=0; $largeur_sous_matiere=0;
4095
									while( !empty($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom'][$n]) )
4096
									{
4097
										$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
4098
										$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]);
4099
										if($largeur_sous_matiere<$largeur_texte_sousmatiere) { $largeur_sous_matiere=$largeur_texte_sousmatiere; }
4100
										$n = $n + 1;
4101
									}
4102
									if($largeur_sous_matiere!='0') { $largeur_sous_matiere = $largeur_sous_matiere + 2; }
4103
									$n=0;
4104
									while( !empty($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom'][$n]) )
4105
									{
4106
										$pdf->SetXY($X_sous_matiere, $Y_sous_matiere);
4107
										$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
4108
										$pdf->Cell($largeur_sous_matiere, $espace_entre_matier/count($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom']), traite_accents_utf8($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom'][$n].': '.$tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_note'][$n]),1,0,'L');
4109
										$Y_sous_matiere = $Y_sous_matiere+$espace_entre_matier/count($tab_bull['eleve'][$i]['groupe'][$m][$i]['cn_nom']);
4110
										$n = $n + 1;
4111
									}
4112
									$largeur_utilise = $largeur_utilise+$largeur_sous_matiere;
4113
								}
4114
								*/
4115
								$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_decal-($espace_entre_matier/2));
4116
								// calcul de la taille du texte des appr?ciation
4117
								$hauteur_caractere_appreciation = 9;
4118
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_appreciation);
4119

    
4120
								//suppression des espace en d?but et en fin
4121
								//$app_aff = trim($tab_bull['eleve'][$i]['aid_e'][$m]['aid_appreciation']);
4122
								$app_aff="";
4123
								if($tab_bull['eleve'][$i]['aid_e'][$m]['message']!='') {
4124
									$app_aff.=$tab_bull['eleve'][$i]['aid_e'][$m]['message'];
4125
								}
4126
								//if($app_aff!='') {$app_aff.=" ";}
4127
								//if($tab_bull['eleve'][$i]['aid_e'][$m]['aid_nom']!='') {
4128
								if(($tab_bull['eleve'][$i]['aid_e'][$m]['display_nom']=='y')&&($tab_bull['eleve'][$i]['aid_e'][$m]['aid_nom']!='')) {
4129
									if($app_aff!='') {$app_aff.=" ";}
4130
									$app_aff.=$tab_bull['eleve'][$i]['aid_e'][$m]['aid_nom'];
4131
								}
4132
								if($app_aff!='') {$app_aff.="\n";}
4133
								$app_aff.=trim($tab_bull['eleve'][$i]['aid_e'][$m]['aid_appreciation']);
4134

    
4135
								fich_debug_bull("__________________________________________\n");
4136
								fich_debug_bull("$app_aff\n");
4137
								fich_debug_bull("__________________________________________\n");
4138

    
4139
								// DEBUT AJUSTEMENT TAILLE APPRECIATION
4140
								$taille_texte_total = $pdf->GetStringWidth($app_aff);
4141
								$largeur_appreciation2 = $largeur_appreciation - $largeur_sous_matiere;
4142

    
4143
								if($use_cell_ajustee=="n") {
4144
									//$taille_texte = (($espace_entre_matier/3)*$largeur_appreciation2);
4145
									$nb_ligne_app = '2.8';
4146
									//$nb_ligne_app = '3.8';
4147
									//$nb_ligne_app = '4.8';
4148
									$taille_texte_max = $nb_ligne_app * ($largeur_appreciation2-4);
4149
									//$taille_texte_max = $nb_ligne_app * ($largeur_appreciation2);
4150
									$grandeur_texte='test';
4151
	
4152
									fich_debug_bull("\$taille_texte_total=$taille_texte_total\n");
4153
									fich_debug_bull("\$largeur_appreciation2=$largeur_appreciation2\n");
4154
									fich_debug_bull("\$nb_ligne_app=$nb_ligne_app\n");
4155
									//fich_debug_bull("\$taille_texte_max = \$nb_ligne_app * (\$largeur_appreciation2-4)=$nb_ligne_app * ($largeur_appreciation2-4)=$taille_texte_max\n");
4156
									fich_debug_bull("\$taille_texte_max = \$nb_ligne_app * (\$largeur_appreciation2)=$nb_ligne_app * ($largeur_appreciation2)=$taille_texte_max\n");
4157
	
4158
									while($grandeur_texte!='ok') {
4159
										if($taille_texte_max < $taille_texte_total)
4160
										{
4161
											$hauteur_caractere_appreciation = $hauteur_caractere_appreciation-0.3;
4162
											//$hauteur_caractere_appreciation = $hauteur_caractere_appreciation-0.1;
4163
											$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_caractere_appreciation);
4164
											$taille_texte_total = $pdf->GetStringWidth($app_aff);
4165
										}
4166
										else {
4167
											$grandeur_texte='ok';
4168
										}
4169
									}
4170
									$grandeur_texte='test';
4171
									$pdf->drawTextBox(traite_accents_utf8($app_aff), $largeur_appreciation2, $espace_entre_matier, 'J', 'M', 1);
4172
								}
4173
								else {
4174
									$texte=$app_aff;
4175
									//$texte="Bla bla\nbli ".$app_aff;
4176
									$taille_max_police=$hauteur_caractere_appreciation;
4177
									$taille_min_police=ceil($taille_max_police/3);
4178
	
4179
									$largeur_dispo=$largeur_appreciation2;
4180
									$h_cell=$espace_entre_matier;
4181

    
4182
									if(getSettingValue('suppr_balises_app_prof')=='y') {$texte=preg_replace('/<(.*)>/U','',$texte);}
4183
									cell_ajustee(traite_accents_utf8($texte),$pdf->GetX(),$pdf->GetY(),$largeur_dispo,$h_cell,$taille_max_police,$taille_min_police,'LRBT');
4184
								}
4185

    
4186
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
4187
								$largeur_utilise = $largeur_utilise + $largeur_appreciation2;
4188
								//$largeur_utilise = 0;
4189
							}
4190

    
4191
							$cpt_ordre = $cpt_ordre + 1;
4192
						}
4193
						$largeur_utilise = 0;
4194
						// fin de boucle d'ordre
4195
						$Y_decal = $Y_decal+($espace_entre_matier/2);
4196
					//}
4197
				}
4198
			}
4199
			// FIN DES AID AFFICH?S APRES LES MATIERES
4200
			//======================================================
4201

    
4202

    
4203

    
4204
			// Ligne moyenne g?n?rale
4205
			//bas du tableau des note et app si les affichage des moyennes ne sont pas affich? le bas du tableau ne seras pas affich?
4206
			if ( $tab_modele_pdf["active_moyenne"][$classe_id] === '1' and $tab_modele_pdf["active_moyenne_general"][$classe_id] === '1' ) {
4207
				$X_note_moy_app = $tab_modele_pdf["X_note_app"][$classe_id];
4208
				$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];
4209

    
4210
				if ($affiche_deux_moy_gen==1) {
4211
					// On a r?serv? une ligne de plus pour la moyenne g?n?rale avec coefficients 1
4212
					$Y_note_moy_app-=$tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id];
4213
				}
4214

    
4215
				$pdf->SetXY($X_note_moy_app, $Y_note_moy_app);
4216
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
4217
				$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]);
4218
				//================
4219
				// Ajout: J.Etheve
4220
				if ($affiche_deux_moy_gen==1) {
4221
					$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], traite_accents_utf8("Moy.g?n.coef."),1,0,'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
4222
				}
4223
				else {
4224
					$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], traite_accents_utf8("Moyenne g?n?rale"),1,0,'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
4225
				}
4226
				//================
4227
				$largeur_utilise = $tab_modele_pdf["largeur_matiere"][$classe_id];
4228

    
4229
				// coefficient mati?re
4230
				if($tab_modele_pdf["active_coef_moyenne"][$classe_id]==='1') {
4231
					$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4232
					$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]);
4233

    
4234
					//$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]);
4235

    
4236
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
4237
					$info_tot_et_coef=$tab_bull['tot_points_eleve'][$i]."/".$tab_bull['total_coef_eleve'][$i];
4238
					$val = $pdf->GetStringWidth($info_tot_et_coef);
4239
					$taille_texte = $tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
4240
					$grandeur_texte='test';
4241
					$hauteur_tmp=10;
4242
					while($grandeur_texte!='ok') {
4243
						if($taille_texte<$val)
4244
						{
4245
							$hauteur_tmp=$hauteur_tmp-0.3;
4246
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_tmp);
4247
							$val = $pdf->GetStringWidth($info_tot_et_coef);
4248
						}
4249
						else {
4250
							$grandeur_texte='ok';
4251
						}
4252
					}
4253
					$grandeur_texte='test';
4254

    
4255
					$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]);
4256

    
4257
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
4258

    
4259
					$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
4260
				}
4261

    
4262
				// nombre de note
4263
				// 20081118
4264
				//if($tab_modele_pdf["active_nombre_note_case"][$classe_id]==='1') {
4265
				if(($tab_modele_pdf["active_nombre_note_case"][$classe_id]==='1')&&($tab_modele_pdf["active_nombre_note"][$classe_id]!='1')) {
4266
					$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4267
					$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]);
4268
					$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]);
4269
					$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_nombre_note"][$classe_id];
4270
				}
4271

    
4272
				$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4273

    
4274
				$cpt_ordre = 0;
4275
				while ( !empty($ordre_moyenne[$cpt_ordre]) ) {
4276
					//eleve
4277
					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' ) {
4278
						$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4279
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',10);
4280
						$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]);
4281

    
4282
						// On a deux param?tres de couleur qui se croisent. On utilise une variable tierce.
4283
						$utilise_couleur = $tab_modele_pdf["couleur_moy_general"][$classe_id];
4284
						if($tab_modele_pdf["active_reperage_eleve"][$classe_id]==='1') {
4285
							// Si on affiche une couleur sp?cifique pour les moyennes de l'?l?ve,
4286
							// on utilise cette couleur ici aussi, quoi qu'il arrive
4287
							$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]);
4288
							$utilise_couleur = 1;
4289
						}
4290

    
4291
						if(($tab_bull['moy_gen_eleve'][$i]=="")||($tab_bull['moy_gen_eleve'][$i]=="-")) {
4292
							$val_tmp="-";
4293
						}
4294
						else {
4295
							//$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]);
4296
							//$val_tmp=$tab_bull['moy_gen_eleve'][$i];
4297
							$val_tmp=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]);
4298
							/*
4299
							$tmp_fich=fopen("/tmp/test_moy_gen.txt","a+");
4300
							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");
4301

    
4302
							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");
4303

    
4304
							fclose($tmp_fich);
4305
							*/
4306
						}
4307

    
4308
						//$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);
4309
						$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);
4310

    
4311
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
4312
						$pdf->SetFillColor(0, 0, 0);
4313
						$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
4314
					}
4315

    
4316
					//classe
4317
					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' ) {
4318
						$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4319
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
4320
						$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]);
4321

    
4322
						/*
4323
						if( $total_coef_en_calcul != 0){
4324
							$moyenne_classe = $total_moyenne_classe_en_calcul / $total_coef_en_calcul;
4325
						}
4326
						else{
4327
							$moyenne_classe = '-';
4328
						}
4329
						*/
4330
						if(($tab_bull['moy_generale_classe']=="")||($tab_bull['moy_generale_classe']=="-")) {
4331
							$moyenne_classe = '-';
4332
						}
4333
						else{
4334
							$moyenne_classe = present_nombre(my_ereg_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]);
4335
						}
4336

    
4337
						if ( $moyenne_classe != '-' ) {
4338
							//$moyenne_classe=$tab_bull['moy_generale_classe'];
4339
							$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]);
4340
						} else {
4341
							$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]);
4342
						}
4343
						$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
4344
					}
4345

    
4346
					//min
4347
					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' ) {
4348
						$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4349
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
4350
						$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]);
4351

    
4352
						/*
4353
						if($total_coef_en_calcul != 0 and $tab_modele_pdf["affiche_moyenne_mini_general"][$classe_id] === '1' ){
4354
							$moyenne_min = $total_moyenne_min_en_calcul / $total_coef_en_calcul;
4355
						}
4356
						else{
4357
							$moyenne_min = '-';
4358
						}
4359
						*/
4360

    
4361
						if ($tab_bull['moy_min_classe']!='-') {
4362
							//$moyenne_min=$tab_moy_min_classe[$classe_id][$id_periode];
4363
							$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_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]);
4364
						} else {
4365
							$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]);
4366
						}
4367
						$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
4368
					}
4369

    
4370
					//max
4371
					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' ) {
4372
						$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4373
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
4374
						$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]);
4375

    
4376
						/*
4377
						if($total_coef_en_calcul != 0 and $tab_modele_pdf["affiche_moyenne_maxi_general"][$classe_id] === '1' ){
4378
							$moyenne_max = $total_moyenne_max_en_calcul / $total_coef_en_calcul;
4379
						} else {
4380
							$moyenne_max = '-';
4381
						}
4382
						*/
4383

    
4384
						if ($tab_bull['moy_max_classe']!='-') {
4385
							$moyenne_max=$tab_bull['moy_max_classe'];
4386
							$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_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]);
4387
						} else {
4388
							$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]);
4389
						}
4390
						$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
4391
					}
4392

    
4393
					// rang de l'?l?ve
4394
					if($tab_modele_pdf["active_rang"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'rang') {
4395
						$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4396
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
4397
						$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]);
4398
						if ($tab_bull['rang_classe'][$i]!= 0) {
4399
							$rang_a_afficher=$tab_bull['rang_classe'][$i].'/'.$tab_bull['eff_classe'];
4400
						} else {
4401
							$rang_a_afficher = "";
4402
						}
4403
						$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]);
4404
						$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_rang"][$classe_id];
4405
					}
4406

    
4407
					// graphique de niveau
4408
					if($tab_modele_pdf["active_graphique_niveau"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'niveau' ) {
4409
						$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4410
						$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]);
4411
						// placement de l'?l?ve dans le graphique de niveau
4412
						//if ($tab_bull['moy_gen_eleve'][$i]!="") {
4413
						if (($tab_bull['moy_gen_eleve'][$i]!="")&&($tab_bull['moy_gen_eleve'][$i]!="-")) {
4414
							/*
4415
							if ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']<5) { $place_eleve=5;}
4416
							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;}
4417
							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;}
4418
							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;}
4419
							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;}
4420
							if ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']>=15) { $place_eleve=0;}
4421
							*/
4422
							//$place_eleve=$tab_bull['place_eleve_classe'][$i];
4423
							$place_eleve=$tab_bull['place_eleve_classe'][$i]-1;
4424
						}
4425
						$data_grap_classe[0]=$tab_bull['quartile1_classe_gen'];
4426
						$data_grap_classe[1]=$tab_bull['quartile2_classe_gen'];
4427
						$data_grap_classe[2]=$tab_bull['quartile3_classe_gen'];
4428
						$data_grap_classe[3]=$tab_bull['quartile4_classe_gen'];
4429
						$data_grap_classe[4]=$tab_bull['quartile5_classe_gen'];
4430
						$data_grap_classe[5]=$tab_bull['quartile6_classe_gen'];
4431

    
4432
						if (array_sum($data_grap_classe) != 0) {
4433
							//$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);
4434
							$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);
4435
						}
4436
						$place_eleve=''; // on vide la variable
4437
						$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_niveau"][$classe_id];
4438
					}
4439
					//appr?ciation
4440
					if($tab_modele_pdf["active_appreciation"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'appreciation' ) {
4441
						$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4442
						$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]);
4443
						$pdf->Cell($largeur_appreciation, $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], '','TLRB',0,'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
4444
						$largeur_utilise = $largeur_utilise + $largeur_appreciation;
4445
					}
4446
					$cpt_ordre = $cpt_ordre + 1;
4447
				}
4448
				$largeur_utilise = 0;
4449
				// fin de boucle d'ordre
4450
				$pdf->SetFillColor(0, 0, 0);
4451
			}
4452

    
4453
			//================
4454
			// Ajout: J.Etheve
4455
			// *****------------------------------------ ajout moyenne g?n?rale non coefficient?e
4456
			if ($affiche_deux_moy_gen==1) {
4457
				// Ligne moyenne g?n?rale coefficient?e
4458
				//bas du tableau des note et app si les affichage des moyennes ne sont pas affich? le bas du tableau ne seras pas affich?
4459
				
4460
				if ( $tab_modele_pdf["active_moyenne"][$classe_id] === '1' and $tab_modele_pdf["active_moyenne_general"][$classe_id] === '1' ) {
4461
					$X_note_moy_app = $tab_modele_pdf["X_note_app"][$classe_id];
4462
					$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];
4463

    
4464
					// On a remont? d'une ligne la moyenne g?n?rale classique
4465
					$Y_note_moy_app-=$tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id];
4466

    
4467
					$pdf->SetXY($X_note_moy_app, $Y_note_moy_app);
4468
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
4469
					$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]);
4470
					$pdf->Cell($tab_modele_pdf["largeur_matiere"][$classe_id], $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], traite_accents_utf8("Moy.g?n.non coef."),1,0,'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
4471
					$largeur_utilise = $tab_modele_pdf["largeur_matiere"][$classe_id];
4472
	
4473
					// coefficient mati?re
4474
					if($tab_modele_pdf["active_coef_moyenne"][$classe_id]==='1') {
4475
						$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4476
						$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]);
4477

    
4478
						//$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]);
4479

    
4480
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
4481
						$info_tot_et_coef=$tab_bull['tot_points_eleve1'][$i]."/".$tab_bull['total_coef_eleve1'][$i];
4482
						$val = $pdf->GetStringWidth($info_tot_et_coef);
4483
						$taille_texte = $tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
4484
						$grandeur_texte='test';
4485
						$hauteur_tmp=10;
4486
						while($grandeur_texte!='ok') {
4487
							if($taille_texte<$val)
4488
							{
4489
								$hauteur_tmp=$hauteur_tmp-0.3;
4490
								$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',$hauteur_tmp);
4491
								$val = $pdf->GetStringWidth($info_tot_et_coef);
4492
							}
4493
							else {
4494
								$grandeur_texte='ok';
4495
							}
4496
						}
4497
						$grandeur_texte='test';
4498
	
4499
						$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]);
4500
	
4501
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
4502

    
4503

    
4504
						$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_coef_moyenne"][$classe_id];
4505
					}
4506
	
4507
					// nombre de note
4508
					// 20081118
4509
					//if($tab_modele_pdf["active_nombre_note_case"][$classe_id]==='1') {
4510
					if(($tab_modele_pdf["active_nombre_note_case"][$classe_id]==='1')&&($tab_modele_pdf["active_nombre_note"][$classe_id]!='1')) {
4511
						$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4512
						$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]);
4513
						$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]);
4514
						$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_nombre_note"][$classe_id];
4515
					}
4516
	
4517
					$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4518
	
4519
					$cpt_ordre = 0;
4520
					while ( !empty($ordre_moyenne[$cpt_ordre]) ) {
4521
						//eleve
4522
						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' ) {
4523
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4524
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',10);
4525
							$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]);
4526
	
4527
							// On a deux param?tres de couleur qui se croisent. On utilise une variable tierce.
4528
							$utilise_couleur = $tab_modele_pdf["couleur_moy_general"][$classe_id];
4529
							if($tab_modele_pdf["active_reperage_eleve"][$classe_id]==='1') {
4530
								// Si on affiche une couleur sp?cifique pour les moyennes de l'?l?ve,
4531
								// on utilise cette couleur ici aussi, quoi qu'il arrive
4532
								$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]);
4533
								$utilise_couleur = 1;
4534
							}
4535
	
4536
							if(($tab_bull['moy_gen_eleve_noncoef'][$i]=="")||($tab_bull['moy_gen_eleve_noncoef'][$i]=="-")) {
4537
								$val_tmp="-";
4538
							}
4539
							else {
4540
								//$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]);
4541
								//$val_tmp=$tab_bull['moy_gen_eleve'][$i];
4542
								$val_tmp=present_nombre(my_ereg_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]);
4543
								/*
4544
								$tmp_fich=fopen("/tmp/test_moy_gen.txt","a+");
4545
								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");
4546
	
4547
								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");
4548
	
4549
								fclose($tmp_fich);
4550
								*/
4551
							}
4552
	
4553
							//$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);
4554
							$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);
4555
	
4556
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
4557
							$pdf->SetFillColor(0, 0, 0);
4558
							$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
4559
						}
4560
	
4561
						//classe
4562
						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' ) {
4563
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4564
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
4565
							$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]);
4566
	
4567
							/*
4568
							if( $total_coef_en_calcul != 0){
4569
								$moyenne_classe = $total_moyenne_classe_en_calcul / $total_coef_en_calcul;
4570
							}
4571
							else{
4572
								$moyenne_classe = '-';
4573
							}
4574
							*/
4575
							if(($tab_bull['moy_generale_classe_noncoef']=="")||($tab_bull['moy_generale_classe_noncoef']=="-")) {
4576
								$moyenne_classe = '-';
4577
							}
4578
							else{
4579
								$moyenne_classe = present_nombre(my_ereg_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]);
4580
							}
4581
	
4582
							if ( $moyenne_classe != '-' ) {
4583
								//$moyenne_classe=$tab_bull['moy_generale_classe'];
4584
								$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]);
4585
							} else {
4586
								$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]);
4587
							}
4588
							$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
4589
						}
4590
	
4591
						//min
4592
						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' ) {
4593
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4594
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
4595
							$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]);
4596
	
4597
							/*
4598
							if($total_coef_en_calcul != 0 and $tab_modele_pdf["affiche_moyenne_mini_general"][$classe_id] === '1' ){
4599
								$moyenne_min = $total_moyenne_min_en_calcul / $total_coef_en_calcul;
4600
							}
4601
							else{
4602
								$moyenne_min = '-';
4603
							}
4604
							*/
4605
	
4606
							if ($tab_bull['moy_min_classe']!='-') {
4607
								//$moyenne_min=$tab_moy_min_classe[$classe_id][$id_periode];
4608
								$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_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]);
4609
							} else {
4610
								$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]);
4611
							}
4612
							$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
4613
						}
4614
	
4615
						//max
4616
						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' ) {
4617
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4618
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
4619
							$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]);
4620
	
4621
							/*
4622
							if($total_coef_en_calcul != 0 and $tab_modele_pdf["affiche_moyenne_maxi_general"][$classe_id] === '1' ){
4623
								$moyenne_max = $total_moyenne_max_en_calcul / $total_coef_en_calcul;
4624
							} else {
4625
								$moyenne_max = '-';
4626
							}
4627
							*/
4628
	
4629
							if ($tab_bull['moy_max_classe_noncoef']!='-') {
4630
								$moyenne_max=$tab_bull['moy_max_classe_noncoef'];
4631
								$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_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]);
4632
							} else {
4633
								$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]);
4634
							}
4635
							$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_d_une_moyenne"][$classe_id];
4636
						}
4637
	
4638
						// rang de l'?l?ve
4639
						if($tab_modele_pdf["active_rang"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'rang') {
4640
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4641
							$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
4642
							$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]);
4643
							if ($tab_bull['rang_classe'][$i]!= 0) {
4644
								$rang_a_afficher=$tab_bull['rang_classe'][$i].'/'.$tab_bull['eff_classe'];
4645
							} else {
4646
								$rang_a_afficher = "";
4647
							}
4648
							$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]);
4649
							$largeur_utilise = $largeur_utilise + $tab_modele_pdf["largeur_rang"][$classe_id];
4650
						}
4651
	
4652
						// graphique de niveau
4653
						if($tab_modele_pdf["active_graphique_niveau"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'niveau' ) {
4654
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4655
							$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]);
4656
							// placement de l'?l?ve dans le graphique de niveau
4657
							//if ($tab_bull['moy_gen_eleve'][$i]!="") {
4658
							if (($tab_bull['moy_gen_eleve'][$i]!="")&&($tab_bull['moy_gen_eleve'][$i]!="-")) {
4659
								/*
4660
								if ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']<5) { $place_eleve=5;}
4661
								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;}
4662
								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;}
4663
								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;}
4664
								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;}
4665
								if ($info_bulletin[$ident_eleve_aff][$id_periode]['moy_general_eleve']>=15) { $place_eleve=0;}
4666
								*/
4667
								//$place_eleve=$tab_bull['place_eleve_classe'][$i];
4668
								$place_eleve=$tab_bull['place_eleve_classe'][$i]-1;
4669
							}
4670
							$data_grap_classe[0]=$tab_bull['quartile1_classe_gen'];
4671
							$data_grap_classe[1]=$tab_bull['quartile2_classe_gen'];
4672
							$data_grap_classe[2]=$tab_bull['quartile3_classe_gen'];
4673
							$data_grap_classe[3]=$tab_bull['quartile4_classe_gen'];
4674
							$data_grap_classe[4]=$tab_bull['quartile5_classe_gen'];
4675
							$data_grap_classe[5]=$tab_bull['quartile6_classe_gen'];
4676
	
4677
							if (array_sum($data_grap_classe) != 0) {
4678
								//$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);
4679
								$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);
4680
							}
4681
							$place_eleve=''; // on vide la variable
4682
							$largeur_utilise = $largeur_utilise+$tab_modele_pdf["largeur_niveau"][$classe_id];
4683
						}
4684
						//appr?ciation
4685
						if($tab_modele_pdf["active_appreciation"][$classe_id]==='1' and $ordre_moyenne[$cpt_ordre] === 'appreciation' ) {
4686
							$pdf->SetXY($X_note_moy_app+$largeur_utilise, $Y_note_moy_app);
4687
							$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]);
4688
							$pdf->Cell($largeur_appreciation, $tab_modele_pdf["hauteur_entete_moyenne_general"][$classe_id], '','TLRB',0,'C', $tab_modele_pdf["couleur_moy_general"][$classe_id]);
4689
							$largeur_utilise = $largeur_utilise + $largeur_appreciation;
4690
						}
4691
						$cpt_ordre = $cpt_ordre + 1;
4692
					}
4693
					$largeur_utilise = 0;
4694
					// fin de boucle d'ordre
4695
					$pdf->SetFillColor(0, 0, 0);
4696
				}
4697
			}
4698
			// *****-------------------------------------fin moyenne g?n?rale non coefficient?e ---
4699
			//================
4700

    
4701

    
4702
			// =============== bloc absence ==================
4703
			if($tab_modele_pdf["active_bloc_absence"][$classe_id]==='1') {
4704
				$pdf->SetXY($tab_modele_pdf["X_absence"][$classe_id], $tab_modele_pdf["Y_absence"][$classe_id]);
4705
				$origine_Y_absence = $tab_modele_pdf["Y_absence"][$classe_id];
4706
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'I',8);
4707
				$info_absence='';
4708
				if($tab_bull['eleve'][$i]['eleve_absences'] != '?') {
4709
					if($tab_bull['eleve'][$i]['eleve_absences'] == '0')
4710
					{
4711
						$info_absence="<i>Aucune demi-journ?e d'absence</i>.";
4712
					} else {
4713
						$info_absence="<i>Nombre de demi-journ?es d'absence ";
4714
						if ($tab_bull['eleve'][$i]['eleve_nj'] == '0' or $tab_bull['eleve'][$i]['eleve_nj'] == '?') {
4715
							$info_absence = $info_absence."justifi?es ";
4716
						}
4717
						$info_absence = $info_absence.": </i><b>".$tab_bull['eleve'][$i]['eleve_absences']."</b>";
4718
						if ($tab_bull['eleve'][$i]['eleve_nj'] != '0' and $tab_bull['eleve'][$i]['eleve_nj'] != '?')
4719
						{
4720
							$info_absence = $info_absence." (dont <b>".$tab_bull['eleve'][$i]['eleve_nj']."</b> non justifi?e";
4721
							if ($tab_bull['eleve'][$i]['eleve_nj'] != '1') { $info_absence = $info_absence."s"; }
4722
							$info_absence = $info_absence.")";
4723
						}
4724
						// Mise en commentaires de la ligne suivante :
4725
						//$info_absence = $info_absence.". ";
4726
					}
4727
				}
4728

    
4729
				// AJOUT Martial LENZEN :
4730
				$pdf->MultiCellTag(200, 3, traite_accents_utf8($info_absence), '', 'J', '');
4731

    
4732

    
4733
				if($tab_bull['eleve'][$i]['eleve_retards'] != '0' and $tab_bull['eleve'][$i]['eleve_retards'] != '?')
4734
				{	
4735
					// Mise en commentaire de la ligne suivante :
4736
					//$info_absence = $info_absence."<i> Nombre de retards : </i><b>".$tab_bull['eleve'][$i]['eleve_retards']."</b>";
4737
					$info_absence = "<i>Nombre de retards : </i><b>".$tab_bull['eleve'][$i]['eleve_retards']." </b>";
4738
				}
4739
				// AJOUT Martial LENZEN
4740
				else     $info_absence = '';
4741

    
4742
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
4743

    
4744
				$info_absence = $info_absence."(C.P.E. charg?";
4745
				if($tab_bull['eleve'][$i]['cperesp_civilite']!="M.") {
4746
					$info_absence = $info_absence."e";
4747
				}
4748
				/*
4749
				$sql="SELECT civilite FROM utilisateurs WHERE login='".$cperesp_login[$i]."'";
4750
				$res_civi=mysql_query($sql);
4751
				if(mysql_num_rows($res_civi)>0){
4752
					$lig_civi=mysql_fetch_object($res_civi);
4753
					if($lig_civi->civilite!="M."){
4754
						$info_absence = $info_absence."e";
4755
					}
4756
				}
4757
				*/
4758

    
4759
				$info_absence = $info_absence." du suivi : <i>".affiche_utilisateur($tab_bull['eleve'][$i]['cperesp_login'],$tab_bull['id_classe'])."</i>)";
4760
				//$pdf->MultiCellTag(200, 5, $info_absence, '', 'J', '');
4761
				// AJOUT Martial LENZEN : 100 ? la place de 200 ? la fin de la 2?me ligne suivante :
4762
				$pdf->SetXY($tab_modele_pdf["X_absence"][$classe_id], $tab_modele_pdf["Y_absence"][$classe_id]+3);
4763
				$pdf->MultiCellTag(200, 3, traite_accents_utf8($info_absence), '', 'J', '');
4764

    
4765
				//=========================
4766
				// MODIF: boireaus 20081220
4767
				// D?sactivation de ce qui provoquait un d?calage progressif du bloc Avis du conseil,...
4768
				//if ( isset($Y_avis_cons_init) ) { $tab_modele_pdf["Y_avis_cons"][$classe_id] = $Y_avis_cons_init; }
4769
				//if ( isset($Y_sign_chef_init) ) { $tab_modele_pdf["Y_sign_chef"][$classe_id] = $Y_sign_chef_init; }
4770
				//=========================
4771
				// 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
4772
				//if ( !isset($Y_avis_cons_init) ) { $Y_avis_cons_init = $tab_modele_pdf["Y_avis_cons"][$classe_id] + 0.5; }
4773
				//if ( !isset($Y_sign_chef_init) ) { $Y_sign_chef_init = $tab_modele_pdf["Y_sign_chef"][$classe_id] + 0.5; }
4774
				$Y_avis_cons_init = $tab_modele_pdf["Y_avis_cons"][$classe_id] + 0.5;
4775
				$Y_sign_chef_init = $tab_modele_pdf["Y_sign_chef"][$classe_id] + 0.5;
4776

    
4777
				//=========================
4778
				// MODIF: boireaus 20081220
4779
				// D?sactivation de ce qui provoquait une r?duction progressive de la hauteur du bloc Avis du conseil,...
4780
				//if ( isset($hauteur_avis_cons_init) ) { $tab_modele_pdf["hauteur_avis_cons"][$classe_id] = $hauteur_avis_cons_init; }
4781
				//if ( isset($hauteur_sign_chef_init) ) { $tab_modele_pdf["hauteur_sign_chef"][$classe_id] = $hauteur_sign_chef_init; }
4782
				//=========================
4783
				//if ( !isset($hauteur_avis_cons_init) ) { $hauteur_avis_cons_init = $tab_modele_pdf["hauteur_avis_cons"][$classe_id] - 0.5; }
4784
				//if ( !isset($hauteur_sign_chef_init) ) { $hauteur_sign_chef_init = $tab_modele_pdf["hauteur_sign_chef"][$classe_id] - 0.5; }
4785
				$hauteur_avis_cons_init = $tab_modele_pdf["hauteur_avis_cons"][$classe_id] - 0.5;
4786
				$hauteur_sign_chef_init = $tab_modele_pdf["hauteur_sign_chef"][$classe_id] - 0.5;
4787

    
4788
$hauteur_pris_app_abs=0;
4789

    
4790
				if($tab_bull['eleve'][$i]['appreciation_absences'] != "")
4791
				{
4792
					// supprimer les espaces
4793
					$text_absences_appreciation = trim(str_replace(array("\r\n","\r","\n"), ' ', unhtmlentities($tab_bull['eleve'][$i]['appreciation_absences'])));
4794
					$info_absence_appreciation = "<i>Avis CPE :</i> <b>".$text_absences_appreciation."</b>";
4795
					$text_absences_appreciation = '';
4796
		// AJOUT Martial LENZEN : 8 ? la place de 4 ? la fin de la ligne suivante :
4797
					$pdf->SetXY($tab_modele_pdf["X_absence"][$classe_id], $tab_modele_pdf["Y_absence"][$classe_id]+8);
4798
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',8);
4799
		// AJOUT Martial LENZEN : 100 ? la place de 200 ? la fin de la ligne suivante :
4800
					$pdf->MultiCellTag(100, 3, traite_accents_utf8($info_absence_appreciation), '', 'J', '');
4801
					$val = $pdf->GetStringWidth($info_absence_appreciation);
4802
					// nombre de lignes que prend la remarque cpe
4803
					//Arrondi ? l'entier sup?rieur : ceil()
4804
					$nb_ligne = 1;
4805
					$nb_ligne = ceil($val / 200);
4806
					$hauteur_pris = $nb_ligne * 3;
4807

    
4808
$hauteur_pris_app_abs=$hauteur_pris;
4809

    
4810
					//$tab_modele_pdf["Y_avis_cons"][$classe_id] = $tab_modele_pdf["Y_avis_cons"][$classe_id] + $hauteur_pris;
4811
					$Y_avis_cons_init=$Y_avis_cons_init+$hauteur_pris;
4812

    
4813
					//$tab_modele_pdf["hauteur_avis_cons"][$classe_id] = $tab_modele_pdf["hauteur_avis_cons"][$classe_id] - ( $hauteur_pris + 0.5 );
4814
					$hauteur_avis_cons_init=$hauteur_avis_cons_init - ( $hauteur_pris + 0.5 );
4815

    
4816
					//$tab_modele_pdf["Y_sign_chef"][$classe_id] = $tab_modele_pdf["Y_sign_chef"][$classe_id] + $hauteur_pris;
4817
					$Y_sign_chef_init=$Y_sign_chef_init+$hauteur_pris;
4818

    
4819
					//$tab_modele_pdf["hauteur_sign_chef"][$classe_id] = $tab_modele_pdf["hauteur_sign_chef"][$classe_id] - ( $hauteur_pris + 0.5 );
4820
					$hauteur_sign_chef_init=$hauteur_sign_chef_init - ( $hauteur_pris + 0.5 );
4821

    
4822
					$hauteur_pris = 0;
4823
				}
4824
				else {
4825
					if($Y_avis_cons_init!=$tab_modele_pdf["Y_avis_cons"][$classe_id])
4826
					{
4827
						//$tab_modele_pdf["Y_avis_cons"][$classe_id] = $tab_modele_pdf["Y_avis_cons"][$classe_id] - $hauteur_pris;
4828
						$Y_avis_cons_init=$Y_avis_cons_init-$hauteur_pris;
4829

    
4830
						//$tab_modele_pdf["hauteur_avis_cons"][$classe_id] = $tab_modele_pdf["hauteur_avis_cons"][$classe_id] + $hauteur_pris;
4831
						$hauteur_avis_cons_init=$hauteur_avis_cons_init + $hauteur_pris;
4832

    
4833
						//$tab_modele_pdf["Y_sign_chef"][$classe_id] = $tab_modele_pdf["Y_sign_chef"][$classe_id] - $hauteur_pris;
4834
						$Y_sign_chef_init=$Y_sign_chef_init-$hauteur_pris;
4835

    
4836
						//$tab_modele_pdf["hauteur_sign_chef"][$classe_id] = $tab_modele_pdf["hauteur_sign_chef"][$classe_id] + $hauteur_pris;
4837
						$hauteur_sign_chef_init=$hauteur_sign_chef_init + $hauteur_pris;
4838

    
4839
						$hauteur_pris = 0;
4840
					}
4841
				}
4842
				$info_absence = '';
4843
				$info_absence_appreciation = '';
4844
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
4845
			}
4846

    
4847
			// sinon, si le bloc absence n'est pas activ?
4848
			if($tab_modele_pdf["active_bloc_absence"][$classe_id] != '1') {
4849
				//=========================
4850
				// MODIF: boireaus 20081220
4851
				// D?sactivation de ce qui provoquait un d?calage progressif du bloc Avis du conseil,...
4852
				//if ( isset($Y_avis_cons_init) ) { $tab_modele_pdf["Y_avis_cons"][$classe_id] = $Y_avis_cons_init; }
4853
				//if ( isset($Y_sign_chef_init) ) { $tab_modele_pdf["Y_sign_chef"][$classe_id] = $Y_sign_chef_init; }
4854
				//=========================
4855
				//if ( !isset($Y_avis_cons_init) ) { $Y_avis_cons_init = $tab_modele_pdf["Y_avis_cons"][$classe_id]; }
4856
				//if ( !isset($Y_sign_chef_init) ) { $Y_sign_chef_init = $tab_modele_pdf["Y_sign_chef"][$classe_id]; }
4857
				$Y_avis_cons_init = $tab_modele_pdf["Y_avis_cons"][$classe_id];
4858
				$Y_sign_chef_init = $tab_modele_pdf["Y_sign_chef"][$classe_id];
4859

    
4860
				$hauteur_avis_cons_init = $tab_modele_pdf["hauteur_avis_cons"][$classe_id] - 0.5;
4861
				$hauteur_sign_chef_init = $tab_modele_pdf["hauteur_sign_chef"][$classe_id] - 0.5;
4862
			}
4863
			// fin   
4864

    
4865
			//=========================
4866
			// MODIF: boireaus 20081220
4867
			/*
4868
			if($Y_avis_cons_init!=$tab_modele_pdf["Y_avis_cons"][$classe_id]) {
4869
				$Y_avis_cons[$classe_id] = $tab_modele_pdf["Y_avis_cons"][$classe_id] + 0.5;
4870
				$Y_sign_chef[$classe_id] = $tab_modele_pdf["Y_sign_chef"][$classe_id] + 0.5;
4871
			}
4872
			*/
4873
			//=========================
4874

    
4875
			// ================ bloc avis du conseil de classe =================
4876
			if($tab_modele_pdf["active_bloc_avis_conseil"][$classe_id]==='1') {
4877
				if($tab_modele_pdf["cadre_avis_cons"][$classe_id]!=0) {
4878
					//$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');
4879
					$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');
4880
				}
4881
				//$pdf->SetXY($tab_modele_pdf["X_avis_cons"][$classe_id],$tab_modele_pdf["Y_avis_cons"][$classe_id]);
4882
				$pdf->SetXY($tab_modele_pdf["X_avis_cons"][$classe_id],$Y_avis_cons_init);
4883

    
4884
				if ( $tab_modele_pdf["taille_titre_bloc_avis_conseil"][$classe_id] != '' and $tab_modele_pdf["taille_titre_bloc_avis_conseil"][$classe_id] < '15' ) {
4885
					$taille = $tab_modele_pdf["taille_titre_bloc_avis_conseil"][$classe_id];
4886
				} else {
4887
					$taille = '10';
4888
				}
4889
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'I',$taille);
4890
				if ( $tab_modele_pdf["titre_bloc_avis_conseil"][$classe_id] != '' ) {
4891
					$tt_avis = $tab_modele_pdf["titre_bloc_avis_conseil"][$classe_id];
4892
				} else {
4893
					$tt_avis = 'Avis du Conseil de classe:';
4894
				}
4895
				$pdf->Cell($tab_modele_pdf["longeur_avis_cons"][$classe_id],5, $tt_avis,0,2,'');
4896

    
4897
				//$pdf->SetXY($tab_modele_pdf["X_avis_cons"][$classe_id]+2.5,$tab_modele_pdf["Y_avis_cons"][$classe_id]+5);
4898
				$pdf->SetXY($tab_modele_pdf["X_avis_cons"][$classe_id]+2.5,$Y_avis_cons_init+5);
4899

    
4900
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
4901
				$texteavis = $tab_bull['avis'][$i];
4902
// ***** AJOUT POUR LES MENTIONS *****
4903
                                $textmention = $tab_bull['mention'][$i];
4904
// ***** FIN DE L'AJOUT POUR LES MENTIONS *****
4905

    
4906

    
4907
				//$pdf->drawTextBox(traite_accents_utf8($texteavis), $tab_modele_pdf["longeur_avis_cons"][$classe_id]-5, $tab_modele_pdf["hauteur_avis_cons"][$classe_id]-10, 'J', 'M', 0);
4908

    
4909
// **** ATTENTION, dans la ligne du "if" et la variable $largeur_dispo du "else", la valeur "5" a ?t? modifi?e en "40" pour pouvoir accueillir les mentions !!!
4910
				if($use_cell_ajustee=="n") {
4911
					$pdf->drawTextBox(traite_accents_utf8($texteavis), $tab_modele_pdf["longeur_avis_cons"][$classe_id]-40, $hauteur_avis_cons_init-10, 'J', 'M', 0);
4912
				}
4913
				else {
4914
					$texte=$texteavis;
4915
					$taille_max_police=10;
4916
					$taille_min_police=ceil($taille_max_police/3);
4917

    
4918
					$largeur_dispo=$tab_modele_pdf["longeur_avis_cons"][$classe_id]-40;
4919
					$h_cell=$hauteur_avis_cons_init-10;
4920

    
4921
					cell_ajustee(traite_accents_utf8($texte),$pdf->GetX(),$pdf->GetY(),$largeur_dispo,$h_cell,$taille_max_police,$taille_min_police,'');
4922
				}
4923

    
4924
				//=========================
4925
				// MODIF: boireaus 20081220
4926
				// DEBUG:
4927
				//$pdf->drawTextBox(traite_accents_utf8($texteavis." \$Y_avis_cons_init=".$Y_avis_cons_init." \$tab_modele_pdf[\"hauteur_avis_cons\"][$classe_id]=".$tab_modele_pdf["hauteur_avis_cons"][$classe_id]." \$hauteur_pris_app_abs=".$hauteur_pris_app_abs), $tab_modele_pdf["longeur_avis_cons"][$classe_id]-5, $tab_modele_pdf["hauteur_avis_cons"][$classe_id]-10, 'J', 'M', 0);
4928
				//=========================
4929
				$X_pp_aff=$tab_modele_pdf["X_avis_cons"][$classe_id];
4930

    
4931
				//$Y_pp_aff=$tab_modele_pdf["Y_avis_cons"][$classe_id]+$tab_modele_pdf["hauteur_avis_cons"][$classe_id]-5;
4932
				$Y_pp_aff=$Y_avis_cons_init+$hauteur_avis_cons_init-5;
4933

    
4934
				$pdf->SetXY($X_pp_aff,$Y_pp_aff);
4935
				if ( $tab_modele_pdf["taille_profprincipal_bloc_avis_conseil"][$classe_id] != '' and $tab_modele_pdf["taille_profprincipal_bloc_avis_conseil"][$classe_id] < '15' ) {
4936
					$taille = $tab_modele_pdf["taille_profprincipal_bloc_avis_conseil"][$classe_id];
4937
				} else {
4938
					$taille = '10';
4939
				}
4940
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'I',$taille);
4941
				// Le nom du professeur principal
4942
				$pp_classe[$i]="";
4943
				//if(isset($tab_bull['eleve'][$i]['pp']['login'])) {
4944
				if(isset($tab_bull['eleve'][$i]['pp'][0]['login'])) {
4945
					$pp_classe[$i]="<b>".ucfirst($gepi_prof_suivi)."</b> ";
4946
					$pp_classe[$i].="<i>".affiche_utilisateur($tab_bull['eleve'][$i]['pp'][0]['login'],$tab_bull['eleve'][$i]['id_classe'])."</i>";
4947
					for($i_pp=1;$i_pp<count($tab_bull['eleve'][$i]['pp']);$i_pp++) {
4948
						$pp_classe[$i].=", ";
4949
						$pp_classe[$i].="<i>".affiche_utilisateur($tab_bull['eleve'][$i]['pp']['login'],$tab_bull['eleve'][$i]['id_classe'])."</i>";
4950
					}
4951
				}
4952
				else {
4953
					$pp_classe[$i]="";
4954
				}
4955
				$pdf->MultiCellTag(200, 5, traite_accents_utf8($pp_classe[$i]), '', 'J', '');
4956

    
4957
// ***** AJOUT POUR LES MENTIONS *****
4958
         // Essai pour ajouter un bloc renseignant les mentions du CC
4959
         // A COMPLETER...
4960
		     $pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',9);
4961
         $X_pp_aff=$tab_modele_pdf["X_avis_cons"][$classe_id]+$tab_modele_pdf["longeur_avis_cons"][$classe_id]-35;
4962
		     $Y_pp_aff=$tab_modele_pdf["Y_avis_cons"][$classe_id]+5;
4963
		     $pdf->SetXY($X_pp_aff,$Y_pp_aff);
4964
		     $pdf->Cell(35,4, 'F?licitations      ',0,2,'R');
4965
		     $pdf->Cell(35,4, 'Mention honorable      ',0,2,'R');
4966
		     $pdf->Cell(35,4, 'Encouragements      ',0,2,'R');
4967

    
4968
		     $pdf->Rect($X_pp_aff+30, $Y_pp_aff+0.3, 2.4, 3);
4969
		     $pdf->Rect($X_pp_aff+30, $Y_pp_aff+4.3, 2.4, 3);
4970
		     $pdf->Rect($X_pp_aff+30, $Y_pp_aff+8.3, 2.4, 3);
4971
		     $pdf->Rect($X_pp_aff, $Y_pp_aff+0.1, 0.01, 12);
4972

    
4973
		     // Si f?licitations (? modifier...)
4974
		     if($textmention=="F")
4975
         {  $pdf->SetXY($X_pp_aff-1.73,$Y_pp_aff);
4976
		        $pdf->Cell(35,4, 'X',0,2,'R');
4977
         }
4978
		     // Si mention honorable (? modifier...)
4979
		     if($textmention=="M")
4980
		     {  $pdf->SetXY($X_pp_aff-1.73,$Y_pp_aff+4);
4981
		        $pdf->Cell(35,4, 'X',0,2,'R');
4982
         }
4983
		     // Si encouragements (? modifier...)
4984
		     if($textmention=="E")
4985
		     {  $pdf->SetXY($X_pp_aff-1.73,$Y_pp_aff+8);
4986
		        $pdf->Cell(35,4, 'X',0,2,'R');
4987
		     }
4988
         // Fin de l'essai
4989
// ***** FIN DE L'AJOUT POUR LES MENTIONS *****
4990

    
4991
			}
4992

    
4993

    
4994
			// ======================= bloc du pr?sident du conseil de classe ================
4995
			if( $tab_modele_pdf["active_bloc_chef"][$classe_id] === '1' ) {
4996
				if( $tab_modele_pdf["cadre_sign_chef"][$classe_id] != 0 ) {
4997
					//$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');
4998
					$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');
4999
				}
5000
				//$pdf->SetXY($tab_modele_pdf["X_sign_chef"][$classe_id],$tab_modele_pdf["Y_sign_chef"][$classe_id]);
5001
				$pdf->SetXY($tab_modele_pdf["X_sign_chef"][$classe_id],$Y_sign_chef_init);
5002

    
5003
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'',10);
5004
				if( $tab_modele_pdf["affichage_haut_responsable"][$classe_id] === '1' ) {
5005
					if ( $tab_modele_pdf["affiche_fonction_chef"][$classe_id] === '1' ){
5006
						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' ) {
5007
							$taille = $tab_modele_pdf["taille_texte_fonction_chef"][$classe_id];
5008
						} else {
5009
							$taille = '10';
5010
						}
5011
						$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',$taille);
5012
						$pdf->Cell($tab_modele_pdf["longeur_sign_chef"][$classe_id],5, traite_accents_utf8($tab_bull['formule']),0,2,'');
5013
					}
5014
					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' ) {
5015
						$taille = $tab_modele_pdf["taille_texte_identitee_chef"][$classe_id];
5016
					} else {
5017
						$taille_avis = '8';
5018
					}
5019
					$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'I',$taille);
5020
					$pdf->Cell($tab_modele_pdf["longeur_sign_chef"][$classe_id],5, traite_accents_utf8($tab_bull['suivi_par']),0,2,'');
5021
				} else {
5022
					//$pdf->MultiCell($longeur_sign_chef[$classe_id],5, "Visa du Chef d'?tablissement\nou de son d?l?gu?",0,2,'');
5023
					$pdf->MultiCell($tab_modele_pdf["longeur_sign_chef"][$classe_id],5, traite_accents_utf8("Visa du Chef d'?tablissement\nou de son d?l?gu?"),0,2,'');
5024
				}
5025
			}
5026
			
5027
			// ***** AJOUT POUR LES NIVEAUX *****  $tab_modele_pdf["active_graphique_niveau"][$classe_id]==='1'
5028
        if($tab_modele_pdf["active_graphique_niveau"][$classe_id]=='1') {
5029
               $pdf->SetXY(5,$tab_modele_pdf["Y_avis_cons"][$classe_id]+$tab_modele_pdf["hauteur_avis_cons"][$classe_id]);
5030
               $pdf->Cell(($tab_modele_pdf["longeur_avis_cons"][$classe_id]-117.6)/2);
5031
               $pdf->SetFont('Arial', '','8');
5032
               $pdf->Cell(16.2,5,'* Niveau :  0 ',0,0,'');        // 16.2
5033
               $pdf->SetFont('Symbol', '','8');
5034
               $pdf->Cell(2,5,chr(163),0,0,'');                   // 16.2 + 2 = 18.2
5035
               $pdf->SetFont('Arial', '','8');
5036
               $pdf->Cell(12.5,5,' E < 5 ; 5 ',0,0,'');           // 18.2 + 12.5 = 30.7
5037
               $pdf->SetFont('Symbol', '','8');
5038
               $pdf->Cell(2,5,chr(163),0,0,'');                   // 30.7 + 2 = 32.7
5039
               $pdf->SetFont('Arial', '','8');
5040
               $pdf->Cell(12.5,5,' D < 8 ; 8 ',0,0,'');           // 32.7 + 12.5 = 45.2
5041
               $pdf->SetFont('Symbol', '','8');
5042
               $pdf->Cell(2,5,chr(163),0,0,'');                   // 45.2 + 2 = 47.2
5043
               $pdf->SetFont('Arial', '','8');
5044
               $pdf->Cell(16.9,5,' C- < 10 ; 10 ',0,0,'');        // 47.2 + 16.9 = 64.1
5045
               $pdf->SetFont('Symbol', '','8');
5046
               $pdf->Cell(2,5,chr(163),0,0,'');                   // 64.1 + 2 = 66.1
5047
               $pdf->SetFont('Arial', '','8');
5048
               $pdf->Cell(17.7,5,' C+ < 12 ; 12 ',0,0,'');        // 66.1 + 17.7 = 83.8
5049
               $pdf->SetFont('Symbol', '','8');
5050
               $pdf->Cell(2,5,chr(163),0,0,'');                   // 83.8 + 2 = 85.8
5051
               $pdf->SetFont('Arial', '','8');
5052
               $pdf->Cell(16.1,5,' B < 15 ; 15 ',0,0,'');         // 85.8 + 16.1 = 101.9
5053
               $pdf->SetFont('Symbol', '','8');
5054
               $pdf->Cell(2,5,chr(163),0,0,'');                   // 101.9 + 2 = 103.9
5055
               $pdf->SetFont('Arial', '','8');
5056
               $pdf->Cell(9.7,5,' A < 20.',0,0,'');               // 103.9 + 9.7 = 113.6
5057
        }
5058
// ***** FIN DE L'AJOUT POUR LES NIVEAUX *****
5059

    
5060

    
5061
		}
5062

    
5063
		// Insertion du relev? de notes si r?clam?:
5064
		/*
5065
		if(count($tab_rel)!=0) {
5066
			releve_pdf($tab_rel,$i);
5067
		}
5068
		*/
5069
		if(count($tab_rel)!=0) {
5070
			$temoin_releve_trouve='n';
5071
			if(isset($tab_rel['eleve'])) {
5072
				//echo "\$tab_bull['eleve'][$i]['login']=".$tab_bull['eleve'][$i]['login']."<br />";
5073
				//for($k=0;$k<count($tab_rel['eleve']);$k++) {
5074
				//for($k=0;$k<$tab_bull['eff_total_classe'];$k++) {
5075
				for($k=0;$k<count($tab_rel['eleve']);$k++) {
5076
					//echo "\$tab_rel['eleve'][$k]['login']=".$tab_rel['eleve'][$k]['login']."<br />";
5077
					if(isset($tab_rel['eleve'][$k]['login'])) {
5078
						if($tab_rel['eleve'][$k]['login']==$tab_bull['eleve'][$i]['login']) {
5079
							releve_pdf($tab_rel,$k);
5080
							$temoin_releve_trouve='y';
5081
							break;
5082
						}
5083
					}
5084
				}
5085
			}
5086
			/*
5087
			else {
5088
				echo "<p style='color:red;'>Il semble que le tableau des relev?s de notes soit vide.</p>\n";
5089
			}
5090
			*/
5091

    
5092
			if($temoin_releve_trouve=='n') {
5093
				$pdf->AddPage("P");
5094
				$pdf->SetFontSize(10);
5095
				$pdf->SetXY(20,20);
5096
				$pdf->SetFont($tab_modele_pdf["caractere_utilse"][$classe_id],'B',14);
5097
				$pdf->Cell(90,7,"Relev? de notes non trouv? pour ".strtoupper($tab_bull['eleve'][$i]['nom'])." ".ucfirst($tab_bull['eleve'][$i]['prenom']),0,2,'');
5098

    
5099
			}
5100
		}
5101

    
5102
	}
5103
}
5104

    
5105

    
5106
function releve_pdf_20090429($tab_rel,$i) {
5107
	global $annee_scolaire,
5108
		$gepi_prof_suivi,
5109

    
5110
		$RneEtablissement,
5111
		$gepiSchoolName,
5112
		$gepiSchoolAdress1,
5113
		$gepiSchoolAdress2,
5114
		$gepiSchoolZipCode,
5115
		$gepiSchoolCity,
5116
		$gepiSchoolPays,
5117
		$gepiSchoolTel,
5118
		$gepiSchoolFax,
5119
		$gepiYear,
5120

    
5121
		$logo_etab,
5122

    
5123
		$un_seul_bull_par_famille,
5124

    
5125
		$X_cadre_eleve,
5126
		$cadre_titre,
5127

    
5128
		$X_entete_etab,
5129
		$caractere_utilse,
5130
		$affiche_logo_etab,
5131
		$entente_mel,
5132
		$entente_tel,
5133
		$entente_fax,
5134
		$L_max_logo,
5135
		$H_max_logo,
5136

    
5137
		$active_bloc_adresse_parent,
5138
		$X_parent,
5139
		$Y_parent,
5140

    
5141
		$annee_scolaire,
5142
		$X_cadre_eleve,
5143

    
5144
		$titre_du_cadre,
5145
		$largeur_cadre_matiere,
5146
		$texte_observation,
5147
		$cadre_titre,
5148
		$largeur_cadre_note_global,
5149
		$hauteur_dun_regroupement,
5150

    
5151
		$hauteur_du_titre,
5152
		$largeur_cadre_note,
5153
		$X_cadre_note,
5154
		$hauteur_cachet,
5155

    
5156
		// Param?tres du mod?le PDF
5157
		$tab_modele_pdf,
5158

    
5159
		// Objet PDF initi? hors de la pr?sente fonction donnant la page du bulletin pour un ?l?ve
5160
		$pdf;
5161

    
5162

    
5163
	$id_classe=$tab_rel['id_classe'];
5164
	$classe_id=$id_classe;
5165

    
5166
	// Pr?paration des lignes d'adresse
5167

    
5168
	// Initialisation:
5169
	for($loop=0;$loop<=1;$loop++) {
5170
		$tab_adr_ligne1[$loop]="";
5171
		$tab_adr_ligne2[$loop]="";
5172
		$tab_adr_ligne3[$loop]="";
5173
		$tab_adr_ligne4[$loop]="";
5174
		$tab_adr_ligne5[$loop]="";
5175
		$tab_adr_ligne6[$loop]="";
5176
	}
5177

    
5178
	// ON N'UTILISE PAS LE CHAMP adr4 DE L'ADRESSE DANS resp_adr
5179
	// IL FAUDRA VOIR COMMENT LE RECUPERER
5180

    
5181
	if (!isset($tab_rel['eleve'][$i]['resp'][0])) {
5182
		//$tab_adr_ligne1[0]="<font color='red'><b>ADRESSE MANQUANTE</b></font>";
5183
		$tab_adr_ligne1[0]="ADRESSE MANQUANTE";
5184
		$tab_adr_ligne2[0]="";
5185
		$tab_adr_ligne3[0]="";
5186
		$tab_adr_ligne4[0]="";
5187
		$tab_adr_ligne5[0]="";
5188
	}
5189
	else {
5190
		if (isset($tab_rel['eleve'][$i]['resp'][1])) {
5191
			if((isset($tab_rel['eleve'][$i]['resp'][1]['adr1']))&&
5192
				(isset($tab_rel['eleve'][$i]['resp'][1]['adr2']))&&
5193
				(isset($tab_rel['eleve'][$i]['resp'][1]['adr3']))&&
5194
				(isset($tab_rel['eleve'][$i]['resp'][1]['adr4']))&&
5195
				(isset($tab_rel['eleve'][$i]['resp'][1]['cp']))&&
5196
				(isset($tab_rel['eleve'][$i]['resp'][1]['commune']))
5197
			) {
5198
				// Le deuxi?me responsable existe et est renseign?
5199
				if (($tab_rel['eleve'][$i]['resp'][0]['adr_id']==$tab_rel['eleve'][$i]['resp'][1]['adr_id']) OR
5200
					(
5201
						($tab_rel['eleve'][$i]['resp'][0]['adr1']==$tab_rel['eleve'][$i]['resp'][1]['adr1'])&&
5202
						($tab_rel['eleve'][$i]['resp'][0]['adr2']==$tab_rel['eleve'][$i]['resp'][1]['adr2'])&&
5203
						($tab_rel['eleve'][$i]['resp'][0]['adr3']==$tab_rel['eleve'][$i]['resp'][1]['adr3'])&&
5204
						($tab_rel['eleve'][$i]['resp'][0]['adr4']==$tab_rel['eleve'][$i]['resp'][1]['adr4'])&&
5205
						($tab_rel['eleve'][$i]['resp'][0]['cp']==$tab_rel['eleve'][$i]['resp'][1]['cp'])&&
5206
						($tab_rel['eleve'][$i]['resp'][0]['commune']==$tab_rel['eleve'][$i]['resp'][1]['commune'])
5207
					)
5208
				) {
5209
					// Les adresses sont identiques
5210
					$nb_bulletins=1;
5211

    
5212
					if(($tab_rel['eleve'][$i]['resp'][0]['nom']!=$tab_rel['eleve'][$i]['resp'][1]['nom'])&&
5213
						($tab_rel['eleve'][$i]['resp'][1]['nom']!="")) {
5214
						// Les noms des responsables sont diff?rents
5215
						$tab_adr_ligne1[0]=$tab_rel['eleve'][$i]['resp'][0]['civilite']." ".$tab_rel['eleve'][$i]['resp'][0]['nom']." ".$tab_rel['eleve'][$i]['resp'][0]['prenom']." et ".$tab_rel['eleve'][$i]['resp'][1]['civilite']." ".$tab_rel['eleve'][$i]['resp'][1]['nom']." ".$tab_rel['eleve'][$i]['resp'][1]['prenom'];
5216

    
5217
						/*
5218
						$tab_adr_ligne1[0]=$tab_rel['eleve'][$i]['resp'][0]['civilite']." ".$tab_rel['eleve'][$i]['resp'][0]['nom']." ".$tab_rel['eleve'][$i]['resp'][0]['prenom'];
5219
						//$tab_adr_ligne1[0].=" et ";
5220
						$tab_adr_ligne1[0].="<br />\n";
5221
						$tab_adr_ligne1[0].="et ";
5222
						$tab_adr_ligne1[0].=$tab_rel['eleve'][$i]['resp'][1]['civilite']." ".$tab_rel['eleve'][$i]['resp'][1]['nom']." ".$tab_rel['eleve'][$i]['resp'][1]['prenom'];
5223
						*/
5224
					}
5225
					else{
5226
						if(($tab_rel['eleve'][$i]['resp'][0]['civilite']!="")&&($tab_rel['eleve'][$i]['resp'][1]['civilite']!="")) {
5227
							$tab_adr_ligne1[0]=$tab_rel['eleve'][$i]['resp'][0]['civilite']." et ".$tab_rel['eleve'][$i]['resp'][1]['civilite']." ".$tab_rel['eleve'][$i]['resp'][0]['nom']." ".$tab_rel['eleve'][$i]['resp'][0]['prenom'];
5228
						}
5229
						else {
5230
							$tab_adr_ligne1[0]="M. et Mme ".$tab_rel['eleve'][$i]['resp'][0]['nom']." ".$tab_rel['eleve'][$i]['resp'][0]['prenom'];
5231
						}
5232
					}
5233

    
5234
					$tab_adr_ligne2[0]=$tab_rel['eleve'][$i]['resp'][0]['adr1'];
5235
					if($tab_rel['eleve'][$i]['resp'][0]['adr2']!=""){
5236
						$tab_adr_ligne3[0]=$tab_rel['eleve'][$i]['resp'][0]['adr2'];
5237
					}
5238
					if($tab_rel['eleve'][$i]['resp'][0]['adr3']!=""){
5239
						$tab_adr_ligne4[0]=$tab_rel['eleve'][$i]['resp'][0]['adr3'];
5240
					}
5241
					//if($tab_rel['eleve'][$i]['resp'][0]['adr4']!=""){
5242
					//	$tab_adr_ligne2[0]=$tab_rel['eleve'][$i]['resp'][0]['adr4'];
5243
					//}
5244
					$tab_adr_ligne5[0]=$tab_rel['eleve'][$i]['resp'][0]['cp']." ".$tab_rel['eleve'][$i]['resp'][0]['commune'];
5245

    
5246

    
5247
					if(($tab_rel['eleve'][$i]['resp'][0]['pays']!="")&&(strtolower($tab_rel['eleve'][$i]['resp'][0]['pays'])!=strtolower($gepiSchoolPays))) {
5248
						$tab_adr_ligne6[0]=$tab_rel['eleve'][$i]['resp'][0]['pays'];
5249
					}
5250

    
5251
				}
5252
				else {
5253
					// Les adresses sont diff?rentes
5254
					//if ($un_seul_bull_par_famille!="oui") {
5255
					// On teste en plus si la deuxi?me adresse est valide
5256
					if (($un_seul_bull_par_famille!="oui")&&
5257
						($tab_rel['eleve'][$i]['resp'][1]['adr1']!="")&&
5258
						($tab_rel['eleve'][$i]['resp'][1]['commune']!="")
5259
					) {
5260
						$nb_bulletins=2;
5261
					}
5262
					else {
5263
						$nb_bulletins=1;
5264
					}
5265

    
5266
					for($cpt=0;$cpt<$nb_bulletins;$cpt++) {
5267
						if($tab_rel['eleve'][$i]['resp'][$cpt]['civilite']!="") {
5268
							$tab_adr_ligne1[$cpt]=$tab_rel['eleve'][$i]['resp'][$cpt]['civilite']." ".$tab_rel['eleve'][$i]['resp'][$cpt]['nom']." ".$tab_rel['eleve'][$i]['resp'][$cpt]['prenom'];
5269
						}
5270
						else {
5271
							$tab_adr_ligne1[$cpt]=$tab_rel['eleve'][$i]['resp'][$cpt]['nom']." ".$tab_rel['eleve'][$i]['resp'][$cpt]['prenom'];
5272
						}
5273

    
5274
						$tab_adr_ligne2[$cpt]=$tab_rel['eleve'][$i]['resp'][$cpt]['adr1'];
5275
						if($tab_rel['eleve'][$i]['resp'][$cpt]['adr2']!=""){
5276
							$tab_adr_ligne3[$cpt]=$tab_rel['eleve'][$i]['resp'][$cpt]['adr2'];
5277
						}
5278
						if($tab_rel['eleve'][$i]['resp'][$cpt]['adr3']!=""){
5279
							$tab_adr_ligne4[$cpt]=$tab_rel['eleve'][$i]['resp'][$cpt]['adr3'];
5280
						}
5281
						/*
5282
						if($tab_rel['eleve'][$i]['resp'][$cpt]['adr4']!=""){
5283
							$tab_adr_ligne2[$cpt].="<br />\n".$tab_rel['eleve'][$i]['resp'][$cpt]['adr4'];
5284
						}
5285
						*/
5286
						$tab_adr_ligne5[$cpt]=$tab_rel['eleve'][$i]['resp'][$cpt]['cp']." ".$tab_rel['eleve'][$i]['resp'][$cpt]['commune'];
5287

    
5288
						if(($tab_rel['eleve'][$i]['resp'][$cpt]['pays']!="")&&(strtolower($tab_rel['eleve'][$i]['resp'][$cpt]['pays'])!=strtolower($gepiSchoolPays))) {
5289
							$tab_adr_ligne6[$cpt]=$tab_rel['eleve'][$i]['resp'][$cpt]['pays'];
5290
						}
5291
					}
5292

    
5293
				}
5294
			}
5295
			else {
5296
				// Il n'y a pas de deuxi?me adresse, mais il y aurait un deuxi?me responsable???
5297
				// CA NE DEVRAIT PAS ARRIVER ETANT DONN? LA REQUETE EFFECTUEE QUI JOINT resp_pers ET resp_adr...
5298
				if ($un_seul_bull_par_famille!="oui") {
5299
					$nb_bulletins=2;
5300
				}
5301
				else {
5302
					$nb_bulletins=1;
5303
				}
5304

    
5305
				for($cpt=0;$cpt<$nb_bulletins;$cpt++) {
5306
					if($tab_rel['eleve'][$i]['resp'][$cpt]['civilite']!="") {
5307
						$tab_adr_ligne1[$cpt]=$tab_rel['eleve'][$i]['resp'][$cpt]['civilite']." ".$tab_rel['eleve'][$i]['resp'][$cpt]['nom']." ".$tab_rel['eleve'][$i]['resp'][$cpt]['prenom'];
5308
					}
5309
					else {
5310
						$tab_adr_ligne1[$cpt]=$tab_rel['eleve'][$i]['resp'][$cpt]['nom']." ".$tab_rel['eleve'][$i]['resp'][$cpt]['prenom'];
5311
					}
5312

    
5313
					$tab_adr_ligne2[$cpt]=$tab_rel['eleve'][$i]['resp'][$cpt]['adr1'];
5314
					if($tab_rel['eleve'][$i]['resp'][$cpt]['adr2']!=""){
5315
						$tab_adr_ligne3[$cpt]=$tab_rel['eleve'][$i]['resp'][$cpt]['adr2'];
5316
					}
5317
					if($tab_rel['eleve'][$i]['resp'][$cpt]['adr3']!=""){
5318
						$tab_adr_ligne4[$cpt]=$tab_rel['eleve'][$i]['resp'][$cpt]['adr3'];
5319
					}
5320
					/*
5321
					if($tab_rel['eleve'][$i]['resp'][$cpt]['adr4']!=""){
5322
						$tab_adr_ligne2[$cpt].="<br />\n".$tab_rel['eleve'][$i]['resp'][$cpt]['adr4'];
5323
					}
5324
					*/
5325
					$tab_adr_ligne5[$cpt]=$tab_rel['eleve'][$i]['resp'][$cpt]['cp']." ".$tab_rel['eleve'][$i]['resp'][$cpt]['commune'];
5326

    
5327
					if(($tab_rel['eleve'][$i]['resp'][$cpt]['pays']!="")&&(strtolower($tab_rel['eleve'][$i]['resp'][$cpt]['pays'])!=strtolower($gepiSchoolPays))) {
5328
						$tab_adr_ligne6[$cpt]=$tab_rel['eleve'][$i]['resp'][$cpt]['pays'];
5329
					}
5330
				}
5331
			}
5332
		}
5333
		else {
5334
			// Il n'y a pas de deuxi?me responsable
5335
			$nb_bulletins=1;
5336

    
5337
			if($tab_rel['eleve'][$i]['resp'][0]['civilite']!="") {
5338
				$tab_adr_ligne1[0]=$tab_rel['eleve'][$i]['resp'][0]['civilite']." ".$tab_rel['eleve'][$i]['resp'][0]['nom']." ".$tab_rel['eleve'][$i]['resp'][0]['prenom'];
5339
			}
5340
			else {
5341
				$tab_adr_ligne1[0]=$tab_rel['eleve'][$i]['resp'][0]['nom']." ".$tab_rel['eleve'][$i]['resp'][0]['prenom'];
5342
			}
5343

    
5344
			$tab_adr_ligne2[0]=$tab_rel['eleve'][$i]['resp'][0]['adr1'];
5345
			if($tab_rel['eleve'][$i]['resp'][0]['adr2']!=""){
5346
				$tab_adr_ligne3[0]=$tab_rel['eleve'][$i]['resp'][0]['adr2'];
5347
			}
5348
			if($tab_rel['eleve'][$i]['resp'][0]['adr3']!=""){
5349
				$tab_adr_ligne4[0]=$tab_rel['eleve'][$i]['resp'][0]['adr3'];
5350
			}
5351
			/*
5352
			if($tab_rel['eleve'][$i]['resp'][0]['adr4']!=""){
5353
				$tab_adr_ligne2[0].="<br />\n".$tab_rel['eleve'][$i]['resp'][0]['adr4'];
5354
			}
5355
			*/
5356
			$tab_adr_ligne5[0]=$tab_rel['eleve'][$i]['resp'][0]['cp']." ".$tab_rel['eleve'][$i]['resp'][0]['commune'];
5357

    
5358
			if(($tab_rel['eleve'][$i]['resp'][0]['pays']!="")&&(strtolower($tab_rel['eleve'][$i]['resp'][0]['pays'])!=strtolower($gepiSchoolPays))) {
5359
				$tab_adr_ligne6[0]=$tab_rel['eleve'][$i]['resp'][0]['pays'];
5360
			}
5361
		}
5362
	}
5363
	//=========================================
5364

    
5365

    
5366
	$pdf->AddPage("P");
5367
	$pdf->SetFontSize(10);
5368

    
5369
	/*
5370
	if($nb_releve_par_page === '1' and $active_bloc_adresse_parent != '1') { $hauteur_cadre_note_global = 250; }
5371
	if($nb_releve_par_page === '1' and $active_bloc_adresse_parent === '1') { $hauteur_cadre_note_global = 205; }
5372
	if($nb_releve_par_page === '2') { $hauteur_cadre_note_global = 102; }
5373
	*/
5374

    
5375
	// Pour un relev? en recto/verso avec le bulletin,
5376
	// il ne faut qu'un relev? par page, mais si on devait utiliser cette fonction
5377
	// pour remplacer un jour le dispositif relev? PDF, il faudrait revoir cela:
5378
	$nb_releve_par_page=1;
5379

    
5380

    
5381
	//$active_bloc_adresse_parent=0;
5382
	$active_bloc_adresse_parent=($tab_rel['rn_adr_resp']=='y') ? 1 : 0;
5383
	//$hauteur_cadre_note_global = 250;
5384
	if($active_bloc_adresse_parent!=1) { $hauteur_cadre_note_global = 250; }
5385
	if($active_bloc_adresse_parent==1) { $hauteur_cadre_note_global = 205; }
5386

    
5387
	// A FAIRE:
5388
	// Pour la hauteur, prendre en compte la saisie d'une formule $tab_rel['rn_formule'] (non vide)
5389
	// et le caract?re vide ou non de getSettingValue("bull_formule_bas")
5390

    
5391
	//$affiche_bloc_observation=1;
5392
	$affiche_bloc_observation=($tab_rel['rn_bloc_obs']=='y') ? 1 : 0;
5393

    
5394
	//$affiche_cachet_pp=1;
5395
	$affiche_cachet_pp=($tab_rel['rn_sign_pp']=='y') ? 1 : 0;
5396
	//$affiche_signature_parent=1;
5397
	$affiche_signature_parent=($tab_rel['rn_sign_resp']=='y') ? 1 : 0;
5398

    
5399
	if(($affiche_cachet_pp==1)||($affiche_signature_parent==1)) {$affiche_bloc_observation=1;}
5400

    
5401
	$texte_observation="Observations:";
5402

    
5403
	//$aff_classe_nom=1;
5404
	$aff_classe_nom=$tab_rel['rn_aff_classe_nom'];
5405

    
5406
	// BIZARRE:
5407
	$hauteur_cadre_matiere=20;
5408
	$classe_aff="NOM_CLASSE";
5409

    
5410
	$passage_i=1;
5411

    
5412
	// login de l'?l?ve
5413
	//$eleve_select=$login[$nb_eleves_i];
5414
	//$eleve_select=$tab_rel['eleve'][$i]['login'];
5415
	//if(isset($tab_rel['eleve'][$i]['login'])) {
5416
		$eleve_select=$tab_rel['eleve'][$i]['login'];
5417

    
5418
		/*
5419
		// diff?rente Y pour les pr?sentation sur 1 ou 2 par page avec ident parents
5420
		if($nb_releve_par_page=='1' and $passage_i == '1' and $active_bloc_adresse_parent!='1') { $Y_cadre_note = '32'; $Y_cadre_eleve = '5'; $Y_entete_etab='5'; }
5421
		if($nb_releve_par_page=='1' and $passage_i == '1' and $active_bloc_adresse_parent==='1') { $Y_cadre_note = '75'; $Y_cadre_eleve = '5'; $Y_entete_etab='5'; }
5422
		if($nb_releve_par_page=='2' and $passage_i == '1') { $Y_cadre_note = '32'; $Y_cadre_eleve = '5'; $Y_entete_etab='5'; }
5423
		if($nb_releve_par_page=='2' and $passage_i == '2') { $Y_cadre_note = $Y_cadre_note+145; $Y_cadre_eleve = $Y_cadre_eleve+145; $Y_entete_etab=$Y_entete_etab+145; }
5424
		*/
5425

    
5426
		/*
5427
		$Y_cadre_note = '32';
5428
		$Y_cadre_eleve = '5';
5429
		$Y_entete_etab='5';
5430
		*/
5431
		if($active_bloc_adresse_parent!='1') {
5432
			$Y_cadre_note = '32';
5433
			$Y_cadre_eleve = '5';
5434
			$Y_entete_etab='5';
5435
		}
5436
		else {
5437
			$Y_cadre_note = '75';
5438
			$Y_cadre_eleve = '5';
5439
			$Y_entete_etab='5';
5440
		}
5441

    
5442

    
5443
		//BLOC IDENTITE ELEVE
5444
		$pdf->SetXY($X_cadre_eleve,$Y_cadre_eleve);
5445
		$pdf->SetFont($caractere_utilse,'B',14);
5446
		$pdf->Cell(90,7,strtoupper($tab_rel['eleve'][$i]['nom'])." ".ucfirst($tab_rel['eleve'][$i]['prenom']),0,2,'');
5447
		$pdf->SetFont($caractere_utilse,'',10);
5448
		//$pdf->Cell(90,5,'N? le '.affiche_date_naissance($naissance[$nb_eleves_i]).',?demi-pensionnaire',0,2,'');
5449
		if($tab_rel['eleve'][$i]['sexe']=="M"){$e_au_feminin="";}else{$e_au_feminin="e";}
5450

    
5451
		//$pdf->Cell(90,5,'N?'.$e_au_feminin.' le '.affiche_date_naissance($tab_rel['eleve'][$i]['naissance']).',?'.regime($tab_rel['eleve'][$i]['regime']),0,2,'');
5452
		$pdf->Cell(90,5,'N?'.$e_au_feminin.' le '.$tab_rel['eleve'][$i]['naissance'].',?'.regime($tab_rel['eleve'][$i]['regime']),0,2,'');
5453

    
5454
		$pdf->Cell(90,5,'',0,2,'');
5455

    
5456
		/*
5457
		if ( $aff_classe_nom === '1' or $aff_classe_nom === '3' ) {
5458
			$classe_aff = $pdf->WriteHTML('Classe de <B>'.unhtmlentities($tab_rel['classe_nom_complet']).'<B>');
5459
		}
5460
		if ( $aff_classe_nom === '2' ) {
5461
			$classe_aff = $pdf->WriteHTML('Classe de <B>'.unhtmlentities($tab_rel['classe']).'<B>');
5462
		}
5463
		if ( $aff_classe_nom === '3' ) {
5464
			$classe_aff = $pdf->WriteHTML(' ('.unhtmlentities($tab_rel['classe']).')');
5465
		}
5466
		*/
5467
		//$classe_aff = $pdf->WriteHTML('Classe de <B>'.unhtmlentities($tab_rel['classe_nom_complet']).'<B>');
5468
		//$classe_aff = $pdf->WriteHTML('Classe de <B>'.unhtmlentities($tab_rel['classe']).'<B>');
5469
		//$classe_aff = $pdf->WriteHTML(' ('.unhtmlentities($tab_rel['classe']).')');
5470
		// A REVOIR...
5471
		//$classe_aff=$pdf->WriteHTML(' '.unhtmlentities($tab_rel['classe_nom_complet']).' ('.unhtmlentities($tab_rel['classe']).')');
5472

    
5473
		if($aff_classe_nom==1) {
5474
			$classe_aff=$pdf->WriteHTML('Classe de '.unhtmlentities($tab_rel['classe_nom_complet']));
5475
		}
5476
		elseif($aff_classe_nom==2) {
5477
			$classe_aff=$pdf->WriteHTML('Classe de '.unhtmlentities($tab_rel['classe']));
5478
		}
5479
		else {
5480
			$classe_aff=$pdf->WriteHTML(' '.unhtmlentities($tab_rel['classe_nom_complet']).' ('.unhtmlentities($tab_rel['classe']).')');
5481
		}
5482

    
5483
		$pdf->Cell(90,5,$classe_aff,0,2,'');
5484
		$pdf->SetX($X_cadre_eleve);
5485
		$pdf->SetFont($caractere_utilse,'',10);
5486
		$pdf->Cell(90,5,'Ann?e scolaire '.$annee_scolaire,0,2,'');
5487

    
5488
		// BLOC IDENTITE DE L'ETABLISSEMENT
5489
		$logo = '../images/'.getSettingValue('logo_etab');
5490
		$format_du_logo = str_replace('.','',strstr(getSettingValue('logo_etab'), '.'));
5491
		//if($affiche_logo_etab==='1' and file_exists($logo) and getSettingValue('logo_etab') != '' and ($format_du_logo==='jpg' or $format_du_logo==='png')) {
5492
		//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')) {
5493
		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')) {
5494
			$valeur=redimensionne_image($logo, $L_max_logo, $H_max_logo);
5495
			//$X_logo et $Y_logo; placement du bloc identite de l'?tablissement
5496
			$X_logo=$X_entete_etab;
5497
			$Y_logo=$Y_entete_etab;
5498
			$L_logo=$valeur[0];
5499
			$H_logo=$valeur[1];
5500
			$X_etab=$X_logo+$L_logo;
5501
			$Y_etab=$Y_logo;
5502
			//logo
5503
			$pdf->Image($logo, $X_logo, $Y_logo, $L_logo, $H_logo);
5504
		}
5505
		else {
5506
			$X_etab = $X_entete_etab; $Y_etab = $Y_entete_etab;
5507
		}
5508

    
5509
		// BLOC ADRESSE ETABLISSEMENT
5510
		$pdf->SetXY($X_etab,$Y_etab);
5511
		$pdf->SetFont($caractere_utilse,'',14);
5512
		//$gepiSchoolName = getSettingValue('gepiSchoolName');
5513
		$pdf->Cell(90,7, $gepiSchoolName,0,2,'');
5514
		$pdf->SetFont($caractere_utilse,'',10);
5515
		//$gepiSchoolAdress1 = getSettingValue('gepiSchoolAdress1');
5516
		$pdf->Cell(90,5, $gepiSchoolAdress1,0,2,'');
5517
		//$gepiSchoolAdress2 = getSettingValue('gepiSchoolAdress2');
5518
		$pdf->Cell(90,5, $gepiSchoolAdress2,0,2,'');
5519
		//$gepiSchoolZipCode = getSettingValue('gepiSchoolZipCode');
5520
		//$gepiSchoolCity = getSettingValue('gepiSchoolCity');
5521
		$pdf->Cell(90,5, $gepiSchoolZipCode." ".$gepiSchoolCity,0,2,'');
5522
		//$gepiSchoolTel = getSettingValue('gepiSchoolTel');
5523
		//$gepiSchoolFax = getSettingValue('gepiSchoolFax');
5524
		if($tab_modele_pdf["entente_tel"][$classe_id]==='1' and $tab_modele_pdf["entente_fax"][$classe_id]==='1') {
5525
			$entete_communic = 'T?l: '.$gepiSchoolTel.' / Fax: '.$gepiSchoolFax;
5526
		}
5527
		if($tab_modele_pdf["entente_tel"][$classe_id]==='1' and empty($entete_communic)) {
5528
			$entete_communic = 'T?l: '.$gepiSchoolTel;
5529
		}
5530
		if($tab_modele_pdf["entente_fax"][$classe_id]==='1' and empty($entete_communic)) {
5531
			$entete_communic = 'Fax: '.$gepiSchoolFax;
5532
		}
5533
		if(isset($entete_communic) and $entete_communic!='') {
5534
			$pdf->Cell(90,5, $entete_communic,0,2,'');
5535
		}
5536
		if($tab_modele_pdf["entente_mel"][$classe_id]==='1') {
5537
			$gepiSchoolEmail = getSettingValue('gepiSchoolEmail');
5538
			$pdf->Cell(90,5, $gepiSchoolEmail,0,2,'');
5539
		}
5540

    
5541
		// BLOC ADRESSE DES PARENTS
5542
		// Nom des variables ? revoir
5543
		//if($active_bloc_adresse_parent==='1' and $nb_releve_par_page==='1') {
5544
		if($active_bloc_adresse_parent==1 and $nb_releve_par_page==1) {
5545

    
5546
			//+++++++++++++++
5547
			// A REVOIR
5548
			$num_resp=0;
5549
			//+++++++++++++++
5550

    
5551
			//$ident_eleve_aff=$login[$nb_eleves_i];
5552
			$pdf->SetXY($X_parent,$Y_parent);
5553
			//$texte_1_responsable = $civilite_parents[$ident_eleve_aff][$responsable_place]." ".$nom_parents[$ident_eleve_aff][$responsable_place]." ".$prenom_parents[$ident_eleve_aff][$responsable_place];
5554
			$texte_1_responsable=$tab_adr_ligne1[$num_resp];
5555
			$hauteur_caractere=12;
5556
			$pdf->SetFont($caractere_utilse,'B',$hauteur_caractere);
5557
			$val = $pdf->GetStringWidth($texte_1_responsable);
5558
			$taille_texte = 90;
5559
			$grandeur_texte='test';
5560
			while($grandeur_texte!='ok') {
5561
				if($taille_texte<$val) {
5562
					$hauteur_caractere = $hauteur_caractere-0.3;
5563
					$pdf->SetFont($caractere_utilse,'B',$hauteur_caractere);
5564
					$val = $pdf->GetStringWidth($texte_1_responsable);
5565
				}
5566
				else {
5567
					$grandeur_texte='ok';
5568
				}
5569
			}
5570
			$pdf->Cell(90,7, $texte_1_responsable,0,2,'');
5571

    
5572
			$pdf->SetFont($caractere_utilse,'',10);
5573
			//$texte_1_responsable = $adresse1_parents[$ident_eleve_aff][$responsable_place];
5574
			$texte_1_responsable=$tab_adr_ligne2[$num_resp];
5575
			$hauteur_caractere=10;
5576
			$pdf->SetFont($caractere_utilse,'',$hauteur_caractere);
5577
			$val = $pdf->GetStringWidth($texte_1_responsable);
5578
			$taille_texte = 90;
5579
			$grandeur_texte='test';
5580
			while($grandeur_texte!='ok') {
5581
				if($taille_texte<$val) {
5582
					$hauteur_caractere = $hauteur_caractere-0.3;
5583
					$pdf->SetFont($caractere_utilse,'',$hauteur_caractere);
5584
					$val = $pdf->GetStringWidth($texte_1_responsable);
5585
				}
5586
				else {
5587
					$grandeur_texte='ok';
5588
				}
5589
			}
5590

    
5591
			$pdf->Cell(90,5, $texte_1_responsable,0,2,'');
5592
			//$texte_1_responsable = $adresse2_parents[$ident_eleve_aff][$responsable_place];
5593
			$texte_1_responsable=$tab_adr_ligne3[$num_resp];
5594
			$hauteur_caractere=10;
5595
			$pdf->SetFont($caractere_utilse,'',$hauteur_caractere);
5596
			$val = $pdf->GetStringWidth($texte_1_responsable);
5597
			$taille_texte = 90;
5598
			$grandeur_texte='test';
5599
			while($grandeur_texte!='ok') {
5600
				if($taille_texte<$val) {
5601
					$hauteur_caractere = $hauteur_caractere-0.3;
5602
					$pdf->SetFont($caractere_utilse,'',$hauteur_caractere);
5603
					$val = $pdf->GetStringWidth($texte_1_responsable);
5604
				}
5605
				else {
5606
					$grandeur_texte='ok';
5607
				}
5608
			}
5609

    
5610
			$pdf->Cell(90,5, $texte_1_responsable,0,2,'');
5611
			$pdf->Cell(90,5, '',0,2,'');
5612
			//$texte_1_responsable = $cp_parents[$ident_eleve_aff][$responsable_place]." ".$ville_parents[$ident_eleve_aff][$responsable_place];
5613
			$texte_1_responsable=$tab_adr_ligne5[$num_resp];
5614
			$hauteur_caractere=10;
5615
			$pdf->SetFont($caractere_utilse,'',$hauteur_caractere);
5616
			$val = $pdf->GetStringWidth($texte_1_responsable);
5617
			$taille_texte = 90;
5618
			$grandeur_texte='test';
5619
			while($grandeur_texte!='ok') {
5620
				if($taille_texte<$val) {
5621
					$hauteur_caractere = $hauteur_caractere-0.3;
5622
					$pdf->SetFont($caractere_utilse,'',$hauteur_caractere);
5623
					$val = $pdf->GetStringWidth($texte_1_responsable);
5624
				}
5625
				else {
5626
					$grandeur_texte='ok';
5627
				}
5628
			}
5629
			$pdf->Cell(90,5, $texte_1_responsable,0,2,'');
5630
		}
5631

    
5632
		// BLOC NOTATION ET OBSERVATION
5633
		//Titre du tableau
5634
		$pdf->SetXY($X_cadre_note,$Y_cadre_note);
5635
		$pdf->SetFont($caractere_utilse,'B',12);
5636
		//if($cadre_titre==='1') { $var_encadrement_titre='LTR'; } else { $var_encadrement_titre=''; }
5637
		if($cadre_titre==1) { $var_encadrement_titre='LTR'; } else { $var_encadrement_titre=''; }
5638

    
5639
		//$pdf->Cell(0, $hauteur_du_titre, $titre_du_cadre.' '.date_frc($_SESSION['date_debut_aff']).' au '.date_frc($_SESSION['date_fin_aff']), $var_encadrement_titre,0,'C');
5640
		// A REVOIR...
5641
		//$pdf->Cell(0, $hauteur_du_titre, $titre_du_cadre.' P?riode '.$tab_rel['nom_periode'], $var_encadrement_titre,0,'C');
5642
		$pdf->Cell(0, $hauteur_du_titre, $titre_du_cadre.$tab_rel['nom_periode'], $var_encadrement_titre,0,'C');
5643

    
5644
		$hauteur_utilise = $hauteur_du_titre;
5645

    
5646
		/*
5647
		$nb_matiere=0;
5648
		for($j=0;$j<count($tab_rel['eleve'][$i]['groupe']);$j++) {
5649
			if(isset($tab_bull['note'][$j][$i])) {
5650
				// Si l'?l?ve suit l'option, sa note est affect?e (?ventuellement vide)
5651
				$nb_matiere++;
5652
			}
5653
		}
5654
		*/
5655
		$nb_matiere=count($tab_rel['eleve'][$i]['groupe']);
5656

    
5657

    
5658
		//s'il y des notes alors on affiche le cadre avec les notes
5659
		//if(isset($nb_matiere[$eleve_select]) and !empty($nb_matiere[$eleve_select])) {
5660
		if($nb_matiere>0) {
5661
			// Hauteur d'une ligne pour une mati?re
5662
			/*
5663
			if($active_entete_regroupement === '1') {
5664
				$hauteur_cadre_matiere=($hauteur_cadre_note_global-($nb_regroupement[$eleve_select]*$hauteur_dun_regroupement))/$nb_matiere[$eleve_select];
5665
			}
5666
			if($active_entete_regroupement != '1') {
5667
			*/
5668
				$hauteur_cadre_matiere=$hauteur_cadre_note_global/$nb_matiere;
5669
			//}
5670

    
5671
			// Tableau des mati?res et des notes de l'?l?ve
5672
			$cpt_i='1';
5673
			$nom_regroupement_passer='';
5674
			//while($cpt_i<=$nb_matiere[$eleve_select])
5675
			//{
5676
			for($m=0; $m<count($tab_rel['eleve'][$i]['groupe']); $m++) {
5677

    
5678
				// Si c'est une mati?re suivie par l'?l?ve
5679
				if(isset($tab_rel['eleve'][$i]['groupe'][$m])) {
5680

    
5681
					//$id_groupe_selectionne=$groupe_select[$eleve_select][$cpt_i];
5682
					$id_groupe_selectionne=$tab_rel['eleve'][$i]['groupe'][$m]['id_groupe'];
5683
					//MATIERE
5684
					$pdf->SetXY($X_cadre_note,$Y_cadre_note+$hauteur_utilise);
5685

    
5686
					// on affiche les nom des regroupements
5687
					/*
5688
					if($nom_regroupement[$eleve_select][$cpt_i]!=$nom_regroupement_passer and $active_entete_regroupement === '1')
5689
					{
5690
						$pdf->SetFont($caractere_utilse,'',8);
5691
						$pdf->Cell($largeur_cadre_matiere, $hauteur_dun_regroupement, unhtmlentities($nom_regroupement[$eleve_select][$cpt_i]), 'LTB', 2, '');
5692
						$hauteur_utilise=$hauteur_utilise+$hauteur_dun_regroupement;
5693
						$nom_regroupement_passer=$nom_regroupement[$eleve_select][$cpt_i];
5694
						$pdf->SetXY($X_cadre_note,$Y_cadre_note+$hauteur_utilise);
5695
					}
5696
					*/
5697
					$pdf->SetFont($caractere_utilse,'B','9');
5698
					$nom_matiere = $tab_rel['eleve'][$i]['groupe'][$m]['matiere_nom_complet'];
5699
					$hauteur_caractere = 9;
5700
					$pdf->SetFont($caractere_utilse,'B',$hauteur_caractere);
5701
					$val = $pdf->GetStringWidth($nom_matiere);
5702
					$taille_texte = $largeur_cadre_matiere;
5703
					$grandeur_texte='test';
5704
					while($grandeur_texte!='ok') {
5705
						if($taille_texte<$val) {
5706
							$hauteur_caractere = $hauteur_caractere-0.3;
5707
							$pdf->SetFont($caractere_utilse,'B',$hauteur_caractere);
5708
							$val = $pdf->GetStringWidth($nom_matiere);
5709
						}
5710
						else {
5711
							$grandeur_texte='ok';
5712
						}
5713
					}
5714
					$pdf->Cell($largeur_cadre_matiere, $hauteur_cadre_matiere/2, $nom_matiere, 'LRT', 2, '');
5715
					//$pdf->Cell($largeur_cadre_matiere, $hauteur_cadre_matiere/2, $nom_matiere." ".count($tab_rel['eleve'][$i]['groupe'][$m]['prof_login']), 'LRT', 2, '');
5716
					//$pdf->Cell($largeur_cadre_matiere, $hauteur_cadre_matiere/2, $nom_matiere." ".$tab_rel['eleve'][$i]['groupe'][$m]['prof_login'][0], 'LRT', 2, '');
5717
					$nom_matiere = '';
5718

    
5719
					$nb_prof_matiere = count($tab_rel['eleve'][$i]['groupe'][$m]['prof_login']);
5720
					$espace_matiere_prof = $hauteur_cadre_matiere/2;
5721
					$nb_pass_count = '0';
5722
					$text_prof = '';
5723

    
5724
					//if ( $nb_releve_par_page === '2' ) {
5725
					if ($nb_releve_par_page==2) {
5726
						$nb_pass_count_2 = 0;
5727
						while ( !empty($tab_rel['eleve'][$i]['groupe'][$m]['prof_login'][$nb_pass_count_2]) )
5728
						{
5729
							if ( $nb_pass_count_2 === 0 ) {
5730
								$text_prof = affiche_utilisateur($tab_rel['eleve'][$i]['groupe'][$m]['prof_login'][$nb_pass_count_2],$id_classe);
5731
							}
5732
							if ( $nb_pass_count_2 != 0 ) {
5733
								$text_prof = $text_prof.', '.affiche_utilisateur($tab_rel['eleve'][$i]['groupe'][$m]['prof_login'][$nb_pass_count_2],$id_classe);
5734
							}
5735
							$nb_pass_count_2 = $nb_pass_count_2 + 1;
5736
						}
5737
						//$nb_prof_matiere = 1;
5738
					}
5739
					if ( $nb_prof_matiere != 1 ) {
5740
						$espace_matiere_prof = $espace_matiere_prof/$nb_prof_matiere;
5741
					}
5742

    
5743
					while ($nb_prof_matiere > $nb_pass_count) {
5744

    
5745
						// calcul de la hauteur du caract?re du prof
5746
						//if ( $nb_releve_par_page === '1' ) {
5747
						if ($nb_releve_par_page==1) {
5748
							$text_prof = affiche_utilisateur($tab_rel['eleve'][$i]['groupe'][$m]['prof_login'][$nb_pass_count],$id_classe);
5749
						}
5750
						if ( $nb_prof_matiere <= 2 ) { $hauteur_caractere_prof = 9; }
5751
						elseif ( $nb_prof_matiere == 3) { $hauteur_caractere_prof = 7; }
5752
						elseif ( $nb_prof_matiere > 3) { $hauteur_caractere_prof = 2; }
5753
						$pdf->SetFont($caractere_utilse,'',$hauteur_caractere_prof);
5754
						$val = $pdf->GetStringWidth($text_prof);
5755
						$taille_texte = ($largeur_cadre_matiere-0.6);
5756
						$grandeur_texte='test';
5757
						while($grandeur_texte!='ok') {
5758
							if($taille_texte<$val)
5759
							{
5760
								$hauteur_caractere_prof = $hauteur_caractere_prof-0.3;
5761
								$pdf->SetFont($caractere_utilse,'',$hauteur_caractere_prof);
5762
								$val = $pdf->GetStringWidth($text_prof);
5763
							}
5764
							else {
5765
								$grandeur_texte='ok';
5766
							}
5767
						}
5768
						$grandeur_texte='test';
5769
						$pdf->SetX($X_cadre_note);
5770
						//$pdf->Cell($largeur_cadre_matiere, $espace_matiere_prof, 'prof '.$text_prof, 'LRB', 2, '');
5771

    
5772
						if( empty($tab_rel['eleve'][$i]['groupe'][$m]['prof_login'][$nb_pass_count+1]) or $nb_prof_matiere === 1 ) {
5773
							$pdf->Cell($largeur_cadre_matiere, $espace_matiere_prof, $text_prof, 'LRB', 2, '');
5774
						}
5775
						if( !empty($tab_rel['eleve'][$i]['groupe'][$m]['prof_login'][$nb_pass_count+1]) and $nb_prof_matiere != 1 ) {
5776
							$pdf->Cell($largeur_cadre_matiere, $espace_matiere_prof, $text_prof, 'LR', 2, '');
5777
						}
5778

    
5779
						$nb_pass_count = $nb_pass_count + 1;
5780
					}
5781

    
5782
					//			if(isset($prof_groupe[$id_groupe_selectionne][0]) and $prof_groupe[$id_groupe_selectionne][0] != '') { $prof_1 = $prof_groupe[$id_groupe_selectionne][0]; } else { $prof_1 = ''; }
5783
					//			if(isset($prof_groupe[$id_groupe_selectionne][1]) and $prof_groupe[$id_groupe_selectionne][1] != '') { $prof_2 = $prof_groupe[$id_groupe_selectionne][1]; } else { $prof_2 = ''; }
5784
					//			if(isset($prof_groupe[$id_groupe_selectionne][2]) and $prof_groupe[$id_groupe_selectionne][2] != '') { $prof_3 = $prof_groupe[$id_groupe_selectionne][2]; } else { $prof_3 = ''; }
5785
					/*			 $nom_prof = $prof_1;
5786
					$hauteur_caractere = 8;
5787
					$pdf->SetFont($caractere_utilse,'I',$hauteur_caractere);
5788
					$val = $pdf->GetStringWidth($nom_prof);
5789
					$taille_texte = $largeur_cadre_matiere;
5790
					$grandeur_texte='test';
5791
					while($grandeur_texte!='ok') {
5792
					if($taille_texte<$val)
5793
					{
5794
						$hauteur_caractere = $hauteur_caractere-0.3;
5795
						$pdf->SetFont($caractere_utilse,'I',$hauteur_caractere);
5796
						$val = $pdf->GetStringWidth($nom_prof);
5797
					} else { $grandeur_texte='ok'; }
5798
						}
5799

    
5800
					$pdf->Cell($largeur_cadre_matiere, $hauteur_cadre_matiere/2, $nom_prof, 'LRB', 2, '');*/
5801
					//$pdf->Cell($largeur_cadre_matiere, $hauteur_cadre_matiere/3, $prof_2, 'LR', 2, '');
5802
					//$pdf->Cell($largeur_cadre_matiere, $hauteur_cadre_matiere/4, $prof_3, 'LRB', 2, '');
5803
					$hauteur_utilise=$hauteur_utilise+$hauteur_cadre_matiere;
5804

    
5805

    
5806
				}
5807
				$cpt_i=$cpt_i+1;
5808
			}
5809
		}
5810

    
5811
		$hauteur_utilise = $hauteur_du_titre;
5812

    
5813
		$cpt_i='1';
5814
		$nom_regroupement_passer='';
5815

    
5816

    
5817
		//while($cpt_i<=$nb_matiere[$eleve_select]) {
5818
		for($m=0; $m<count($tab_rel['eleve'][$i]['groupe']); $m++) {
5819
			//NOTES
5820
			$largeur_utilise=$largeur_cadre_matiere;
5821
			//=======================
5822
			// AJOUT: chapel 20071019
5823
			//if ( $affiche_bloc_observation === '1' ) {
5824
			if ( $affiche_bloc_observation==1) {
5825
				$largeur_cadre_note = $largeur_cadre_note;
5826
			}
5827
			else {
5828
				$largeur_cadre_note = $largeur_cadre_note_global - $largeur_utilise;
5829
			}
5830
			//=======================
5831
			$pdf->SetXY($X_cadre_note+$largeur_utilise,$Y_cadre_note+$hauteur_utilise);
5832
			// on affiche les nom des regroupement
5833
			/*
5834
			if($nom_regroupement[$eleve_select][$cpt_i]!=$nom_regroupement_passer and $active_entete_regroupement === '1')
5835
			{
5836
				$pdf->SetFont($caractere_utilse,'',8);
5837
				$pdf->Cell($largeur_cadre_note, $hauteur_dun_regroupement, '', 'RTB', 2, '');
5838
				$hauteur_utilise=$hauteur_utilise+$hauteur_dun_regroupement;
5839
				$nom_regroupement_passer=$nom_regroupement[$eleve_select][$cpt_i];
5840
				$pdf->SetXY($X_cadre_note+$largeur_utilise,$Y_cadre_note+$hauteur_utilise);
5841
			}
5842
			*/
5843

    
5844
			$chaine_notes="";
5845
			if(isset($tab_rel['eleve'][$i]['groupe'][$m]['devoir'])) {
5846
				$kk=0;
5847
				for($k=0;$k<count($tab_rel['eleve'][$i]['groupe'][$m]['devoir']);$k++) {
5848
					// A FAIRE: TENIR COMPTE DE TOUS LES PARAMETRES POUR VOIR CE QU'IL FAUT AFFICHER
5849
					if($kk>0) {$chaine_notes.=" - ";}
5850
					if($tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['statut']!='v') {
5851
						if($tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['statut']!='') {
5852
							$chaine_notes.=$tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['statut'];
5853
						}
5854
						else {
5855
							$chaine_notes.=$tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['note'];
5856
						}
5857

    
5858
						if($tab_rel['rn_nomdev']=='y') {
5859
							$chaine_notes.=" (".$tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['nom_court'].")";
5860
						}
5861

    
5862
						if($tab_rel['rn_datedev']=='y') {
5863
							$chaine_notes.=" (".formate_date($tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['date']).")";
5864
						}
5865

    
5866
						if($tab_rel['rn_coefdev_si_diff']=='y') {
5867
							if($tab_rel['eleve'][$i]['groupe'][$m]['differents_coef']=='y') {
5868
								$chaine_notes.=" (coef ".$tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['coef'].")";
5869
							}
5870
						}
5871
						else {
5872
							if($tab_rel['rn_toutcoefdev']=='y') {
5873
								$chaine_notes.=" (coef ".$tab_rel['eleve'][$i]['groupe'][$m]['devoir'][$k]['coef'].")";
5874
							}
5875
						}
5876

    
5877
						$kk++;
5878
					}
5879
				}
5880
			}
5881

    
5882
			// d?termine la taille de la police de caract?re
5883
			// on peut allez jusqu'a 275mm de caract?re dans trois cases de notes
5884
			$hauteur_caractere_notes=9;
5885
			$pdf->SetFont($caractere_utilse,'',$hauteur_caractere_notes);
5886
			$val = $pdf->GetStringWidth($chaine_notes);
5887
			$taille_texte = (($hauteur_cadre_matiere/4)*$largeur_cadre_note);
5888
			$grandeur_texte='test';
5889
			while($grandeur_texte!='ok') {
5890
				if($taille_texte<$val) {
5891
					$hauteur_caractere_notes = $hauteur_caractere_notes-0.3;
5892
					$pdf->SetFont($caractere_utilse,'',$hauteur_caractere_notes);
5893
					$val = $pdf->GetStringWidth($chaine_notes);
5894
				}
5895
				else {
5896
					$grandeur_texte='ok';
5897
				}
5898
			}
5899
			$pdf->drawTextBox($chaine_notes, $largeur_cadre_note, $hauteur_cadre_matiere, 'J', 'M', 1);
5900
			$hauteur_utilise=$hauteur_utilise+$hauteur_cadre_matiere;
5901

    
5902
			//$cpt_i=$cpt_i+1;
5903
		}
5904

    
5905

    
5906
		// BLOC OBSERVATION
5907
		//=======================
5908
		// MODIF: chapel 20071019
5909
		//if($affiche_bloc_observation === '1')
5910
		if($affiche_bloc_observation==1)
5911
		{
5912
			$largeur_utilise=$largeur_cadre_matiere+$largeur_cadre_note;
5913
			$largeur_restant=$largeur_cadre_note_global-$largeur_utilise;
5914
			$hauteur_utilise = $hauteur_du_titre;
5915
			//if($affiche_cachet_pp==='1' or $affiche_signature_parent==='1')
5916
			if($affiche_cachet_pp==1 or $affiche_signature_parent==1)
5917
			{
5918
				$hauteur_cadre_observation=$hauteur_cadre_note_global-$hauteur_cachet;
5919
			}
5920
			else {
5921
				$hauteur_cadre_observation=$hauteur_cadre_note_global;
5922
			}
5923
			$pdf->Rect($X_cadre_note+$largeur_utilise, $Y_cadre_note+$hauteur_utilise, $largeur_restant, $hauteur_cadre_observation, 'D');
5924
			$pdf->SetXY($X_cadre_note+$largeur_utilise, $Y_cadre_note+$hauteur_utilise);
5925
			$pdf->SetFont($caractere_utilse,'',11);
5926
			$pdf->Cell($largeur_restant,7, $texte_observation,0,1,'C');
5927
		}
5928
		//=======================
5929

    
5930
		// BLOC SIGNATURE
5931
		//if($affiche_cachet_pp==='1' or $affiche_signature_parent==='1')
5932
		if($affiche_cachet_pp==1 or $affiche_signature_parent==1)
5933
		{
5934
			$nb_col_sign = 0;
5935
			//if($affiche_cachet_pp==='1') { $nb_col_sign=$nb_col_sign+1; }
5936
			//if($affiche_signature_parent==='1') { $nb_col_sign=$nb_col_sign+1; }
5937
			if($affiche_cachet_pp==1) { $nb_col_sign=$nb_col_sign+1; }
5938
			if($affiche_signature_parent==1) { $nb_col_sign=$nb_col_sign+1; }
5939
			$largeur_utilise=$largeur_cadre_matiere+$largeur_cadre_note;
5940

    
5941
			$X_signature = $X_cadre_note+$largeur_utilise;
5942
			$Y_signature = $Y_cadre_note+$hauteur_cadre_observation+$hauteur_du_titre;
5943
			$hauteur_cadre_signature=$hauteur_cadre_note_global-$hauteur_cadre_observation;
5944
			$largeur_cadre_signature=$largeur_cadre_note_global-$largeur_utilise;
5945

    
5946
			$pdf->SetFont($caractere_utilse,'',8);
5947
			$pdf->Rect($X_signature, $Y_signature, $largeur_cadre_signature, $hauteur_cadre_signature, 'D');
5948

    
5949
			//if($affiche_cachet_pp==='1')
5950
			if($affiche_cachet_pp==1)
5951
			{
5952
				$pdf->SetXY($X_signature, $Y_signature);
5953
				$pdf->Cell($largeur_cadre_signature/$nb_col_sign,4, 'Signature','LTR',2,'C');
5954
				$pdf->Cell($largeur_cadre_signature/$nb_col_sign,4, $gepi_prof_suivi,'LR',2,'C');
5955
				$pdf->Cell($largeur_cadre_signature/$nb_col_sign,$hauteur_cachet-8, '','LR',2,'C');
5956
				$X_signature = $X_signature+($largeur_restant/$nb_col_sign);
5957
			}
5958
			//if($affiche_signature_parent==='1')
5959
			if($affiche_signature_parent==1)
5960
			{
5961
				$pdf->SetXY($X_signature, $Y_signature);
5962
				$pdf->Cell($largeur_cadre_signature/$nb_col_sign,4, 'Signatures','LTR',2,'C');
5963
				$pdf->Cell($largeur_cadre_signature/$nb_col_sign,4, 'des parents','LR',2,'C');
5964
				$pdf->Cell($largeur_cadre_signature/$nb_col_sign,$hauteur_cachet-8, '','LR',2,'C');
5965
			}
5966
		}
5967
		//}
5968

    
5969
		/*
5970
		//PUB ;)
5971
		$pdf->SetXY($X_cadre_note, $Y_cadre_note+$hauteur_cadre_note_global+$hauteur_du_titre);
5972
		$pdf->SetFont('arial','',8);
5973
		$pdf->Cell(200,5,'GEPI - Solution libre de Gestion des ?l?ves par Internet',0,1,'');
5974
		// CA ENTRE EN COLLISION AVEC LA FORMULE DU BULLETIN (ins?r?e via la fonction Footer() de class_php/gepi_pdf.class.php)
5975
		*/
5976
	//}
5977

    
5978
	/*
5979
		$passage_i=$passage_i+1;
5980
		$nb_eleves_i = $nb_eleves_i + 1;
5981
	}
5982

    
5983
	// on pr?pare la 2?me boucle pour faire R1 et R2 != R1 si n?cessaire
5984
	if ($nb_eleves_i > $nb_eleves) { // dans ce cas on a fait la premi?re boucle, on pr?pare la 2?me pour les R2 != ? R1
5985
		$nb_boucle++;
5986
		$responsable_place = 1;
5987
		$nb_eleves_i = 1;
5988
	}
5989
	*/
5990

    
5991
//}
5992

    
5993
// vider les variables de session
5994
//    unset($_SESSION["classe"]);
5995
//    unset($_SESSION["eleve"]);
5996
//    unset($_SESSION["type"]);
5997
//    unset($_SESSION["date_debut"]);
5998
//    unset($_SESSION["date_fin"]);
5999
//    unset($_SESSION["date_debut_aff"]);
6000
//    unset($_SESSION["date_fin_aff"]);
6001
//    unset($_SESSION["avec_nom_devoir"]);
6002

    
6003
/*
6004
// sortie PDF sur ?cran
6005
$nom_releve=date("Ymd_Hi");
6006
$nom_releve = 'Releve_'.$nom_releve.'.pdf';
6007
$pdf->Output($nom_releve,'I');
6008

    
6009
// Le PDF n'est g?n?r? qu'en fin de boucle sur les bulletins
6010
*/
6011
}
6012

    
6013
function fich_debug_bull($texte){
6014
	$fichier_debug="/tmp/bulletin_pdf.txt";
6015

    
6016
	// Passer la variable ? "y" pour activer le remplissage du fichier de debug pour calcule_moyenne()
6017
	$local_debug="n";
6018
	if($local_debug=="y") {
6019
		$fich=fopen($fichier_debug,"a+");
6020
		fwrite($fich,$texte);
6021
		fclose($fich);
6022
	}
6023
}
6024
?>
(4-4/7)