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

This file is part of Gibii/Melia

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");
include("../include/utiljs.php");
$statut=$_REQUEST['statut'];
opensession($statut,false);

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>nom1</TITLE>
<BASE TARGET="_self">
<link rel="stylesheet" href="<?php echo "../themes/".$etab_theme."/b2i.css" ?>">
<script language="javascript">
    function classeestbonne() { //vérifie le formulaire avant envoi
    var frm=document.new_classe;
    if (!frm.nom_classe.value) {
       alert("Le nom de la classe est vide.");
       return false;
       }
       return true;
    }

    function clicglobal(formulaire, nomchkbx, numcla, ouinon)
//formulaire et momchkbx sont des chaînes spécifiant les "name" des objets
//ouinon vaut true ou false
// toutes les cases à cocher spécifiées sont cochées (ou décochées si ouinon==false)
{
 var frm=eval('document.'+formulaire);
 //on ne peut pas invoquer les checkboxes par leur nom du fait des
 //crochets nécessaires à PHP, d'où le test bestial dans la boucle ci-dessous
 for (i=0;i<frm.elements.length; i++) {
      //  alert('name='+frm.elements[i].name+' param='+nomchkbx+' numcla='+frm.elements[i].id.split('_')[0]);
     if ((frm.elements[i].name.substr(0,6)==nomchkbx) && (frm.elements[i].id.split('_')[0]==numcla))  {
             frm.elements[i].checked=ouinon;
        }
     }

}
</script>
</HEAD>
<?php
switch ($statut) {
       case "Prof":
           echo "<BODY class='arialprof'>";
           break;
       case "Admin":
           echo "<BODY class='arialadmin'>";
           break;
       case "Gest":
           echo "<BODY class='arialgest'>";
           break;
   }


print "<div align='center'><p class='sous_titre' >Composition du groupe : $divcod</p><hr>";
connecte($host, $user, $mdp, $db);
$PHP_SELF=basename($_SERVER['PHP_SELF']);

if (!isset($etat_cla)) { //Premier passage, choix des classes concernées
 print "<p><b>Choisissez d'abord les classes concernées par ce groupe :</b><br>";
 print "<i>Les coches indiquent des classes déjà représentées dans le groupe.</i></p>";
 $sql_cla="SELECT classe_id, divcod FROM classes WHERE etab_id=$etab_id and divgro='D'
          ORDER BY divcod";
 $res_cla=query($sql_cla);
 $nbclasses=mysql_num_rows($res_cla);
 $i=0;
 print "<form name=\"fclasses\" target=\"_self\" method=\"post\" action=\"".$PHP_SELF."?statut=".$statut."\" >";
 print "<input type='hidden' name='etat_cla' value='formulaire'>\n";
 print "<input type='hidden' name='divcod' value='$divcod'>";
 print "<input type='hidden' name='classe_id' value=$classe_id>";
 print "<input type='hidden' name='nbclasses' value=$nbclasses>";
 print "<table border='0'><tr><td>";
 while (list($classid, $divcod)=mysql_fetch_array($res_cla)) {
  //Pré-cocher les classes déjà concernées ?
  $sql_coche="SELECT * FROM eleves, lien_eleves_classes, lien_eleves_classes as lien_ec
              WHERE eleves.eleve_id=lien_eleves_classes.eleve_id
              AND lien_eleves_classes.classe_id=$classid
              AND eleves.eleve_id=lien_ec.eleve_id
              AND lien_ec.classe_id=$classe_id";
  $res_coche=query($sql_coche);
  if (mysql_num_rows($res_coche)>0) $check='checked'; else $check='';

   print "<input type='checkbox' name='CB$i' value=$classid $check>&nbsp;$divcod&nbsp;&nbsp;&nbsp;&nbsp;</td>";
   $i++;
   if ( $i%5==0) print "</tr><td>"; else print "<td>";
 }
 print "</table>";
 print "<br><input type='submit' name='btn_classes'  class=\"coul\" accesskey=\"S\" value='Suite'>\n";
 print "&nbsp;&nbsp;<input type='reset' name=btn_reset' class=\"coul\" accesskey=\"E\" value='Effacer'>\n";
 print "</form> </div>";

}  elseif (!isset($etat_elev)) { //Second passage, choix des élèves

 print "<p align='center'><b>Choix des élèves :</b></p>";
 /*print "<p align='center'><i><a href='#' title=\"Coche tous les élèves\"
      onclick=\"clicglobal('feleves','CBelev',true);\">[Cocher tous]</a>
      <a href='#' title=\"Décoche tous les élèves\" onclick=\"clicglobal('feleves','CBelev',false);\">[Cocher aucun]</a></i></p>";
   */

 //print_r($_POST);

 print "<p align='center'><form name=\"feleves\" target=\"_self\" method=\"post\" action=\"".$PHP_SELF."?statut=".$statut."\" >";
 print "<input type='hidden' name='etat_cla' value='formulaire'>\n";
 print "<input type='hidden' name='etat_elev' value='formulaire'>\n";
 print "<input type='hidden' name='divcod' value='$divcod'>\n";
 print "<input type='hidden' name='classe_id' value=$classe_id>\n";
 print "<input type='hidden' name='nbclasses' value=$nbclasses>\n";

// combien de classes cochées?
 $nbclassescoch=0;
 $largeur_tableau="";
 $nbcol=0;
 for ($j=0;$j<$nbclasses;$j++) {
  $CBident='CB'.$j;
  if (isset($$CBident)) {
     $nbclassescoch++;
  }
 }

 if($nbclassescoch<3) $largeur_tableau=strval(300*$nbclassescoch); else  $largeur_tableau="80%";
 print "<div align='center'><table border='0'  width=\"$largeur_tableau\">\n<tr>";
 $tr=0;
 //Comptabiliser les CheckBox
 $k=0;
 $jj=0;  //Compteur pour les colonnes du tableau
 for ($j=0;$j<$nbclasses;$j++) { //On balaie les classes de l'étab
  $CBident='CB'.$j;
  if (isset($$CBident)) { // La classe est cochée on attaque une cellule
     $classid=$$CBident;
     $clas=getclasse($classid); //Voilà son nom !

     print "<td width='33%' valign='top' class='encadre_loin'>\n";
     print"<div align='center'><table border='0' width='100%'><tr>\n<td width='40%'>";
     print "<p align='center'><i><a href='#' title=\"Coche tous les élèves\" onclick=\"clicglobal('feleves','CBelev','$classid',true);\">[Cocher tous]</a></i></p></td>";
     print "<td width='2%'>&nbsp;</td><td ><p align='center'><i><a href='#' title=\"Décoche tous les élèves\" onclick=\"clicglobal('feleves','CBelev','$classid',false);\">[Cocher aucun]</a></i></p></td>\n";
     print "</tr></table></div>\n";
     print "<p align='center' class='nom_classe'>$clas</p><hr>";
     //Recherche de ses élèves
     $sql_elev="SELECT eleve_id, nom, prenom FROM eleves
                WHERE classe_id=$classid
                AND annee='$sess_ascol'
                ORDER BY nom, prenom";
     $res_elev=query($sql_elev);
     while (list($elid,$n, $p)=mysql_fetch_array($res_elev)) {
       //Pré-cocher les élèves déjà présents ?
       $sql_cochel="SELECT * FROM lien_eleves_classes
                    WHERE eleve_id=$elid
                    AND classe_id=$classe_id";
       $res_cochel=query($sql_cochel);
       if (mysql_num_rows($res_cochel)>0) $check='checked'; else $check='';
       //print "<br />";
       print "&nbsp;&nbsp;<input type='checkbox' id='$classid"."_"."$k' name='CBelev$k' value=$elid $check>";
       print "&nbsp;&nbsp;$n&nbsp;$p\n";
       print "<br />";
       $k++;
             } //Fin de liste d'élèves

     $jj++;
     print"</td>";   //Fermeture de cellule
           if ($nbclassescoch<3) $nbcol=$nbclassescoch;
           else $nbcol=3;

     if ( $jj%$nbcol==0) print "</tr>\n";
     } //Fin de classe cochée
 } //FIN : on a tout le monde
 //Fermer proprement la table
 $kk=$jj%$nbcol;
 while (($kk<3) and ($kk>0))  { $kk++; print "<td>&nbsp;</td>"; $tr=1;}

 if ($tr>0) print "</tr>";

 print "</table></div>\n";
 print "<input type='hidden' name='nbeleves' value=$k>\n";
 print "<br> <p style=\"text-align:center;\"> <input type='submit' name='btn_eleves' class=\"coul\" accesskey=\"E\" value='Enregistrer'>\n";
 print "&nbsp;&nbsp;<input type='reset' name=btbn_reset'  class=\"coul\" accesskey=\"R\" value='Réinitialiser'>\n";
 print "</form></p>";


} else { //dernier passsage, enregistrement des élèves
//Juste un enregistrement dans la table lien_eleves_classes pour chaque élève
//print "Enregistrement en cours...<br />";
//print_r($_POST);

//Reste à effacer la composition existante
$sql_vire="DELETE FROM lien_eleves_classes
              WHERE classe_id=$classe_id";
$res_vire=query($sql_vire);

$err=false;
print "<p><b>Nouvelle composition du groupe $divcod :</b></p>";
for ($k=0; $k<$nbeleves; $k++) {
 //Recherche des élèves cochés
 $CBel='CBelev'.$k;
 if (isset($$CBel)) {
   $elevid=$$CBel;
   // On sauve
   print geteleve($elevid)."<br />";
   $sql_recree="INSERT INTO lien_eleves_classes (eleve_id, classe_id) VALUES (".seci($elevid)." , ".seci($classe_id)." )";
   $res_recree=query($sql_recree);
   $err=$err or $res_recree;
   }

} //Fin balayage élèves
if (!$err) print "<br /><br />Enregistrement terminé avec succès...";


retour("../outils/liste_classes.php?statut=$statut");

}

?>

</BODY>
</HTML>