<?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("bilan.inc.php");
include("../include/get.inc.php");
require_once("../include/define.inc.php");
include("../include/attestations.inc.php");
include("../include/insert.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 - Traitement des demandes</title>
<meta name="generator" content="jako">
<link rel="stylesheet" href="<?php echo "../themes/".$etab_theme."/b2i.css" ?>" />
<script type="text/javascript">

var liste_images = new Array('btn_val_ok','btn_val_no','i','pixel_vide','non');
// Un tableau qui permettra le stockage 'virtuel' des images pour les precharger
document.image_chargee = new Array();
// La fonction de prechargement

function prechargement(chemin) {
        for ( i = 0; i < liste_images.length; i++ ) {   //>
                document.image_chargee[i] = new Image;
                document.image_chargee[i].src = chemin + liste_images[i] + '.gif';
                }
    //alert('images chargées');
}

function change_img(id,img,title) {
    //id=imgoui23 ou imgnon11 ou croix7 par exemple
    var objimg=window.opener.document.getElementById(id);
    objimg.src=img;         //souvent '../images/pixel_vide.gif';
    objimg.title=title;
}

function efface_img_lien(suffixe)   {
    //suffixe=oui3 ou non9 par exemple (efface un OUI ou un NON, image et lien)
    var doc=window.opener.document;
    doc.getElementById('img'+suffixe).src='../images/pixel_vide.gif';
    doc.getElementById('img'+suffixe).title='Pour rafraîchir cette page, cliquez sur l\'image "B2i professeur"';
    doc.getElementById('lien'+suffixe).onclick='javascript:void(0)';
    //cacher le tag <a> 
	doc.getElementById('taga'+suffixe).style.visibility='hidden';
	}

function fermer_fen() {
    if (window.opener) window.close();
    else window.location.href='prof_bas.php';
}
</script>

</head>

<?php
print "<body class=\"arialprof\"
             text=\"black\" link=\"blue\" vlink=\"purple\" alink=\"red\"
             onload=\"prechargement('../themes/$etab_theme/');\">";

if (!isset($valider)) {
    //premier passage : le formulaire
    //-------------------------------
    //sont envoyés par l'URL : message_id,id_rep_non,eleve_id,item_id,classe,dem,prechoix
    $res=query("SELECT 	e.prenom, e.nom, 
						d.quand, d.commentaire, d.nboui, d.nbnon, 
						libelles.base, rubriques.libelle
                FROM demandes AS d, eleves AS e, libelles, rubriques, items
                WHERE d.message_id = $message_id
                AND e.eleve_id = $eleve_id
                AND libelles.item_id = $item_id
                AND rubriques.rub_no=items.rub_no
                AND items.item_id = $item_id");
    list($prenom,$nom,$date,$comment,$nboui, $nbnon, $libelle,$rubrique)=mysql_fetch_array($res);
    $classe=stripslashes(urldecode($classe));
    echo "<p class='libelle_prof'>Traitement du message n° : ".$message_id."<p>";
    ?>
    <center><span class="demande">
    <table border="1" width='90%'>
    <tr>
        <td ><p align="right" >Classe&nbsp;: </p></td>
        <td ><p class="libelle">&nbsp;<?php echo $classe; ?></p></td>
        <td ><p align="right">Date&nbsp;de&nbsp;la&nbsp;demande&nbsp;: </p></td>
        <td ><p class="libelle">&nbsp;<?php echo $date; ?></p></td>
    </tr>
    <tr>
        <td ><p align="right">Nom&nbsp;: </p></td>
        <td ><p class="libelle">&nbsp;<b><?php echo $nom; ?>&nbsp;</b></p></td>
        <td ><p align="right">Rubrique&nbsp;:</p></td>
        <td ><p class="libelle">&nbsp;<?php echo $rubrique; ?></p></td>
    </tr>
    <tr>
        <td ><p align="right">Pr&eacute;nom&nbsp;: </p></td>
        <td ><p class="libelle">&nbsp;<?php echo $prenom; ?></p></td>
        <td ><p align="right">Item&nbsp;: </p></td>
        <td ><p class="libelle">&nbsp;<?php echo $libelle; ?></p></td>
    </tr>
    <tr>
        <td ><p >Message&nbsp;:</p></td>
        <td colspan="3"><p class="libelle"> &nbsp;<?php echo $comment; ?></p></td>

    </tr>
    </table></span></center>

    <br>
    <center>
    <form name="form_valid" method="post" action="demande_traite.php?message_id=<?php echo $message_id; ?>">
    <input type='hidden' name='id_rep_non' value='<?php print $id_rep_non; ?>' />
    <input type='hidden' name='eleve_id'   value='<?php print $eleve_id; ?>' />
    <input type='hidden' name='item_id'    value='<?php print $item_id; ?>' />
    <input type='hidden' name='dem'        value='<?php print $dem; ?>' />
    <input type='hidden' name='nboui'        value='<?php print $nboui; ?>' />
    <input type='hidden' name='nbnon'        value='<?php print $nbnon; ?>' />

    <table border="0" >
    <tr>
        <td ><p>Saisir une r&eacute;ponse :</p><td>
        <td ><div align='center'><textarea name="pcomment" rows="6" cols="50"></textarea> </div>
        </td>
    </tr>
    </table>
    <p align="center">&nbsp;

    <?php
     $check='checked="checked"';
     if ($prechoix==1) {$oui=$check ; $non='';}
     else              {$oui=''     ; $non=$check;}
     if ($prechoix==1 || $etab_pop_profs==0)  {
         print "<input type=\"radio\" name=\"valider\" value=\"accord\" $oui>";
         print "Accord&nbsp;&nbsp;&nbsp;";
     }
     if ($prechoix==0 || $etab_pop_profs==0)  {
         print "<input type=\"radio\" name=\"valider\" value=\"refus\" $non>";
         print "Refus&nbsp;&nbsp;&nbsp;";
     }
     ?>

     <input type="submit" class="coul" name="Btn_envoi" value="Envoyer la réponse" />
     <input type="button" class="coul" name="annuler" value="Annuler"  onclick="fermer_fen();" />
    </p>
    </form>
    </center>
    <p>&nbsp;</p>

    <?php
    }   //fin de $valider non affecté

else {
    //deuxième passage : stockage réponse
    //-----------------------------------
    if ($MODULE=='Melia') $cond_disc=" AND demandes.disc_id=".seci($disc_id );
    else $cond_disc="";
    $accord=($valider=="accord") ? 1 : 0 ;
    $aujourdhui = date("Y/m/d H:I");
    //$pcomment  : commentaire du prof

    $java='';
    $affiche=array();
	$set='';
	//Avant d'insérer, on s'assure que le prof n'a pas bégayé sur la demande...
	if (mysql_num_rows(
			query("SELECT * FROM reponses 
					WHERE 	prof_id='$sess_mec_id'  
					AND		accord='$accord'
					AND		message_id='$message_id'
					") 
				)
			) 
		{
		//il a déjà répondu et il s'impatiente...
		$affiche[]='Vous avez déjà répondu à cette demande.';
		$affiche[]='Votre réponse est peut-être en cours de traitement... patientez !';
		}
	else {
		//------------------------- Traitement "normal"  -----------------------------------		
	    //$message_id : id de la demande
	    //$id_rep_non, passé depuis prof_bas par l'URL,
	    //puis depuis la partie 1 de ce script par un champ caché, indique :
	    //         - 0 si le prof n'a pas déjà répondu (sous-entendu NON)
	    //         - reponse_id s'il a déjà répondu NON antérieurement
		
	    $req_insert="INSERT INTO reponses SET accord='".secs($accord)."', quand=NOW(),
	                    commentaire='".secs($pcomment)."',message_id=".seci($message_id)." ,prof_id=$sess_mec_id";
		$affiche[]=strtoupper($valider).' enregistré.';  
	
	    if ($accord) {
			$nboui++;
			$set.=" nboui=$nboui ";
			$java.="efface_img_lien('oui$dem');";
			$java.="efface_img_lien('non$dem');";
			if ($id_rep_non) {
				$nbnon--; //efface l'ancien non
				$set.=", nbnon=$nbnon ";
				query("DELETE FROM reponses WHERE reponse_id=$id_rep_non");
				$java.="change_img('croix$dem','../images/pixel_vide.gif','');";
				}
			query($req_insert);
			$bilan=$nboui-$nbnon;
	       	if (estAccordable($bilan,$eleve_id,$item_id,$disc_id)) { //un item de plus pour l'élève
				//Discipline validatrice (du prof)
				$set.=", obtenue=1, active=0 ";
				$disc_valid=$disc_id;
				//ATTENTION pas d'interet pour Melia qui reste avec la discip dans disc_id
				if ($MODULE!="Melia") $valdisc=-1; else $valdisc=$disc_id;
				$r_id=ajout_resultat($eleve_id,$item_id,$valdisc,$message_id,$sess_mec_id);
				calcule_brevets($eleve_id);
				$affiche[]='Item acquis.';
	       		}
	    	}
	    else {
			$java.="efface_img_lien('non$dem');";
			if (isset($id_rep_non) && $id_rep_non) {
				//on met à jour la date et le commentaire
				query("UPDATE reponses SET quand='$aujourdhui',commentaire='".secs($pcomment)."'
				       WHERE reponse_id=".seci($id_rep_non));
				$affiche[]="L'ancien refus a été mis à jour (date et commentaire).";
				}
			else {
				$nbnon++;
				$set.=" nbnon=".seci($nbnon );
				$java.="change_img('croix$dem','../themes/$etab_theme/non.gif','Déjà répondu non !');";
				query($req_insert);
				if ($etab_nb_max_refus>0 && $nbnon>=$etab_nb_max_refus) {
				   $java.="efface_img_lien('oui$dem');";   //la demande doit être inaccessible
				   $set.=", active=0 ";
				   $affiche[]="La demande de l'élève est désactivée* car le nombre de refus (=".$nbnon.
					")\n vaut au moins le nombre maximal accepté (=".$etab_nb_max_refus.")";
				   $affiche[]="*Il pourra consulter votre commentaire depuis sa page d'accueil.";
					}  //if ($etab_nb_max_refus)
				} //else $id_rep_non
	    	}  //else $accord
		} 		
	if ($set) {
		query("UPDATE demandes SET $set WHERE message_id=$message_id");
		$affiche[]="OUI = $nboui";
		$affiche[]="NON = $nbnon";
		}
	//------------------------- Traitement "normal" (fin) -----------------------------		

    //Dans le cas où cette page est en popup, mettre à jour la page parente
    if ($etab_pop_profs==1) {
        //Fermeture popup automatique
        js($java);
        $lignesaff=implode("\n",$affiche);
        alert($lignesaff);
        close_window();
    }
    else { //Mode normal
		$lignesaff=implode("<br />",$affiche);
		print "<p>$lignesaff</p>";
        print "<p>Demande traitée</p>";
        print "<form method='post' action='prof_bas.php'>\n";
        print "<input type='submit' class='coul' name='retour' value='Retour'>\n";
        print "</form>";
    }

}//fin du stockage des réponses
?>
</body>
</html>