<?php
#=
/****************************************************************************
Copyright 2002, Daniel Deycard, Jacques Messines, Alain Pomirol
(CATICE Académie de Bordeaux)

This file is part of Gibii.

Gibii is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

Gibii is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Gibii; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

****************************************************************************/
include("../include/vars_adm.php");
include("../include/util.inc.php");
include("../include/utiljs.php");
include("../include/get.inc.php");
include("../include/insert.inc.php");
include("../include/suppr.inc.php");
include("../include/attestations.inc.php");
require_once("../include/define.inc.php");
include("bilan.inc.php");


opensession("Prof");
connecte($host,$user,$mdp,$db);

print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>B2i - Dévalidation de réponses récentes (moins de <?php echo DUREE_DEVALISATION; ?></title>

<link rel="stylesheet" href="<?php echo "../themes/".$etab_theme."/b2i.css" ?>" />
</head>

<?php
print "<body class=\"arialprof\" text=\"black\" link=\"blue\" vlink=\"purple\" alink=\"red\">";
	

//print_r($_POST);
if (isset($CBRep)>0) {
	print "<p class=\"sous_titre\">Résultats des demandes de dévalidation</p>\n";
    //On récupère les tableaux CBRep[], eleve[], item[], disc[], demande[], toui[], tnon[], $tobtenu[]
    foreach($CBRep as $rid => $accord) {
        $eleve_id	=$eleve[$rid];
        $item_id	=$item[$rid];
        $discipline	=$disc[$rid];
        $message_id	=$demande[$rid];
        $brevet_no	=$brevet[$rid];
        $nboui		=$tnboui[$rid];
		$nbnon		=$tnbnon[$rid];
		$obtenu		=$tobtenu[$rid];
	    //enlever la réponse que le prof désire dévalider
	    $mess= "élève $eleve_id ; item $item_id";
		if ('Melia'==$MODULE) $mess.= " ; disc=$discipline";
		$mess.= " accord=$accord ;nboui_avant=$nboui ; nbnon_avant=$nbnon ; item_obtenu=$obtenu";
        if ($accord) {
	        //chercher si la réponse n'a pas impliqué un item
	        if ($obtenu) {
	            //l'item a été accordé. Il faut tester le nouveau bilan au cas où 
				//d'autres profs auraient misé après celui-ci. 
	            $bilan=$nboui-$nbnon-1;
	            if (!estAccordable($bilan,$eleve_id,$item_id,$discipline)) { 
					if (mysql_num_rows(query("SELECT bid FROM brevets WHERE eleve_id=$eleve_id AND niveau=$brevet_no"))) {
						//le brevet était acquis : on ne peut pas le supprimer !!!
						//car l'élève a déjà pu faire imprimer son diplôme.
						$mess.=" ; <span class=\"attention\">accord non supprimé car le brevet est acquis !</span>";
						}
					else {
						//l'item est immérité : on supprime ce qu'il faut (resultats, lrt, reponses) et maj de demandes
		                suppr_resultat_eid($eleve_id,$item_id,$discipline);
		                query("DELETE FROM reponses WHERE reponse_id=$rid");
    					query("UPDATE demandes SET obtenue=0, active=1, nboui=nboui-1 WHERE message_id=".seci($message_id));    
		                $mess.=" ; accord supprimé ; l'item était obtenu et il a été été supprimé";
						}						
					}
				else { //on ne supprime que la réponse (pas d'incidence sur le résultat)
					query("DELETE FROM reponses WHERE reponse_id=$rid");
    				query("UPDATE demandes SET nboui=nboui-1 WHERE message_id=".seci($message_id));    
					$mess.= " ; accord supprimé ; l'item reste acquis (validations en nombre suffisant)";
	            	}
	        	}
	        else { //l'item n'a pas été obtenu
				query("DELETE FROM reponses WHERE reponse_id=$rid");
				query("UPDATE demandes SET nboui=nboui-1 WHERE message_id=".seci($message_id));    
				$mess.= " ; accord supprimé ; l'item n'était pas acquis";
				}
			}
	    else { 	//réponse négative
			query("DELETE FROM reponses WHERE reponse_id=$rid");
        	$mess.= " ; refus supprimé";
	    	//chercher si la suppression de cette réponse négative n'apporterait pas un résultat
	    	if (!$obtenu) {
	    		$bilan=$nboui-$nbnon+1;
	    		if (estAccordable($bilan,$eleve_id,$item_id,$discipline)) {
	    			ajout_resultat($eleve_id,$item_id,$discipline,$message_id,$prof_id);
					$mess.= " ; l'item est accordé";
					query("UPDATE demandes SET obtenue=1, active=0, nbnon=nbnon-1 WHERE message_id=".seci($message_id));    
	    			$tbrevets=calcule_brevets($eleve_id,false);
	    			if ($tbrevets[$brevet_no]) $mess.= " ; brevet $brevet_no obtenu !";
	                }
	            else {
	            	$mess.= " ; l'item n'est toujours pas accordé";
       				query("UPDATE demandes SET nbnon=nbnon-1 WHERE message_id=".seci($message_id));    
	            	}
	            }
	        else {
	        	$mess.= " ; item conservé car obtenu par ailleurs";
				query("UPDATE demandes SET nbnon=nbnon-1 WHERE message_id=".seci($message_id));    
	        	}
	   
        	}
    	print "$mess<br />\n";
        }
        
	
	print "<br / ><br />";
	print "<a href=\"prof_bas.php\">Retour au menu prof</a>";
	print "<br / >";
	print "<a href=\"devalidation.php\">Revoir la page de dévalidations</a>";
	}

else {
	//passage 1 : formulaire
	//----------------------
	print "<p class=\"sous_titre\">Validation récentes (".
			DUREE_DEVALISATION." jour".pluriel(DUREE_DEVALISATION)." ou moins)</p>\n";
	$prof_id=$_SESSION['sess_mec_id'];
	$res=query("SELECT reponse_id,accord,reponses.quand,reponses.commentaire,
	                   libelles.base,
	                   eleves.eleve_id,eleves.nom,eleves.prenom,
	                   classes.divcod,
	                   demandes.message_id,demandes.disc_id,demandes.commentaire,
	                   obtenue, nboui, nbnon,
	                   items.item_id, items.brevet_no
	            FROM  reponses, demandes, items, libelles, eleves, classes
	             WHERE demandes.message_id=reponses.message_id
	              AND items.item_id=demandes.item_id
	              AND libelles.item_id=items.item_id
	              AND eleves.eleve_id=demandes.eleve_id
	              AND classes.classe_id=eleves.classe_id
				  AND reponses.prof_id=$prof_id
	              AND (TO_DAYS(CURDATE())-TO_DAYS(reponses.quand))<=".DUREE_DEVALISATION);	//." LIMIT 10");
	            /*
				FROM  reponses
	                  LEFT JOIN demandes ON demandes.message_id=reponses.message_id
	                  LEFT JOIN items ON items.item_id=demandes.item_id
	                  LEFT JOIN libelles ON libelles.item_id=items.item_id
	                  LEFT JOIN eleves ON eleves.eleve_id=demandes.eleve_id
	                  LEFT JOIN classes ON classes.classe_id=eleves.classe_id
	            WHERE prof_id=$prof_id
	              AND (TO_DAYS(CURDATE())-TO_DAYS(reponses.quand))<=2");
				*/
	if (mysql_num_rows($res)==0) {
	    alert("Pas de réponse récente à supprimer");
	    goto("prof_bas.php");
	    print "</body></html>";
	    }
	
	print "<br/>";
	
	print "<form action=\"#\" name=\"formdeval\" method=\"post\">\n";
	print "<div align='center'><table border=1>\n";
	print "<tr class='rubrique'><th>Dévalider</th><th>Réponse</th><th>Quand</th><th>Nom</th><th>Prénom</th><th>Classe</th><th>[n° item] - Libellé item</th><th>moi</th><th>lui</th>\n";
	print "</tr>\n";
	
	while (list($rid,$accord,$quand,$commentp,$libitem,$eleve_id,$nom,$prenom,
				$divcod,$demande,$disc,$commente,$obtenu,$nboui,$nbnon,$item,$brevet)=mysql_fetch_array($res)) {
	    //if ($accord==0) continue;
	    if (!$commentp) $commentp="&nbsp"; else $commentp=stripslashes($commentp);
	    if (!$commente) $commente="&nbsp"; else $commente=stripslashes($commente);
	    print "<tr><td class=\"centre\"><input type=\"checkbox\" name=\"CBRep[$rid]\" value=\"$accord\">";
	    print "<input type=\"hidden\" name=\"eleve[$rid]\" value=\"$eleve_id\">\n";
	    print "<input type=\"hidden\" name=\"item[$rid]\" value=\"$item\">\n";
	    print "<input type=\"hidden\" name=\"brevet[$rid]\" value=\"$brevet\">\n";
	    print "<input type=\"hidden\" name=\"disc[$rid]\" value=\"$disc\">\n";
	    print "<input type=\"hidden\" name=\"demande[$rid]\" value=\"$demande\">\n";
		print "<input type=\"hidden\" name=\"tobtenu[$rid]\" value=\"$obtenu\">\n";
		print "<input type=\"hidden\" name=\"tnboui[$rid]\" value=\"$nboui\">\n";
		print "<input type=\"hidden\" name=\"tnbnon[$rid]\" value=\"$nbnon\">\n";
		
	    print "</td>\n";
	    print "<td class=\"centre\">";
		if ($accord) 
			print "<img align=\"absmiddle\" border='0' width='20' height='20' title=\"accordé\" src='../themes/".$etab_theme."/btn_val_ok.gif' />";
		else
			print "<img align=\"absmiddle\" border='0' width='20' height='20' title=\"refusé\" src='../themes/".$etab_theme."/btn_val_no.gif' />";
	    print "<td class=\"centre\">$quand</td>\n";
	    print "<td>&nbsp;$nom</td>\n";
	    print "<td>&nbsp;$prenom</td>\n";
	    print "<td>$divcod</td>\n";
	    print "<td>[$item] - $libitem</td>\n";
	    print "<td>$commentp</td>\n";
	    print "<td>$commente</td>\n";
	    print "</tr>\n";
	    }
	print "</table>";
	print "<p><table border=\"0\" ><tr><td><input class=\"coul\" type=\"submit\" name=\"deval\" value=\"Supprimer des réponses cochées\" /></td>\n";
	print "<td><input class=\"coul\" type=\"reset\" value=\"Décocher tout\" /></td></tr></table></p></div>\n";
} //fin formulaire

?>
</body>
</html>