[gepi-users] problème avec Saisir les avis pour toute la classe

Ivan Gâche ivan.gache at ac-nantes.fr
Jeu 19 Juin 15:31:30 CEST 2008


Bonjour,

Phénomène étrange : lorsqu'on clique à partir du compte scolarité sur 
Saisie / Bulletin : Saisie des avis du conseil / Saisir les avis pour 
toute la classe, avec rappel des avis des autres périodes, la page 
suivante apparaît :

    * Connexion
    * Réglages <https://projects.sylogix.org/gepi/settings>
    * Aide/Guide <https://projects.sylogix.org/gepi/wiki/TracGuide>
    * À propos de Trac <https://projects.sylogix.org/gepi/about>

    * Wiki <https://projects.sylogix.org/gepi/wiki>
    * Historique <https://projects.sylogix.org/gepi/timeline>
    * Feuille de route <https://projects.sylogix.org/gepi/roadmap>
    * Explorateur <https://projects.sylogix.org/gepi/browser>
    * Voir les tickets <https://projects.sylogix.org/gepi/report>
    * Nouveau ticket <https://projects.sylogix.org/gepi/newticket>
    * Rechercher <https://projects.sylogix.org/gepi/search>

    * Dernières modifications
      <https://projects.sylogix.org/gepi/changeset/1638/branches/release-1.5.0/saisie/saisie_avis1.php>

    * Historique des révisions
      <https://projects.sylogix.org/gepi/log/branches/release-1.5.0/saisie/saisie_avis1.php>



  root <https://projects.sylogix.org/gepi/browser>/branches
  <https://projects.sylogix.org/gepi/browser/branches>/release-1.5.0
  <https://projects.sylogix.org/gepi/browser/branches/release-1.5.0>/saisie
  <https://projects.sylogix.org/gepi/browser/branches/release-1.5.0/saisie>/saisie_avis1.php
  <https://projects.sylogix.org/gepi/browser/branches/release-1.5.0/saisie/saisie_avis1.php>

Voir la révision:

Révision 1638 <https://projects.sylogix.org/gepi/changeset/1638>, 9.8 
ko (déposé par crob, 6 jours auparavant)

Correction d'un bug de non prise en compte de l'appréciation du dernier 
élève de la liste dans le cas de classes avec élèves
partis en cours d'année.

    * Propriété *svn:keywords* définie à /|Id HeadURL Rev Date Author|/

Line 	
1 <#L1> 	<?php
2 <#L2> 	/*
3 <#L3> 	* $Id$
4 <#L4> 	*
5 <#L5> 	* Copyright 2001, 2005 Thomas Belliard, Laurent Delineau, 
Edouard Hue, Eric Lebrun, Laurent Viénot-Hauger
6 <#L6> 	*
7 <#L7> 	* This file is part of GEPI.
8 <#L8> 	*
9 <#L9> 	* GEPI is free software; you can redistribute it and/or modify
10 <#L10> 	* it under the terms of the GNU General Public License as 
published by
11 <#L11> 	* the Free Software Foundation; either version 2 of the 
License, or
12 <#L12> 	* (at your option) any later version.
13 <#L13> 	*
14 <#L14> 	* GEPI is distributed in the hope that it will be useful,
15 <#L15> 	* but WITHOUT ANY WARRANTY; without even the implied warranty of
16 <#L16> 	* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 <#L17> 	* GNU General Public License for more details.
18 <#L18> 	*
19 <#L19> 	* You should have received a copy of the GNU General Public 
License
20 <#L20> 	* along with GEPI; if not, write to the Free Software
21 <#L21> 	* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 
02111-1307 USA
22 <#L22> 	*/
23 <#L23> 	
24 <#L24> 	// On indique qu'il faut creer des variables non protégées 
(voir fonction cree_variables_non_protegees())
25 <#L25> 	$variables_non_protegees = 'yes';
26 <#L26> 	
27 <#L27> 	// Initialisations files
28 <#L28> 	require_once("../lib/initialisations.inc.php");
29 <#L29> 	
30 <#L30> 	// Resume session
31 <#L31> 	$resultat_session = resumeSession();
32 <#L32> 	if ($resultat_session == 'c') {
33 <#L33> 	header("Location: 
../utilisateurs/mon_compte.php?change_mdp=yes");
34 <#L34> 	die();
35 <#L35> 	} else if ($resultat_session == '0') {
36 <#L36> 	header("Location: ../logout.php?auto=1");
37 <#L37> 	die();
38 <#L38> 	};
39 <#L39> 	
40 <#L40> 	if (!checkAccess()) {
41 <#L41> 	header("Location: ../logout.php?auto=1");
42 <#L42> 	die();
43 <#L43> 	}
44 <#L44> 	// initialisation
45 <#L45> 	$id_classe = isset($_POST["id_classe"]) ? $_POST["id_classe"] 
:(isset($_GET["id_classe"]) ? $_GET["id_classe"] :NULL);
46 <#L46> 	
47 <#L47> 	include "../lib/periodes.inc.php";
48 <#L48> 	
49 <#L49> 	if (isset($_POST['is_posted'])) {
50 <#L50> 	if (($_SESSION['statut'] == 'scolarite') or 
($_SESSION['statut'] == 'secours')) {
51 <#L51> 	$quels_eleves = mysql_query("SELECT DISTINCT e.* FROM eleves 
e, j_eleves_classes c
52 <#L52> 	WHERE (c.id_classe='$id_classe' AND
53 <#L53> 	c.login = e.login
54 <#L54> 	) ORDER BY nom");
55 <#L55> 	} else {
56 <#L56> 	$quels_eleves = mysql_query("SELECT DISTINCT e.* FROM eleves 
e, j_eleves_classes c, j_eleves_professeurs p
57 <#L57> 	WHERE (c.id_classe='$id_classe' AND
58 <#L58> 	c.login = e.login AND
59 <#L59> 	p.login = c.login AND
60 <#L60> 	p.professeur = '".$_SESSION['login']."'
61 <#L61> 	) ORDER BY nom");
62 <#L62> 	}
63 <#L63> 	$lignes = mysql_num_rows($quels_eleves);
64 <#L64> 	$j = '0';
65 <#L65> 	$pb_record = 'no';
66 <#L66> 	while($j < $lignes) {
67 <#L67> 	$reg_eleve_login = mysql_result($quels_eleves, $j, "login");
68 <#L68> 	$i = '1';
69 <#L69> 	while ($i < $nb_periode) {
70 <#L70> 	if ($ver_periode[$i] != "O"){
71 <#L71> 	$call_eleve = mysql_query("SELECT login FROM j_eleves_classes 
WHERE (login = '$reg_eleve_login' and id_classe='$id_classe' and 
periode='$i')");
72 <#L72> 	$result_test = mysql_num_rows($call_eleve);
73 <#L73> 	if ($result_test != 0) {
74 <#L74> 	
75 <#L75> 	//=========================
76 <#L76> 	// AJOUT: boireaus 20071003
77 <#L77> 	unset($log_eleve);
78 <#L78> 	$log_eleve=$_POST['log_eleve_'.$i];
79 <#L79> 	//=========================
80 <#L80> 	
81 <#L81> 	//=========================
82 <#L82> 	// AJOUT: boireaus 20071003
83 <#L83> 	// Récupération du numéro de l'élève dans les saisies:
84 <#L84> 	$num_eleve=-1;
85 <#L85> 	//for($k=0;$k<count($log_eleve);$k++){
86 <#L86> 	for($k=0;$k<$lignes;$k++){
87 <#L87> 	if(isset($log_eleve[$k])) {
88 <#L88> 	if("$reg_eleve_login"."_t".$i=="$log_eleve[$k]"){
89 <#L89> 	$num_eleve=$k;
90 <#L90> 	break;
91 <#L91> 	}
92 <#L92> 	}
93 <#L93> 	}
94 <#L94> 	if($num_eleve!=-1){
95 <#L95> 	//=========================
96 <#L96> 	// MODIF: boireaus 20071003
97 <#L97> 	//$nom_log = $reg_eleve_login."_t".$i;
98 <#L98> 	$nom_log = "avis_eleve_".$i."_".$num_eleve;
99 <#L99> 	//=========================
100 <#L100> 	
101 <#L101> 	$avis = 
traitement_magic_quotes(corriger_caracteres($NON_PROTECT[$nom_log]));
102 <#L102> 	$test_eleve_avis_query = mysql_query("SELECT * FROM 
avis_conseil_classe WHERE (login='$reg_eleve_login' AND periode='$i')");
103 <#L103> 	$test = mysql_num_rows($test_eleve_avis_query);
104 <#L104> 	if ($test != "0") {
105 <#L105> 	$register = mysql_query("UPDATE avis_conseil_classe SET 
avis='$avis',statut='' WHERE (login='$reg_eleve_login' AND periode='$i')");
106 <#L106> 	} else {
107 <#L107> 	$register = mysql_query("INSERT INTO avis_conseil_classe 
SET login='$reg_eleve_login',periode='$i',avis='$avis',statut=''");
108 <#L108> 	}
109 <#L109> 	if (!$register) {
110 <#L110> 	$msg = "Erreur lors de l'enregistrement des données de la 
période $i";
111 <#L111> 	$pb_record = 'yes';
112 <#L112> 	}
113 <#L113> 	}
114 <#L114> 	}
115 <#L115> 	}
116 <#L116> 	
117 <#L117> 	$i++;
118 <#L118> 	}
119 <#L119> 	$j++;
120 <#L120> 	}
121 <#L121> 	if ($pb_record == 'no') $affiche_message = 'yes';
122 <#L122> 	}
123 <#L123> 	$themessage = 'Des appréciations ont été modifiées. 
Voulez-vous vraiment quitter sans enregistrer ?';
124 <#L124> 	$message_enregistrement = "Les modifications ont été 
enregistrées !";
125 <#L125> 	//**************** EN-TETE *****************
126 <#L126> 	$titre_page = "Saisie des avis | Saisie";
127 <#L127> 	require_once("../lib/header.inc");
128 <#L128> 	//**************** FIN EN-TETE *****************
129 <#L129> 	?>
130 <#L130> 	<script type="text/javascript" language="javascript">
131 <#L131> 	change = 'no';
132 <#L132> 	</script>
133 <#L133> 	<?php
134 <#L134> 	// On teste si un professeur peut saisir les avis
135 <#L135> 	if (($_SESSION['statut'] == 'professeur') and 
getSettingValue("GepiRubConseilProf")!='yes') {
136 <#L136> 	die("Droits insuffisants pour effectuer cette opération");
137 <#L137> 	}
138 <#L138> 	
139 <#L139> 	// On teste si le service scolarité peut saisir les avis
140 <#L140> 	if (($_SESSION['statut'] == 'scolarite') and 
getSettingValue("GepiRubConseilScol")!='yes') {
141 <#L141> 	die("Droits insuffisants pour effectuer cette opération");
142 <#L142> 	}
143 <#L143> 	?>
144 <#L144> 	<form enctype="multipart/form-data" 
action="saisie_avis1.php" method=post>
145 <#L145> 	<p class=bold><a href="saisie_avis.php" onclick="return 
confirm_abandon(this, change, '<?php echo $themessage; ?>')"><img 
src='../images/icons/back.png' alt='Retour' class='back_link'/> Mes 
classes</a></p>
146 <#L146> 	
147 <#L147> 	<?php
148 <#L148> 	if ($id_classe) {
149 <#L149> 	$classe = sql_query1("SELECT classe FROM classes WHERE id = 
'$id_classe'");
150 <#L150> 	?>
151 <#L151> 	<p class= 'grand'>Avis du conseil de classe. Classe : <?php 
echo $classe; ?></p>
152 <#L152> 	<?php
153 <#L153> 	$test_periode_ouverte = 'no';
154 <#L154> 	$i = "1";
155 <#L155> 	while ($i < $nb_periode) {
156 <#L156> 	if ($ver_periode[$i] != "O") {
157 <#L157> 	$test_periode_ouverte = 'yes';
158 <#L158> 	}
159 <#L159> 	$i++;
160 <#L160> 	}
161 <#L161> 	?>
162 <#L162> 	<?php
163 <#L163> 	if (($_SESSION['statut'] == 'scolarite') or 
($_SESSION['statut'] == 'secours')) {
164 <#L164> 	$appel_donnees_eleves = mysql_query("SELECT DISTINCT e.* 
FROM eleves e, j_eleves_classes c
165 <#L165> 	WHERE (c.id_classe='$id_classe' AND
166 <#L166> 	c.login = e.login
167 <#L167> 	) ORDER BY nom");
168 <#L168> 	} else {
169 <#L169> 	$appel_donnees_eleves = mysql_query("SELECT DISTINCT e.* 
FROM eleves e, j_eleves_classes c, j_eleves_professeurs p
170 <#L170> 	WHERE (c.id_classe='$id_classe' AND
171 <#L171> 	c.login = e.login AND
172 <#L172> 	p.login = c.login AND
173 <#L173> 	p.professeur = '".$_SESSION['login']."'
174 <#L174> 	) ORDER BY nom");
175 <#L175> 	}
176 <#L176> 	$nombre_lignes = mysql_num_rows($appel_donnees_eleves);
177 <#L177> 	
178 <#L178> 	$i = "0";
179 <#L179> 	$num_id=10;
180 <#L180> 	while($i < $nombre_lignes) {
181 <#L181> 	$current_eleve_login = mysql_result($appel_donnees_eleves, 
$i, "login");
182 <#L182> 	$current_eleve_nom = mysql_result($appel_donnees_eleves, 
$i, "nom");
183 <#L183> 	$current_eleve_prenom = mysql_result($appel_donnees_eleves, 
$i, "prenom");
184 <#L184> 	echo "<table width=\"750\" border=1 cellspacing=2 
cellpadding=5>";
185 <#L185> 	echo "<tr>";
186 <#L186> 	echo "<td width=\"200\"><div 
align=\"center\"><b>&nbsp;</b></div></td>";
187 <#L187> 	echo "<td><div align=\"center\"><b>$current_eleve_nom 
$current_eleve_prenom</b></div></td>";
188 <#L188> 	echo "</tr>";
189 <#L189> 	
190 <#L190> 	$k='1';
191 <#L191> 	while ($k < $nb_periode) {
192 <#L192> 	$current_eleve_avis_query[$k]= mysql_query("SELECT * FROM 
avis_conseil_classe WHERE (login='$current_eleve_login' AND 
periode='$k')");
193 <#L193> 	$current_eleve_avis_t[$k] = 
@mysql_result($current_eleve_avis_query[$k], 0, "avis");
194 <#L194> 	$current_eleve_login_t[$k] = $current_eleve_login."_t".$k;
195 <#L195> 	$k++;
196 <#L196> 	}
197 <#L197> 	
198 <#L198> 	$k='1';
199 <#L199> 	while ($k < $nb_periode) {
200 <#L200> 	if ($ver_periode[$k] != "N") {
201 <#L201> 	echo "<tr><td><span 
title=\"$gepiClosedPeriodLabel\">$nom_periode[$k]</span></td>";
202 <#L202> 	} else {
203 <#L203> 	echo "<tr><td>$nom_periode[$k]</td>";
204 <#L204> 	}
205 <#L205> 	if ($ver_periode[$k] != "O") {
206 <#L206> 	$call_eleve = mysql_query("SELECT login FROM 
j_eleves_classes WHERE (login = '$current_eleve_login' and 
id_classe='$id_classe' and periode='$k')");
207 <#L207> 	$result_test = mysql_num_rows($call_eleve);
208 <#L208> 	if ($result_test != 0) {
209 <#L209> 	//echo "<td><textarea id=\"".$k.$num_id."\" 
onKeyDown=\"clavier(this.id,event);\" 
name=\"no_anti_inject_".$current_eleve_login_t[$k]."\" rows=2 cols=120 
wrap='virtual' onchange=\"changement()\">";
210 <#L210> 	
211 <#L211> 	//=========================
212 <#L212> 	// MODIF: boireaus 20071003
213 <#L213> 	//echo "<td><textarea id=\"n".$k.$num_id."\" 
onKeyDown=\"clavier(this.id,event);\" 
name=\"no_anti_inject_".$current_eleve_login_t[$k]."\" rows=2 cols=120 
wrap='virtual' onchange=\"changement()\">";
214 <#L214> 	echo "<td>\n";
215 <#L215> 	echo "<input type='hidden' name='log_eleve_".$k."[$i]' 
value=\"".$current_eleve_login_t[$k]."\" />\n";
216 <#L216> 	echo "<textarea id=\"n".$k.$num_id."\" 
onKeyDown=\"clavier(this.id,event);\" 
name=\"no_anti_inject_avis_eleve_".$k."_".$i."\" rows=2 cols=120 
wrap='virtual' onchange=\"changement()\">";
217 <#L217> 	//=========================
218 <#L218> 	echo "$current_eleve_avis_t[$k]";
219 <#L219> 	echo "</textarea></td>\n";
220 <#L220> 	} else {
221 <#L221> 	echo "<td><p>$current_eleve_avis_t[$k]&nbsp;</p></td>\n";
222 <#L222> 	}
223 <#L223> 	} else {
224 <#L224> 	echo "<td><p class=\"medium\">";
225 <#L225> 	echo "$current_eleve_avis_t[$k]";
226 <#L226> 	echo "</p></td>\n";
227 <#L227> 	}
228 <#L228> 	$k++;
229 <#L229> 	}
230 <#L230> 	echo "</tr>\n";
231 <#L231> 	$num_id++;
232 <#L232> 	$i++;
233 <#L233> 	echo "</table>\n<br /><br />\n";
234 <#L234> 	}
235 <#L235> 	
236 <#L236> 	if ($test_periode_ouverte == 'yes') {
237 <#L237> 	?>
238 <#L238> 	<input type=hidden name=is_posted value="yes" />
239 <#L239> 	<input type=hidden name=id_classe value=<?php echo 
"$id_classe";?> />
240 <#L240> 	<center><div id="fixe"><input type=submit value=Enregistrer 
/></div></center>
241 <#L241> 	<br /><br /><br /><br />
242 <#L242> 	<?php
243 <#L243> 	}
244 <#L244> 	}
245 <#L245> 	
246 <#L246> 	?>
247 <#L247> 	</form>
248 <#L248> 	<?php require("../lib/footer.inc.php");?>

*Remarque :* Consulter la page TracBrowser 
<https://projects.sylogix.org/gepi/wiki/TracBrowser> pour plus 
d'informations sur l'utilisation du Navigateur.


      Télécharger dans d'autres formats:

    * Plain Text
      <https://projects.sylogix.org/gepi/browser/branches/release-1.5.0/saisie/saisie_avis1.php?format=txt>

    * Format original
      <https://projects.sylogix.org/gepi/browser/branches/release-1.5.0/saisie/saisie_avis1.php?format=raw>

------------------------------------------------------------------------

<http://trac.edgewall.org/>

Propulsé par *Trac 0.10* <https://projects.sylogix.org/gepi/about>
d'Edgewall Software <http://www.edgewall.org/>.

Visit the Trac open source project at
http://trac.edgewall.org/

En revanche, le lien "Saisir les avis par élèves avec visualisation des 
résultats de l'élève" fonctionne bien.

Que dois-je faire pour résoudre ce problème ?

Merci

Ivan Gâche


More information about the Gepi-users mailing list