1
|
<?php
|
2
|
/*
|
3
|
*
|
4
|
* $Id: bull_index.php 4991 2010-08-02 22:02:08Z jjacquard $
|
5
|
*
|
6
|
* Copyright 2001, 2007 Thomas Belliard, Laurent Delineau, Edouard Hue, Eric Lebrun, St?phane Boireau, Christian Chapel
|
7
|
*
|
8
|
* This file is part of GEPI.
|
9
|
*
|
10
|
* GEPI is free software; you can redistribute it and/or modify
|
11
|
* it under the terms of the GNU General Public License as published by
|
12
|
* the Free Software Foundation; either version 2 of the License, or
|
13
|
* (at your option) any later version.
|
14
|
*
|
15
|
* GEPI is distributed in the hope that it will be useful,
|
16
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
17
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
18
|
* GNU General Public License for more details.
|
19
|
*
|
20
|
* You should have received a copy of the GNU General Public License
|
21
|
* along with GEPI; if not, write to the Free Software
|
22
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
23
|
*/
|
24
|
|
25
|
// Initialisations files
|
26
|
require_once("../lib/initialisations.inc.php");
|
27
|
|
28
|
// Resume session
|
29
|
$resultat_session = $session_gepi->security_check();
|
30
|
if ($resultat_session == 'c') {
|
31
|
header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes");
|
32
|
die();
|
33
|
} else if ($resultat_session == '0') {
|
34
|
header("Location: ../logout.php?auto=1");
|
35
|
die();
|
36
|
}
|
37
|
|
38
|
|
39
|
$sql="SELECT 1=1 FROM droits WHERE id='/bulletin/bull_index.php';";
|
40
|
$res_test=mysql_query($sql);
|
41
|
if (mysql_num_rows($res_test)==0) {
|
42
|
$sql="INSERT INTO droits VALUES ('/bulletin/bull_index.php', 'V', 'V', 'F', 'V', 'F', 'F', 'F', 'F', 'Edition des bulletins', '1');";
|
43
|
$res_insert=mysql_query($sql);
|
44
|
}
|
45
|
if (!checkAccess()) {
|
46
|
header("Location: ../logout.php?auto=1");
|
47
|
die();
|
48
|
}
|
49
|
|
50
|
//================================
|
51
|
|
52
|
$intercaler_releve_notes=isset($_POST['intercaler_releve_notes']) ? $_POST['intercaler_releve_notes'] : NULL;
|
53
|
|
54
|
$mode_bulletin=isset($_POST['mode_bulletin']) ? $_POST['mode_bulletin'] : NULL;
|
55
|
|
56
|
// Variable non encore utilis?e:
|
57
|
$contexte_document_produit="bulletin";
|
58
|
// Pour sur le verso du bulletin n'avoir qu'un relev? de notes et pas deux... et surtout pas celui de l'?l?ve suivant dans la liste:
|
59
|
$nb_releve_par_page=1;
|
60
|
|
61
|
//====================================================
|
62
|
//=============== ENTETE STANDARD ====================
|
63
|
if (!isset($_POST['valide_select_eleves'])) {
|
64
|
//**************** EN-TETE *********************
|
65
|
$titre_page = "Edition des bulletins";
|
66
|
require_once("../lib/header.inc");
|
67
|
//**************** FIN EN-TETE *****************
|
68
|
}
|
69
|
//============== FIN ENTETE STANDARD =================
|
70
|
//====================================================
|
71
|
//============== ENTETE BULLETIN HTML ================
|
72
|
elseif ((isset($_POST['mode_bulletin']))&&($_POST['mode_bulletin']=='html')) {
|
73
|
//=============================================
|
74
|
// Faire les extractions pour le relev? de notes si jamais cela a ?t? demand?.
|
75
|
//$intercaler_releve_notes="y";
|
76
|
if(isset($intercaler_releve_notes)) {
|
77
|
// On n'extrait les relev?s de notes que pour la/les p?riodes choisies pour les bulletins
|
78
|
$choix_periode='periode';
|
79
|
include("../cahier_notes/initialisations_header_releves_html.php");
|
80
|
}
|
81
|
//=============================================
|
82
|
include("header_bulletin_html.php");
|
83
|
}
|
84
|
//============ FIN ENTETE BULLETIN HTML ==============
|
85
|
//====================================================
|
86
|
//============== ENTETE BULLETIN HTML ================
|
87
|
elseif ((isset($_POST['mode_bulletin']))&&($_POST['mode_bulletin']=='pdf')) {
|
88
|
|
89
|
$mode_utf8_pdf=getSettingValue("mode_utf8_bulletins_pdf");
|
90
|
if($mode_utf8_pdf=="") {$mode_utf8_pdf="n";}
|
91
|
|
92
|
// DEBUG D?commenter la ligne ci-dessous pour d?bugger
|
93
|
//echo "<p style='color:red;'>Insertion d'une ligne avant le Header pour provoquer l'affichage dans le navigateur et ainsi rep?rer des erreurs.</p>";
|
94
|
|
95
|
include("header_bulletin_pdf.php");
|
96
|
|
97
|
//=============================================
|
98
|
// Faire les extractions pour le relev? de notes si jamais cela a ?t? demand?.
|
99
|
//$intercaler_releve_notes="y";
|
100
|
if(isset($intercaler_releve_notes)) {
|
101
|
// On n'extrait les relev?s de notes que pour la/les p?riodes choisies pour les bulletins
|
102
|
$choix_periode='periode';
|
103
|
// REVOIR LE HEADER POUR PDF: QUE FAUT-IL EXTRAIRE COMME PARAMETRES SPECIFIQUES AU PDF
|
104
|
//include("../cahier_notes/initialisations_header_releves_html.php");
|
105
|
include("header_releve_pdf.php");
|
106
|
}
|
107
|
//=============================================
|
108
|
|
109
|
/*
|
110
|
//=========================================
|
111
|
//cr?ation du PDF en mode Portrait, unit?e de mesure en mm, de taille A4
|
112
|
$pdf=new bul_PDF('p', 'mm', 'A4');
|
113
|
$nb_eleve_aff = 1;
|
114
|
$categorie_passe = '';
|
115
|
$categorie_passe_count = 0;
|
116
|
$pdf->SetCreator($gepiSchoolName);
|
117
|
$pdf->SetAuthor($gepiSchoolName);
|
118
|
$pdf->SetKeywords('');
|
119
|
$pdf->SetSubject('Bulletin');
|
120
|
$pdf->SetTitle('Bulletin');
|
121
|
$pdf->SetDisplayMode('fullwidth', 'single');
|
122
|
$pdf->SetCompression(TRUE);
|
123
|
$pdf->SetAutoPageBreak(TRUE, 5);
|
124
|
|
125
|
$pdf->AddPage(); //ajout d'une page au document
|
126
|
$pdf->SetFont('Arial');
|
127
|
|
128
|
if ( !isset($X_etab) or empty($X_etab) ) {
|
129
|
$X_etab = '5';
|
130
|
$Y_etab = '5';
|
131
|
}
|
132
|
$pdf->SetXY($X_etab,$Y_etab);
|
133
|
$pdf->SetFont('Arial','',14);
|
134
|
$gepiSchoolName=getSettingValue("gepiSchoolName") ? getSettingValue("gepiSchoolName") : "gepiSchoolName";
|
135
|
$pdf->Cell(90,7, $gepiSchoolName,0,2,'');
|
136
|
|
137
|
|
138
|
//fermeture du fichier pdf et lecture dans le navigateur 'nom', 'I/D'
|
139
|
$nom_bulletin = 'bulletin_'.$nom_bulletin.'.pdf';
|
140
|
$pdf->Output($nom_bulletin,'I');
|
141
|
die();
|
142
|
//=========================================
|
143
|
*/
|
144
|
}
|
145
|
//============ FIN ENTETE BULLETIN HTML ==============
|
146
|
|
147
|
//echo "microtime()=".microtime()."<br />";
|
148
|
//echo "time()=".time()."<br />";
|
149
|
|
150
|
$debug="n";
|
151
|
$tab_instant=array();
|
152
|
include("bull_func.lib.php");
|
153
|
|
154
|
if((!isset($_POST['mode_bulletin']))||($_POST['mode_bulletin']!='pdf')) {
|
155
|
//==============================
|
156
|
$motif="Duree_totale";
|
157
|
//decompte_debug($motif,"T?moin de $motif initialisation");
|
158
|
decompte_debug($motif,"");
|
159
|
flush();
|
160
|
//==============================
|
161
|
}
|
162
|
|
163
|
//$tab_id_classe=isset($_POST['tab_id_classe']) ? $_POST['tab_id_classe'] : NULL;
|
164
|
//$tab_periode_num=isset($_POST['tab_periode_num']) ? $_POST['tab_periode_num'] : NULL;
|
165
|
//$choix_periode_num=isset($_POST['choix_periode_num']) ? $_POST['choix_periode_num'] : NULL;
|
166
|
$tab_id_classe=isset($_POST['tab_id_classe']) ? $_POST['tab_id_classe'] : (isset($_GET['tab_id_classe']) ? $_GET['tab_id_classe'] : NULL);
|
167
|
$tab_periode_num=isset($_POST['tab_periode_num']) ? $_POST['tab_periode_num'] : (isset($_GET['tab_periode_num']) ? $_GET['tab_periode_num'] : NULL);
|
168
|
$choix_periode_num=isset($_POST['choix_periode_num']) ? $_POST['choix_periode_num'] : (isset($_GET['choix_periode_num']) ? $_GET['choix_periode_num'] : NULL);
|
169
|
|
170
|
//======================================================
|
171
|
//==================CHOIX DES CLASSES===================
|
172
|
if(!isset($tab_id_classe)) {
|
173
|
//echo "<p class='bold'><a href='index.php'><img src='../images/icons/back.png' alt='Retour' class='back_link'/> Retour</a>";
|
174
|
echo "<p class='bold'><a href='../accueil.php'><img src='../images/icons/back.png' alt='Retour' class='back_link'/> Retour</a>";
|
175
|
if((($_SESSION['statut']=='scolarite')&&(getSettingValue('GepiScolImprBulSettings')=='yes'))||
|
176
|
(($_SESSION['statut']=='professeur')&&(getSettingValue('GepiProfImprBulSettings')=='yes'))||
|
177
|
(($_SESSION['statut']=='administrateur')&&(getSettingValue('GepiAdminImprBulSettings')=='yes'))) {
|
178
|
echo " | <a href='param_bull.php' target='_blank'>Param?tres d'impression des bulletins</a>";
|
179
|
}
|
180
|
echo " | <a href='index.php'>Ancien dispositif</a>";
|
181
|
echo "</p>\n";
|
182
|
|
183
|
echo "<p class='bold'>Choix des classes:</p>\n";
|
184
|
|
185
|
if (($_SESSION['statut'] == 'professeur') and getSettingValue("GepiProfImprBul")!='yes') {
|
186
|
echo "<p>Droits insuffisants pour effectuer cette op?ration</p>\n";
|
187
|
require("../lib/footer.inc.php");
|
188
|
die();
|
189
|
}
|
190
|
|
191
|
// Liste des classes avec ?l?ve:
|
192
|
//$sql="SELECT DISTINCT c.* FROM j_eleves_classes jec, classes c WHERE c.id=jec.id_classe ORDER BY c.classe;";
|
193
|
if ($_SESSION["statut"] == "scolarite") {
|
194
|
// On s?lectionne les classes associ?es au compte scolarit?
|
195
|
$sql="SELECT DISTINCT c.* FROM classes c, j_scol_classes jsc, j_eleves_classes jec WHERE (jec.id_classe=c.id AND jsc.id_classe=c.id AND jsc.login='".$_SESSION['login']."') ORDER BY c.classe;";
|
196
|
|
197
|
$message_0="Aucune classe (<i>avec ?l?ve</i>) ne vous est affect?e.";
|
198
|
}
|
199
|
//elseif ($_SESSION["statut"] == "administrateur") {
|
200
|
elseif (($_SESSION["statut"] == "administrateur")||($_SESSION["statut"] == "secours")) {
|
201
|
// On selectionne toutes les classes
|
202
|
//$sql="SELECT DISTINCT c.* FROM classes c WHERE 1";
|
203
|
$sql="SELECT DISTINCT c.* FROM j_eleves_classes jec, classes c WHERE (c.id=jec.id_classe) ORDER BY c.classe;";
|
204
|
|
205
|
$message_0="Aucune classe avec ?l?ve n'a ?t? trouv?e.";
|
206
|
}
|
207
|
elseif ($_SESSION["statut"] == "professeur") {
|
208
|
$sql="SELECT DISTINCT c.* FROM classes c, j_eleves_professeurs jep, j_eleves_classes jec WHERE (jep.professeur='".$_SESSION['login']."' AND jep.login = jec.login AND jec.id_classe = c.id);";
|
209
|
|
210
|
$message_0="Aucune classe (<i>avec ?l?ve</i>) ne vous est affect?e pour l'?dition des bulletins.";
|
211
|
}
|
212
|
else {
|
213
|
// On ne devrait pas arriver jusque-l?...
|
214
|
echo "<p>Droits insuffisants pour effectuer cette op?ration</p>\n";
|
215
|
require("../lib/footer.inc.php");
|
216
|
die();
|
217
|
}
|
218
|
|
219
|
$call_classes=mysql_query($sql);
|
220
|
|
221
|
$nb_classes=mysql_num_rows($call_classes);
|
222
|
if($nb_classes==0){
|
223
|
//echo "<p>Aucune classe avec ?l?ve affect? n'a ?t? trouv?e.</p>\n";
|
224
|
echo "<p>".$message_0."</p>\n";
|
225
|
|
226
|
require("../lib/footer.inc.php");
|
227
|
die();
|
228
|
}
|
229
|
|
230
|
echo "<form enctype='multipart/form-data' action='".$_SERVER['PHP_SELF']."' method='post' name='formulaire'>\n";
|
231
|
// Affichage sur 3 colonnes
|
232
|
$nb_classes_par_colonne=round($nb_classes/3);
|
233
|
|
234
|
echo "<table width='100%' summary='Choix des classes'>\n";
|
235
|
echo "<tr valign='top' align='center'>\n";
|
236
|
|
237
|
$cpt = 0;
|
238
|
|
239
|
echo "<td> </td>\n";
|
240
|
echo "<td align='left'>\n";
|
241
|
|
242
|
while($lig_clas=mysql_fetch_object($call_classes)) {
|
243
|
|
244
|
//affichage 2 colonnes
|
245
|
if(($cpt>0)&&(round($cpt/$nb_classes_par_colonne)==$cpt/$nb_classes_par_colonne)){
|
246
|
echo "</td>\n";
|
247
|
echo "<td align='left'>\n";
|
248
|
}
|
249
|
|
250
|
echo "<label id='label_tab_id_classe_$cpt' for='tab_id_classe_$cpt' style='cursor: pointer;'><input type='checkbox' name='tab_id_classe[]' id='tab_id_classe_$cpt' value='$lig_clas->id' onchange='change_style_classe($cpt)' /> $lig_clas->classe</label>";
|
251
|
echo "<br />\n";
|
252
|
$cpt++;
|
253
|
}
|
254
|
|
255
|
echo "</td>\n";
|
256
|
echo "</tr>\n";
|
257
|
echo "</table>\n";
|
258
|
|
259
|
echo "<p><a href='#' onClick='ModifCase(true)'>Tout cocher</a> / <a href='#' onClick='ModifCase(false)'>Tout d?cocher</a></p>\n";
|
260
|
|
261
|
echo "<p><input type='submit' value='Valider' /></p>\n";
|
262
|
echo "</form>\n";
|
263
|
|
264
|
echo "<script type='text/javascript'>
|
265
|
function ModifCase(mode) {
|
266
|
for (var k=0;k<$cpt;k++) {
|
267
|
if(document.getElementById('tab_id_classe_'+k)){
|
268
|
document.getElementById('tab_id_classe_'+k).checked = mode;
|
269
|
change_style_classe(k);
|
270
|
}
|
271
|
}
|
272
|
}
|
273
|
|
274
|
function change_style_classe(num) {
|
275
|
if(document.getElementById('tab_id_classe_'+num)) {
|
276
|
if(document.getElementById('tab_id_classe_'+num).checked) {
|
277
|
document.getElementById('label_tab_id_classe_'+num).style.fontWeight='bold';
|
278
|
}
|
279
|
else {
|
280
|
document.getElementById('label_tab_id_classe_'+num).style.fontWeight='normal';
|
281
|
}
|
282
|
}
|
283
|
}
|
284
|
|
285
|
</script>\n";
|
286
|
|
287
|
|
288
|
}
|
289
|
//======================================================
|
290
|
//=================CHOIX DES PERIODES===================
|
291
|
//elseif(!isset($tab_periode_num)) {
|
292
|
//elseif(!isset($choix_periode_num)) {
|
293
|
elseif((!isset($choix_periode_num))||(!isset($tab_periode_num))) {
|
294
|
//debug_var();
|
295
|
|
296
|
echo "<p class='bold'>";
|
297
|
//echo "<a href='".$_SERVER['PHP_SELF']."'>Choisir d'autres classes</a>\n";
|
298
|
echo "<a href='bull_index.php'>Choisir d'autres classes</a>\n";
|
299
|
if((($_SESSION['statut']=='scolarite')&&(getSettingValue('GepiScolImprBulSettings')=='yes'))||
|
300
|
(($_SESSION['statut']=='professeur')&&(getSettingValue('GepiProfImprBulSettings')=='yes'))||
|
301
|
(($_SESSION['statut']=='administrateur')&&(getSettingValue('GepiAdminImprBulSettings')=='yes'))) {
|
302
|
echo " | <a href='param_bull.php' target='_blank'>Param?tres d'impression des bulletins</a>";
|
303
|
}
|
304
|
echo "</p>\n";
|
305
|
|
306
|
// Choisir les p?riodes permettant l'?dition de bulletin
|
307
|
|
308
|
echo "<p class='bold'>Choix des p?riodes:</p>\n";
|
309
|
|
310
|
/*
|
311
|
$sql="SELECT MAX(num_periode) max_per FROM periodes;";
|
312
|
$res_max_per=mysql_query($sql);
|
313
|
$lig_max_per=mysql_fetch_object($res_max_per);
|
314
|
$max_per=$lig_max_per->max_per;
|
315
|
*/
|
316
|
|
317
|
$tab_periode_num_excluses=array();
|
318
|
|
319
|
//$tab_periode_num=array();
|
320
|
|
321
|
echo "<form enctype='multipart/form-data' action='".$_SERVER['PHP_SELF']."' method='post' name='formulaire'>\n";
|
322
|
|
323
|
$max_per=0;
|
324
|
for($i=0;$i<count($tab_id_classe);$i++) {
|
325
|
// Est-ce bien un entier?
|
326
|
if((strlen(my_ereg_replace("[0-9]","",$tab_id_classe[$i])))||($tab_id_classe[$i]=="")) {
|
327
|
echo "<p>Identifiant de classe erron?: <span style='color:red'>".$tab_id_classe[$i]."</span></p>\n";
|
328
|
require("../lib/footer.inc.php");
|
329
|
die();
|
330
|
}
|
331
|
|
332
|
echo "<input type='hidden' name='tab_id_classe[$i]' value='".$tab_id_classe[$i]."' />\n";
|
333
|
|
334
|
$sql="SELECT p.* FROM periodes p WHERE p.id_classe='".$tab_id_classe[$i]."' ORDER BY num_periode;";
|
335
|
$res_per=mysql_query($sql);
|
336
|
|
337
|
if(mysql_num_rows($res_per)>0) {
|
338
|
$ligne_debug[$i]="<tr><td>".get_class_from_id($tab_id_classe[$i])."</td>\n";
|
339
|
while($lig_per=mysql_fetch_object($res_per)) {
|
340
|
if($lig_per->verouiller=="O") {
|
341
|
$ligne_debug[$i].="<td style='background-color:lightgreen; text-align:center;'>Close</td>\n";
|
342
|
}
|
343
|
elseif($lig_per->verouiller=="N") {
|
344
|
$ligne_debug[$i].="<td style='background-color:red; text-align:center;'>Non close</td>\n";
|
345
|
if(!in_array($lig_per->num_periode,$tab_periode_num_excluses)) {$tab_periode_num_excluses[]=$lig_per->num_periode;}
|
346
|
/*
|
347
|
if($_SESSION['statut']=='scolarite') {
|
348
|
$ligne_debug[$i].=" <a href='verrouillage.php' target='_blank'><img src='../images/icons/configure.png' width='16' height='16' title='Verrouillage/d?verrouillage'/></a>\n";
|
349
|
}
|
350
|
*/
|
351
|
}
|
352
|
else {
|
353
|
$ligne_debug[$i].="<td style='background-color:orange; text-align:center;'>Partiellement close</td>\n";
|
354
|
}
|
355
|
|
356
|
if($lig_per->num_periode>$max_per) {$max_per=$lig_per->num_periode;}
|
357
|
}
|
358
|
$ligne_debug[$i].="</tr>\n";
|
359
|
}
|
360
|
}
|
361
|
|
362
|
|
363
|
|
364
|
echo "<table class='boireaus' summary='Choix des p?riodes'>\n";
|
365
|
echo "<tr>\n";
|
366
|
echo "<th>Classe</th>\n";
|
367
|
for($i=1;$i<=$max_per;$i++) {
|
368
|
echo "<th>P?riode $i</th>\n";
|
369
|
}
|
370
|
echo "</tr>\n";
|
371
|
|
372
|
for($i=0;$i<count($tab_id_classe);$i++) {
|
373
|
echo $ligne_debug[$i];
|
374
|
}
|
375
|
|
376
|
echo "<tr>\n";
|
377
|
echo "<th>Choix</th>\n";
|
378
|
for($i=1;$i<=$max_per;$i++) {
|
379
|
if(!in_array($i,$tab_periode_num_excluses)) {
|
380
|
echo "<td style='background-color:lightgreen; text-align:center;'><input type='checkbox' name='tab_periode_num[]' value='$i' /></td>\n";
|
381
|
}
|
382
|
else {
|
383
|
echo "<td style='background-color:red; text-align:center;'>P?riode non close<br />pour une classe au moins";
|
384
|
if($_SESSION['statut']=='scolarite') {
|
385
|
echo " <a href='verrouillage.php' target='_blank'><img src='../images/icons/configure.png' width='16' height='16' title='Verrouillage/d?verrouillage'/></a>\n";
|
386
|
}
|
387
|
echo "</td>\n";
|
388
|
}
|
389
|
}
|
390
|
echo "</tr>\n";
|
391
|
|
392
|
echo "</table>\n";
|
393
|
|
394
|
echo "<input type='hidden' name='choix_periode_num' value='fait' />\n";
|
395
|
|
396
|
echo "<p><input type='submit' value='Valider' /></p>\n";
|
397
|
echo "</form>\n";
|
398
|
|
399
|
}
|
400
|
//======================================================
|
401
|
//==============CHOIX DE LA SELECTION D'ELEVES==========
|
402
|
elseif(!isset($_POST['valide_select_eleves'])) {
|
403
|
|
404
|
//debug_var();
|
405
|
|
406
|
$preselection_eleves=isset($_POST['preselection_eleves']) ? $_POST['preselection_eleves'] : (isset($_GET['preselection_eleves']) ? $_GET['preselection_eleves'] : NULL);
|
407
|
|
408
|
echo "<p class='bold'>";
|
409
|
echo "<a href='".$_SERVER['PHP_SELF']."'>Choisir d'autres classes</a>\n";
|
410
|
//echo " | <a href='".$_SERVER['PHP_SELF']."'>Choisir d'autres p?riodes</a>\n";
|
411
|
//echo " | <a href='#' onClick='history.go(-1);'>Choisir d'autres p?riodes</a>\n";
|
412
|
echo " | <a href='".$_SERVER['PHP_SELF']."' onClick=\"document.forms['form_retour'].submit();return false;\">Choisir d'autres p?riodes</a>\n";
|
413
|
if((($_SESSION['statut']=='scolarite')&&(getSettingValue('GepiScolImprBulSettings')=='yes'))||
|
414
|
(($_SESSION['statut']=='professeur')&&(getSettingValue('GepiProfImprBulSettings')=='yes'))||
|
415
|
(($_SESSION['statut']=='administrateur')&&(getSettingValue('GepiAdminImprBulSettings')=='yes'))) {
|
416
|
echo " | <a href='param_bull.php' target='_blank'>Param?tres d'impression des bulletins</a>";
|
417
|
}
|
418
|
echo "</p>\n";
|
419
|
|
420
|
//===========================
|
421
|
// FORMULAIRE POUR LE RETOUR AU CHOIX DES PERIODES
|
422
|
echo "\n<!-- Formulaire de retour au choix des p?riodes -->\n";
|
423
|
echo "<form enctype='multipart/form-data' action='".$_SERVER['PHP_SELF']."' method='post' name='form_retour'>\n";
|
424
|
for($i=0;$i<count($tab_id_classe);$i++) {
|
425
|
echo "<input type='hidden' name='tab_id_classe[$i]' value='".$tab_id_classe[$i]."' />\n";
|
426
|
}
|
427
|
for($j=0;$j<count($tab_periode_num);$j++) {
|
428
|
echo "<input type='hidden' name='tab_periode_num[$j]' value='".$tab_periode_num[$j]."' />\n";
|
429
|
}
|
430
|
echo "</form>\n";
|
431
|
//===========================
|
432
|
|
433
|
|
434
|
//echo "<p class='bold'>S?lection des ?l?ves:</p>\n";
|
435
|
echo "<p class='bold'>S?lection des ?l?ves et param?tres:</p>\n";
|
436
|
|
437
|
echo "\n<!-- Formulaire de s?lection des ?l?ves et de param?trage -->\n";
|
438
|
echo "<form enctype='multipart/form-data' action='".$_SERVER['PHP_SELF']."' method='post' name='formulaire' target='_blank'>\n";
|
439
|
|
440
|
//=======================================
|
441
|
|
442
|
// HTML ou PDF
|
443
|
$type_bulletin_par_defaut=getSettingValue('type_bulletin_par_defaut');
|
444
|
if(($type_bulletin_par_defaut!='html')&&($type_bulletin_par_defaut!='pdf')) {$type_bulletin_par_defaut='html';}
|
445
|
|
446
|
// A remplacer par la suite par un choix:
|
447
|
//echo "<input type='hidden' name='mode_bulletin' value='html' />\n";
|
448
|
echo "<table border='0' summary='Choix du type de bulletin'>\n";
|
449
|
echo "<tr>\n";
|
450
|
echo "<td valign='top'>\n";
|
451
|
echo "<input type='radio' name='mode_bulletin' id='mode_bulletin_html' value='html' onchange='display_div_modele_bulletin_pdf();display_param_b_adr_pg()' ";
|
452
|
if($type_bulletin_par_defaut=='html') {echo "checked ";}
|
453
|
echo "/> ";
|
454
|
echo "</td>\n";
|
455
|
echo "<td>\n";
|
456
|
echo "<label for='mode_bulletin_html' style='cursor:pointer;'>Bulletin HTML</label>\n";
|
457
|
echo "</td>\n";
|
458
|
echo "</tr>\n";
|
459
|
|
460
|
echo "<tr>\n";
|
461
|
echo "<td valign='top'>\n";
|
462
|
$test = sql_query1("SHOW TABLES LIKE 'modele_bulletin';");
|
463
|
if ($test == -1) {
|
464
|
echo " </td>\n";
|
465
|
echo "<td valign='top'>\n";
|
466
|
echo "Les mod?les PDF utilisent une table 'modele_bulletin' qui semble absente.<br />\n";
|
467
|
if($_SESSION['statut']=='administrateur') {
|
468
|
echo "Visitez la page de <a href='test_modele_bull.php'>cr?ation de cette table</a> d'apr?s l'ancienne table 'model_bulletin' pour permettre l'impression de bulletins PDF.";
|
469
|
}
|
470
|
else {
|
471
|
echo "Le remplissage de la table doit ?tre effectu? en admin.";
|
472
|
}
|
473
|
}
|
474
|
else {
|
475
|
$sql="SELECT 1=1 FROM modele_bulletin LIMIT 1;";
|
476
|
//echo "$sql<br />";
|
477
|
$test=mysql_query($sql);
|
478
|
if(mysql_num_rows($test)==0) {
|
479
|
echo " </td>\n";
|
480
|
echo "<td valign='top'>\n";
|
481
|
echo "Les mod?les PDF utilisent une table 'modele_bulletin' qui semble absente.<br />\n";
|
482
|
if($_SESSION['statut']=='administrateur') {
|
483
|
echo "Visitez la page de <a href='test_modele_bull.php'>cr?ation de cette table</a> d'apr?s l'ancienne table 'model_bulletin' pour permettre l'impression de bulletins PDF.";
|
484
|
}
|
485
|
else {
|
486
|
echo "Le remplissage de la table doit ?tre effectu? en admin.";
|
487
|
}
|
488
|
}
|
489
|
else {
|
490
|
echo "<input type='radio' name='mode_bulletin' id='mode_bulletin_pdf' value='pdf' onchange='display_div_modele_bulletin_pdf();display_param_b_adr_pg()' ";
|
491
|
if($type_bulletin_par_defaut=='pdf') {echo "checked ";}
|
492
|
echo "/> ";
|
493
|
echo "</td>\n";
|
494
|
echo "<td>\n";
|
495
|
echo "<label for='mode_bulletin_pdf' style='cursor:pointer;'>Bulletin PDF</label>\n";
|
496
|
|
497
|
echo "<br />\n";
|
498
|
//echo "<span id='div_modele_bulletin_pdf'>\n";
|
499
|
echo "<div id='div_modele_bulletin_pdf'>\n";
|
500
|
|
501
|
$option_modele_bulletin=getSettingValue("option_modele_bulletin");
|
502
|
if (($option_modele_bulletin==2)||($option_modele_bulletin==3)) { //Par d?faut le mod?le d?fini pour les classes
|
503
|
echo "Choisir le mod?le de bulletin<br />\n";
|
504
|
// s?lection des mod?les des bulletins PDF
|
505
|
//$sql='SELECT id_model_bulletin, nom_model_bulletin FROM modele_bulletin ORDER BY modele_bulletin.nom_model_bulletin ASC';
|
506
|
$sql="SELECT DISTINCT id_model_bulletin,valeur FROM modele_bulletin WHERE nom='nom_model_bulletin' ORDER BY id_model_bulletin ASC";
|
507
|
//echo "$sql<br />";
|
508
|
$requete_modele = mysql_query($sql);
|
509
|
echo "<select tabindex=\"5\" name=\"type_bulletin\">";
|
510
|
$option_modele_bulletin=getSettingValue("option_modele_bulletin");
|
511
|
if ($option_modele_bulletin==2) { //Par d?faut le mod?le d?fini pour les classes
|
512
|
echo "<option value=\"-1\">Utiliser les mod?les pr?-s?lectionn?s par classe</option>\n";
|
513
|
}
|
514
|
|
515
|
while($donner_modele = mysql_fetch_array($requete_modele)) {
|
516
|
echo "<option value=\"".$donner_modele['id_model_bulletin']."\"";
|
517
|
echo ">".ucfirst($donner_modele['valeur'])."</option>\n";
|
518
|
}
|
519
|
echo "</select>\n";
|
520
|
echo "<br />\n";
|
521
|
}
|
522
|
else {
|
523
|
echo "<input type='hidden' name='type_bulletin' value='-1' />\n";
|
524
|
}
|
525
|
//echo "</span>\n";
|
526
|
|
527
|
echo "<label for='use_cell_ajustee' style='cursor: pointer;'><input type='checkbox' name='use_cell_ajustee' id='use_cell_ajustee' value='n' /> Ne pas utiliser la nouvelle fonction use_cell_ajustee() pour l'?criture des appr?ciations.</label>";
|
528
|
|
529
|
$titre_infobulle="Fonction cell_ajustee()\n";
|
530
|
$texte_infobulle="Pour les appr?ciations sur les bulletins, relev?s,... on utilisait auparavant la fonction DraxTextBox() de FPDF.<br />Cette fonction avait parfois un comportement curieux avec des textes tronqu?s ou beaucoup plus petits dans la cellule que ce qui semblait pouvoir tenir dans la case.<br />La fonction cell_ajustee() est une fonction que mise au point pour tenter de faire mieux que DraxTextBox().<br />Comme elle n'a pas ?t? exp?riment?e par suffisamment de monde sur trunk, nous avons mis une case ? cocher qui permet d'utiliser l'ancienne fonction DrawTextBox() si cell_ajustee() ne se r?v?lait pas aussi bien fichue que nous l'esp?rons;o).<br />\n";
|
531
|
//$texte_infobulle.="\n";
|
532
|
$tabdiv_infobulle[]=creer_div_infobulle('a_propos_cell_ajustee',$titre_infobulle,"",$texte_infobulle,"",35,0,'y','y','n','n');
|
533
|
|
534
|
echo "<a href=\"#\" onclick='return false;' onmouseover=\"afficher_div('a_propos_cell_ajustee','y',100,100);\" onmouseout=\"cacher_div('a_propos_cell_ajustee');\"><img src='../images/icons/ico_ampoule.png' width='15' height='25' /></a>";
|
535
|
|
536
|
echo "<br />\n";
|
537
|
|
538
|
echo "</div>\n";
|
539
|
}
|
540
|
}
|
541
|
echo "</td>\n";
|
542
|
echo "</tr>\n";
|
543
|
echo "</table>\n";
|
544
|
|
545
|
echo "<script type='text/javascript'>
|
546
|
function display_div_modele_bulletin_pdf() {
|
547
|
if(document.getElementById('div_modele_bulletin_pdf')) {
|
548
|
if(document.getElementById('mode_bulletin_pdf').checked==true) {
|
549
|
document.getElementById('div_modele_bulletin_pdf').style.display='';
|
550
|
}
|
551
|
else {
|
552
|
document.getElementById('div_modele_bulletin_pdf').style.display='none';
|
553
|
}
|
554
|
}
|
555
|
}
|
556
|
|
557
|
display_div_modele_bulletin_pdf();
|
558
|
</script>\n";
|
559
|
|
560
|
|
561
|
//echo "<input type='hidden' name='un_seul_bull_par_famille' value='non' />\n";
|
562
|
//=======================================
|
563
|
echo "<input type='hidden' name='choix_periode_num' value='fait' />\n";
|
564
|
|
565
|
//=======================================
|
566
|
//echo "<div style='float:right; width:40%'>\n";
|
567
|
echo "<div id='div_parametres'>\n";
|
568
|
echo "<table border='0' summary='Tableau des param?tres'>\n";
|
569
|
echo "<tr><td valign='top'><input type='checkbox' name='un_seul_bull_par_famille' id='un_seul_bull_par_famille' value='oui' /></td><td><label for='un_seul_bull_par_famille' style='cursor: pointer;'>Ne pas imprimer de bulletin pour le deuxi?me parent<br />(<i>m?me dans le cas de parents s?par?s</i>).</label></td></tr>\n";
|
570
|
|
571
|
// A FAIRE:
|
572
|
// Tester et ne pas afficher:
|
573
|
// - si tous les coeff sont ? 1
|
574
|
//$test_coef=mysql_num_rows(mysql_query("SELECT coef FROM j_groupes_classes WHERE (id_classe='".$id_classe."' and coef!='1.0')"));
|
575
|
//if($test_coef>0){
|
576
|
/*
|
577
|
echo "<tr>\n";
|
578
|
echo "<td colspan=\"2\"><b>Calcul des moyennes g?n?rales";
|
579
|
// Ne pas afficher la mention de cat?gorie, si on n'affiche pas les cat?gories dans cette classe.
|
580
|
//$affiche_categories = sql_query1("SELECT display_mat_cat FROM classes WHERE id='".$id_classe."'");
|
581
|
//if ($affiche_categories == "y") {
|
582
|
echo " (<i>et par cat?gorie</i>)";
|
583
|
//}
|
584
|
echo ".</b></td>\n";
|
585
|
echo "</tr>\n";
|
586
|
echo "<tr><td valign='top'><input type='checkbox' name='coefficients_a_1' id='coefficients_a_1' value='oui' /></td><td><label for='coefficients_a_1' style='cursor: pointer;'>Forcer les coefficients des mati?res ? 1, ind?pendamment des coefficients saisis dans les param?tres de la classe.</label></td></tr>\n";
|
587
|
*/
|
588
|
echo "<tr><td valign='top'><input type='checkbox' name='coefficients_a_1' id='coefficients_a_1' value='oui' /></td><td><label for='coefficients_a_1' style='cursor: pointer;'>Forcer, dans le calcul des moyennes g?n?rales, les coefficients des mati?res ? 1, ind?pendamment des coefficients saisis dans les param?tres de la classe.</label></td></tr>\n";
|
589
|
|
590
|
echo "<tr><td valign='top'><input type='checkbox' name='moyennes_periodes_precedentes' id='moyennes_periodes_precedentes' value='y' /></td><td><label for='moyennes_periodes_precedentes' style='cursor: pointer;'>Afficher les moyennes de l'?l?ve pour les p?riodes pr?c?dentes (<i>incompatible avec l'affichage des moyennes min/max/classe dans la m?me cellule que la moyenne de l'?l?ve</i>).</label></td></tr>\n";
|
591
|
|
592
|
echo "<tr><td valign='top'><input type='checkbox' name='tri_par_etab_orig' id='tri_par_etab_orig' value='y' /></td><td><label for='tri_par_etab_orig' style='cursor: pointer;'>Trier les bulletins par ?tablissement d'origine.</label></td></tr>\n";
|
593
|
//}
|
594
|
echo "</table>\n";
|
595
|
|
596
|
//===========================================
|
597
|
$b_adr_pg_defaut=isset($_SESSION['b_adr_pg']) ? $_SESSION['b_adr_pg'] : "xx";
|
598
|
|
599
|
echo "<div id='div_param_b_adr_pg'>\n";
|
600
|
echo "<br />\n";
|
601
|
echo "<p><b>Bloc adresse responsable et page de garde :</b></p>\n";
|
602
|
echo "<blockquote>\n";
|
603
|
echo "<input type='radio' name='b_adr_pg' id='b_adr_pg_xx' value='xx' ";
|
604
|
if($b_adr_pg_defaut=="xx") {
|
605
|
echo "checked='checked' ";
|
606
|
}
|
607
|
echo "/><label for='b_adr_pg_xx' style='cursor:pointer'> D'apr?s les param?tres du bulletin HTML</label><br />\n";
|
608
|
|
609
|
echo "<input type='radio' name='b_adr_pg' id='b_adr_pg_nn' value='nn' ";
|
610
|
if($b_adr_pg_defaut=="nn") {
|
611
|
echo "checked='checked' ";
|
612
|
}
|
613
|
echo "/><label for='b_adr_pg_nn' style='cursor:pointer'> sans bloc adresse ni page de garde</label><br />\n";
|
614
|
|
615
|
echo "<input type='radio' name='b_adr_pg' id='b_adr_pg_yn' value='yn' ";
|
616
|
if($b_adr_pg_defaut=="yn") {
|
617
|
echo "checked='checked' ";
|
618
|
}
|
619
|
echo "/><label for='b_adr_pg_yn' style='cursor:pointer'> avec bloc adresse sans page de garde</label><br />\n";
|
620
|
|
621
|
echo "<input type='radio' name='b_adr_pg' id='b_adr_pg_ny' value='ny' ";
|
622
|
if($b_adr_pg_defaut=="ny") {
|
623
|
echo "checked='checked' ";
|
624
|
}
|
625
|
echo "/><label for='b_adr_pg_ny' style='cursor:pointer'> sans bloc adresse avec page de garde</label><br />\n";
|
626
|
|
627
|
echo "<input type='radio' name='b_adr_pg' id='b_adr_pg_yy' value='yy' ";
|
628
|
if($b_adr_pg_defaut=="yy") {
|
629
|
echo "checked='checked' ";
|
630
|
}
|
631
|
echo "/><label for='b_adr_pg_yy' style='cursor:pointer'> avec bloc adresse et page de garde</label><br />\n";
|
632
|
echo "</blockquote>\n";
|
633
|
echo "</div>\n";
|
634
|
//===========================================
|
635
|
|
636
|
|
637
|
|
638
|
// L'admin peut avoir acc?s aux bulletins, mais il n'a de toute fa?on pas acc?s au relev?s de notes.
|
639
|
$sql="SELECT 1=1 FROM droits WHERE id='/cahier_notes/visu_releve_notes_bis.php' AND ".$_SESSION['statut']."='V';";
|
640
|
$res_verif_droit=mysql_query($sql);
|
641
|
if (mysql_num_rows($res_verif_droit)>0) {
|
642
|
echo "<p><input type='checkbox' name='intercaler_releve_notes' id='intercaler_releve_notes' value='y' onchange='display_param_releve();' /> <label for='intercaler_releve_notes' style='cursor: pointer;'>Intercaler les relev?s de notes</label>\n";
|
643
|
|
644
|
echo "<span id='pliage_param_releve'>\n";
|
645
|
echo "(<i>";
|
646
|
echo "<a href='#' onclick=\"document.getElementById('div_param_releve').style.display='';return false;\">Afficher</a>";
|
647
|
echo " / \n";
|
648
|
echo "<a href='#' onclick=\"document.getElementById('div_param_releve').style.display='none';return false;\">Masquer</a>";
|
649
|
echo " les param?tres du relev? de notes</i>).";
|
650
|
echo "</span>\n";
|
651
|
|
652
|
echo "<br />\n";
|
653
|
echo "(<i>pour permettre par exemple une impression recto/verso</i>).";
|
654
|
echo "</p>\n";
|
655
|
|
656
|
|
657
|
echo "<div id='div_param_releve'>\n";
|
658
|
include("../cahier_notes/tableau_choix_parametres_releves_notes.php");
|
659
|
echo "</div>\n";
|
660
|
|
661
|
echo "<script type='text/javascript'>
|
662
|
function CocheLigne(item) {
|
663
|
for (var i=0;i<".count($tab_id_classe).";i++) {
|
664
|
if(document.getElementById(item+'_'+i)){
|
665
|
document.getElementById(item+'_'+i).checked = true;
|
666
|
}
|
667
|
}
|
668
|
}
|
669
|
|
670
|
function DecocheLigne(item) {
|
671
|
for (var i=0;i<".count($tab_id_classe).";i++) {
|
672
|
if(document.getElementById(item+'_'+i)){
|
673
|
document.getElementById(item+'_'+i).checked = false;
|
674
|
}
|
675
|
}
|
676
|
}
|
677
|
|
678
|
function ToutCocher() {
|
679
|
";
|
680
|
for($k=0;$k<count($tab_item);$k++) {
|
681
|
echo " CocheLigne('".$tab_item[$k]."');\n";
|
682
|
}
|
683
|
echo " CocheLigne('rn_app');
|
684
|
CocheLigne('rn_adr_resp');
|
685
|
}
|
686
|
|
687
|
function ToutDeCocher() {
|
688
|
";
|
689
|
for($k=0;$k<count($tab_item);$k++) {
|
690
|
echo " DecocheLigne('".$tab_item[$k]."');\n";
|
691
|
}
|
692
|
echo " DecocheLigne('rn_app');
|
693
|
DecocheLigne('rn_adr_resp');
|
694
|
}
|
695
|
|
696
|
</script>\n";
|
697
|
|
698
|
}
|
699
|
|
700
|
|
701
|
echo "<p align='center'><input type='submit' name='bouton_valide_select_eleves1' value='Valider' /></p>\n";
|
702
|
echo "</div>\n";
|
703
|
|
704
|
|
705
|
//=======================================
|
706
|
/*
|
707
|
echo "<div style='float:right; width:5em;'>\n";
|
708
|
echo "<input type='submit' name='bouton_valide_select_eleves1' value='Valider' />\n";
|
709
|
echo "</div>\n";
|
710
|
*/
|
711
|
//=======================================
|
712
|
|
713
|
|
714
|
|
715
|
if(count($tab_id_classe)>1) {
|
716
|
echo "<p>Pour toutes les classes";
|
717
|
if(count($tab_periode_num)>1) {
|
718
|
echo " et toutes les p?riodes";
|
719
|
}
|
720
|
echo " <a href='#' onClick='cocher_tous_eleves();return false;'>Cocher tous les ?l?ves</a> / <a href='#' onClick='decocher_tous_eleves();return false;'>D?cocher tous les ?l?ves</a></p>\n";
|
721
|
}
|
722
|
|
723
|
$max_eff_classe=0;
|
724
|
for($i=0;$i<count($tab_id_classe);$i++) {
|
725
|
// Est-ce bien un entier?
|
726
|
if((strlen(my_ereg_replace("[0-9]","",$tab_id_classe[$i])))||($tab_id_classe[$i]=="")) {
|
727
|
echo "<p>Identifiant de classe erron?: <span style='color:red'>".$tab_id_classe[$i]."</span></p></form>\n";
|
728
|
require("../lib/footer.inc.php");
|
729
|
die();
|
730
|
}
|
731
|
|
732
|
echo "<input type='hidden' name='tab_id_classe[$i]' value='".$tab_id_classe[$i]."' />\n";
|
733
|
|
734
|
echo "<p class='bold'>Classe de ".get_class_from_id($tab_id_classe[$i])."</p>\n";
|
735
|
|
736
|
echo "<table class='boireaus' summary='Choix des ?l?ves'>\n";
|
737
|
echo "<tr>\n";
|
738
|
echo "<th>El?ves</th>\n";
|
739
|
for($j=0;$j<count($tab_periode_num);$j++) {
|
740
|
// Est-ce bien un entier?
|
741
|
if((strlen(my_ereg_replace("[0-9]","",$tab_periode_num[$j])))||($tab_periode_num[$j]=="")) {
|
742
|
echo "<td>Identifiant de p?riode erron?: <span style='color:red'>".$tab_periode_num[$j]."</span></td></tr></table></form>\n";
|
743
|
require("../lib/footer.inc.php");
|
744
|
die();
|
745
|
}
|
746
|
|
747
|
//echo "<th>P?riode $j</th>\n";
|
748
|
$sql="SELECT nom_periode FROM periodes WHERE id_classe='".$tab_id_classe[$i]."' AND num_periode='".$tab_periode_num[$j]."';";
|
749
|
$res_per=mysql_query($sql);
|
750
|
$lig_per=mysql_fetch_object($res_per);
|
751
|
echo "<th>\n";
|
752
|
|
753
|
echo "<input type='hidden' name='tab_periode_num[$j]' value='".$tab_periode_num[$j]."' />\n";
|
754
|
|
755
|
echo $lig_per->nom_periode;
|
756
|
|
757
|
echo "<br />\n";
|
758
|
|
759
|
echo "<a href=\"javascript:CocheColonneSelectEleves(".$i.",".$j.");changement();\"><img src='../images/enabled.png' width='15' height='15' alt='Tout cocher' /></a> / <a href=\"javascript:DecocheColonneSelectEleves(".$i.",".$j.");changement();\"><img src='../images/disabled.png' width='15' height='15' alt='Tout d?cocher' /></a>\n";
|
760
|
|
761
|
echo "</th>\n";
|
762
|
}
|
763
|
echo "</tr>\n";
|
764
|
|
765
|
/*
|
766
|
$sql="SELECT e.* FROM eleves e,
|
767
|
j_eleves_classes jec
|
768
|
WHERE jec.login=e.login AND
|
769
|
jec.id_classe='".$tab_id_classe[$i]."' AND
|
770
|
jec.periode='".$tab_periode_num[$j]."';";
|
771
|
*/
|
772
|
$sql="SELECT DISTINCT e.* FROM eleves e,
|
773
|
j_eleves_classes jec
|
774
|
WHERE jec.login=e.login AND
|
775
|
jec.id_classe='".$tab_id_classe[$i]."'
|
776
|
ORDER BY e.nom,e.prenom;";
|
777
|
$res_ele=mysql_query($sql);
|
778
|
$alt=1;
|
779
|
$cpt=0;
|
780
|
while($lig_ele=mysql_fetch_object($res_ele)) {
|
781
|
$alt=$alt*(-1);
|
782
|
echo "<tr class='lig$alt'>\n";
|
783
|
echo "<td style='text-align:left;'>".$lig_ele->nom." ".$lig_ele->prenom."</td>\n";
|
784
|
for($j=0;$j<count($tab_periode_num);$j++) {
|
785
|
|
786
|
$sql="SELECT 1=1 FROM j_eleves_classes jec
|
787
|
WHERE jec.id_classe='".$tab_id_classe[$i]."' AND
|
788
|
jec.periode='".$tab_periode_num[$j]."';";
|
789
|
$test=mysql_query($sql);
|
790
|
if(mysql_num_rows($test)>0) {
|
791
|
echo "<td><input type='checkbox' name='tab_selection_ele_".$i."_".$j."[]' id='tab_selection_ele_".$i."_".$j."_".$cpt."' value=\"".$lig_ele->login."\" ";
|
792
|
if(!isset($preselection_eleves)) {echo "checked ";}
|
793
|
//elseif((isset($preselection_eleves[$tab_periode_num[$j]]))&&(in_array($lig_ele->login,$preselection_eleves[$tab_periode_num[$j]]))) {echo "checked ";}
|
794
|
elseif((isset($preselection_eleves[$tab_periode_num[$j]]))&&(strstr($preselection_eleves[$tab_periode_num[$j]],"|".$lig_ele->login."|"))) {echo "checked ";}
|
795
|
echo "/></td>\n";
|
796
|
}
|
797
|
else {
|
798
|
echo "<td>-</td>\n";
|
799
|
}
|
800
|
}
|
801
|
echo "</tr>\n";
|
802
|
$cpt++;
|
803
|
}
|
804
|
echo "</table>\n";
|
805
|
|
806
|
if($max_eff_classe<$cpt) {$max_eff_classe=$cpt;}
|
807
|
|
808
|
}
|
809
|
|
810
|
//count($tab_periode_num)
|
811
|
|
812
|
echo "<script type='text/javascript'>
|
813
|
|
814
|
function CocheColonneSelectEleves(i,j) {
|
815
|
for (var k=0;k<$max_eff_classe;k++) {
|
816
|
if(document.getElementById('tab_selection_ele_'+i+'_'+j+'_'+k)){
|
817
|
document.getElementById('tab_selection_ele_'+i+'_'+j+'_'+k).checked = true;
|
818
|
}
|
819
|
}
|
820
|
}
|
821
|
|
822
|
function DecocheColonneSelectEleves(i,j) {
|
823
|
for (var k=0;k<$max_eff_classe;k++) {
|
824
|
if(document.getElementById('tab_selection_ele_'+i+'_'+j+'_'+k)){
|
825
|
document.getElementById('tab_selection_ele_'+i+'_'+j+'_'+k).checked = false;
|
826
|
}
|
827
|
}
|
828
|
}
|
829
|
|
830
|
function cocher_tous_eleves() {
|
831
|
";
|
832
|
|
833
|
for($i=0;$i<count($tab_id_classe);$i++) {
|
834
|
for($j=0;$j<count($tab_periode_num);$j++) {
|
835
|
echo "CocheColonneSelectEleves($i,$j);\n";
|
836
|
}
|
837
|
}
|
838
|
|
839
|
echo "}
|
840
|
function decocher_tous_eleves() {
|
841
|
";
|
842
|
|
843
|
for($i=0;$i<count($tab_id_classe);$i++) {
|
844
|
for($j=0;$j<count($tab_periode_num);$j++) {
|
845
|
echo "DecocheColonneSelectEleves($i,$j);\n";
|
846
|
}
|
847
|
}
|
848
|
|
849
|
echo "}
|
850
|
|
851
|
function display_param_releve() {
|
852
|
if(document.getElementById('div_param_releve')) {
|
853
|
if(document.getElementById('intercaler_releve_notes')) {
|
854
|
if(document.getElementById('intercaler_releve_notes').checked==true) {
|
855
|
document.getElementById('div_param_releve').style.display='';
|
856
|
}
|
857
|
else {
|
858
|
document.getElementById('div_param_releve').style.display='none';
|
859
|
}
|
860
|
}
|
861
|
}
|
862
|
// On donne l'acc?s aux liens de pliage/d?pliage des param?tres du relev? de notes
|
863
|
if(document.getElementById('pliage_param_releve'))?{document.getElementById('pliage_param_releve').style.display='';}
|
864
|
}
|
865
|
display_param_releve();
|
866
|
|
867
|
// On cache l'acc?s aux liens de pliage/d?pliage des param?tres du relev? de notes
|
868
|
// jusqu'? ce que la case d'insertion des relev?s de notes entre les bulletins ait ?t? coch?e (au moins une fois)
|
869
|
if(document.getElementById('pliage_param_releve')) {document.getElementById('pliage_param_releve').style.display='none';}
|
870
|
|
871
|
|
872
|
|
873
|
function display_param_b_adr_pg() {
|
874
|
if(document.getElementById('div_param_b_adr_pg')) {
|
875
|
if(document.getElementById('mode_bulletin_html')) {
|
876
|
if(document.getElementById('mode_bulletin_html').checked==true) {
|
877
|
document.getElementById('div_param_b_adr_pg').style.display='';
|
878
|
}
|
879
|
else {
|
880
|
document.getElementById('div_param_b_adr_pg').style.display='none';
|
881
|
}
|
882
|
}
|
883
|
}
|
884
|
}
|
885
|
display_param_b_adr_pg();
|
886
|
|
887
|
</script>\n";
|
888
|
|
889
|
echo "<input type='hidden' name='valide_select_eleves' value='y' />\n";
|
890
|
echo "<p><input type='submit' name='bouton_valide_select_eleves2' value='Valider' /></p>\n";
|
891
|
echo "</form>\n";
|
892
|
}
|
893
|
//=======================================================
|
894
|
//==EXTRACTION DES DONNEES PUIS AFFICHAGE DES BULLETINS==
|
895
|
else {
|
896
|
/*
|
897
|
echo "<p class='bold'>";
|
898
|
echo "<a href='".$_SERVER['PHP_SELF']."'>Choisir d'autres classes</a>\n";
|
899
|
echo " | <a href='#' onClick='history.go(-1);'>Choisir d'autres p?riodes</a>\n";
|
900
|
echo " | <a href='#' onClick='history.go(-2);'>Choisir d'autres ?l?ves</a>\n";
|
901
|
echo "</p>\n";
|
902
|
*/
|
903
|
|
904
|
//debug_var();
|
905
|
|
906
|
$mode_bulletin=isset($_POST['mode_bulletin']) ? $_POST['mode_bulletin'] : "html";
|
907
|
$un_seul_bull_par_famille=isset($_POST['un_seul_bull_par_famille']) ? $_POST['un_seul_bull_par_famille'] : "non";
|
908
|
$coefficients_a_1=isset($_POST['coefficients_a_1']) ? $_POST['coefficients_a_1'] : "non";
|
909
|
|
910
|
$use_cell_ajustee=isset($_POST['use_cell_ajustee']) ? $_POST['use_cell_ajustee'] : "y";
|
911
|
|
912
|
$tri_par_etab_orig=isset($_POST['tri_par_etab_orig']) ? $_POST['tri_par_etab_orig'] : "n";
|
913
|
|
914
|
// 20100615
|
915
|
$moyennes_periodes_precedentes=isset($_POST['moyennes_periodes_precedentes']) ? $_POST['moyennes_periodes_precedentes'] : "n";
|
916
|
|
917
|
//========================================
|
918
|
/*
|
919
|
echo "<style type='text/css'>
|
920
|
@media screen{
|
921
|
#infodiv {
|
922
|
float: right;
|
923
|
width: 20em;
|
924
|
background-color: white;
|
925
|
}
|
926
|
}
|
927
|
@media print{
|
928
|
#infodiv {
|
929
|
display:none;
|
930
|
}
|
931
|
}
|
932
|
</style>\n";
|
933
|
*/
|
934
|
|
935
|
|
936
|
if($mode_bulletin=="html") {
|
937
|
echo "<div id='infodiv'>
|
938
|
<p id='titre_infodiv' style='font-weight:bold; text-align:center; border:1px solid black;'></p>
|
939
|
<table class='boireaus' width='100%' summary='Tableau de progression'>
|
940
|
<tr>
|
941
|
<th colspan='3' id='td_info'></th>
|
942
|
</tr>
|
943
|
<tr>
|
944
|
<th width='33%'>Classe</th>
|
945
|
<th width='33%'>P?riode</th>
|
946
|
<th>El?ve</th>
|
947
|
</tr>
|
948
|
<tr>
|
949
|
<td id='td_classe'></td>
|
950
|
<td id='td_periode'></td>
|
951
|
<td id='td_ele'></td>
|
952
|
</tr>
|
953
|
</table>
|
954
|
</div>\n";
|
955
|
}
|
956
|
|
957
|
//=============================================
|
958
|
// Faire les extractions pour le relev? de notes si jamais cela a ?t? demand?.
|
959
|
if(isset($intercaler_releve_notes)) {
|
960
|
include("../cahier_notes/extraction_donnees_releves_notes.php");
|
961
|
}
|
962
|
else {
|
963
|
// On initialise un tableau qui restera vide...
|
964
|
$tab_releve=array();
|
965
|
}
|
966
|
//=============================================
|
967
|
|
968
|
|
969
|
if($mode_bulletin=="html") {
|
970
|
echo "<script type='text/javascript'>
|
971
|
document.getElementById('titre_infodiv').innerHTML='Bulletins';
|
972
|
document.getElementById('td_info').innerHTML='Pr?paratifs';
|
973
|
document.getElementById('td_classe').innerHTML='';
|
974
|
document.getElementById('td_periode').innerHTML='';
|
975
|
document.getElementById('td_ele').innerHTML='';
|
976
|
</script>\n";
|
977
|
}
|
978
|
|
979
|
//========================================
|
980
|
|
981
|
|
982
|
//========================================
|
983
|
// RECUPERER LES INFOS ETABLISSEMENT
|
984
|
|
985
|
//==============================
|
986
|
$motif="Temoin_1";
|
987
|
decompte_debug($motif,"Initialisation $motif");
|
988
|
//==============================
|
989
|
|
990
|
// Peut-?tre d?placer ?a vers un fichier externe d'initialisation de variables
|
991
|
// Et appeler les variables en 'global' dans les fonctions g?n?rant les bulletins
|
992
|
|
993
|
/*
|
994
|
// R?cup?r?s plus haut
|
995
|
$RneEtablissement=getSettingValue("gepiSchoolRne");
|
996
|
$gepiSchoolName=getSettingValue("gepiSchoolName");
|
997
|
$gepiSchoolAdress1=getSettingValue("gepiSchoolAdress1");
|
998
|
$gepiSchoolAdress2=getSettingValue("gepiSchoolAdress2");
|
999
|
$gepiSchoolZipCode=getSettingValue("gepiSchoolZipCode");
|
1000
|
$gepiSchoolCity=getSettingValue("gepiSchoolCity");
|
1001
|
$gepiSchoolPays=getSettingValue("gepiSchoolPays");
|
1002
|
|
1003
|
$logo_etab=getSettingValue("logo_etab");
|
1004
|
|
1005
|
if(!getSettingValue("bull_intitule_app")){
|
1006
|
$bull_intitule_app="Appr?ciations/Conseils";
|
1007
|
}
|
1008
|
else{
|
1009
|
$bull_intitule_app=getSettingValue("bull_intitule_app");
|
1010
|
}
|
1011
|
|
1012
|
if(!getSettingValue("bull_affiche_tel")){
|
1013
|
$bull_affiche_tel="n";
|
1014
|
}
|
1015
|
else{
|
1016
|
$bull_affiche_tel=getSettingValue("bull_affiche_tel");
|
1017
|
}
|
1018
|
|
1019
|
if(!getSettingValue("bull_affiche_fax")){
|
1020
|
$bull_affiche_fax="n";
|
1021
|
}
|
1022
|
else{
|
1023
|
$bull_affiche_fax=getSettingValue("bull_affiche_fax");
|
1024
|
}
|
1025
|
|
1026
|
if($bull_affiche_fax=="y"){
|
1027
|
$gepiSchoolFax=getSettingValue("gepiSchoolFax");
|
1028
|
}
|
1029
|
|
1030
|
if($bull_affiche_tel=="y"){
|
1031
|
$gepiSchoolTel=getSettingValue("gepiSchoolTel");
|
1032
|
}
|
1033
|
|
1034
|
//========================================
|
1035
|
|
1036
|
if(getSettingValue("genre_periode")){
|
1037
|
$genre_periode=getSettingValue("genre_periode");
|
1038
|
}
|
1039
|
else{
|
1040
|
$genre_periode="M";
|
1041
|
}
|
1042
|
*/
|
1043
|
|
1044
|
//========================================
|
1045
|
|
1046
|
// Absences
|
1047
|
$bull_affiche_absences=getSettingValue("bull_affiche_absences");
|
1048
|
|
1049
|
// Prof principal
|
1050
|
$gepi_prof_suivi=getSettingValue("gepi_prof_suivi");
|
1051
|
|
1052
|
//=========================================
|
1053
|
// AID
|
1054
|
$bull_affiche_aid=getSettingValue("bull_affiche_aid");
|
1055
|
|
1056
|
if ($bull_affiche_aid == 'y') {
|
1057
|
// Initialisations diverses
|
1058
|
unset($call_data_aid_b);
|
1059
|
unset($call_data_aid_e);
|
1060
|
|
1061
|
// On pr?pare l'affichage des appr?ciations des Activit?s Interdisciplinaires devant appara?tre en t?te des bulletins :
|
1062
|
if (!isset($call_data_aid_b)){
|
1063
|
$sql="SELECT * FROM aid_config WHERE (order_display1 ='b' and display_bulletin!='n') ORDER BY order_display2;";
|
1064
|
//echo "$sql<br />";
|
1065
|
$call_data_aid_b = mysql_query($sql);
|
1066
|
$nb_aid_b = mysql_num_rows($call_data_aid_b);
|
1067
|
//echo "\$nb_aid_b=$nb_aid_b<br />";
|
1068
|
}
|
1069
|
|
1070
|
// On pr?pare l'affichage des appr?ciations des Activit?s Interdisciplinaires devant appara?tre en fin des bulletins :
|
1071
|
if (!isset($call_data_aid_e)){
|
1072
|
$sql="SELECT * FROM aid_config WHERE (order_display1 ='e' and display_bulletin!='n') ORDER BY order_display2;";
|
1073
|
//echo "$sql<br />";
|
1074
|
$call_data_aid_e = mysql_query($sql);
|
1075
|
$nb_aid_e = mysql_num_rows($call_data_aid_e);
|
1076
|
//echo "\$nb_aid_e=$nb_aid_e<br />";
|
1077
|
}
|
1078
|
}
|
1079
|
//=========================================
|
1080
|
|
1081
|
|
1082
|
// Tableau destin? ? stocker toutes les infos
|
1083
|
$tab_bulletin=array();
|
1084
|
|
1085
|
//==============================
|
1086
|
$motif="Temoin_1";
|
1087
|
decompte_debug($motif,"$motif avant la boucle classes");
|
1088
|
//==============================
|
1089
|
|
1090
|
// Boucle sur les classes
|
1091
|
for($loop_classe=0;$loop_classe<count($tab_id_classe);$loop_classe++) {
|
1092
|
|
1093
|
//==============================
|
1094
|
if($mode_bulletin=="html") {
|
1095
|
$motif="Temoin_classe";
|
1096
|
decompte_debug($motif,"$motif classe $loop_classe");
|
1097
|
flush();
|
1098
|
echo "<script type='text/javascript'>
|
1099
|
document.getElementById('td_classe').innerHTML='".get_class_from_id($tab_id_classe[$loop_classe])."';
|
1100
|
</script>\n";
|
1101
|
}
|
1102
|
//==============================
|
1103
|
|
1104
|
|
1105
|
// Remplissage des param?tres du mod?le de bulletin PDF:
|
1106
|
if($mode_bulletin=="pdf") {
|
1107
|
|
1108
|
// information d'activation des diff?rentes parties du bulletin
|
1109
|
$tab_modele_pdf["affiche_filigrame"][$tab_id_classe[$loop_classe]]='1'; // affiche un filigramme
|
1110
|
$tab_modele_pdf["texte_filigrame"][$tab_id_classe[$loop_classe]]='DUPLICATA INTERNET'; // texte du filigrame
|
1111
|
$tab_modele_pdf["affiche_logo_etab"][$tab_id_classe[$loop_classe]]='1';
|
1112
|
$tab_modele_pdf["nom_etab_gras"][$tab_id_classe[$loop_classe]]='0';
|
1113
|
$tab_modele_pdf["entente_mel"][$tab_id_classe[$loop_classe]]='1'; // afficher l'adresse mel dans l'ent?te
|
1114
|
$tab_modele_pdf["entente_tel"][$tab_id_classe[$loop_classe]]='1'; // afficher le num?ro de t?l?phone dans l'ent?te
|
1115
|
$tab_modele_pdf["entente_fax"][$tab_id_classe[$loop_classe]]='1'; // afficher le num?ro de fax dans l'ent?te
|
1116
|
$tab_modele_pdf["L_max_logo"][$tab_id_classe[$loop_classe]]=75; $tab_modele_pdf["H_max_logo"][$tab_id_classe[$loop_classe]]=75; //dimension du logo
|
1117
|
$tab_modele_pdf["active_bloc_datation"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher les informations de datation du bulletin
|
1118
|
$tab_modele_pdf["taille_texte_date_edition"][$tab_id_classe[$loop_classe]] = '8'; // d?finit la taille de la date d'?dition du bulletin
|
1119
|
$tab_modele_pdf["active_bloc_eleve"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher les informations sur l'?l?ve
|
1120
|
$tab_modele_pdf["active_bloc_adresse_parent"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher l'adresse des parents
|
1121
|
$tab_modele_pdf["active_bloc_absence"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher les absences de l'?l?ve
|
1122
|
$tab_modele_pdf["active_bloc_note_appreciation"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher les notes et appr?ciations
|
1123
|
$tab_modele_pdf["active_bloc_avis_conseil"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher les avis du conseil de classe
|
1124
|
$tab_modele_pdf["active_bloc_chef"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher la signature du chef
|
1125
|
$tab_modele_pdf["active_photo"][$tab_id_classe[$loop_classe]] = '0'; // fait - afficher la photo de l'?l?ve
|
1126
|
$tab_modele_pdf["active_coef_moyenne"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher le co?ficient des moyenne par mati?re
|
1127
|
$active_coef_sousmoyene = '1'; // fait - afficher le co?ficient des moyenne par mati?re
|
1128
|
$tab_modele_pdf["active_nombre_note"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher le nombre de note par mati?re sous la moyenne de l'?l?ve
|
1129
|
$tab_modele_pdf["active_nombre_note_case"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher le nombre de note par mati?re
|
1130
|
$tab_modele_pdf["active_moyenne"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher les moyennes
|
1131
|
$tab_modele_pdf["active_moyenne_eleve"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher la moyenne de l'?l?ve
|
1132
|
$tab_modele_pdf["active_moyenne_classe"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher les moyennes de la classe
|
1133
|
$tab_modele_pdf["active_moyenne_min"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher les moyennes minimum
|
1134
|
$tab_modele_pdf["active_moyenne_max"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher les moyennes maximum
|
1135
|
$tab_modele_pdf["active_regroupement_cote"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher le nom des regroupement sur le cot?
|
1136
|
$tab_modele_pdf["active_entete_regroupement"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher les ent?te des regroupement
|
1137
|
$tab_modele_pdf["active_moyenne_regroupement"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher les moyennes des regroupement
|
1138
|
$tab_modele_pdf["active_moyenne_general"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher la moyenne g?n?ral sur le bulletin
|
1139
|
$tab_modele_pdf["active_rang"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher le rang de l'?l?ve
|
1140
|
$tab_modele_pdf["active_graphique_niveau"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher le graphique des niveaux
|
1141
|
$tab_modele_pdf["active_appreciation"][$tab_id_classe[$loop_classe]] = '1'; // fait - afficher les appr?ciations des professeurs
|
1142
|
|
1143
|
$tab_modele_pdf["affiche_doublement"][$tab_id_classe[$loop_classe]] = '1'; // affiche si l'?l?ve ? doubler
|
1144
|
$tab_modele_pdf["affiche_date_naissance"][$tab_id_classe[$loop_classe]] = '1'; // affiche la date de naissance de l'?l?ve
|
1145
|
$tab_modele_pdf["affiche_lieu_naissance"][$tab_id_classe[$loop_classe]] = '0'; // affiche le lieu de naissance de l'?l?ve
|
1146
|
$tab_modele_pdf["affiche_dp"][$tab_id_classe[$loop_classe]] = '1'; // affiche l'?tat de demi pension ou extern
|
1147
|
$tab_modele_pdf["affiche_nom_court"][$tab_id_classe[$loop_classe]] = '1'; // affiche le nom court de la classe
|
1148
|
$tab_modele_pdf["affiche_effectif_classe"][$tab_id_classe[$loop_classe]] = '1'; // affiche l'effectif de la classe
|
1149
|
$tab_modele_pdf["affiche_numero_impression"][$tab_id_classe[$loop_classe]] = '1'; // affiche le num?ro d'impression des bulletins
|
1150
|
$tab_modele_pdf["affiche_etab_origine"][$tab_id_classe[$loop_classe]] = '0'; // affiche l'?tablissement d'origine
|
1151
|
|
1152
|
$tab_modele_pdf["toute_moyenne_meme_col"][$tab_id_classe[$loop_classe]]='0'; // afficher les information moyenne classe/min/max sous la moyenne g?n?ral de l'?l?ve
|
1153
|
$active_coef_sousmoyene = '1'; //afficher le coeficent en dessous de la moyenne de l'?l?ve
|
1154
|
|
1155
|
$tab_modele_pdf["entete_model_bulletin"][$tab_id_classe[$loop_classe]] = '1'; //choix du type d'entete des moyennes
|
1156
|
$tab_modele_pdf["ordre_entete_model_bulletin"][$tab_id_classe[$loop_classe]] = '1'; // ordre des ent?tes tableau du bulletin
|
1157
|
|
1158
|
// information param?trage
|
1159
|
$tab_modele_pdf["caractere_utilse"][$tab_id_classe[$loop_classe]] = 'Arial';
|
1160
|
// cadre identit?e parents
|
1161
|
$tab_modele_pdf["X_parent"][$tab_id_classe[$loop_classe]]=110; $tab_modele_pdf["Y_parent"][$tab_id_classe[$loop_classe]]=40;
|
1162
|
$tab_modele_pdf["imprime_pour"][$tab_id_classe[$loop_classe]] = 1;
|
1163
|
// cadre identit?e eleve
|
1164
|
$tab_modele_pdf["X_eleve"][$tab_id_classe[$loop_classe]]=5; $tab_modele_pdf["Y_eleve"][$tab_id_classe[$loop_classe]]=40;
|
1165
|
$tab_modele_pdf["cadre_eleve"][$tab_id_classe[$loop_classe]]=1;
|
1166
|
// cadre de datation du bulletin
|
1167
|
$tab_modele_pdf["X_datation_bul"][$tab_id_classe[$loop_classe]]=110; $tab_modele_pdf["Y_datation_bul"][$tab_id_classe[$loop_classe]]=5;
|
1168
|
$tab_modele_pdf["cadre_datation_bul"][$tab_id_classe[$loop_classe]]=1;
|
1169
|
// si les cat?gorie son affich? avec moyenne
|
1170
|
$tab_modele_pdf["hauteur_info_categorie"][$tab_id_classe[$loop_classe]]=5;
|
1171
|
// cadre des notes et app
|
1172
|
$tab_modele_pdf["X_note_app"][$tab_id_classe[$loop_classe]]=5;
|
1173
|
$tab_modele_pdf["Y_note_app"][$tab_id_classe[$loop_classe]]=72;
|
1174
|
$tab_modele_pdf["longeur_note_app"][$tab_id_classe[$loop_classe]]=200;
|
1175
|
$tab_modele_pdf["hauteur_note_app"][$tab_id_classe[$loop_classe]]=175;
|
1176
|
/*
|
1177
|
if($tab_modele_pdf["active_regroupement_cote"][$tab_id_classe[$loop_classe]]==='1') {
|
1178
|
$tab_modele_pdf["X_note_app"][$tab_id_classe[$loop_classe]]=$tab_modele_pdf["X_note_app"][$tab_id_classe[$loop_classe]]+5;
|
1179
|
$tab_modele_pdf["Y_note_app"][$tab_id_classe[$loop_classe]]=$tab_modele_pdf["Y_note_app"][$tab_id_classe[$loop_classe]];
|
1180
|
$tab_modele_pdf["longeur_note_app"][$tab_id_classe[$loop_classe]]=$tab_modele_pdf["longeur_note_app"][$tab_id_classe[$loop_classe]]-5;
|
1181
|
$tab_modele_pdf["hauteur_note_app"][$tab_id_classe[$loop_classe]]=$tab_modele_pdf["hauteur_note_app"][$tab_id_classe[$loop_classe]];
|
1182
|
}
|
1183
|
*/
|
1184
|
//coef des matiere
|
1185
|
$tab_modele_pdf["largeur_coef_moyenne"][$tab_id_classe[$loop_classe]] = 8;
|
1186
|
//nombre de note par mati?re
|
1187
|
$tab_modele_pdf["largeur_nombre_note"][$tab_id_classe[$loop_classe]] = 8;
|
1188
|
//champ des moyennes
|
1189
|
$tab_modele_pdf["largeur_d_une_moyenne"][$tab_id_classe[$loop_classe]] = 10;
|
1190
|
//graphique de niveau
|
1191
|
$tab_modele_pdf["largeur_niveau"][$tab_id_classe[$loop_classe]] = 18;
|
1192
|
//rang de l'?l?ve
|
1193
|
$tab_modele_pdf["largeur_rang"][$tab_id_classe[$loop_classe]] = 8;
|
1194
|
//autres infos
|
1195
|
$tab_modele_pdf["active_reperage_eleve"][$tab_id_classe[$loop_classe]] = '1';
|
1196
|
$tab_modele_pdf["couleur_reperage_eleve1"][$tab_id_classe[$loop_classe]] = '255';
|
1197
|
$tab_modele_pdf["couleur_reperage_eleve2"][$tab_id_classe[$loop_classe]] = '255';
|
1198
|
$tab_modele_pdf["couleur_reperage_eleve3"][$tab_id_classe[$loop_classe]] = '207';
|
1199
|
$tab_modele_pdf["couleur_categorie_cote"][$tab_id_classe[$loop_classe]] = '1';
|
1200
|
$tab_modele_pdf["couleur_categorie_cote1"][$tab_id_classe[$loop_classe]]='239';
|
1201
|
$tab_modele_pdf["couleur_categorie_cote2"][$tab_id_classe[$loop_classe]]='239';
|
1202
|
$tab_modele_pdf["couleur_categorie_cote3"][$tab_id_classe[$loop_classe]]='239';
|
1203
|
$tab_modele_pdf["couleur_categorie_entete"][$tab_id_classe[$loop_classe]] = '1';
|
1204
|
$tab_modele_pdf["couleur_categorie_entete1"][$tab_id_classe[$loop_classe]]='239';
|
1205
|
$tab_modele_pdf["couleur_categorie_entete2"][$tab_id_classe[$loop_classe]]='239';
|
1206
|
$tab_modele_pdf["couleur_categorie_entete3"][$tab_id_classe[$loop_classe]]='239';
|
1207
|
$tab_modele_pdf["couleur_moy_general"][$tab_id_classe[$loop_classe]] = '1';
|
1208
|
$tab_modele_pdf["couleur_moy_general1"][$tab_id_classe[$loop_classe]]='239';
|
1209
|
$tab_modele_pdf["couleur_moy_general2"][$tab_id_classe[$loop_classe]]='239';
|
1210
|
$tab_modele_pdf["couleur_moy_general3"][$tab_id_classe[$loop_classe]]='239';
|
1211
|
$tab_modele_pdf["titre_entete_matiere"][$tab_id_classe[$loop_classe]]='Mati?re';
|
1212
|
$active_coef_sousmoyene = '1'; $tab_modele_pdf["titre_entete_coef"][$tab_id_classe[$loop_classe]]='coef.';
|
1213
|
$tab_modele_pdf["titre_entete_nbnote"][$tab_id_classe[$loop_classe]]='nb. n.';
|
1214
|
$tab_modele_pdf["titre_entete_rang"][$tab_id_classe[$loop_classe]]='rang';
|
1215
|
$titre_entete_appreciation='Appr?ciation/Conseils';
|
1216
|
// cadre absence
|
1217
|
$tab_modele_pdf["X_absence"][$tab_id_classe[$loop_classe]]=5; $tab_modele_pdf["Y_absence"][$tab_id_classe[$loop_classe]]=246.3;
|
1218
|
// entete du bas contient les moyennes g?rn?ral
|
1219
|
$tab_modele_pdf["hauteur_entete_moyenne_general"][$tab_id_classe[$loop_classe]] = 5;
|
1220
|
// cadre des Avis du conseil de classe
|
1221
|
$tab_modele_pdf["X_avis_cons"][$tab_id_classe[$loop_classe]]=5; $tab_modele_pdf["Y_avis_cons"][$tab_id_classe[$loop_classe]]=250; $tab_modele_pdf["longeur_avis_cons"][$tab_id_classe[$loop_classe]]=130; $tab_modele_pdf["hauteur_avis_cons"][$tab_id_classe[$loop_classe]]=37;
|
1222
|
$tab_modele_pdf["cadre_avis_cons"][$tab_id_classe[$loop_classe]]=1;
|
1223
|
// cadre signature du chef
|
1224
|
$tab_modele_pdf["X_sign_chef"][$tab_id_classe[$loop_classe]]=138; $tab_modele_pdf["Y_sign_chef"][$tab_id_classe[$loop_classe]]=250; $tab_modele_pdf["longeur_sign_chef"][$tab_id_classe[$loop_classe]]=67; $tab_modele_pdf["hauteur_sign_chef"][$tab_id_classe[$loop_classe]]=37;
|
1225
|
$tab_modele_pdf["cadre_sign_chef"][$tab_id_classe[$loop_classe]]=0;
|
1226
|
//les moyennes
|
1227
|
$tab_modele_pdf["arrondie_choix"][$tab_id_classe[$loop_classe]]='0.01'; //arrondie de la moyenne
|
1228
|
$tab_modele_pdf["nb_chiffre_virgule"][$tab_id_classe[$loop_classe]]='1'; //nombre de chiffre apr?s la virgule
|
1229
|
$tab_modele_pdf["chiffre_avec_zero"][$tab_id_classe[$loop_classe]]='1'; // si une moyenne se termine par ,00 alors on supprimer les zero
|
1230
|
|
1231
|
$tab_modele_pdf["autorise_sous_matiere"][$tab_id_classe[$loop_classe]] = '1'; //autorise l'affichage des sous mati?re
|
1232
|
$tab_modele_pdf["affichage_haut_responsable"][$tab_id_classe[$loop_classe]] = '1'; //affiche le nom du haut responsable de la classe
|
1233
|
|
1234
|
$tab_modele_pdf["largeur_matiere"][$tab_id_classe[$loop_classe]] = '40'; // largeur de la colonne matiere
|
1235
|
|
1236
|
$tab_modele_pdf["taille_texte_matiere"][$tab_id_classe[$loop_classe]] = '10'; //taille du texte des mati?res
|
1237
|
|
1238
|
$tab_modele_pdf["titre_bloc_avis_conseil"][$tab_id_classe[$loop_classe]] = 'Avis du Conseil de classe:'; // titre du bloc avis du conseil de classe
|
1239
|
$tab_modele_pdf["taille_titre_bloc_avis_conseil"][$tab_id_classe[$loop_classe]] = '10'; // taille du titre du bloc avis du conseil
|
1240
|
$tab_modele_pdf["taille_profprincipal_bloc_avis_conseil"][$tab_id_classe[$loop_classe]] = '10'; // taille du texte prof principal du bloc avis conseil de classe
|
1241
|
$tab_modele_pdf["affiche_fonction_chef"][$tab_id_classe[$loop_classe]] = '1'; // affiche la fonction du chef
|
1242
|
$tab_modele_pdf["taille_texte_fonction_chef"][$tab_id_classe[$loop_classe]] = '10'; // taille du texte de la fonction du chef
|
1243
|
$tab_modele_pdf["taille_texte_identitee_chef"][$tab_id_classe[$loop_classe]] = '10'; // taille du texte du nom du chef
|
1244
|
|
1245
|
$tab_modele_pdf["cadre_adresse"][$tab_id_classe[$loop_classe]] = ''; // cadre sur l'adresse
|
1246
|
|
1247
|
$tab_modele_pdf["centrage_logo"][$tab_id_classe[$loop_classe]] = '0'; // centrer le logo de l'?tablissement
|
1248
|
$tab_modele_pdf["Y_centre_logo"][$tab_id_classe[$loop_classe]] = '18'; // centre du logo sur la page
|
1249
|
$tab_modele_pdf["ajout_cadre_blanc_photo"][$tab_id_classe[$loop_classe]] = '0'; // ajouter un cadre blanc pour la photo de l'?l?ve.
|
1250
|
|
1251
|
$tab_modele_pdf["affiche_moyenne_mini_general"][$tab_id_classe[$loop_classe]] = '1'; // permet l'affichage de la moyenne g?n?ral mini
|
1252
|
$tab_modele_pdf["affiche_moyenne_maxi_general"][$tab_id_classe[$loop_classe]] = '1'; // permet l'affichage de la moyenne g?n?ral maxi
|
1253
|
|
1254
|
$tab_modele_pdf["affiche_date_edition"][$tab_id_classe[$loop_classe]] = '1'; // affiche la date d'?dition
|
1255
|
$tab_modele_pdf["affiche_ine"][$tab_id_classe[$loop_classe]] = '0'; // affiche l'INE de l'?l?ve
|
1256
|
|
1257
|
$tab_modele_pdf["affiche_moyenne_general_coef_1"][$tab_id_classe[$loop_classe]] = '0'; // affichage des moyennes g?n?rales avec coef 1 en plus des autres coeff saisis dans Gestion des classes/<Classe> Enseignements
|
1258
|
|
1259
|
//================================
|
1260
|
//================================
|
1261
|
//================================
|
1262
|
|
1263
|
// Mod?le de bulletin PDF
|
1264
|
$type_bulletin=isset($_POST['type_bulletin']) ? $_POST['type_bulletin'] : 1;
|
1265
|
// CONTROLER SI type_bulletin EST BIEN UN ENTIER ?ventuellement -1
|
1266
|
if(isset($type_bulletin)) {
|
1267
|
|
1268
|
$option_modele_bulletin=getSettingValue("option_modele_bulletin");
|
1269
|
if($option_modele_bulletin==1) {$type_bulletin=-1;}
|
1270
|
|
1271
|
//echo "\$type_bulletin=$type_bulletin<br />";
|
1272
|
if ($type_bulletin == -1) {
|
1273
|
// cas mod?le par classe
|
1274
|
$sql="SELECT modele_bulletin_pdf FROM classes WHERE id='".$tab_id_classe[$loop_classe]."';";
|
1275
|
//echo "$sql<br />";
|
1276
|
$res_model=mysql_query($sql);
|
1277
|
if(mysql_num_rows($res_model)==0) {
|
1278
|
$sql="SELECT * FROM modele_bulletin WHERE id_model_bulletin='1';";
|
1279
|
}
|
1280
|
else {
|
1281
|
$lig_mb=mysql_fetch_object($res_model);
|
1282
|
|
1283
|
//echo "\$lig_mb->modele_bulletin_pdf=$lig_mb->modele_bulletin_pdf<br />";
|
1284
|
if(($lig_mb->modele_bulletin_pdf=='NULL')||($lig_mb->modele_bulletin_pdf=='')) {
|
1285
|
$sql="SELECT * FROM modele_bulletin WHERE id_model_bulletin='1';";
|
1286
|
}
|
1287
|
else {
|
1288
|
$sql="SELECT * FROM modele_bulletin WHERE id_model_bulletin='".$lig_mb->modele_bulletin_pdf."';";
|
1289
|
}
|
1290
|
}
|
1291
|
} else {
|
1292
|
$sql="SELECT * FROM modele_bulletin WHERE id_model_bulletin='".$type_bulletin."';";
|
1293
|
}
|
1294
|
//echo "$sql<br />";
|
1295
|
}
|
1296
|
|
1297
|
//$type_bulletin=3;
|
1298
|
//$sql='SELECT * FROM modele_bulletin WHERE id_model_bulletin="'.$type_bulletin.'"';
|
1299
|
//echo "$sql<br />";
|
1300
|
$requete_model = mysql_query($sql);
|
1301
|
if(mysql_num_rows($requete_model)>0) {
|
1302
|
$cpt=0;
|
1303
|
while($lig_model=mysql_fetch_object($requete_model)) {
|
1304
|
$tab_modele_pdf["$lig_model->nom"][$tab_id_classe[$loop_classe]]=$lig_model->valeur;
|
1305
|
}
|
1306
|
}
|
1307
|
|
1308
|
// Il faudrait appliquer d'autres correctifs:
|
1309
|
//echo "\$tab_modele_pdf[\"largeur_nombre_note\"][$tab_id_classe[$loop_classe]]='".$tab_modele_pdf["largeur_nombre_note"][$tab_id_classe[$loop_classe]]."'<br />";
|
1310
|
if($tab_modele_pdf["largeur_nombre_note"][$tab_id_classe[$loop_classe]]=="0") {$tab_modele_pdf["largeur_nombre_note"][$tab_id_classe[$loop_classe]] = 8;}
|
1311
|
|
1312
|
if($tab_modele_pdf["active_regroupement_cote"][$tab_id_classe[$loop_classe]]==='1') {
|
1313
|
$tab_modele_pdf["X_note_app"][$tab_id_classe[$loop_classe]]=$tab_modele_pdf["X_note_app"][$tab_id_classe[$loop_classe]]+5;
|
1314
|
$tab_modele_pdf["Y_note_app"][$tab_id_classe[$loop_classe]]=$tab_modele_pdf["Y_note_app"][$tab_id_classe[$loop_classe]];
|
1315
|
$tab_modele_pdf["longeur_note_app"][$tab_id_classe[$loop_classe]]=$tab_modele_pdf["longeur_note_app"][$tab_id_classe[$loop_classe]]-5;
|
1316
|
$tab_modele_pdf["hauteur_note_app"][$tab_id_classe[$loop_classe]]=$tab_modele_pdf["hauteur_note_app"][$tab_id_classe[$loop_classe]];
|
1317
|
}
|
1318
|
|
1319
|
//================================
|
1320
|
//================================
|
1321
|
//================================
|
1322
|
}
|
1323
|
|
1324
|
|
1325
|
//$id_classe=2;
|
1326
|
$id_classe=$tab_id_classe[$loop_classe];
|
1327
|
// Est-ce bien un entier?
|
1328
|
if((strlen(my_ereg_replace("[0-9]","",$id_classe)))||($id_classe=="")) {
|
1329
|
echo "<p>Identifiant de classe erron?: <span style='color:red'>$id_classe</span></p>\n";
|
1330
|
require("../lib/footer.inc.php");
|
1331
|
die();
|
1332
|
}
|
1333
|
|
1334
|
|
1335
|
// ++++++++++++++++++++++++++++++++++++++
|
1336
|
// ++++++++++++++++++++++++++++++++++++++
|
1337
|
// AJOUTER UN TEST: Le visiteur a-t-il le droit d'acc?der ? cette page pour cette classe
|
1338
|
if ($_SESSION["statut"] == "scolarite") {
|
1339
|
$sql="SELECT 1=1 FROM classes c, j_scol_classes jsc, j_eleves_classes jec WHERE (jec.id_classe=c.id AND jsc.id_classe=c.id AND jsc.login='".$_SESSION['login']."' AND c.id='$id_classe');";
|
1340
|
}
|
1341
|
//elseif ($_SESSION["statut"] == "administrateur") {
|
1342
|
elseif (($_SESSION["statut"] == "administrateur")||($_SESSION["statut"] == "secours")) {
|
1343
|
// On selectionne toutes les classes
|
1344
|
//$sql="SELECT DISTINCT c.* FROM classes c WHERE 1";
|
1345
|
$sql="SELECT 1=1 FROM j_eleves_classes jec, classes c WHERE (c.id=jec.id_classe) LIMIT 1;";
|
1346
|
}
|
1347
|
elseif ($_SESSION["statut"] == "professeur") {
|
1348
|
$sql="SELECT DISTINCT c.* FROM classes c, j_eleves_professeurs jep, j_eleves_classes jec WHERE (jep.professeur='".$_SESSION['login']."' AND jep.login = jec.login AND jec.id_classe = c.id AND c.id='$id_classe');";
|
1349
|
}
|
1350
|
else {
|
1351
|
// On ne devrait pas arriver jusque-l?...
|
1352
|
echo "<p>Droits insuffisants pour effectuer cette op?ration</p>\n";
|
1353
|
require("../lib/footer.inc.php");
|
1354
|
die();
|
1355
|
}
|
1356
|
|
1357
|
$test_acces_classe=mysql_query($sql);
|
1358
|
if(mysql_num_rows($test_acces_classe)==0) {
|
1359
|
tentative_intrusion(2, "Tentative d'un ".$_SESSION["statut"]." (".$_SESSION["login"].") ? une classe (".get_class_from_id($id_classe).") sans y ?tre autoris?.");
|
1360
|
echo "<p>Vous n'?tes pas autoris?s ? ?tre ici.</p>\n";
|
1361
|
require("../lib/footer.inc.php");
|
1362
|
die();
|
1363
|
}
|
1364
|
// ++++++++++++++++++++++++++++++++++++++
|
1365
|
// ++++++++++++++++++++++++++++++++++++++
|
1366
|
|
1367
|
|
1368
|
// Tableau destin? ? stocker toutes les infos
|
1369
|
$tab_bulletin[$id_classe]=array();
|
1370
|
if(!isset($intercaler_releve_notes)) {
|
1371
|
// On initialise un tableau qui va rester vide
|
1372
|
$tab_releve[$id_classe]=array();
|
1373
|
}
|
1374
|
|
1375
|
$affiche_adresse = sql_query1("SELECT display_address FROM classes WHERE id='".$id_classe."'");
|
1376
|
//echo "\$affiche_adresse=$affiche_adresse<br />";
|
1377
|
|
1378
|
//===========================================
|
1379
|
$b_adr_pg=isset($_POST['b_adr_pg']) ? $_POST['b_adr_pg'] : 'xx';
|
1380
|
if($b_adr_pg=='nn') {
|
1381
|
$affiche_adresse="n";
|
1382
|
$page_garde_imprime="n";
|
1383
|
}
|
1384
|
elseif($b_adr_pg=='yn') {
|
1385
|
$affiche_adresse="y";
|
1386
|
$page_garde_imprime="n";
|
1387
|
}
|
1388
|
elseif($b_adr_pg=='ny') {
|
1389
|
$affiche_adresse="n";
|
1390
|
$page_garde_imprime="yes";
|
1391
|
}
|
1392
|
elseif($b_adr_pg=='yy') {
|
1393
|
$affiche_adresse="y";
|
1394
|
$page_garde_imprime="yes";
|
1395
|
}
|
1396
|
$affiche_page_garde=$page_garde_imprime;
|
1397
|
$_SESSION['b_adr_pg']=$b_adr_pg;
|
1398
|
//===========================================
|
1399
|
|
1400
|
$sql="SELECT 1=1 FROM j_eleves_classes WHERE id_classe='$id_classe' GROUP BY login;";
|
1401
|
$res_eff_total_classe=mysql_query($sql);
|
1402
|
$eff_total_classe=mysql_num_rows($res_eff_total_classe);
|
1403
|
|
1404
|
|
1405
|
// Boucle sur les p?riodes
|
1406
|
for($loop_periode_num=0;$loop_periode_num<count($tab_periode_num);$loop_periode_num++) {
|
1407
|
|
1408
|
//$periode_num=1;
|
1409
|
$periode_num=$tab_periode_num[$loop_periode_num];
|
1410
|
|
1411
|
// Est-ce bien un entier?
|
1412
|
if((strlen(my_ereg_replace("[0-9]","",$periode_num)))||($periode_num=="")) {
|
1413
|
echo "<p>Identifiant de p?riode erron?: <span style='color:red'>".$periode_num."</span></p>\n";
|
1414
|
require("../lib/footer.inc.php");
|
1415
|
die();
|
1416
|
}
|
1417
|
|
1418
|
//==============================
|
1419
|
if($mode_bulletin=="html") {
|
1420
|
$motif="Temoin_periode";
|
1421
|
decompte_debug($motif,"$motif classe $loop_classe p?riode $periode_num");
|
1422
|
flush();
|
1423
|
echo "<script type='text/javascript'>
|
1424
|
document.getElementById('td_periode').innerHTML='".$periode_num."';
|
1425
|
</script>\n";
|
1426
|
}
|
1427
|
//==============================
|
1428
|
|
1429
|
//============================
|
1430
|
// On vide les variables de la boucle pr?c?dente avant le calcul dans calcul_moy_gen.inc.php
|
1431
|
unset($moy_gen_eleve);
|
1432
|
unset($moy_gen_classe);
|
1433
|
unset($moy_generale_classe);
|
1434
|
unset($moy_max_classe);
|
1435
|
unset($moy_min_classe);
|
1436
|
|
1437
|
unset($moy_cat_classe);
|
1438
|
unset($moy_cat_eleve);
|
1439
|
|
1440
|
unset($quartile1_classe_gen);
|
1441
|
unset($quartile2_classe_gen);
|
1442
|
unset($quartile3_classe_gen);
|
1443
|
unset($quartile4_classe_gen);
|
1444
|
unset($quartile5_classe_gen);
|
1445
|
unset($quartile6_classe_gen);
|
1446
|
unset($place_eleve_classe);
|
1447
|
|
1448
|
unset($current_eleve_login);
|
1449
|
unset($current_group);
|
1450
|
unset($current_eleve_note);
|
1451
|
unset($current_eleve_statut);
|
1452
|
unset($current_coef);
|
1453
|
unset($categories);
|
1454
|
unset($current_classe_matiere_moyenne);
|
1455
|
|
1456
|
unset($current_coef_eleve);
|
1457
|
unset($moy_min_classe_grp);
|
1458
|
unset($moy_max_classe_grp);
|
1459
|
unset($current_eleve_rang);
|
1460
|
|
1461
|
unset($current_group_effectif_avec_note);
|
1462
|
|
1463
|
unset($current_eleve_app);
|
1464
|
//============================
|
1465
|
|
1466
|
|
1467
|
// Tableau destin? ? stocker toutes les infos
|
1468
|
$tab_bulletin[$id_classe][$periode_num]=array();
|
1469
|
if(!isset($intercaler_releve_notes)) {
|
1470
|
// On initialise un tableau qui va rester vide
|
1471
|
$tab_releve[$id_classe][$periode_num]=array();
|
1472
|
}
|
1473
|
|
1474
|
|
1475
|
$tab_bulletin[$id_classe][$periode_num]['affiche_adresse']=$affiche_adresse;
|
1476
|
//echo "\$tab_bulletin[$id_classe][$periode_num]['affiche_adresse']=".$tab_bulletin[$id_classe][$periode_num]['affiche_adresse']."<br />";
|
1477
|
|
1478
|
// Informations sur la p?riode
|
1479
|
$sql="SELECT * FROM periodes WHERE id_classe='$id_classe' AND num_periode='$periode_num';";
|
1480
|
$res_per=mysql_query($sql);
|
1481
|
$lig_per=mysql_fetch_object($res_per);
|
1482
|
$tab_bulletin[$id_classe][$periode_num]['num_periode']=$lig_per->num_periode;
|
1483
|
//$tab_bulletin[$id_classe][$periode_num]['nom_periode']=$lig_per->nom_periode;
|
1484
|
$tab_bulletin[$id_classe][$periode_num]['nom_periode']=my_ereg_replace("'","'",$lig_per->nom_periode);
|
1485
|
$tab_bulletin[$id_classe][$periode_num]['verouiller']=$lig_per->verouiller;
|
1486
|
|
1487
|
|
1488
|
// Liste des ?l?ves ? ?diter/afficher/imprimer (s?lection):
|
1489
|
// tab_ele_".$i."_".$j.
|
1490
|
//$tab_bulletin[$id_classe][$periode_num]['selection_eleves']=array();
|
1491
|
$tab_selection_eleves=isset($_POST['tab_selection_ele_'.$loop_classe.'_'.$loop_periode_num]) ? $_POST['tab_selection_ele_'.$loop_classe.'_'.$loop_periode_num] : array();
|
1492
|
$tab_bulletin[$id_classe][$periode_num]['selection_eleves']=$tab_selection_eleves;
|
1493
|
|
1494
|
|
1495
|
$affiche_rang = sql_query1("SELECT display_rang FROM classes WHERE id='".$id_classe."'");
|
1496
|
if($mode_bulletin=="pdf") {
|
1497
|
if($tab_modele_pdf["active_rang"][$id_classe]==1) {
|
1498
|
$affiche_rang="y";
|
1499
|
}
|
1500
|
else {
|
1501
|
$affiche_rang="n";
|
1502
|
}
|
1503
|
}
|
1504
|
|
1505
|
|
1506
|
$affiche_nbdev=sql_query1("SELECT display_nbdev FROM classes WHERE id='".$id_classe."'");
|
1507
|
if($mode_bulletin=="pdf") {
|
1508
|
if(($tab_modele_pdf["active_nombre_note"][$id_classe]==1)||($tab_modele_pdf["active_nombre_note_case"][$id_classe]==1)) {
|
1509
|
$affiche_nbdev="y";
|
1510
|
}
|
1511
|
else {
|
1512
|
$affiche_nbdev="n";
|
1513
|
}
|
1514
|
}
|
1515
|
|
1516
|
|
1517
|
|
1518
|
// On teste si on affiche les graphiques
|
1519
|
if (getSettingValue("bull_affiche_graphiques") == 'yes'){$affiche_graph = 'y';}else{$affiche_graph = 'n';}
|
1520
|
|
1521
|
//========================================
|
1522
|
// Afficher la moyenne g?n?rale? (?galement conditionn? par la pr?sence d'un coef non nul au moins)
|
1523
|
$display_moy_gen = sql_query1("SELECT display_moy_gen FROM classes WHERE id='".$id_classe."'");
|
1524
|
//========================================
|
1525
|
|
1526
|
|
1527
|
//========================================
|
1528
|
// On teste la pr?sence d'au moins un coeff pour afficher la colonne des coef
|
1529
|
$test_coef = mysql_num_rows(mysql_query("SELECT coef FROM j_groupes_classes WHERE (id_classe='".$id_classe."' and coef > 0)"));
|
1530
|
//echo "\$test_coef=$test_coef<br />\n";
|
1531
|
//Afficher les coefficients des mati?res (uniquement si au moins un coef diff?rent de 0)
|
1532
|
if($test_coef>0){
|
1533
|
$affiche_coef = sql_query1("SELECT display_coef FROM classes WHERE id='".$id_classe."'");
|
1534
|
}
|
1535
|
else{
|
1536
|
$affiche_coef = "n";
|
1537
|
}
|
1538
|
//========================================
|
1539
|
|
1540
|
|
1541
|
//========================================
|
1542
|
$affiche_categories = sql_query1("SELECT display_mat_cat FROM classes WHERE id='".$id_classe."'");
|
1543
|
if ($affiche_categories == "y") {
|
1544
|
$affiche_categories = true;
|
1545
|
} else {
|
1546
|
$affiche_categories = false;
|
1547
|
}
|
1548
|
|
1549
|
if($mode_bulletin=="pdf") {
|
1550
|
if(($tab_modele_pdf["active_entete_regroupement"][$id_classe]==1)||($tab_modele_pdf["active_regroupement_cote"][$id_classe]==1)) {
|
1551
|
$affiche_categories = true;
|
1552
|
}
|
1553
|
else {
|
1554
|
$affiche_categories = false;
|
1555
|
}
|
1556
|
}
|
1557
|
|
1558
|
// V?rifier si il n'y a pas de b?tise sur les cat?gories.
|
1559
|
if($affiche_categories) {
|
1560
|
$sql="SELECT DISTINCT jmcc.priority ".
|
1561
|
"FROM j_groupes_classes jgc, j_groupes_matieres jgm, j_matieres_categories_classes jmcc, matieres m " .
|
1562
|
"WHERE ( " .
|
1563
|
"jgc.categorie_id = jmcc.categorie_id AND " .
|
1564
|
"jgc.id_classe=jmcc.classe_id AND " .
|
1565
|
"jgc.id_classe='".$id_classe."' AND " .
|
1566
|
"jgm.id_groupe=jgc.id_groupe AND " .
|
1567
|
"m.matiere = jgm.id_matiere" .
|
1568
|
");";
|
1569
|
$res_nb_cat_priorites=mysql_query($sql);
|
1570
|
$nb_cat_priorites=mysql_num_rows($res_nb_cat_priorites);
|
1571
|
//echo "\$nb_cat_priorites=$nb_cat_priorites<br />\n";
|
1572
|
|
1573
|
$sql="SELECT DISTINCT jgc.categorie_id ".
|
1574
|
"FROM j_groupes_classes jgc, j_groupes_matieres jgm, j_matieres_categories_classes jmcc, matieres m " .
|
1575
|
"WHERE ( " .
|
1576
|
"jgc.categorie_id = jmcc.categorie_id AND " .
|
1577
|
"jgc.id_classe=jmcc.classe_id AND " .
|
1578
|
"jgc.id_classe='".$id_classe."' AND " .
|
1579
|
"jgm.id_groupe=jgc.id_groupe AND " .
|
1580
|
"m.matiere = jgm.id_matiere" .
|
1581
|
");";
|
1582
|
$res_nb_cat=mysql_query($sql);
|
1583
|
$nb_cat=mysql_num_rows($res_nb_cat);
|
1584
|
//echo "\$nb_cat=$nb_cat<br />\n";
|
1585
|
|
1586
|
if($nb_cat_priorites!=$nb_cat) {
|
1587
|
// Tester si les cat?gories de mati?res ont bien des priorit?s diff?rentes au niveau Gestion des mati?res
|
1588
|
// Si ce n'est pas le cas, produire une alerte et sortir
|
1589
|
|
1590
|
$sql="SELECT DISTINCT mc.priority ".
|
1591
|
"FROM j_groupes_classes jgc, j_groupes_matieres jgm, j_matieres_categories_classes jmcc, matieres m, matieres_categories mc " .
|
1592
|
"WHERE ( " .
|
1593
|
"mc.id=jmcc.categorie_id AND ".
|
1594
|
"jgc.categorie_id = jmcc.categorie_id AND " .
|
1595
|
"jgc.id_classe=jmcc.classe_id AND " .
|
1596
|
"jgc.id_classe='".$id_classe."' AND " .
|
1597
|
"jgm.id_groupe=jgc.id_groupe AND " .
|
1598
|
"m.matiere = jgm.id_matiere" .
|
1599
|
");";
|
1600
|
$res_nb_cat_priorites_glob=mysql_query($sql);
|
1601
|
$nb_cat_priorites_glob=mysql_num_rows($res_nb_cat_priorites_glob);
|
1602
|
//echo "\$nb_cat_priorites=$nb_cat_priorites<br />\n";
|
1603
|
|
1604
|
if($nb_cat_priorites_glob!=$nb_cat) {
|
1605
|
if($mode_bulletin!="pdf") {
|
1606
|
echo "<h1 align='center'>Erreur</h1>";
|
1607
|
echo "<p>Vous avez demand? ? afficher les cat?gories de mati?res, mais les priorit?s d'affichage des cat?gories ne sont pas correctement d?finies, ni au niveau global dans Gestion des mati?res, ni au niveau particulier dans Gestion des classes/<Classe> Param?tres<br />Il ne faut pas que deux cat?gories aient la m?me priorit? sans quoi il peut survenir des anomalies d'ordre des mati?res sur le bulletin.</p>\n";
|
1608
|
require("../lib/footer.inc.php");
|
1609
|
die();
|
1610
|
}
|
1611
|
else {
|
1612
|
|
1613
|
$pdf=new bul_PDF('p', 'mm', 'A4');
|
1614
|
$pdf->SetCreator($gepiSchoolName);
|
1615
|
$pdf->SetAuthor($gepiSchoolName);
|
1616
|
$pdf->SetKeywords('');
|
1617
|
$pdf->SetSubject('Bulletin');
|
1618
|
$pdf->SetTitle('Bulletin');
|
1619
|
$pdf->SetDisplayMode('fullwidth', 'single');
|
1620
|
$pdf->SetCompression(TRUE);
|
1621
|
$pdf->SetAutoPageBreak(TRUE, 5);
|
1622
|
|
1623
|
$pdf->AddPage(); //ajout d'une page au document
|
1624
|
$pdf->SetFont('Arial');
|
1625
|
$pdf->SetXY(20,20);
|
1626
|
$pdf->SetFontSize(14);
|
1627
|
$pdf->Cell(90,7, "ERREUR",0,2,'');
|
1628
|
|
1629
|
$pdf->SetXY(20,40);
|
1630
|
$pdf->SetFontSize(10);
|
1631
|
$pdf->Cell(150,7, "Vous avez demand? ? afficher les cat?gories de mati?res,",0,2,'');
|
1632
|
$pdf->SetXY(20,45);
|
1633
|
$pdf->Cell(150,7, "mais les priorit?s d'affichage des cat?gories ne sont pas correctement d?finies,",0,2,'');
|
1634
|
$pdf->SetXY(20,50);
|
1635
|
$pdf->Cell(150,7, "ni au niveau global dans Gestion des mati?res,",0,2,'');
|
1636
|
$pdf->SetXY(20,55);
|
1637
|
$pdf->Cell(150,7, "ni au niveau particulier dans Gestion des classes/<Classe> Enseignements",0,2,'');
|
1638
|
$pdf->SetXY(20,65);
|
1639
|
$pdf->Cell(150,7, "Il ne faut pas que deux cat?gories aient la m?me priorit?",0,2,'');
|
1640
|
$pdf->SetXY(20,70);
|
1641
|
$pdf->Cell(150,7, "sans quoi il peut survenir des anomalies d'ordre des mati?res sur le bulletin.",0,2,'');
|
1642
|
|
1643
|
$nom_bulletin = 'Erreur_bulletin.pdf';
|
1644
|
$pdf->Output($nom_bulletin,'I');
|
1645
|
die();
|
1646
|
}
|
1647
|
}
|
1648
|
}
|
1649
|
}
|
1650
|
|
1651
|
//========================================
|
1652
|
|
1653
|
|
1654
|
if ($affiche_rang == 'y'){
|
1655
|
// On teste la pr?sence d'au moins un coeff pour afficher la colonne des coef
|
1656
|
$test_coef = mysql_num_rows(mysql_query("SELECT coef FROM j_groupes_classes WHERE (id_classe='".$id_classe."' and coef > 0)"));
|
1657
|
include("../lib/calcul_rang.inc.php");
|
1658
|
}
|
1659
|
|
1660
|
|
1661
|
$tab_bulletin[$id_classe][$periode_num]['test_coef']=$test_coef;
|
1662
|
if($coefficients_a_1=="oui") {
|
1663
|
// On force la valeur de test_coef si on impose des coef 1 pour le calcul des moyennes g?n?rales dans /lib/calcul_moy_gen.inc.php
|
1664
|
$tab_bulletin[$id_classe][$periode_num]['test_coef']=1;
|
1665
|
}
|
1666
|
|
1667
|
|
1668
|
// Informations sur la classe
|
1669
|
$sql="SELECT * FROM classes WHERE id='".$id_classe."';";
|
1670
|
$res_classe=mysql_query($sql);
|
1671
|
$lig_classe=mysql_fetch_object($res_classe);
|
1672
|
|
1673
|
$tab_bulletin[$id_classe][$periode_num]['id_classe']=$lig_classe->id;
|
1674
|
$tab_bulletin[$id_classe][$periode_num]['classe']=$lig_classe->classe;
|
1675
|
$tab_bulletin[$id_classe][$periode_num]['classe_nom_complet']=$lig_classe->nom_complet;
|
1676
|
$tab_bulletin[$id_classe][$periode_num]['formule']=$lig_classe->formule;
|
1677
|
$tab_bulletin[$id_classe][$periode_num]['suivi_par']=$lig_classe->suivi_par;
|
1678
|
|
1679
|
$classe=$lig_classe->classe;
|
1680
|
$classe_nom_complet=$lig_classe->nom_complet;
|
1681
|
|
1682
|
|
1683
|
|
1684
|
// R?cup?rer l'effectif de la classe,...
|
1685
|
$sql="SELECT 1=1 FROM j_eleves_classes WHERE id_classe='$id_classe' AND periode='$periode_num';";
|
1686
|
$res_eff_classe=mysql_query($sql);
|
1687
|
//$lig_eff_classe=mysql_fetch_object($res_eff_classe);
|
1688
|
$eff_classe=mysql_num_rows($res_eff_classe);
|
1689
|
//echo "<p>Effectif de la classe: $eff_classe</p>\n";
|
1690
|
|
1691
|
if($eff_classe==0) {
|
1692
|
echo "<p>La classe '$classe' est vide sur la p?riode '$periode_num'.<br />Il n'est pas possible de poursuivre.</p>\n";
|
1693
|
require("../lib/footer.inc.php");
|
1694
|
die();
|
1695
|
}
|
1696
|
|
1697
|
//==============================
|
1698
|
if($mode_bulletin=="html") {
|
1699
|
$motif="Temoin_calcul_moy_gen".$id_classe."_".$periode_num;
|
1700
|
decompte_debug($motif,"$motif avant");
|
1701
|
flush();
|
1702
|
}
|
1703
|
//==============================
|
1704
|
|
1705
|
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
1706
|
// 20100615
|
1707
|
//$moyennes_periodes_precedentes="y";
|
1708
|
if((isset($moyennes_periodes_precedentes))&&($periode_num>1)&&(!isset($tab_bulletin[$id_classe][$periode_num]['note_prec']))) {
|
1709
|
$reserve_periode_num=$periode_num;
|
1710
|
for($periode_num=1;$periode_num<$reserve_periode_num;$periode_num++) {
|
1711
|
//echo "\$periode_num=$periode_num<br />";
|
1712
|
include("../lib/calcul_moy_gen.inc.php");
|
1713
|
|
1714
|
$tab_bulletin[$id_classe][$reserve_periode_num]['login_prec'][$periode_num]=$current_eleve_login;
|
1715
|
$tab_bulletin[$id_classe][$reserve_periode_num]['group_prec'][$periode_num]=$current_group;
|
1716
|
$tab_bulletin[$id_classe][$reserve_periode_num]['note_prec'][$periode_num]=$current_eleve_note;
|
1717
|
$tab_bulletin[$id_classe][$reserve_periode_num]['statut_prec'][$periode_num]=$current_eleve_statut;
|
1718
|
$tab_bulletin[$id_classe][$reserve_periode_num]['moy_gen_eleve_prec'][$periode_num]=$moy_gen_eleve;
|
1719
|
|
1720
|
//============================
|
1721
|
// On vide les variables de la boucle avant le calcul dans calcul_moy_gen.inc.php hors du dispositif p?riodes pr?c?dentes
|
1722
|
unset($moy_gen_eleve);
|
1723
|
unset($moy_gen_classe);
|
1724
|
unset($moy_generale_classe);
|
1725
|
unset($moy_max_classe);
|
1726
|
unset($moy_min_classe);
|
1727
|
|
1728
|
unset($moy_cat_classe);
|
1729
|
unset($moy_cat_eleve);
|
1730
|
|
1731
|
unset($quartile1_classe_gen);
|
1732
|
unset($quartile2_classe_gen);
|
1733
|
unset($quartile3_classe_gen);
|
1734
|
unset($quartile4_classe_gen);
|
1735
|
unset($quartile5_classe_gen);
|
1736
|
unset($quartile6_classe_gen);
|
1737
|
unset($place_eleve_classe);
|
1738
|
|
1739
|
unset($current_eleve_login);
|
1740
|
unset($current_group);
|
1741
|
unset($current_eleve_note);
|
1742
|
unset($current_eleve_statut);
|
1743
|
unset($current_coef);
|
1744
|
unset($categories);
|
1745
|
unset($current_classe_matiere_moyenne);
|
1746
|
|
1747
|
unset($current_coef_eleve);
|
1748
|
unset($moy_min_classe_grp);
|
1749
|
unset($moy_max_classe_grp);
|
1750
|
unset($current_eleve_rang);
|
1751
|
|
1752
|
unset($current_group_effectif_avec_note);
|
1753
|
|
1754
|
unset($current_eleve_app);
|
1755
|
//============================
|
1756
|
}
|
1757
|
$periode_num=$reserve_periode_num;
|
1758
|
}
|
1759
|
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
1760
|
|
1761
|
|
1762
|
//========================================
|
1763
|
//if($eff_classe>0) {
|
1764
|
include("../lib/calcul_moy_gen.inc.php");
|
1765
|
//}
|
1766
|
// On r?cup?re la plus grande partie des infos via calcul_moy_gen.inc.php
|
1767
|
// Voir en fin du fichier calcul_moy_gen.inc.php la liste des infos r?cup?r?es
|
1768
|
//========================================
|
1769
|
//==============================
|
1770
|
if($mode_bulletin=="html") {
|
1771
|
$motif="Temoin_calcul_moy_gen".$id_classe."_".$periode_num;
|
1772
|
decompte_debug($motif,"$motif apr?s");
|
1773
|
flush();
|
1774
|
}
|
1775
|
//==============================
|
1776
|
|
1777
|
//echo "\$affiche_categories=$affiche_categories<br />";
|
1778
|
// $affiche_categories=1
|
1779
|
|
1780
|
/*
|
1781
|
$classe=get_class_from_id($id_classe);
|
1782
|
|
1783
|
$tab_bulletin[$id_classe][$periode_num]['classe']=$classe;
|
1784
|
$tab_bulletin[$id_classe][$periode_num]['id_classe']=$id_classe;
|
1785
|
|
1786
|
// Informations sur la p?riode
|
1787
|
$sql="SELECT nom_periode FROM periodes WHERE id_classe='$id_classe' AND num_periode='$periode_num';";
|
1788
|
$res_per=mysql_query($sql);
|
1789
|
$lig_per=mysql_fetch_object($res_per);
|
1790
|
|
1791
|
$tab_bulletin[$id_classe][$periode_num]['nom_periode']=$lig_per->nom_periode;
|
1792
|
*/
|
1793
|
|
1794
|
/*
|
1795
|
// R?cup?rer l'effectif de la classe,...
|
1796
|
$sql="SELECT 1=1 FROM j_eleves_classes WHERE id_classe='$id_classe' AND periode='$periode_num';";
|
1797
|
$res_eff_classe=mysql_query($sql);
|
1798
|
//$lig_eff_classe=mysql_fetch_object($res_eff_classe);
|
1799
|
$eff_classe=mysql_num_rows($res_eff_classe);
|
1800
|
//echo "<p>Effectif de la classe: $eff_classe</p>\n";
|
1801
|
*/
|
1802
|
|
1803
|
// Variables simples
|
1804
|
$tab_bulletin[$id_classe][$periode_num]['eff_classe']=$eff_classe;
|
1805
|
|
1806
|
// Effectif total sur l'ann?e pour pouvoir parcourir tout $tab_rel pour intercaler bulletin/relev?
|
1807
|
$tab_bulletin[$id_classe][$periode_num]['eff_total_classe']=$eff_total_classe;
|
1808
|
|
1809
|
// Variables simples
|
1810
|
$tab_bulletin[$id_classe][$periode_num]['affiche_categories']=$affiche_categories;
|
1811
|
$tab_bulletin[$id_classe][$periode_num]['affiche_coef']=$affiche_coef;
|
1812
|
$tab_bulletin[$id_classe][$periode_num]['affiche_rang']=$affiche_rang;
|
1813
|
$tab_bulletin[$id_classe][$periode_num]['affiche_graph']=$affiche_graph;
|
1814
|
$tab_bulletin[$id_classe][$periode_num]['affiche_nbdev']=$affiche_nbdev;
|
1815
|
|
1816
|
$tab_bulletin[$id_classe][$periode_num]['display_moy_gen']=$display_moy_gen;
|
1817
|
|
1818
|
// Variables r?cup?r?es de calcul_moy_gen.inc.php
|
1819
|
// $current_group est un tableau obtenu par get_group()
|
1820
|
$tab_bulletin[$id_classe][$periode_num]['groupe']=$current_group;
|
1821
|
|
1822
|
// Variables r?cup?r?es de calcul_moy_gen.inc.php
|
1823
|
// Tableaux d'indices [$j][$i] (groupe, ?l?ve)
|
1824
|
// A V?RIFIER: Tableaux d'indices [$i][$j] (?l?ve, groupe)
|
1825
|
$tab_bulletin[$id_classe][$periode_num]['note']=$current_eleve_note;
|
1826
|
$tab_bulletin[$id_classe][$periode_num]['statut']=$current_eleve_statut;
|
1827
|
/*
|
1828
|
for($j=0;$j<count($current_eleve_statut);$j++) {
|
1829
|
for($i=0;$i<count($current_eleve_statut[$j]);$i++) {
|
1830
|
echo "\$current_eleve_statut[$j][$i]=".$current_eleve_statut[$j][$i]."<br />";
|
1831
|
}
|
1832
|
}
|
1833
|
*/
|
1834
|
if(isset($current_eleve_rang)) {$tab_bulletin[$id_classe][$periode_num]['rang']=$current_eleve_rang;}
|
1835
|
$tab_bulletin[$id_classe][$periode_num]['coef_eleve']=$current_coef_eleve;
|
1836
|
|
1837
|
// Tableaux d'indice $i (correspondant ? l'?l?ve)
|
1838
|
$tab_bulletin[$id_classe][$periode_num]['tot_points_eleve']=$tot_points_eleve;
|
1839
|
$tab_bulletin[$id_classe][$periode_num]['total_coef_eleve']=$total_coef_eleve;
|
1840
|
$tab_bulletin[$id_classe][$periode_num]['tot_points_eleve1']=$tot_points_eleve1;
|
1841
|
$tab_bulletin[$id_classe][$periode_num]['total_coef_eleve1']=$total_coef_eleve1;
|
1842
|
|
1843
|
// Variables r?cup?r?es de calcul_moy_gen.inc.php
|
1844
|
// Tableau d'indice [$i] ?l?ve.. mais cette moyenne g?n?rale ne prend en compte que les options suivies par l'?l?ve si bien que les moyennes g?n?rales de classe diff?rent selon les ?l?ves
|
1845
|
$tab_bulletin[$id_classe][$periode_num]['moy_gen_classe']=$moy_gen_classe;
|
1846
|
$tab_bulletin[$id_classe][$periode_num]['moy_gen_eleve']=$moy_gen_eleve;
|
1847
|
//===============
|
1848
|
// Ajout J.Etheve
|
1849
|
$tab_bulletin[$id_classe][$periode_num]['moy_gen_classe_noncoef']=$moy_gen_classe1;
|
1850
|
$tab_bulletin[$id_classe][$periode_num]['moy_gen_eleve_noncoef']=$moy_gen_eleve1;
|
1851
|
//===============
|
1852
|
|
1853
|
// Variables r?cup?r?es de calcul_moy_gen.inc.php
|
1854
|
// Variables simples
|
1855
|
$tab_bulletin[$id_classe][$periode_num]['moy_min_classe']=$moy_min_classe;
|
1856
|
$tab_bulletin[$id_classe][$periode_num]['moy_generale_classe']=$moy_generale_classe;
|
1857
|
$tab_bulletin[$id_classe][$periode_num]['moy_max_classe']=$moy_max_classe;
|
1858
|
//===============
|
1859
|
// Ajout J.Etheve
|
1860
|
$tab_bulletin[$id_classe][$periode_num]['moy_min_classe_noncoef']=$moy_min_classe1;
|
1861
|
$tab_bulletin[$id_classe][$periode_num]['moy_generale_classe_noncoef']=$moy_generale_classe1;
|
1862
|
$tab_bulletin[$id_classe][$periode_num]['moy_max_classe_noncoef']=$moy_max_classe1;
|
1863
|
//===============
|
1864
|
$tab_bulletin[$id_classe][$periode_num]['moy_min_classe_grp']=$moy_min_classe_grp;
|
1865
|
$tab_bulletin[$id_classe][$periode_num]['moy_classe_grp']=$current_classe_matiere_moyenne;
|
1866
|
/*
|
1867
|
for($kl=0;$kl<count($current_classe_matiere_moyenne);$kl++) {
|
1868
|
echo "\$current_group[$kl]['name']=".$current_group[$kl]['name']." ";
|
1869
|
echo "\$current_classe_matiere_moyenne[$kl]='".$current_classe_matiere_moyenne[$kl]."'<br />";
|
1870
|
}
|
1871
|
*/
|
1872
|
$tab_bulletin[$id_classe][$periode_num]['moy_max_classe_grp']=$moy_max_classe_grp;
|
1873
|
|
1874
|
|
1875
|
if($mode_bulletin=="pdf") {
|
1876
|
$tab_bulletin[$id_classe][$periode_num]['affiche_moyenne_general_coef_1']=$tab_modele_pdf["affiche_moyenne_general_coef_1"][$tab_id_classe[$loop_classe]];
|
1877
|
if(($temoin_tous_coef_a_1=='y')||($coefficients_a_1=="oui")) {
|
1878
|
// Si tous les coeff sont ? 1, on n'imprime pas deux lignes de moyenne g?n?rale (moy.gen.coefficient?e d'apr?s Gestion des classes/<Classe> Enseignements et moy.gen avec coef ? 1) m?me si la case est coch?e dans le mod?le PDF.
|
1879
|
// Si on force les coef ? 1, on n'affiche pas non plus deux lignes de moyenne g?n?rale
|
1880
|
$tab_bulletin[$id_classe][$periode_num]['affiche_moyenne_general_coef_1']=0;
|
1881
|
}
|
1882
|
}
|
1883
|
else {
|
1884
|
// Pour l'instant en mode HTML, on ne propose pas les deux moyennes
|
1885
|
// Il faut d?cider o? on fait le param?trage.
|
1886
|
// Les param?tres HTML sont g?n?raux ? toutes les classes sauf ceux d?cid?s directement dans bull_index.php alors que les param?tres PDF sont essentiellement li?s aux mod?les.
|
1887
|
$tab_bulletin[$id_classe][$periode_num]['affiche_moyenne_general_coef_1']=0;
|
1888
|
}
|
1889
|
|
1890
|
// Variables r?cup?r?es de calcul_moy_gen.inc.php
|
1891
|
// Quartiles au niveau moyenne g?n?rale:
|
1892
|
// $place_eleve_classe est un tableau d'indice [$i] le num?ro de l'?l?ve
|
1893
|
if(isset($place_eleve_classe)) {$tab_bulletin[$id_classe][$periode_num]['place_eleve_classe']=$place_eleve_classe;}
|
1894
|
// Variables simples
|
1895
|
$tab_bulletin[$id_classe][$periode_num]['quartile1_classe_gen']=$quartile1_classe_gen;
|
1896
|
$tab_bulletin[$id_classe][$periode_num]['quartile2_classe_gen']=$quartile2_classe_gen;
|
1897
|
$tab_bulletin[$id_classe][$periode_num]['quartile3_classe_gen']=$quartile3_classe_gen;
|
1898
|
$tab_bulletin[$id_classe][$periode_num]['quartile4_classe_gen']=$quartile4_classe_gen;
|
1899
|
$tab_bulletin[$id_classe][$periode_num]['quartile5_classe_gen']=$quartile5_classe_gen;
|
1900
|
$tab_bulletin[$id_classe][$periode_num]['quartile6_classe_gen']=$quartile6_classe_gen;
|
1901
|
|
1902
|
// Initialisation des quartiles par groupe:
|
1903
|
for($j=0;$j<count($current_group);$j++) {
|
1904
|
$tab_bulletin[$id_classe][$periode_num]['quartile1_grp'][$j]=0;
|
1905
|
$tab_bulletin[$id_classe][$periode_num]['quartile2_grp'][$j]=0;
|
1906
|
$tab_bulletin[$id_classe][$periode_num]['quartile3_grp'][$j]=0;
|
1907
|
$tab_bulletin[$id_classe][$periode_num]['quartile4_grp'][$j]=0;
|
1908
|
$tab_bulletin[$id_classe][$periode_num]['quartile5_grp'][$j]=0;
|
1909
|
$tab_bulletin[$id_classe][$periode_num]['quartile6_grp'][$j]=0;
|
1910
|
}
|
1911
|
|
1912
|
$tab_bulletin[$id_classe][$periode_num]['place_eleve']=$place_eleve_grp;
|
1913
|
$tab_bulletin[$id_classe][$periode_num]['quartile1_grp']=$quartile1_grp;
|
1914
|
$tab_bulletin[$id_classe][$periode_num]['quartile2_grp']=$quartile2_grp;
|
1915
|
$tab_bulletin[$id_classe][$periode_num]['quartile3_grp']=$quartile3_grp;
|
1916
|
$tab_bulletin[$id_classe][$periode_num]['quartile4_grp']=$quartile4_grp;
|
1917
|
$tab_bulletin[$id_classe][$periode_num]['quartile5_grp']=$quartile5_grp;
|
1918
|
$tab_bulletin[$id_classe][$periode_num]['quartile6_grp']=$quartile6_grp;
|
1919
|
//for($kl=0;$kl<count($quartile1_grp);$kl++) {echo "\$quartile1_grp[$kl]=".$quartile1_grp[$kl]."<br />";}
|
1920
|
|
1921
|
// Variables r?cup?r?es de calcul_moy_gen.inc.php
|
1922
|
// Tableaux d'indices [$i][$cat] (o? $i: eleve et $cat: $categorie_id)
|
1923
|
$tab_bulletin[$id_classe][$periode_num]['moy_cat_classe']=$moy_cat_classe;
|
1924
|
$tab_bulletin[$id_classe][$periode_num]['moy_cat_min']=$moy_cat_min;
|
1925
|
$tab_bulletin[$id_classe][$periode_num]['moy_cat_max']=$moy_cat_max;
|
1926
|
|
1927
|
$tab_bulletin[$id_classe][$periode_num]['moy_cat_eleve']=$moy_cat_eleve;
|
1928
|
|
1929
|
// matieres_categories(id,nom_court,nom_complet,priority)
|
1930
|
// j_matieres_categories_classes(categorie_id,classe_id,priority,affiche_moyenne)
|
1931
|
// matieres(matiere,nom_complet,priority,categorie_id,matiere_aid,matiere_atelier)
|
1932
|
for($j=0;$j<count($current_group);$j++) {
|
1933
|
//echo "\$current_group[$j]['id']=".$current_group[$j]['id']."<br />";
|
1934
|
//echo "\$current_group[$j]['name']=".$current_group[$j]['name']."<br />";
|
1935
|
//echo "\$current_group[$j]['matiere']['matiere']=".$current_group[$j]['matiere']['matiere']."<br />";
|
1936
|
if(isset($current_group[$j]['matiere']['matiere'])) {
|
1937
|
/*
|
1938
|
$sql="SELECT mc.id,
|
1939
|
mc.nom_court,
|
1940
|
mc.nom_complet,
|
1941
|
jmcc.priority,
|
1942
|
jmcc.affiche_moyenne
|
1943
|
FROM j_matieres_categories_classes jmcc,
|
1944
|
matieres_categories mc,
|
1945
|
matieres m
|
1946
|
WHERE jmcc.classe_id='$id_classe' AND
|
1947
|
jmcc.categorie_id=m.categorie_id AND
|
1948
|
jmcc.categorie_id=mc.id AND
|
1949
|
m.matiere='".$current_group[$j]['matiere']['matiere']."'
|
1950
|
ORDER BY mc.priority, jmcc.priority, jmcc.categorie_id;";
|
1951
|
*/
|
1952
|
//ORDER BY jmcc.categorie_id, jmcc.priority, mc.priority;";
|
1953
|
$sql="SELECT mc.id,
|
1954
|
mc.nom_court,
|
1955
|
mc.nom_complet,
|
1956
|
jmcc.priority,
|
1957
|
jmcc.affiche_moyenne
|
1958
|
FROM j_matieres_categories_classes jmcc,
|
1959
|
matieres_categories mc,
|
1960
|
j_groupes_classes jgc
|
1961
|
WHERE jmcc.classe_id='$id_classe' AND
|
1962
|
jgc.id_classe=jmcc.classe_id AND
|
1963
|
jgc.categorie_id=jmcc.categorie_id AND
|
1964
|
jmcc.categorie_id=mc.id AND
|
1965
|
jgc.id_groupe='".$current_group[$j]['id']."'
|
1966
|
ORDER BY mc.priority, jmcc.priority, jmcc.categorie_id;";
|
1967
|
//echo "\$current_group[$j]['matiere']['matiere']=".$current_group[$j]['matiere']['matiere']."<br />";
|
1968
|
//echo "$sql<br />";
|
1969
|
$res_cat=mysql_query($sql);
|
1970
|
|
1971
|
if(mysql_num_rows($res_cat)>0) {
|
1972
|
$lig_cat=mysql_fetch_object($res_cat);
|
1973
|
|
1974
|
$tab_bulletin[$id_classe][$periode_num]['cat_id'][$j]=$lig_cat->id;
|
1975
|
$tab_bulletin[$id_classe][$periode_num]['nom_cat_court'][$j]=$lig_cat->nom_court;
|
1976
|
$tab_bulletin[$id_classe][$periode_num]['nom_cat_complet'][$j]=$lig_cat->nom_complet;
|
1977
|
$tab_bulletin[$id_classe][$periode_num]['priority'][$j]=$lig_cat->priority;
|
1978
|
$tab_bulletin[$id_classe][$periode_num]['affiche_moyenne'][$j]=$lig_cat->affiche_moyenne;
|
1979
|
}
|
1980
|
}
|
1981
|
}
|
1982
|
|
1983
|
|
1984
|
|
1985
|
if ($affiche_rang == 'y'){
|
1986
|
for($j=0;$j<count($current_group);$j++) {
|
1987
|
/*
|
1988
|
$sql="SELECT 1=1
|
1989
|
FROM j_eleves_groupe jeg
|
1990
|
WHERE jeg.id_groupe='".$current_group[$j]['id']."' AND
|
1991
|
jeg.periode='$periode_num';";
|
1992
|
$res_eff_grp=mysql_query($sql);
|
1993
|
|
1994
|
$tab_bulletin[$id_classe][$periode_num]['groupe'][$j]['effectif']=mysql_num_rows($res_cat);
|
1995
|
*/
|
1996
|
// On pourrait utiliser count($tab_bulletin[$id_classe][$periode_num]['groupe'][$j]["eleves"][$key]["list"])
|
1997
|
// avec $key=$periode_num
|
1998
|
$tab_bulletin[$id_classe][$periode_num]['groupe'][$j]['effectif']=count($tab_bulletin[$id_classe][$periode_num]['groupe'][$j]["eleves"][$periode_num]["list"]);
|
1999
|
|
2000
|
$tab_bulletin[$id_classe][$periode_num]['groupe'][$j]['effectif_avec_note']=$current_group_effectif_avec_note[$j];
|
2001
|
}
|
2002
|
}
|
2003
|
|
2004
|
|
2005
|
// L'ordre des mati?res est obtenu via calcul_moy_gen.inc.php dans lequel le $affiche_categorie fixe l'ordre par cat?gories ou non.
|
2006
|
|
2007
|
|
2008
|
|
2009
|
// Boucle ?l?ves de la classe $id_classe pour la p?riode $periode_num
|
2010
|
for($i=0;$i<count($current_eleve_login);$i++) {
|
2011
|
// R?initialisation pour ne pas r?cup?rer des infos de l'?l?ve pr?c?dent
|
2012
|
unset($tab_ele);
|
2013
|
$tab_ele=array();
|
2014
|
|
2015
|
if (in_array($current_eleve_login[$i],$tab_bulletin[$id_classe][$periode_num]['selection_eleves'])) {
|
2016
|
|
2017
|
// ++++++++++++++++++++++++++++++++++++++
|
2018
|
// ++++++++++++++++++++++++++++++++++++++
|
2019
|
// AJOUTER UN TEST: L'?l?ve fait-il bien partie de la classe?
|
2020
|
// Inutile: la liste $current_eleve_login est obtenue de calcul_moy_gen.inc.php
|
2021
|
// Pas d'injection/intervention possible.
|
2022
|
// Le test sur l'acc?s ? la classe plus haut (*) doit suffire.
|
2023
|
// On pourrait injecter un login dans la s?lection d'?l?ve, mais pas dans $current_eleve_login
|
2024
|
// Et on test seulement si $current_eleve_login[$i] est bien dans la s?lection (pas le contraire)
|
2025
|
// (*) dans cette section tout de m?me.
|
2026
|
// ++++++++++++++++++++++++++++++++++++++
|
2027
|
// ++++++++++++++++++++++++++++++++++++++
|
2028
|
|
2029
|
//==============================
|
2030
|
|
2031
|
if($mode_bulletin=="html") {
|
2032
|
$motif="Temoin_eleve".$id_classe."_".$periode_num;
|
2033
|
decompte_debug($motif,"$motif ?l?ve $i: ".$current_eleve_login[$i]);
|
2034
|
flush();
|
2035
|
echo "<script type='text/javascript'>
|
2036
|
document.getElementById('td_ele').innerHTML='".$current_eleve_login[$i]."';
|
2037
|
</script>\n";
|
2038
|
}
|
2039
|
//==============================
|
2040
|
|
2041
|
// R?cup des infos sur l'?l?ve, les responsables, le PP, le CPE,...
|
2042
|
$sql="SELECT * FROM eleves e WHERE e.login='".$current_eleve_login[$i]."';";
|
2043
|
$res_ele=mysql_query($sql);
|
2044
|
$lig_ele=mysql_fetch_object($res_ele);
|
2045
|
|
2046
|
$tab_ele['login']=$current_eleve_login[$i];
|
2047
|
$tab_ele['nom']=$lig_ele->nom;
|
2048
|
$tab_ele['prenom']=$lig_ele->prenom;
|
2049
|
$tab_ele['sexe']=$lig_ele->sexe;
|
2050
|
$tab_ele['naissance']=formate_date($lig_ele->naissance);
|
2051
|
$tab_ele['lieu_naissance']=get_commune($lig_ele->lieu_naissance,2);
|
2052
|
$tab_ele['elenoet']=$lig_ele->elenoet;
|
2053
|
$tab_ele['ele_id']=$lig_ele->ele_id;
|
2054
|
$tab_ele['no_gep']=$lig_ele->no_gep;
|
2055
|
|
2056
|
$tab_ele['classe']=$classe;
|
2057
|
$tab_ele['id_classe']=$id_classe;
|
2058
|
$tab_ele['classe_nom_complet']=$classe_nom_complet;
|
2059
|
|
2060
|
// R?gime et redoublement
|
2061
|
$sql="SELECT * FROM j_eleves_regime WHERE login='".$current_eleve_login[$i]."';";
|
2062
|
$res_ele_reg=mysql_query($sql);
|
2063
|
if(mysql_num_rows($res_ele_reg)>0) {
|
2064
|
$lig_ele_reg=mysql_fetch_object($res_ele_reg);
|
2065
|
|
2066
|
$tab_ele['regime']=$lig_ele_reg->regime;
|
2067
|
$tab_ele['doublant']=$lig_ele_reg->doublant;
|
2068
|
}
|
2069
|
|
2070
|
//$sql="SELECT e.* FROM etablissements e, j_eleves_etablissements j WHERE (j.id_eleve ='".$current_eleve_login[$i]."' AND e.id = j.id_etablissement);";
|
2071
|
$sql="SELECT e.* FROM etablissements e, j_eleves_etablissements j WHERE (j.id_eleve ='".$tab_ele['elenoet']."' AND e.id = j.id_etablissement);";
|
2072
|
//echo "$sql<br />";
|
2073
|
$data_etab = mysql_query($sql);
|
2074
|
if(mysql_num_rows($data_etab)>0) {
|
2075
|
$tab_ele['etab_id'] = @mysql_result($data_etab, 0, "id");
|
2076
|
$tab_ele['etab_nom'] = @mysql_result($data_etab, 0, "nom");
|
2077
|
$tab_ele['etab_niveau'] = @mysql_result($data_etab, 0, "niveau");
|
2078
|
$tab_ele['etab_type'] = @mysql_result($data_etab, 0, "type");
|
2079
|
$tab_ele['etab_cp'] = @mysql_result($data_etab, 0, "cp");
|
2080
|
$tab_ele['etab_ville'] = @mysql_result($data_etab, 0, "ville");
|
2081
|
|
2082
|
if ($tab_ele['etab_niveau']!='') {
|
2083
|
foreach ($type_etablissement as $type_etab => $nom_etablissement) {
|
2084
|
if ($tab_ele['etab_niveau'] == $type_etab) {
|
2085
|
$tab_ele['etab_niveau_nom']=$nom_etablissement;
|
2086
|
}
|
2087
|
}
|
2088
|
if ($tab_ele['etab_cp']==0) {
|
2089
|
$tab_ele['etab_cp']='';
|
2090
|
}
|
2091
|
|
2092
|
if (($tab_ele['etab_type']=='aucun')||($tab_ele['etab_type']=='')||($tab_ele['etab_niveau']=='')) {
|
2093
|
$tab_ele['etab_type']='';
|
2094
|
}
|
2095
|
else {
|
2096
|
$tab_ele['etab_type']= $type_etablissement2[remplace_accents($tab_ele['etab_type'],'')][remplace_accents($tab_ele['etab_niveau'],'')];
|
2097
|
//echo "\$type_etablissement2[".$tab_ele['etab_type']."][".$tab_ele['etab_niveau']."]=".$type_etablissement2[remplace_accents($tab_ele['etab_type'],'')][remplace_accents($tab_ele['etab_niveau'],'')]."<br />\n";
|
2098
|
}
|
2099
|
}
|
2100
|
}
|
2101
|
|
2102
|
// R?cup infos CPE
|
2103
|
$sql="SELECT u.* FROM j_eleves_cpe jec, utilisateurs u WHERE e_login='".$current_eleve_login[$i]."' AND jec.cpe_login=u.login;";
|
2104
|
$res_cpe=mysql_query($sql);
|
2105
|
if(mysql_num_rows($res_cpe)>0) {
|
2106
|
$lig_cpe=mysql_fetch_object($res_cpe);
|
2107
|
$tab_ele['cpe']=array();
|
2108
|
|
2109
|
$tab_ele['cpe']['login']=$lig_cpe->login;
|
2110
|
$tab_ele['cpe']['nom']=$lig_cpe->nom;
|
2111
|
$tab_ele['cpe']['prenom']=$lig_cpe->prenom;
|
2112
|
$tab_ele['cpe']['civilite']=$lig_cpe->civilite;
|
2113
|
}
|
2114
|
|
2115
|
// R?cup infos Prof Principal (prof_suivi)
|
2116
|
$sql="SELECT u.* FROM j_eleves_professeurs jep, utilisateurs u WHERE jep.login='".$current_eleve_login[$i]."' AND id_classe='$id_classe' AND jep.professeur=u.login;";
|
2117
|
$res_pp=mysql_query($sql);
|
2118
|
//echo "$sql<br />";
|
2119
|
if(mysql_num_rows($res_pp)>0) {
|
2120
|
$tab_ele['pp']=array();
|
2121
|
|
2122
|
$cpt_pp=0;
|
2123
|
while($lig_pp=mysql_fetch_object($res_pp)) {
|
2124
|
$tab_ele['pp'][$cpt_pp]=array();
|
2125
|
$tab_ele['pp'][$cpt_pp]['login']=$lig_pp->login;
|
2126
|
$tab_ele['pp'][$cpt_pp]['nom']=$lig_pp->nom;
|
2127
|
$tab_ele['pp'][$cpt_pp]['prenom']=$lig_pp->prenom;
|
2128
|
$tab_ele['pp'][$cpt_pp]['civilite']=$lig_pp->civilite;
|
2129
|
$cpt_pp++;
|
2130
|
}
|
2131
|
}
|
2132
|
|
2133
|
// R?cup infos responsables
|
2134
|
$sql="SELECT rp.*,ra.adr1,ra.adr2,ra.adr3,ra.adr3,ra.adr4,ra.cp,ra.pays,ra.commune,r.resp_legal FROM resp_pers rp,
|
2135
|
resp_adr ra,
|
2136
|
responsables2 r
|
2137
|
WHERE r.ele_id='".$tab_ele['ele_id']."' AND
|
2138
|
r.resp_legal!='0' AND
|
2139
|
r.pers_id=rp.pers_id AND
|
2140
|
rp.adr_id=ra.adr_id
|
2141
|
ORDER BY resp_legal;";
|
2142
|
$res_resp=mysql_query($sql);
|
2143
|
//echo "$sql<br />";
|
2144
|
if(mysql_num_rows($res_resp)>0) {
|
2145
|
$cpt=0;
|
2146
|
while($lig_resp=mysql_fetch_object($res_resp)) {
|
2147
|
$tab_ele['resp'][$cpt]=array();
|
2148
|
|
2149
|
$tab_ele['resp'][$cpt]['pers_id']=$lig_resp->pers_id;
|
2150
|
|
2151
|
$tab_ele['resp'][$cpt]['login']=$lig_resp->login;
|
2152
|
$tab_ele['resp'][$cpt]['nom']=$lig_resp->nom;
|
2153
|
$tab_ele['resp'][$cpt]['prenom']=$lig_resp->prenom;
|
2154
|
$tab_ele['resp'][$cpt]['civilite']=$lig_resp->civilite;
|
2155
|
$tab_ele['resp'][$cpt]['tel_pers']=$lig_resp->tel_pers;
|
2156
|
$tab_ele['resp'][$cpt]['tel_port']=$lig_resp->tel_port;
|
2157
|
$tab_ele['resp'][$cpt]['tel_prof']=$lig_resp->tel_prof;
|
2158
|
|
2159
|
$tab_ele['resp'][$cpt]['adr1']=$lig_resp->adr1;
|
2160
|
$tab_ele['resp'][$cpt]['adr2']=$lig_resp->adr2;
|
2161
|
$tab_ele['resp'][$cpt]['adr3']=$lig_resp->adr3;
|
2162
|
$tab_ele['resp'][$cpt]['adr4']=$lig_resp->adr4;
|
2163
|
$tab_ele['resp'][$cpt]['cp']=$lig_resp->cp;
|
2164
|
$tab_ele['resp'][$cpt]['pays']=$lig_resp->pays;
|
2165
|
$tab_ele['resp'][$cpt]['commune']=$lig_resp->commune;
|
2166
|
|
2167
|
$tab_ele['resp'][$cpt]['adr_id']=$lig_resp->adr_id;
|
2168
|
|
2169
|
$tab_ele['resp'][$cpt]['resp_legal']=$lig_resp->resp_legal;
|
2170
|
|
2171
|
$cpt++;
|
2172
|
}
|
2173
|
}
|
2174
|
|
2175
|
// V?rification
|
2176
|
if(mysql_num_rows($res_resp)>2) {
|
2177
|
if($mode_bulletin=="html") {
|
2178
|
echo "<div class='alerte_erreur'><b style='color:red;'>Erreur:</b>";
|
2179
|
echo $tab_ele['nom']." ".$tab_ele['prenom']." a plus de deux responsables l?gaux 1 et 2.<br />C'est une anomalie.<br />";
|
2180
|
for ($z=0;$z<count($tab_ele['resp']);$z++) {
|
2181
|
echo $tab_ele['resp'][$z]['nom']." ".$tab_ele['resp'][$z]['prenom']." (<i>responsable l?gal ".$tab_ele['resp'][$z]['resp_legal']."</i>)<br />";
|
2182
|
}
|
2183
|
echo "Seuls les deux premiers apparaitront sur des bulletins.";
|
2184
|
echo "</div>\n";
|
2185
|
}
|
2186
|
}
|
2187
|
|
2188
|
|
2189
|
// Rang
|
2190
|
if ($affiche_rang == 'y'){
|
2191
|
$rang = sql_query1("select rang from j_eleves_classes where (
|
2192
|
periode = '".$periode_num."' and
|
2193
|
id_classe = '".$id_classe."' and
|
2194
|
login = '".$current_eleve_login[$i]."' )
|
2195
|
");
|
2196
|
if (($rang == 0)||($rang == -1)) {
|
2197
|
$rang = "-";
|
2198
|
}
|
2199
|
|
2200
|
// Rang de l'?l?ve dans la classe (par rapport ? la moyenne g?n?rale)
|
2201
|
$tab_bulletin[$id_classe][$periode_num]['rang_classe'][$i]=$rang;
|
2202
|
}
|
2203
|
|
2204
|
//========================
|
2205
|
// R?cup?rer les infos AID
|
2206
|
|
2207
|
// Pas d'affichage dans le cas d'un bulletin d'une p?riode "examen blanc"
|
2208
|
if ($bull_affiche_aid == 'y') {
|
2209
|
//==============================
|
2210
|
if($mode_bulletin=="html") {
|
2211
|
$motif="Temoin_eleve".$id_classe."_".$periode_num."_".$i;
|
2212
|
decompte_debug($motif,"$motif ?l?ve $i (".$current_eleve_login[$i].") avant AID");
|
2213
|
flush();
|
2214
|
}
|
2215
|
//==============================
|
2216
|
|
2217
|
// On attaque maintenant l'affichage des appr?ciations des Activit?s Interdisciplinaires devant appara?tre en t?te des bulletins :
|
2218
|
//------------------------------
|
2219
|
// $z est l'indice de $call_data_aid_b
|
2220
|
$z=0;
|
2221
|
// $zz est l'indice des AID effectivement utiles pour l'?l?ve et la p?riode
|
2222
|
$zz=0;
|
2223
|
while ($z < $nb_aid_b) {
|
2224
|
$display_begin = @mysql_result($call_data_aid_b, $z, "display_begin");
|
2225
|
$display_end = @mysql_result($call_data_aid_b, $z, "display_end");
|
2226
|
$type_note = @mysql_result($call_data_aid_b, $z, "type_note");
|
2227
|
$note_max = @mysql_result($call_data_aid_b, $z, "note_max");
|
2228
|
/*
|
2229
|
echo "\$z=$z<br />";
|
2230
|
echo "\$display_begin=$display_begin<br />";
|
2231
|
echo "\$display_end=$display_end<br />";
|
2232
|
echo "\$type_note=$type_note<br />";
|
2233
|
echo "\$note_max=$note_max<br />";
|
2234
|
*/
|
2235
|
if (($periode_num >= $display_begin) and ($periode_num <= $display_end)) {
|
2236
|
$indice_aid = @mysql_result($call_data_aid_b, $z, "indice_aid");
|
2237
|
//$aid_query = mysql_query("SELECT id_aid FROM j_aid_eleves WHERE (login='".$current_eleve_login[$i]."' and indice_aid='$indice_aid')");
|
2238
|
$sql="SELECT id_aid FROM j_aid_eleves WHERE (login='".$current_eleve_login[$i]."' and indice_aid='$indice_aid');";
|
2239
|
//echo "$sql<br />";
|
2240
|
$aid_query = mysql_query($sql);
|
2241
|
$aid_id = @mysql_result($aid_query, 0, "id_aid");
|
2242
|
if ($aid_id != '') {
|
2243
|
|
2244
|
$tab_ele['aid_b'][$zz]['display_begin']=$display_begin;
|
2245
|
$tab_ele['aid_b'][$zz]['display_end']=$display_end;
|
2246
|
|
2247
|
$tab_ele['aid_b'][$zz]['nom']=@mysql_result($call_data_aid_b, $z, "nom");
|
2248
|
$tab_ele['aid_b'][$zz]['nom_complet']=@mysql_result($call_data_aid_b, $z, "nom_complet");
|
2249
|
$tab_ele['aid_b'][$zz]['message']=@mysql_result($call_data_aid_b, $z, "message");
|
2250
|
|
2251
|
$tab_ele['aid_b'][$zz]['display_nom']=@mysql_result($call_data_aid_b, $z, "display_nom");
|
2252
|
|
2253
|
//echo "\$tab_ele['aid_b'][$zz]['nom_complet']=".$tab_ele['aid_b'][$zz]['nom_complet']."<br />";
|
2254
|
//echo "\$type_note=".$type_note."<br />";
|
2255
|
|
2256
|
$aid_nom_query = mysql_query("SELECT nom FROM aid WHERE (id='$aid_id' and indice_aid='$indice_aid');");
|
2257
|
$tab_ele['aid_b'][$zz]['aid_nom']=@mysql_result($aid_nom_query, 0, "nom");
|
2258
|
|
2259
|
//echo "\$tab_ele['aid_b'][$zz]['aid_nom']=".$tab_ele['aid_b'][$z]['aid_nom']."<br />";
|
2260
|
|
2261
|
// On regarde maintenant quelle sont les profs responsables de cette AID
|
2262
|
$aid_prof_resp_query = mysql_query("SELECT id_utilisateur FROM j_aid_utilisateurs WHERE (id_aid='$aid_id' and indice_aid='$indice_aid')");
|
2263
|
$nb_lig = mysql_num_rows($aid_prof_resp_query);
|
2264
|
$n = '0';
|
2265
|
while ($n < $nb_lig) {
|
2266
|
//$aid_prof_resp_login[$n] = mysql_result($aid_prof_resp_query, $n, "id_utilisateur");
|
2267
|
$tab_ele['aid_b'][$zz]['aid_prof_resp_login'][$n]=mysql_result($aid_prof_resp_query, $n, "id_utilisateur");
|
2268
|
|
2269
|
//echo "\$tab_ele['aid_b'][$zz]['aid_prof_resp_login'][$n]=".$tab_ele['aid_b'][$zz]['aid_prof_resp_login'][$n]."<br />";
|
2270
|
|
2271
|
$n++;
|
2272
|
}
|
2273
|
//------
|
2274
|
// On appelle l'appr?ciation de l'?l?ve, et sa note
|
2275
|
//------
|
2276
|
$current_eleve_aid_appreciation_query = mysql_query("SELECT * FROM aid_appreciations WHERE (login='".$current_eleve_login[$i]."' AND periode='$periode_num' and id_aid='$aid_id' and indice_aid='$indice_aid')");
|
2277
|
$current_eleve_aid_appreciation = @mysql_result($current_eleve_aid_appreciation_query, 0, "appreciation");
|
2278
|
$periode_query = mysql_query("SELECT * FROM periodes WHERE id_classe = '$id_classe'");
|
2279
|
$periode_max = mysql_num_rows($periode_query);
|
2280
|
if ($type_note == 'last') {$last_periode_aid = min($periode_max,$display_end);}
|
2281
|
if (($type_note == 'every') or (($type_note == 'last') and ($periode_num == $last_periode_aid))) {
|
2282
|
$place_eleve = "";
|
2283
|
$current_eleve_aid_note = @mysql_result($current_eleve_aid_appreciation_query, 0, "note");
|
2284
|
$current_eleve_aid_statut = @mysql_result($current_eleve_aid_appreciation_query, 0, "statut");
|
2285
|
if (($current_eleve_aid_statut == '') and ($note_max != 20) ) {
|
2286
|
$current_eleve_aid_appreciation = "(note sur ".$note_max.") ".$current_eleve_aid_appreciation;
|
2287
|
}
|
2288
|
if ($current_eleve_aid_note == '') {
|
2289
|
$current_eleve_aid_note = '-';
|
2290
|
} else {
|
2291
|
if ($affiche_graph == 'y') {
|
2292
|
if ($current_eleve_aid_note<5) { $place_eleve=6;}
|
2293
|
if (($current_eleve_aid_note>=5) and ($current_eleve_aid_note<8)) { $place_eleve=5;}
|
2294
|
if (($current_eleve_aid_note>=8) and ($current_eleve_aid_note<10)) { $place_eleve=4;}
|
2295
|
if (($current_eleve_aid_note>=10) and ($current_eleve_aid_note<12)) {$place_eleve=3;}
|
2296
|
if (($current_eleve_aid_note>=12) and ($current_eleve_aid_note<15)) { $place_eleve=2;}
|
2297
|
if ($current_eleve_aid_note>=15) { $place_eleve=1;}
|
2298
|
|
2299
|
// Pas id?al: on fait ces requ?tes autant de fois qu'il y a d'?l?ve...
|
2300
|
$quartile1_classe = sql_query1("SELECT COUNT( a.note ) as quartile1 FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid' AND a.note>=15)");
|
2301
|
$quartile2_classe = sql_query1("SELECT COUNT( a.note ) as quartile2 FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid' AND a.note>=12 AND a.note<15)");
|
2302
|
$quartile3_classe = sql_query1("SELECT COUNT( a.note ) as quartile3 FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid' AND a.note>=10 AND a.note<12)");
|
2303
|
$quartile4_classe = sql_query1("SELECT COUNT( a.note ) as quartile4 FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid' AND a.note>=8 AND a.note<10)");
|
2304
|
$quartile5_classe = sql_query1("SELECT COUNT( a.note ) as quartile5 FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid' AND a.note>=5 AND a.note<8)");
|
2305
|
$quartile6_classe = sql_query1("SELECT COUNT( a.note ) as quartile6 FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid' AND a.note<5)");
|
2306
|
|
2307
|
$tab_ele['aid_b'][$zz]['quartile1_classe']=$quartile1_classe;
|
2308
|
$tab_ele['aid_b'][$zz]['quartile2_classe']=$quartile2_classe;
|
2309
|
$tab_ele['aid_b'][$zz]['quartile3_classe']=$quartile3_classe;
|
2310
|
$tab_ele['aid_b'][$zz]['quartile4_classe']=$quartile4_classe;
|
2311
|
$tab_ele['aid_b'][$zz]['quartile5_classe']=$quartile5_classe;
|
2312
|
$tab_ele['aid_b'][$zz]['quartile6_classe']=$quartile6_classe;
|
2313
|
|
2314
|
}
|
2315
|
$current_eleve_aid_note=number_format($current_eleve_aid_note,1, ',', ' ');
|
2316
|
}
|
2317
|
$aid_note_min_query = mysql_query("SELECT MIN(note) note_min FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid')");
|
2318
|
|
2319
|
$aid_note_min = @mysql_result($aid_note_min_query, 0, "note_min");
|
2320
|
if ($aid_note_min == '') {
|
2321
|
$aid_note_min = '-';
|
2322
|
} else {
|
2323
|
$aid_note_min=number_format($aid_note_min,1, ',', ' ');
|
2324
|
}
|
2325
|
$aid_note_max_query = mysql_query("SELECT MAX(note) note_max FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid')");
|
2326
|
$aid_note_max = @mysql_result($aid_note_max_query, 0, "note_max");
|
2327
|
|
2328
|
if ($aid_note_max == '') {
|
2329
|
$aid_note_max = '-';
|
2330
|
} else {
|
2331
|
$aid_note_max=number_format($aid_note_max,1, ',', ' ');
|
2332
|
}
|
2333
|
|
2334
|
$aid_note_moyenne_query = mysql_query("SELECT round(avg(note),1) moyenne FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid')");
|
2335
|
$aid_note_moyenne = @mysql_result($aid_note_moyenne_query, 0, "moyenne");
|
2336
|
if ($aid_note_moyenne == '') {
|
2337
|
$aid_note_moyenne = '-';
|
2338
|
} else {
|
2339
|
$aid_note_moyenne=number_format($aid_note_moyenne,1, ',', ' ');
|
2340
|
}
|
2341
|
|
2342
|
$tab_ele['aid_b'][$zz]['aid_note']=$current_eleve_aid_note;
|
2343
|
$tab_ele['aid_b'][$zz]['aid_statut']=$current_eleve_aid_statut;
|
2344
|
$tab_ele['aid_b'][$zz]['aid_note_moyenne']=$aid_note_moyenne;
|
2345
|
$tab_ele['aid_b'][$zz]['aid_note_max']=$aid_note_max;
|
2346
|
$tab_ele['aid_b'][$zz]['aid_note_min']=$aid_note_min;
|
2347
|
$tab_ele['aid_b'][$zz]['place_eleve']=$place_eleve;
|
2348
|
}
|
2349
|
|
2350
|
if ($type_note == 'no') {
|
2351
|
$tab_ele['aid_b'][$zz]['aid_note']='-';
|
2352
|
$tab_ele['aid_b'][$zz]['aid_statut']='';
|
2353
|
$tab_ele['aid_b'][$zz]['aid_note_moyenne']='-';
|
2354
|
$tab_ele['aid_b'][$zz]['aid_note_max']='-';
|
2355
|
$tab_ele['aid_b'][$zz]['aid_note_min']='-';
|
2356
|
//$tab_ele['aid_b'][$zz]['place_eleve']=$place_eleve;
|
2357
|
}
|
2358
|
|
2359
|
$tab_ele['aid_b'][$zz]['aid_appreciation']=$current_eleve_aid_appreciation;
|
2360
|
|
2361
|
//echo "\$tab_ele['aid_b'][$z]['aid_appreciation']=".$tab_ele['aid_b'][$z]['aid_appreciation']."<br />";
|
2362
|
|
2363
|
// Vaut-il mieux un tableau $tab_ele['aid_b']
|
2364
|
// ou calquer sur $tab_bulletin[$id_classe][$periode_num]['groupe']
|
2365
|
// La deuxi?me solution r?duirait sans doute le nombre de requ?tes
|
2366
|
|
2367
|
$zz++;
|
2368
|
}
|
2369
|
}
|
2370
|
$z++;
|
2371
|
}
|
2372
|
|
2373
|
|
2374
|
//echo "<p>".$tab_ele['login']."<br />";
|
2375
|
// On attaque maintenant l'affichage des appr?ciations des Activit?s Interdisciplinaires devant appara?tre en fin des bulletins :
|
2376
|
//------------------------------
|
2377
|
// $z est l'indice de $call_data_aid_e
|
2378
|
$z=0;
|
2379
|
// $zz est l'indice des AID effectivement utiles pour l'?l?ve et la p?riode
|
2380
|
$zz=0;
|
2381
|
while ($z < $nb_aid_e) {
|
2382
|
$display_begin = @mysql_result($call_data_aid_e, $z, "display_begin");
|
2383
|
$display_end = @mysql_result($call_data_aid_e, $z, "display_end");
|
2384
|
$type_note = @mysql_result($call_data_aid_e, $z, "type_note");
|
2385
|
$note_max = @mysql_result($call_data_aid_e, $z, "note_max");
|
2386
|
|
2387
|
/*
|
2388
|
echo "\$z=$z<br />";
|
2389
|
echo "\$display_begin=$display_begin<br />";
|
2390
|
echo "\$display_end=$display_end<br />";
|
2391
|
echo "\$type_note=$type_note<br />";
|
2392
|
echo "\$note_max=$note_max<br />";
|
2393
|
*/
|
2394
|
|
2395
|
if (($periode_num >= $display_begin) and ($periode_num <= $display_end)) {
|
2396
|
$indice_aid = @mysql_result($call_data_aid_e, $z, "indice_aid");
|
2397
|
$aid_query = mysql_query("SELECT id_aid FROM j_aid_eleves WHERE (login='".$current_eleve_login[$i]."' and indice_aid='$indice_aid')");
|
2398
|
$aid_id = @mysql_result($aid_query, 0, "id_aid");
|
2399
|
if ($aid_id != '') {
|
2400
|
|
2401
|
$tab_ele['aid_e'][$zz]['display_begin']=$display_begin;
|
2402
|
$tab_ele['aid_e'][$zz]['display_end']=$display_end;
|
2403
|
|
2404
|
$tab_ele['aid_e'][$zz]['nom']=@mysql_result($call_data_aid_e, $z, "nom");
|
2405
|
$tab_ele['aid_e'][$zz]['nom_complet']=@mysql_result($call_data_aid_e, $z, "nom_complet");
|
2406
|
$tab_ele['aid_e'][$zz]['message']=@mysql_result($call_data_aid_e, $z, "message");
|
2407
|
|
2408
|
$tab_ele['aid_e'][$zz]['display_nom']=@mysql_result($call_data_aid_e, $z, "display_nom");
|
2409
|
|
2410
|
//echo "\$tab_ele['aid_e'][$zz]['nom_complet']=".$tab_ele['aid_e'][$zz]['nom_complet']."<br />";
|
2411
|
//echo "\$type_note=".$type_note."<br />";
|
2412
|
|
2413
|
$aid_nom_query = mysql_query("SELECT nom FROM aid WHERE (id='$aid_id' and indice_aid='$indice_aid');");
|
2414
|
$tab_ele['aid_e'][$zz]['aid_nom']=@mysql_result($aid_nom_query, 0, "nom");
|
2415
|
|
2416
|
//echo "\$tab_ele['aid_e'][$zz]['aid_nom']=".$tab_ele['aid_e'][$zz]['aid_nom']."<br />";
|
2417
|
|
2418
|
// On regarde maintenant quelle sont les profs responsables de cette AID
|
2419
|
$aid_prof_resp_query = mysql_query("SELECT id_utilisateur FROM j_aid_utilisateurs WHERE (id_aid='$aid_id' and indice_aid='$indice_aid')");
|
2420
|
$nb_lig = mysql_num_rows($aid_prof_resp_query);
|
2421
|
$n = '0';
|
2422
|
while ($n < $nb_lig) {
|
2423
|
//$aid_prof_resp_login[$n] = mysql_result($aid_prof_resp_query, $n, "id_utilisateur");
|
2424
|
$tab_ele['aid_e'][$zz]['aid_prof_resp_login'][$n]=mysql_result($aid_prof_resp_query, $n, "id_utilisateur");
|
2425
|
|
2426
|
//echo "\$tab_ele['aid_e'][$zz]['aid_prof_resp_login'][$n]=".$tab_ele['aid_e'][$zz]['aid_prof_resp_login'][$n]."<br />";
|
2427
|
|
2428
|
$n++;
|
2429
|
}
|
2430
|
//------
|
2431
|
// On appelle l'appr?ciation de l'?l?ve, et sa note
|
2432
|
//------
|
2433
|
$current_eleve_aid_appreciation_query = mysql_query("SELECT * FROM aid_appreciations WHERE (login='".$current_eleve_login[$i]."' AND periode='$periode_num' and id_aid='$aid_id' and indice_aid='$indice_aid')");
|
2434
|
$current_eleve_aid_appreciation = @mysql_result($current_eleve_aid_appreciation_query, 0, "appreciation");
|
2435
|
$periode_query = mysql_query("SELECT * FROM periodes WHERE id_classe = '$id_classe'");
|
2436
|
$periode_max = mysql_num_rows($periode_query);
|
2437
|
if ($type_note == 'last') {$last_periode_aid = min($periode_max,$display_end);}
|
2438
|
if (($type_note == 'every') or (($type_note == 'last') and ($periode_num == $last_periode_aid))) {
|
2439
|
$place_eleve = "";
|
2440
|
$current_eleve_aid_note = @mysql_result($current_eleve_aid_appreciation_query, 0, "note");
|
2441
|
$current_eleve_aid_statut = @mysql_result($current_eleve_aid_appreciation_query, 0, "statut");
|
2442
|
if (($current_eleve_aid_statut == '') and ($note_max != 20) ) {
|
2443
|
$current_eleve_aid_appreciation = "(note sur ".$note_max.") ".$current_eleve_aid_appreciation;
|
2444
|
}
|
2445
|
if ($current_eleve_aid_note == '') {
|
2446
|
$current_eleve_aid_note = '-';
|
2447
|
} else {
|
2448
|
if ($affiche_graph == 'y') {
|
2449
|
if ($current_eleve_aid_note<5) { $place_eleve=6;}
|
2450
|
if (($current_eleve_aid_note>=5) and ($current_eleve_aid_note<8)) { $place_eleve=5;}
|
2451
|
if (($current_eleve_aid_note>=8) and ($current_eleve_aid_note<10)) { $place_eleve=4;}
|
2452
|
if (($current_eleve_aid_note>=10) and ($current_eleve_aid_note<12)) {$place_eleve=3;}
|
2453
|
if (($current_eleve_aid_note>=12) and ($current_eleve_aid_note<15)) { $place_eleve=2;}
|
2454
|
if ($current_eleve_aid_note>=15) { $place_eleve=1;}
|
2455
|
|
2456
|
// Pas id?al: on fait ces requ?tes autant de fois qu'il y a d'?l?ve...
|
2457
|
$quartile1_classe = sql_query1("SELECT COUNT( a.note ) as quartile1 FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid' AND a.note>=15)");
|
2458
|
$quartile2_classe = sql_query1("SELECT COUNT( a.note ) as quartile2 FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid' AND a.note>=12 AND a.note<15)");
|
2459
|
$quartile3_classe = sql_query1("SELECT COUNT( a.note ) as quartile3 FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid' AND a.note>=10 AND a.note<12)");
|
2460
|
$quartile4_classe = sql_query1("SELECT COUNT( a.note ) as quartile4 FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid' AND a.note>=8 AND a.note<10)");
|
2461
|
$quartile5_classe = sql_query1("SELECT COUNT( a.note ) as quartile5 FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid' AND a.note>=5 AND a.note<8)");
|
2462
|
$quartile6_classe = sql_query1("SELECT COUNT( a.note ) as quartile6 FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid' AND a.note<5)");
|
2463
|
|
2464
|
$tab_ele['aid_e'][$zz]['quartile1_classe']=$quartile1_classe;
|
2465
|
$tab_ele['aid_e'][$zz]['quartile2_classe']=$quartile2_classe;
|
2466
|
$tab_ele['aid_e'][$zz]['quartile3_classe']=$quartile3_classe;
|
2467
|
$tab_ele['aid_e'][$zz]['quartile4_classe']=$quartile4_classe;
|
2468
|
$tab_ele['aid_e'][$zz]['quartile5_classe']=$quartile5_classe;
|
2469
|
$tab_ele['aid_e'][$zz]['quartile6_classe']=$quartile6_classe;
|
2470
|
|
2471
|
}
|
2472
|
$current_eleve_aid_note=number_format($current_eleve_aid_note,1, ',', ' ');
|
2473
|
}
|
2474
|
$aid_note_min_query = mysql_query("SELECT MIN(note) note_min FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid')");
|
2475
|
|
2476
|
$aid_note_min = @mysql_result($aid_note_min_query, 0, "note_min");
|
2477
|
if ($aid_note_min == '') {
|
2478
|
$aid_note_min = '-';
|
2479
|
} else {
|
2480
|
$aid_note_min=number_format($aid_note_min,1, ',', ' ');
|
2481
|
}
|
2482
|
$aid_note_max_query = mysql_query("SELECT MAX(note) note_max FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid')");
|
2483
|
$aid_note_max = @mysql_result($aid_note_max_query, 0, "note_max");
|
2484
|
|
2485
|
if ($aid_note_max == '') {
|
2486
|
$aid_note_max = '-';
|
2487
|
} else {
|
2488
|
$aid_note_max=number_format($aid_note_max,1, ',', ' ');
|
2489
|
}
|
2490
|
|
2491
|
$aid_note_moyenne_query = mysql_query("SELECT round(avg(note),1) moyenne FROM aid_appreciations a, j_eleves_classes j WHERE (a.login = j.login and j.id_classe = '$id_classe' and a.statut='' and a.periode = '$periode_num' and j.periode='$periode_num' and a.indice_aid='$indice_aid')");
|
2492
|
$aid_note_moyenne = @mysql_result($aid_note_moyenne_query, 0, "moyenne");
|
2493
|
if ($aid_note_moyenne == '') {
|
2494
|
$aid_note_moyenne = '-';
|
2495
|
} else {
|
2496
|
$aid_note_moyenne=number_format($aid_note_moyenne,1, ',', ' ');
|
2497
|
}
|
2498
|
|
2499
|
$tab_ele['aid_e'][$zz]['aid_note']=$current_eleve_aid_note;
|
2500
|
$tab_ele['aid_e'][$zz]['aid_statut']=$current_eleve_aid_statut;
|
2501
|
$tab_ele['aid_e'][$zz]['aid_note_moyenne']=$aid_note_moyenne;
|
2502
|
$tab_ele['aid_e'][$zz]['aid_note_max']=$aid_note_max;
|
2503
|
$tab_ele['aid_e'][$zz]['aid_note_min']=$aid_note_min;
|
2504
|
$tab_ele['aid_e'][$zz]['place_eleve']=$place_eleve;
|
2505
|
}
|
2506
|
|
2507
|
|
2508
|
if ($type_note == 'no') {
|
2509
|
$tab_ele['aid_e'][$zz]['aid_note']='-';
|
2510
|
$tab_ele['aid_e'][$zz]['aid_statut']='';
|
2511
|
$tab_ele['aid_e'][$zz]['aid_note_moyenne']='-';
|
2512
|
$tab_ele['aid_e'][$zz]['aid_note_max']='-';
|
2513
|
$tab_ele['aid_e'][$zz]['aid_note_min']='-';
|
2514
|
//$tab_ele['aid_e'][$zz]['place_eleve']=$place_eleve;
|
2515
|
}
|
2516
|
|
2517
|
$tab_ele['aid_e'][$zz]['aid_appreciation']=$current_eleve_aid_appreciation;
|
2518
|
|
2519
|
//echo "\$tab_ele['aid_e'][$z]['aid_appreciation']=".$tab_ele['aid_e'][$z]['aid_appreciation']."<br />";
|
2520
|
|
2521
|
// Vaut-il mieux un tableau $tab_ele['aid_b']
|
2522
|
// ou calquer sur $tab_bulletin[$id_classe][$periode_num]['groupe']
|
2523
|
// La deuxi?me solution r?duirait sans doute le nombre de requ?tes
|
2524
|
|
2525
|
$zz++;
|
2526
|
}
|
2527
|
}
|
2528
|
$z++;
|
2529
|
}
|
2530
|
|
2531
|
//==============================
|
2532
|
if($mode_bulletin=="html") {
|
2533
|
$motif="Temoin_eleve".$id_classe."_".$periode_num."_".$i;
|
2534
|
decompte_debug($motif,"$motif ?l?ve $i (".$current_eleve_login[$i].") apr?s AID");
|
2535
|
flush();
|
2536
|
}
|
2537
|
//==============================
|
2538
|
}
|
2539
|
|
2540
|
//========================
|
2541
|
|
2542
|
|
2543
|
|
2544
|
|
2545
|
//==========================================
|
2546
|
// ABSENCES
|
2547
|
//On v?rifie si le module est activ?
|
2548
|
if (getSettingValue("active_module_absence")!='2') {
|
2549
|
$sql="SELECT * FROM absences WHERE (login='".$current_eleve_login[$i]."' AND periode='$periode_num');";
|
2550
|
$current_eleve_absences_query = mysql_query($sql);
|
2551
|
$current_eleve_absences = @mysql_result($current_eleve_absences_query, 0, "nb_absences");
|
2552
|
$current_eleve_nj = @mysql_result($current_eleve_absences_query, 0, "non_justifie");
|
2553
|
$current_eleve_retards = @mysql_result($current_eleve_absences_query, 0, "nb_retards");
|
2554
|
$current_eleve_appreciation_absences = @mysql_result($current_eleve_absences_query, 0, "appreciation");
|
2555
|
} else {
|
2556
|
// Initialisations files
|
2557
|
require_once("../lib/initialisationsPropel.inc.php");
|
2558
|
$eleve = EleveQuery::create()->findOneByLogin($current_eleve_login[$i]);
|
2559
|
if ($eleve != null) {
|
2560
|
$current_eleve_absences = $eleve->getDemiJourneesAbsenceParPeriode($periode_num)->count();
|
2561
|
$current_eleve_nj = $eleve->getDemiJourneesNonJustifieesAbsenceParPeriode($periode_num)->count();
|
2562
|
$current_eleve_retards = $eleve->getRetardsParPeriode($periode_num)->count();
|
2563
|
$current_eleve_absences_query = mysql_query("SELECT * FROM absences WHERE (login='$current_eleve_login' AND periode='$periode_num')");
|
2564
|
$current_eleve_appreciation_absences = @mysql_result($current_eleve_absences_query, 0, "appreciation");
|
2565
|
}
|
2566
|
}
|
2567
|
if ($current_eleve_absences === '') { $current_eleve_absences = "?"; }
|
2568
|
if ($current_eleve_nj === '') { $current_eleve_nj = "?"; }
|
2569
|
if ($current_eleve_retards==='') { $current_eleve_retards = "?"; }
|
2570
|
|
2571
|
$tab_ele['eleve_absences']=$current_eleve_absences;
|
2572
|
$tab_ele['eleve_nj']=$current_eleve_nj;
|
2573
|
$tab_ele['eleve_retards']=$current_eleve_retards;
|
2574
|
$tab_ele['appreciation_absences']=$current_eleve_appreciation_absences;
|
2575
|
|
2576
|
$sql="SELECT u.login login,u.civilite FROM utilisateurs u,
|
2577
|
j_eleves_cpe j
|
2578
|
WHERE (u.login=j.cpe_login AND
|
2579
|
j.e_login='".$current_eleve_login[$i]."');";
|
2580
|
$query = mysql_query($sql);
|
2581
|
$current_eleve_cperesp_login = @mysql_result($query, "0", "login");
|
2582
|
$tab_ele['cperesp_login']=$current_eleve_cperesp_login;
|
2583
|
$current_eleve_cperesp_civilite = @mysql_result($query, "0", "civilite");
|
2584
|
$tab_ele['cperesp_civilite']=$current_eleve_cperesp_civilite;
|
2585
|
//==========================================
|
2586
|
|
2587
|
|
2588
|
// Boucle groupes de la classe $id_classe pour la p?riode $periode_num
|
2589
|
for($j=0;$j<count($current_group);$j++) {
|
2590
|
//============================================
|
2591
|
// A REVOIR: On fait cette requ?te autant de fois qu'il y a d'?l?ve... l'extraire de la boucle ?l?ves en faisant une autre boucle sur $current_group
|
2592
|
// Nombre total de devoirs:
|
2593
|
$sql="SELECT cd.id FROM cn_devoirs cd, cn_cahier_notes ccn WHERE cd.id_racine=ccn.id_cahier_notes AND ccn.id_groupe='".$current_group[$j]["id"]."' AND ccn.periode='$periode_num';";
|
2594
|
//echo "\n<!--sql=$sql-->\n";
|
2595
|
$result_nbct_tot=mysql_query($sql);
|
2596
|
if($result_nbct_tot) {
|
2597
|
$current_matiere_nbct=mysql_num_rows($result_nbct_tot);
|
2598
|
}
|
2599
|
else {
|
2600
|
$current_matiere_nbct=0;
|
2601
|
}
|
2602
|
|
2603
|
$tab_bulletin[$id_classe][$periode_num]['groupe'][$j]['nbct']=$current_matiere_nbct;
|
2604
|
|
2605
|
//============================================
|
2606
|
|
2607
|
// Si l'?l?ve suit l'option, sa note est affect?e (?ventuellement vide)
|
2608
|
if(isset($current_eleve_note[$j][$i])) {
|
2609
|
// Quartiles
|
2610
|
/*
|
2611
|
if($current_eleve_note[$j][$i]!="") {
|
2612
|
if($current_eleve_note[$j][$i]>=15) {
|
2613
|
$tab_bulletin[$id_classe][$periode_num]['quartile1_grp'][$j]++;
|
2614
|
$tab_bulletin[$id_classe][$periode_num]['place_eleve'][$j][$i]=1;
|
2615
|
}
|
2616
|
elseif(($current_eleve_note[$j][$i]>=12)&&($current_eleve_note[$j][$i]<15)) {
|
2617
|
$tab_bulletin[$id_classe][$periode_num]['quartile2_grp'][$j]++;
|
2618
|
$tab_bulletin[$id_classe][$periode_num]['place_eleve'][$j][$i]=2;
|
2619
|
}
|
2620
|
elseif(($current_eleve_note[$j][$i]>=10)&&($current_eleve_note[$j][$i]<12)) {
|
2621
|
$tab_bulletin[$id_classe][$periode_num]['quartile3_grp'][$j]++;
|
2622
|
$tab_bulletin[$id_classe][$periode_num]['place_eleve'][$j][$i]=3;
|
2623
|
}
|
2624
|
elseif(($current_eleve_note[$j][$i]>=8)&&($current_eleve_note[$j][$i]<10)) {
|
2625
|
$tab_bulletin[$id_classe][$periode_num]['quartile4_grp'][$j]++;
|
2626
|
$tab_bulletin[$id_classe][$periode_num]['place_eleve'][$j][$i]=4;
|
2627
|
}
|
2628
|
elseif(($current_eleve_note[$j][$i]>=5)&&($current_eleve_note[$j][$i]<8)) {
|
2629
|
$tab_bulletin[$id_classe][$periode_num]['quartile5_grp'][$j]++;
|
2630
|
$tab_bulletin[$id_classe][$periode_num]['place_eleve'][$j][$i]=5;
|
2631
|
}
|
2632
|
else {
|
2633
|
$tab_bulletin[$id_classe][$periode_num]['quartile6_grp'][$j]++;
|
2634
|
$tab_bulletin[$id_classe][$periode_num]['place_eleve'][$j][$i]=6;
|
2635
|
}
|
2636
|
}
|
2637
|
*/
|
2638
|
|
2639
|
//================================
|
2640
|
// Notes des boites/conteneurs/sous-matieres
|
2641
|
unset($cn_note);
|
2642
|
unset($cn_nom);
|
2643
|
unset($cn_id);
|
2644
|
|
2645
|
// On teste si des notes de une ou plusieurs boites du carnet de notes doivent ?tre affich?e
|
2646
|
$test_cn = mysql_query("select distinct c.nom_court, c.id, nc.note from cn_cahier_notes cn, cn_conteneurs c, cn_notes_conteneurs nc
|
2647
|
where (
|
2648
|
cn.periode = '".$periode_num."' and
|
2649
|
cn.id_groupe='".$current_group[$j]["id"]."' and
|
2650
|
cn.id_cahier_notes = c.id_racine and
|
2651
|
c.id_racine!=c.id and
|
2652
|
nc.id_conteneur = c.id and
|
2653
|
nc.statut ='y' and
|
2654
|
nc.login='".$current_eleve_login[$i]."' and
|
2655
|
c.display_bulletin = 1
|
2656
|
) ");
|
2657
|
$nb_ligne_cn = mysql_num_rows($test_cn);
|
2658
|
$n = 0;
|
2659
|
while ($n < $nb_ligne_cn) {
|
2660
|
$cn_id[$n] = mysql_result($test_cn, $n, 'c.id');
|
2661
|
$cn_nom[$n] = mysql_result($test_cn, $n, 'c.nom_court');
|
2662
|
$cn_note[$n] = @mysql_result($test_cn, $n ,'nc.note');
|
2663
|
$cn_note[$n] = number_format($cn_note[$n],1, ',', ' ');
|
2664
|
$n++;
|
2665
|
}
|
2666
|
$nb_ligne_par_matiere = max($nb_ligne_cn,1) ;
|
2667
|
|
2668
|
$tab_bulletin[$id_classe][$periode_num]['groupe'][$j][$i]['nb_ligne_par_matiere']=$nb_ligne_par_matiere;
|
2669
|
|
2670
|
if(isset($cn_note)) {
|
2671
|
$tab_bulletin[$id_classe][$periode_num]['groupe'][$j][$i]['cn_note']=$cn_note;
|
2672
|
$tab_bulletin[$id_classe][$periode_num]['groupe'][$j][$i]['cn_id']=$cn_id;
|
2673
|
$tab_bulletin[$id_classe][$periode_num]['groupe'][$j][$i]['cn_nom']=$cn_nom;
|
2674
|
}
|
2675
|
|
2676
|
//================================
|
2677
|
// R?cup appr?ciation
|
2678
|
$sql="SELECT appreciation FROM matieres_appreciations WHERE id_groupe='".$current_group[$j]['id']."' AND periode='$periode_num' AND login='".$current_eleve_login[$i]."';";
|
2679
|
$res_app=mysql_query($sql);
|
2680
|
if(mysql_num_rows($res_app)>0) {
|
2681
|
$lig_app=mysql_fetch_object($res_app);
|
2682
|
$current_eleve_app[$j][$i]=$lig_app->appreciation;
|
2683
|
if($current_eleve_app[$j][$i]=="") {$current_eleve_app[$j][$i]="-";}
|
2684
|
}
|
2685
|
else {
|
2686
|
$current_eleve_app[$j][$i]="-";
|
2687
|
}
|
2688
|
//================================
|
2689
|
|
2690
|
// Nombre de contr?les
|
2691
|
$sql="SELECT cnd.note, cd.note_sur FROM cn_notes_devoirs cnd, cn_devoirs cd, cn_cahier_notes ccn WHERE cnd.login='".$current_eleve_login[$i]."' AND cnd.id_devoir=cd.id AND cd.id_racine=ccn.id_cahier_notes AND ccn.id_groupe='".$current_group[$j]["id"]."' AND ccn.periode='$periode_num' AND cnd.statut='';";
|
2692
|
//echo "\n<!--sql=$sql-->\n";
|
2693
|
$result_nbct=mysql_query($sql);
|
2694
|
if($result_nbct) {
|
2695
|
$current_eleve_nbct=mysql_num_rows($result_nbct);
|
2696
|
}
|
2697
|
else {
|
2698
|
$current_eleve_nbct=0;
|
2699
|
}
|
2700
|
|
2701
|
$tab_bulletin[$id_classe][$periode_num]['nbct'][$j][$i]=$current_eleve_nbct;
|
2702
|
|
2703
|
if((isset($place_eleve_classe[$i]))&&($place_eleve_classe[$i]!="")) {
|
2704
|
$tab_bulletin[$id_classe][$periode_num]['nbct'][$j][$i]=$current_eleve_nbct;
|
2705
|
}
|
2706
|
|
2707
|
//++++++++++++++++++++++++
|
2708
|
// Modif d'apr?s F.Boisson
|
2709
|
// Pour remplacer la chaine de caract?res @@Notes par une insertion des notes dans l'appr?ciation du bulletin.
|
2710
|
// on prend les notes dans $string_notes
|
2711
|
$string_notes='';
|
2712
|
if ($result_nbct ) {
|
2713
|
while ($snnote = mysql_fetch_assoc($result_nbct)) {
|
2714
|
if ($string_notes != '') $string_notes .= ", ";
|
2715
|
$string_notes .= $snnote['note'];
|
2716
|
if(getSettingValue("note_autre_que_sur_referentiel")=="V" || $snnote['note_sur']!=getSettingValue("referentiel_note")) {
|
2717
|
$string_notes .= "/".$snnote['note_sur'];
|
2718
|
}
|
2719
|
}
|
2720
|
}
|
2721
|
$current_eleve_app[$j][$i]=str_replace('@@Notes', $string_notes,$current_eleve_app[$j][$i]);
|
2722
|
//++++++++++++++++++++++++
|
2723
|
|
2724
|
//$tab_bulletin[$id_classe][$periode_num]['groupe'][$j][$i]['app']=$current_eleve_app[$j][$i];
|
2725
|
|
2726
|
// Structure plus proche des autres donn?es:
|
2727
|
$tab_bulletin[$id_classe][$periode_num]['app'][$j][$i]=$current_eleve_app[$j][$i];
|
2728
|
|
2729
|
}
|
2730
|
}
|
2731
|
|
2732
|
// Avis du conseil de classe
|
2733
|
$sql="SELECT avis FROM avis_conseil_classe WHERE login='".$current_eleve_login[$i]."' AND periode='$periode_num';";
|
2734
|
$res_avis=mysql_query($sql);
|
2735
|
// ***** AJOUT POUR LES MENTIONS *****
|
2736
|
$sql="SELECT mention FROM avis_conseil_classe WHERE login='".$current_eleve_login[$i]."' AND periode='$periode_num';";
|
2737
|
$res_mention=mysql_query($sql);
|
2738
|
// ***** FIN DE L'AJOUT POUR LES MENTIONS *****
|
2739
|
|
2740
|
//echo "$sql<br />";
|
2741
|
if(mysql_num_rows($res_avis)>0) {
|
2742
|
$lig_avis=mysql_fetch_object($res_avis);
|
2743
|
$tab_bulletin[$id_classe][$periode_num]['avis'][$i]=$lig_avis->avis;
|
2744
|
//echo $lig_avis->avis;
|
2745
|
}
|
2746
|
else {
|
2747
|
//$tab_bulletin[$id_classe][$periode_num]['avis'][$i]="-";
|
2748
|
$tab_bulletin[$id_classe][$periode_num]['avis'][$i]="";
|
2749
|
}
|
2750
|
// ***** AJOUT POUR LES MENTIONS *****
|
2751
|
if(mysql_num_rows($res_mention)>0) {
|
2752
|
$lig_mention=mysql_fetch_object($res_mention);
|
2753
|
if($mode_bulletin=="pdf")
|
2754
|
$tab_bulletin[$id_classe][$periode_num]['mention'][$i]=$lig_mention->mention;
|
2755
|
if($mode_bulletin=="html") {
|
2756
|
if ($lig_mention->mention=="F")
|
2757
|
$tab_bulletin[$id_classe][$periode_num]['mention'][$i]="F?licitations.";
|
2758
|
elseif ($lig_mention->mention=="M")
|
2759
|
$tab_bulletin[$id_classe][$periode_num]['mention'][$i]="Mention honorable.";
|
2760
|
elseif ($lig_mention->mention=="E")
|
2761
|
$tab_bulletin[$id_classe][$periode_num]['mention'][$i]="Encouragements.";
|
2762
|
else
|
2763
|
$tab_bulletin[$id_classe][$periode_num]['mention'][$i]="-";
|
2764
|
}
|
2765
|
//echo $lig_avis->avis;
|
2766
|
}
|
2767
|
else {
|
2768
|
$tab_bulletin[$id_classe][$periode_num]['mention'][$i]="-";
|
2769
|
}
|
2770
|
// ***** FIN DE L'AJOUT POUR LES MENTIONS *****
|
2771
|
|
2772
|
|
2773
|
// On affecte la partie ?l?ve $tab_ele dans $tab_bulletin
|
2774
|
$tab_bulletin[$id_classe][$periode_num]['eleve'][$i]=$tab_ele;
|
2775
|
}
|
2776
|
}
|
2777
|
}
|
2778
|
}
|
2779
|
|
2780
|
|
2781
|
|
2782
|
//========================================================================
|
2783
|
// A CE STADE LE TABLEAU $tab_bulletin EST RENSEIGN?
|
2784
|
// PLUS AUCUNE REQUETE NE DEVRAIT ETRE NECESSAIRE
|
2785
|
// OU ALORS IL FAUDRAIT LES EFFECTUER AU-DESSUS ET COMPLETER $tab_bulletin
|
2786
|
//
|
2787
|
// IL Y AURA A RENSEIGNER $tab_bulletin[$id_classe][$periode_num]['modele_pdf']
|
2788
|
// SI ON FAIT UNE IMPRESSION DE BULLETIN PDF, POUR NE PAS REFAIRE LES REQUETES
|
2789
|
// POUR CHAQUE ELEVE.
|
2790
|
//========================================================================
|
2791
|
|
2792
|
if($mode_bulletin=="html") {
|
2793
|
echo "<script type='text/javascript'>
|
2794
|
document.getElementById('td_info').innerHTML='Affichage';
|
2795
|
</script>\n";
|
2796
|
}
|
2797
|
|
2798
|
if($mode_bulletin=="pdf") {
|
2799
|
// d?finition d'une variable
|
2800
|
$hauteur_pris = 0;
|
2801
|
|
2802
|
/*****************************************
|
2803
|
* d?but de la g?n?ration du fichier PDF *
|
2804
|
* ****************************************/
|
2805
|
header('Content-type: application/pdf');
|
2806
|
//cr?ation du PDF en mode Portrait, unit?e de mesure en mm, de taille A4
|
2807
|
$pdf=new bul_PDF('p', 'mm', 'A4');
|
2808
|
$nb_eleve_aff = 1;
|
2809
|
$categorie_passe = '';
|
2810
|
$categorie_passe_count = 0;
|
2811
|
$pdf->SetCreator($gepiSchoolName);
|
2812
|
$pdf->SetAuthor($gepiSchoolName);
|
2813
|
$pdf->SetKeywords('');
|
2814
|
$pdf->SetSubject('Bulletin');
|
2815
|
$pdf->SetTitle('Bulletin');
|
2816
|
$pdf->SetDisplayMode('fullwidth', 'single');
|
2817
|
$pdf->SetCompression(TRUE);
|
2818
|
$pdf->SetAutoPageBreak(TRUE, 5);
|
2819
|
|
2820
|
$responsable_place = 0;
|
2821
|
}
|
2822
|
|
2823
|
$compteur_bulletins=0;
|
2824
|
for($loop_classe=0;$loop_classe<count($tab_id_classe);$loop_classe++) {
|
2825
|
$id_classe=$tab_id_classe[$loop_classe];
|
2826
|
$classe=get_class_from_id($id_classe);
|
2827
|
|
2828
|
if($mode_bulletin=="html") {
|
2829
|
echo "<script type='text/javascript'>
|
2830
|
document.getElementById('td_classe').innerHTML='".$classe."';
|
2831
|
</script>\n";
|
2832
|
}
|
2833
|
|
2834
|
for($loop_periode_num=0;$loop_periode_num<count($tab_periode_num);$loop_periode_num++) {
|
2835
|
|
2836
|
$periode_num=$tab_periode_num[$loop_periode_num];
|
2837
|
|
2838
|
//==============================
|
2839
|
if($mode_bulletin=="html") {
|
2840
|
$motif="Classe_".$id_classe."_".$periode_num;
|
2841
|
decompte_debug($motif,"$motif avant");
|
2842
|
flush();
|
2843
|
echo "<script type='text/javascript'>
|
2844
|
document.getElementById('td_periode').innerHTML='".$periode_num."';
|
2845
|
</script>\n";
|
2846
|
}
|
2847
|
//==============================
|
2848
|
|
2849
|
if($mode_bulletin=="html") {
|
2850
|
echo "<div class='noprint' style='background-color:white; border: 1px solid red;'>\n";
|
2851
|
echo "<h2>Classe de ".$classe."</h2>\n";
|
2852
|
echo "<p><b>P?riode $periode_num</b></p>\n";
|
2853
|
|
2854
|
echo "<p>Effectif de la classe: ".$tab_bulletin[$id_classe][$periode_num]['eff_classe']."</p>\n";
|
2855
|
echo "</div>\n";
|
2856
|
}
|
2857
|
|
2858
|
//======================================
|
2859
|
// Pour le tri par ?tablissement d'origine
|
2860
|
unset($tmp_tab);
|
2861
|
unset($rg);
|
2862
|
//$tri_par_etab_orig="y";
|
2863
|
if($tri_par_etab_orig=='y') {
|
2864
|
for($k=0;$k<count($tab_bulletin[$id_classe][$periode_num]['eleve']);$k++) {
|
2865
|
$rg[$k]=$k;
|
2866
|
$tmp_tab[$k]=$tab_bulletin[$id_classe][$periode_num]['eleve'][$k]['etab_id'];
|
2867
|
}
|
2868
|
array_multisort ($tmp_tab, SORT_DESC, SORT_NUMERIC, $rg, SORT_ASC, SORT_NUMERIC);
|
2869
|
}
|
2870
|
//======================================
|
2871
|
|
2872
|
//$compteur=0;
|
2873
|
//for($i=0;$i<count($tab_bulletin[$id_classe][$periode_num]['eleve']);$i++) {
|
2874
|
for($i=0;$i<$tab_bulletin[$id_classe][$periode_num]['eff_classe'];$i++) {
|
2875
|
if($tri_par_etab_orig=='n') {$rg[$i]=$i;}
|
2876
|
|
2877
|
if(isset($tab_bulletin[$id_classe][$periode_num]['selection_eleves'])) {
|
2878
|
//if(isset($tab_bulletin[$id_classe][$periode_num]['eleve'][$i]['login'])) {
|
2879
|
if(isset($tab_bulletin[$id_classe][$periode_num]['eleve'][$rg[$i]]['login'])) {
|
2880
|
|
2881
|
//if (in_array($tab_bulletin[$id_classe][$periode_num]['eleve'][$i]['login'],$tab_bulletin[$id_classe][$periode_num]['selection_eleves'])) {
|
2882
|
if (in_array($tab_bulletin[$id_classe][$periode_num]['eleve'][$rg[$i]]['login'],$tab_bulletin[$id_classe][$periode_num]['selection_eleves'])) {
|
2883
|
|
2884
|
// ++++++++++++++++++++++++++++++++++++++
|
2885
|
// ++++++++++++++++++++++++++++++++++++++
|
2886
|
// AJOUTER UN TEST: L'?l?ve fait-il bien partie de la classe?
|
2887
|
// Inutile: la liste $current_eleve_login est obtenue de calcul_moy_gen.inc.php
|
2888
|
// Pas d'injection/intervention possible.
|
2889
|
// Le test sur l'acc?s ? la classe plus haut (*) doit suffire.
|
2890
|
// On pourrait injecter un login dans la s?lection d'?l?ve, mais pas dans $current_eleve_login
|
2891
|
// Et on test seulement si $current_eleve_login[$i] est bien dans la s?lection (pas le contraire)
|
2892
|
// (*) dans cette section tout de m?me.
|
2893
|
// ++++++++++++++++++++++++++++++++++++++
|
2894
|
// ++++++++++++++++++++++++++++++++++++++
|
2895
|
|
2896
|
if($mode_bulletin=="html") {
|
2897
|
echo "<script type='text/javascript'>
|
2898
|
document.getElementById('td_ele').innerHTML='".$tab_bulletin[$id_classe][$periode_num]['eleve'][$rg[$i]]['login']."';
|
2899
|
</script>\n";
|
2900
|
}
|
2901
|
|
2902
|
|
2903
|
if($mode_bulletin=="html") {
|
2904
|
//$motif="Bulletin_eleve".$id_classe."_".$periode_num."_".$i;
|
2905
|
//decompte_debug($motif,"$motif ?l?ve $i avant");
|
2906
|
$motif="Bulletin_eleve".$id_classe."_".$periode_num."_".$rg[$i];
|
2907
|
decompte_debug($motif,"$motif ?l?ve $rg[$i] avant");
|
2908
|
flush();
|
2909
|
|
2910
|
// Saut de page si jamais ce n'est pas le premier bulletin
|
2911
|
if($compteur_bulletins>0) {echo "<p class='saut'> </p>\n";}
|
2912
|
|
2913
|
// G?n?ration du bulletin de l'?l?ve
|
2914
|
//bulletin_html($tab_bulletin[$id_classe][$periode_num],$i);
|
2915
|
//bulletin_html($tab_bulletin[$id_classe][$periode_num],$i,$tab_releve[$id_classe][$periode_num]);
|
2916
|
bulletin_html($tab_bulletin[$id_classe][$periode_num],$rg[$i],$tab_releve[$id_classe][$periode_num]);
|
2917
|
|
2918
|
//$motif="Bulletin_eleve".$id_classe."_".$periode_num."_".$i;
|
2919
|
//decompte_debug($motif,"$motif ?l?ve $i apr?s");
|
2920
|
$motif="Bulletin_eleve".$id_classe."_".$periode_num."_".$rg[$i];
|
2921
|
decompte_debug($motif,"$motif ?l?ve $rg[$i] apr?s");
|
2922
|
flush();
|
2923
|
}
|
2924
|
else {
|
2925
|
//bulletin_pdf($tab_bulletin[$id_classe][$periode_num],$i,$tab_releve[$id_classe][$periode_num]);
|
2926
|
bulletin_pdf($tab_bulletin[$id_classe][$periode_num],$rg[$i],$tab_releve[$id_classe][$periode_num]);
|
2927
|
}
|
2928
|
|
2929
|
|
2930
|
//==============================================================================================
|
2931
|
// PAR LA SUITE, ON POURRA INSERER ICI, SI L'OPTION EST COCHEE, LE RELEVE DE NOTES DE LA PERIODE
|
2932
|
//==============================================================================================
|
2933
|
|
2934
|
if($mode_bulletin=="html") {
|
2935
|
echo "<div class='espacement_bulletins'><div align='center'>Espacement (non imprim?) entre les bulletins</div></div>\n";
|
2936
|
}
|
2937
|
|
2938
|
$compteur_bulletins++;
|
2939
|
|
2940
|
if($mode_bulletin=="html") {
|
2941
|
flush();
|
2942
|
}
|
2943
|
}
|
2944
|
}
|
2945
|
}
|
2946
|
}
|
2947
|
|
2948
|
//==============================
|
2949
|
if($mode_bulletin=="html") {
|
2950
|
$motif="Classe_".$id_classe."_".$periode_num;
|
2951
|
decompte_debug($motif,"$motif apr?s");
|
2952
|
flush();
|
2953
|
}
|
2954
|
//==============================
|
2955
|
|
2956
|
}
|
2957
|
}
|
2958
|
|
2959
|
/*
|
2960
|
echo "<style type='text/css'>
|
2961
|
@media screen{
|
2962
|
.espacement_bulletins {
|
2963
|
width: 100%;
|
2964
|
height: 50px;
|
2965
|
border:1px solid red;
|
2966
|
background-color: white;
|
2967
|
}
|
2968
|
}
|
2969
|
@media print{
|
2970
|
.espacement_bulletins {
|
2971
|
display:none;
|
2972
|
}
|
2973
|
|
2974
|
#remarques_bas_de_page {
|
2975
|
display:none;
|
2976
|
}
|
2977
|
|
2978
|
.alerte_erreur {
|
2979
|
display:none;
|
2980
|
}
|
2981
|
}
|
2982
|
</style>\n";
|
2983
|
*/
|
2984
|
|
2985
|
if($mode_bulletin=="html") {
|
2986
|
echo "<script type='text/javascript'>
|
2987
|
document.getElementById('infodiv').style.display='none';
|
2988
|
|
2989
|
var aElm=document.body.getElementsByTagName('*');
|
2990
|
for(var i=0; i<aElm.length; i++) {
|
2991
|
if(aElm[i].className=='espacement_bulletins') {
|
2992
|
//do something
|
2993
|
//aElm[i].style.color='lime';
|
2994
|
aElm[i].style.display='none';
|
2995
|
}
|
2996
|
}
|
2997
|
|
2998
|
</script>\n";
|
2999
|
|
3000
|
}
|
3001
|
}
|
3002
|
|
3003
|
//==============================
|
3004
|
if($mode_bulletin=="html") {
|
3005
|
$motif="Duree_totale";
|
3006
|
//decompte_debug($motif,"$motif apr?s");
|
3007
|
decompte_debug($motif,"$motif");
|
3008
|
flush();
|
3009
|
}
|
3010
|
//==============================
|
3011
|
|
3012
|
if((!isset($mode_bulletin))||($mode_bulletin!="pdf")) {
|
3013
|
echo "<div id='remarques_bas_de_page'>
|
3014
|
<p><br /></p>
|
3015
|
<p>A REVOIR:</p>
|
3016
|
<ul>
|
3017
|
<li>Les bulletins HTML utilisent les infos display_rang, display_coef,... de la table 'classes'.<br />
|
3018
|
Les bulletins PDF utilisent plut?t les infos de la table 'modele_bulletin' il me semble.<br />
|
3019
|
Il faudrait peut-?tre revoir le dispositif pour adopter la m?me strat?gie.<br />
|
3020
|
On a aussi ajout? des champs dans la table 'classes' pour les relev?s de notes,... faut-il envisager une autre structure?</li>
|
3021
|
</ul>
|
3022
|
</div>\n";
|
3023
|
|
3024
|
require("../lib/footer.inc.php");
|
3025
|
}
|
3026
|
elseif((isset($mode_bulletin))&&($mode_bulletin=="pdf")) {
|
3027
|
//fermeture du fichier pdf et lecture dans le navigateur 'nom', 'I/D'
|
3028
|
$nom_bulletin = 'bulletin_'.$nom_bulletin.'.pdf';
|
3029
|
$pdf->Output($nom_bulletin,'I');
|
3030
|
}
|
3031
|
|
3032
|
?>
|