[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> </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] </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