<?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/get.inc.php");
require_once("../include/define.inc.php");

$statut=$_REQUEST['statut'];
opensession($statut);

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>c'est le cadre "form"</title>
<link rel="stylesheet" href="<?php echo "../themes/".$etab_theme."/b2i.css" ?>">
</head>
<?php

     if (!isset($classe_id))   { //cas du premier affichage de la page
         if ($statut=="Prof") echo "<body class='arialprof' link='lightGrey' vlink='lightGrey' alink='lightGrey'>";
            else echo "<body class='arialgest' link='lightGrey' vlink='lightGrey' alink='lightGrey'>";
         print "<p class='rubrique' align='center'>Choisissez une classe</p>";
         print "</BODY>";
         exit();
         }
         else {
         if ($statut=="Prof") echo "<body class='arialprof' link='lightGrey' vlink='lightGrey' alink='lightGrey'>";
         else echo "<body class='arialgest' link='lightGrey' vlink='lightGrey' alink='lightGrey'>";
         }

//entrée avec classe_id en paramètre avec l'URL
//id=0 : nouvel élève, tous les champs sont vides
//id>0 : élève existant à modifier éventuellement (ELEVE_ID=$id)


$tempsdebut=getmicrotime();


//couleurs pour tableau


//Grand titre
if ($divgro=='D') $libdivgro="la classe"; else $libdivgro="le groupe";
if ($objet=="Tous") $libdivgro="l'établissement";
if (!isset($niv)) $niveau=""; else $niveau= "niveau ".getlibellenivo($niv);
echo "<p class=\"sous_titre\">Etat détaillé des items $niveau en cours de validation dans $libdivgro : $divcod </p>";
if ($MODULE=='Melia') echo "<p class=\"sous_titre\">en ".$sess_tablang[$disc]."</p>";
echo "<hr style=width:500px>";

echo "<div align='center'><table border=\"0\" width=\"300\"><tr><td align='center'  class='avis' >";
echo "<i><font color='green'>Vert : item acquis<br></font></i>";
echo "<i><font color='red'>Rouge :  item non acquis<br></font></i>";
echo "</td></tr></table></div>";

$conn  = mysql_connect($host, $user, $mdp);
mysql_select_db($db, $conn) or die ("Impossible d'accéder à la base de données");

$brevet_no=$etab_niveau;
$PHP_SELF=basename($_SERVER['PHP_SELF']);
if (!isset($niv)) {

switch ($brevet_no)  {
 case 'niv1': $niv="1"; break;
 case 'niv2': $niv="2"; break;
 case 'niv3': $niv="3"; break;
 case 'niv12':
      $niv='';
      print "<form name='formniv' method='post' action='".$PHP_SELF."?statut=$statut&classe_id=$classe_id&divcod=$divcod&objet=$objet&divgro=$divgro'>\n";
      print "<br/><p align='center'>Choisissez le niveau du B2i à visualiser : ";
      print "<select name='niv' value='' size='1'>\n";
      print "  <option value='1'>".getlibellenivo('niv1')."</option>\n";
      print "  <option value='2'>".getlibellenivo('niv2')."</option>\n";
      print "</select>&nbsp;&nbsp;\n";
      print "<input type='hidden' name='disc' value='$disc' >";
      print "<input type='submit' class='coul' name='btn_niv' value='Choix du Niveau'></p></form>\n";
      exit;
 case 'niv23':
      $niv='';
      print "<form name='formniv' method='post' action='".$PHP_SELF."?statut=$statut&niv=$niv&classe_id=$classe_id&divcod=$divcod&objet=$objet&divgro=$divgro'>\n";
      print "<p align='center'>Choisissez le niveau du B2i à visualiser : ";
      print "<select name='niv' value='' size='1'>\n";
      print "  <option value='2'>".getlibellenivo('niv2')."</option>\n";
      print "  <option value='3'>".getlibellenivo('niv3')."</option>\n";
      print "</select>&nbsp;&nbsp;\n";
      print "<input type='hidden' name='disc' value='$disc' >";
      print "<input type='submit' class='coul' name='btn_niv' value='Choix du Niveau'></p></form>\n";
      exit;
 case 'niv123':
      $niv='';
      print "<form name='formniv' method='post' action='".$PHP_SELF."?statut=$statut&niv=$niv&classe_id=$classe_id&divcod=$divcod&objet=$objet&divgro=$divgro'>\n";
      print "<p align='center'>Choisissez le niveau du B2i à visualiser : ";
      print "<select name='niv' value='' size='1'>\n";
      print "  <option value='1'>".getlibellenivo('niv1')."</option>\n";
      print "  <option value='2'>".getlibellenivo('niv2')."</option>\n";
      print "  <option value='3'>".getlibellenivo('niv3')."</option>\n";
      print "</select>&nbsp;&nbsp;\n";
      print "<input type='hidden' name='disc' value='$disc' >";
      print "<input type='submit' class='coul' name='btn_niv' value='Choix du Niveau'></p></form>\n";
      exit;
      }

      } // fin du choix du niveau qui est maintenant affecté    en 1 ou 2 ou autre...

//bout de requête pour après
$condition=" brevet_no = ".$niv;
if ($condition) {
    $condition1="  and ".$condition;
    $condition2 =" where ".$condition;
    }


    $w1=getmicrotime();


//obtenir les items du brevet $brevet_no
$resit =query("select * from items ".
              $condition2.
              " order by rub_no, s_rub_no;");
// on compte les items
$nb=mysql_num_rows($resit);

$reslib=query("select base from libelles,items ".
              "WHERE items.item_id=libelles.item_id ".
              $condition1.
              " order by rub_no, s_rub_no;");


$w2=getmicrotime();
$duree_rub=$w2-$w1;

if ($etab_niveau!="niv1" and $etab_niveau!="niv2" and $etab_niveau!="niv3") {

        #print "<center>Items acquis pour le niveau ".getlibellenivo($niv)." - <a href='".$PHP_SELF."?statut=$statut&classe_id=$classe_id&divcod=$divcod&objet=$objet&divgro=$divgro'>Autre niveau ?</a>";}

        #print "<p align='center'>Items acquis pour le niveau ".getlibellenivo($niv)." </p>";
        #reporté dans le titre
        print "<form method='post' action='".$PHP_SELF."?statut=$statut&classe_id=$classe_id&divcod=$divcod&objet=$objet&divgro=$divgro'>\n";
        print "<input type='hidden' name='disc' value='$disc' >";
        print "<p align='center'><input type='submit' class='coul' name='btn_niv' value='Autre niveau'>\n";
        print "</p></form>";
        }

print "<div align=\"center\"><table border='1'>\n";
print "<tr class='rubrique'>\n";
if ($objet=="Tous") print "\t<td  width='60'>Division</td>";
print "\t<td  width='160'>Nom</td>";
print "\t<td  width='140'>Prénom</td>";

$couleur="impaire";
$rubrencours=0;
$couleur="paire";
while ($rowit=mysql_fetch_array($resit))        {
    $rowlib=mysql_fetch_array($reslib);
    //on choisit le décalage de la bulle
    if ($rowit["item_id"]<$nb/2) $decalbulle="decalbullec"; else {$decalbulle="decalbulled";}

    // on extrait le numero du domaine
    $rubr=intval(substr($rowlib["base"],2,1));
    if ($rubr>$rubrencours) {
        if ($couleur=="paire") $couleur="impaire";  else $couleur="paire";
    }
    print "<td width='15' class=\"".$couleur."\"><a class='bulle taillebullegde $decalbulle' href=#>".$rowit["item_id"]."<span> <b>Item ".$rowit["item_id"]."</b></br>".$rowlib["base"]."</span></a></td>";
    $rubrencours=$rubr;

} //Fin lecture items
print  "</tr>";

$w1=getmicrotime();
//Préparation d'un tableau des élèves pour cette classe
//ATTENTION pour Melia, ne prendre que des élèves qui ont la discipline...
if ($MODULE=='Melia') {
    $fromM=", lien_eleves_disciplines ";
    $andM=" AND eleves.eleve_id=lien_eleves_disciplines.eleve_id
            AND lien_eleves_disciplines.disc_id=$disc ";
        }
else {
    $fromM="";
    $andM="";
      }
//Si divcod est vide, on prend tous les élèves du bahut
if ($objet=="Tous") 
    $reseleves=query("SELECT eleves.eleve_id, eleves.nom, eleves.prenom, eleves.classe_id, classes.divcod
                   FROM eleves  , classes ".$fromM."
                   WHERE  eleves.classe_id=classes.classe_id
                   AND eleves.etab_id=$etab_id ".$andM."
                   AND eleves.annee='$sess_ascol'
                   ORDER BY divcod, nom, prenom;",$conn);
else $reseleves=query("select eleves.eleve_id, eleves.nom, eleves.prenom, eleves.classe_id
                   FROM eleves  , lien_eleves_classes ".$fromM."
                   WHERE  eleves.eleve_id=lien_eleves_classes.eleve_id
                   AND lien_eleves_classes.classe_id=$classe_id  ".$andM."
                   AND eleves.annee='$sess_ascol'
                   ORDER BY nom, prenom;",$conn);

$w2=getmicrotime();
$duree_elev=$w2-$w1;

$nbelev=0;  //comptage des élèves
while ($rowelev=mysql_fetch_array($reseleves)) {
  $eleve[$nbelev]=$rowelev["eleve_id"];
  $elnom[$nbelev]=$rowelev["nom"];
  $elprenom[$nbelev]=$rowelev["prenom"];
  if ($objet=="Tous") $eldivcod[$nbelev]=$rowelev["divcod"];
    $nbelev++;
}

Print "<br><i>".$nbelev." élève".(($nbelev>1)?"s":"")."</i>&nbsp;&nbsp;&nbsp;";



$cumul_items=0;
//Fabrication des lignes du tableau
$old_divcod="";
for ($elev=0;$elev<$nbelev;$elev++) { //1 ligne = 1 élève
    //Affichage nom prénom
    //couleur de la ligne suivant sa parité
    $cl=($elev%2==0) ? "paire" : "impaire";
    print "<tr class=$cl>\n";
    if ($objet=="Tous") {
            if ($old_divcod=="") $old_divcod=$eldivcod[0];
            if ($eldivcod[$elev]!=$old_divcod) { print "</tr><td align='center' bgcolor='#FFFFFF'><b>".$eldivcod[$elev]."</b></td><tr class=$cl>"; $old_divcod=$eldivcod[$elev];}
            print "\t<td width='60'>&nbsp;".$eldivcod[$elev]."</td>\n";
            }
    print "\t<td  width='100'>&nbsp;".$elnom[$elev]."</td>\n";
    print "\t<td  width='100'>&nbsp;".$elprenom[$elev]."</td>\n";
    $tot_items=0;

        //Item acquis pour l'élève ?
        $resit =query("select * from items ".
              $condition2.
              " order by rub_no, s_rub_no;");
        $eleve_id=$eleve[$elev];
        while ($rowit=mysql_fetch_array($resit))        {
                $item_id=$rowit["item_id"];
                if (itemacquis($eleve_id,$item_id,$disc))  {$cellule="\t<td align=\"center\"><img src=\"../images/boule_verte.gif\"></td>";}
                else  {$cellule="\t<td align=\"center\"><img src=\"../images/boule_rouge.gif\"></td>";}
                print $cellule;        
        }

    print "</tr>";

}

print "</table></div>";
/*
//DEBUG
print "<br>Durée requête rubriques = $duree_rub";
print "<br>Durée requête élèves = $duree_elev";
print "<br>Durée requêtes items cumulées = $cumul_items";

$tempsfin=getmicrotime();
print "<br><br>Durée totale des requêtes = ";print $duree_rub+$duree_elev+$cumul_items;
print "<br>Temps total côté serveur = "; print $tempsfin-$tempsdebut;
 */


?>
</body>
</html>