<?php
#=
/****************************************************************************
Copyright 2002, Daniel Deycard, Jacques Messines, Stéphanie Roussel, Jean-Marie Treins
(CATICE Académie de Bordeaux)

This file is part of Gibii/Melia.

Gibii/Melia 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/Melia 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/Melia; 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/pdf.inc.php");
include("../include/get.inc.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>Attestations à sauver en fin d'année</title>
<meta name="generator" content="amaya">
<link rel="stylesheet" href="<?php echo "../themes/".$etab_theme."/b2i.css" ?>">
<base target="_self">
<?php include("../include/utiljs.php"); ?>
</head>

<?php


print "<body class='arialgest'>";

include("../themes/".$etab_theme."/f_diplome.php");

//fonctions locales
function lignevide() {
    global $elnom, $elprenom, $nbeleve, $divcod, $niv;
    $cl=($nbeleve%2==0) ? "paire" : "impaire";
    print "<tr class=$cl>\n";

    if (($elnom[$nbeleve]=="TEST") && ($elprenom[$nbeleve]=="Eleve"))     {
       $mode="un";
       print "\t<td><a href='imprimer_diplomes.php?mode=$mode&nom=$elnom[$nbeleve]&prenom=$elprenom[$nbeleve]&divcod=$divcod&niv=$niv' target=_blank >&nbsp;".$elprenom[$nbeleve]." ".$elnom[$nbeleve]."</a></td>\n";
    }
    else {
       print "\t<td>&nbsp;".$elnom[$nbeleve]." ".$elprenom[$nbeleve]."</td>\n";
    }
    print "\t<td align='center'>-</td>\n";
    print  "\t<td align='center'>-</td>\n";
    print "\t</tr>\n";
    $nbeleve++;
}

//========================================================
//Recherche des élèves ayant le b2i dans la table résultat
//Choix du niveau de brevet ?
$brevet_no=$etab_niveau;
$PHP_SELF=basename($_SERVER['PHP_SELF']);
//Choix de la classe à afficher
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'>\n";
      print "Choisissez le niveau à sauver : ";
      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 class='coul' type='submit' class='coul' name='btn_niv' value='Choix du Niveau'>\n";
      exit;
 case 'niv23':
      $niv='';
      print "<form name='formniv' method='post' action='".$PHP_SELF."?statut=$statut&niv=$niv&classe_id=$classe_id&divcod=$divcod'>\n";
      print "Choisissez le niveau à visualiser / imprimer : ";
      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='submit' class='coul' name='btn_niv' value='Choix du Niveau'>\n";
      exit;
 case 'niv123':
      $niv='';
      print "<form name='formniv' method='post' action='".$PHP_SELF."?statut=$statut&niv=$niv&classe_id=$classe_id&divcod=$divcod'>\n";
      print "Choisissez le niveau à visualiser / imprimer : ";
      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='submit' class='coul' name='btn_niv' value='Choix du Niveau'>\n";
      exit;
      }
} // fin du choix du niveau qui est maintenant affecté    en 1 ou 2 ou autre...
 //bout de requête pour après
$rqniv="  and items.brevet_no = ".$niv;
$conn  = connecte($host, $user, $mdp, $db);

//Calcul nb d'items à avoir pour le brevet
$resit=query("select count(items.item_id)as nbitems, items.brevet_no ".
                     " from items where 1=1 ".
                     $rqniv." GROUP BY brevet_no");
$row=mysql_fetch_row($resit);
$nbitems=$row[0];
//Calcul nb de rubriques dans ce niveau de brevet
$resrub=query("SELECT DISTINCT rubriques.rub_no FROM rubriques,items
               WHERE rubriques.rub_no=items.rub_no
               AND items.brevet_no=$niv");
$nbrubric=mysql_num_rows($resrub);



echo "<p class='sous_titre'>Attestations de tout l'établissement pour le niveau  $niv</p>";

//Préparation d'un tableau des élèves pour cet étab
$reseleves=query("select eleves.* from eleves
                  where eleves.etab_id=$etab_id
                  AND eleves.annee='$sess_ascol'
                  order BY nom, prenom;");
$nbelev=0;  //comptage des élèves
$nbelevoui=0;
$oui_diplome=array();
while ($rowelev=mysql_fetch_array($reseleves)) {
  $eleid=$rowelev["eleve_id"];
  $eleve[]=$eleid;
  $elnom[]=$rowelev["nom"];
  $elprenom[]=$rowelev["prenom"];
  //Recherche des élèves n'ayant pas d'item dans ch. rubrique donc pas de diplome
  $sqlrudip="SELECT eleves.eleve_id, rubriques.rub_no, COUNT( resultat_id )  AS nb
            FROM eleves, resultats, items, rubriques
            WHERE eleves.eleve_id =$eleid AND eleves.eleve_id = resultats.eleve_id
            AND resultats.item_id = items.item_id AND items.rub_no = rubriques.rub_no
            AND brevet_no =$niv AND etab_id =$etab_id
            GROUP  BY rubriques.rub_no
            ORDER  BY rubriques.rub_no";
  $resrudip=query($sqlrudip);
  $nbrubricelev=mysql_num_rows($resrudip);
  $oui_diplome[$eleid]=($nbrubricelev==$nbrubric)? 1 : 0;
  $nbelevoui+=$oui_diplome[$eleid];
  $nbelev++;
}
//print_r($oui_diplome);


Print "<i> Sur $nbelev élève".pluriel($nbelev).", il y a $nbelevoui attestation".pluriel($nbelevoui).".</i><br>";
echo "<i><FONT size='-1' ><SPAN class='warning'>Vous pouvez voir ou (ré)imprimer une attestation individuelle avec le lien sur le nom.</SPAN><br></FONT></i>";
echo "<i><FONT size='-1'><SPAN class='vert'>Vous pouvez imprimer l'ensemble de toutes les attestations acquises avec ce bouton. &nbsp;&nbsp;</SPAN> </FONT></i>";
$mode='etab';
echo "<a href='imprimer_diplomes.php?mode=$mode&divcod=$divcod&niv=$niv' target=_blank ><img src='../themes/".$etab_theme."/imprim.gif' border='0' align='bottom'></a><br>";
echo "<p class='warning'>PENSEZ A SAUVER CE FICHIER qui servira de sauvegarde pour les attestations de l'établissement !</p>";

$nbdip=0;  //on en profite pour compter les diplômes

$reqdip= "select eleves.nom, eleves.prenom, classes.divcod,items.brevet_no, ".
        " eleves.eleve_id, count(resultats.item_id) as nbitems, ".
        " eleves.imp_diplome ".
        " from eleves, classes, lien_eleves_classes, resultats, items ".
        " where resultats.eleve_id=eleves.eleve_id ".
        "   and eleves.annee='$sess_ascol' ".
        " and eleves.etab_id=$etab_id ".$rqniv.
        " and resultats.item_id=items.item_id ".
        " GROUP BY resultats.eleve_id HAVING nbitems>=".$nbitems.
        " *0.8  ORDER BY eleves.nom, eleves.prenom";
$resdip=query($reqdip,$conn);

//Préparation de la page des diplômes
creertousrep("$DATA/$etab_rne/diplomes/");
$dip_file="$DATA/$etab_rne/diplomes/sauve_attest.php";
$fp=fopen($dip_file,"w");

//Préparation page des diplômes
fputs ($fp,"<?php\n");
fputs($fp,"Header('Pragma:Public');\n");
fputs ($fp,"include('../../../include/util.inc.php');\n");
fputs ($fp,"include('../../../lib/fpdf.php');\n");
fputs ($fp,"include('../../../include/vars_adm.php');\n");
fputs ($fp,"\$pdf=new FPDF('P','cm','A4'); \n");
fputs ($fp,"\$pdf->Open();\n");
fclose($fp);


//En-tête du tableau
print "<p></p><center><table border='1' >\n";
print "<tr class='rubrique'>\n";
print "\t<td width='250'>Elèves (ordre alphabétique)</td><td>&nbsp;Brevet de niveau ";
print getlibellenivo($niv)." &nbsp;</td><td>&nbsp;Déjà édité&nbsp;</td>\n";
print "</tr>";

$nbeleve=0;     //no d'élèves pour pair-impair et comptage classe

while ($rowdip=mysql_fetch_array($resdip)) {
    $eleve_id=$rowdip["eleve_id"];
    $prenom=$rowdip["prenom"];
    $tabprenom[]=$prenom;
    $nom=$rowdip["nom"];
    $tabnom[]=$nom;

    //extraire de imp_diplome vrai ou faux
    $test_dip=$rowdip["imp_diplome"];
    $pos=strpos($test_dip,$niv);
    if ($pos===FALSE) $tag_diplome=0;
        else $tag_diplome=1;

    //On n'imprime pas ici, simplement on prépare le tableau
    //et on stocke aussi dans des tableaux !
    //afficher tous les élèves avant celui qu'on a trouvé
    while ($eleve[$nbeleve]!=$eleve_id) {
      lignevide();    //incrémente nbeleves dans la fonction
      }


    //On dégage ceux qui n'ont pas au moins un item par rubrique

    if ($oui_diplome[$eleve_id]==1) {
       //couleur de la ligne suivant sa parité
       $cl=($nbeleve%2==0) ? "paire" : "impaire";
       $mode='un';

       print "<tr class=$cl>\n";
       print "\t<td><a href='imprimer_diplomes.php?mode=$mode&nom=".urlencode($nom)."&prenom=".urlencode($prenom)."&divcod=$divcod&niv=$niv' target=_blank >&nbsp;".$nom." ".$prenom."</a></td>\n";
       print "\t<td align='center'>X</td>\n";

       //Au passage on crée le diplôme pour cet élève
       //uniquement s'il n'a pas encore été imprimé : NON !
       //Modif Jak 03-07-2005 : on crée tous les diplômes et simplement ceux qui ont déjà été imprimés
       //sont cochés !

       $nbdip++;
       print  "\t<td align='center'>\n";
       //Gestion pair-impair pour disposition diplôme dans la page
       $offset=($nbdip%2==0) ? 14.7 : 0 ;
       //alert("offset = ".$offset);
       diplome_pdf("a",$nom,$prenom,$divcod,$niv,$offset,$dip_file);
       //alert($nom." ".$prenom);
       //Et aussi on marque que le diplôme est imprimé
       //(ne sera exécuté que si on affiche les diplômes de la classe)
       $fpdip=fopen($dip_file,"a");
       //fputs($fpdip,'<?php'."\n");
       fputs($fpdip,'//début stockage base attestation imprimée'."\n");
       fputs($fpdip,'$conn  = connecte($host, $user, $mdp, $db);'."\n");
       //Préparation du tag diplome !
       $tagdip=$test_dip.$niv;

       $reqimpdip="UPDATE eleves SET imp_diplome=".seci($tagdip).
                       " WHERE eleve_id=".seci($eleve_id);
       fputs($fpdip,'$reqimpdip="'.$reqimpdip.'";'."\n");
       fputs($fpdip,'$resimpdip=query($reqimpdip,$conn);'."\n");
       //fputs($fpdip,'close_connex($conn);'."\n");

       fclose($fpdip);
       if ($tag_diplome!=0) print  "X"; else print "-";
       print "</td></tr>\n";
       $nbeleve++;
       } //Fin du test de possibilité de diplome

    }  //Fin du balayage diplômes



    //Si pas de diplôme, on le dit !
    if ($nbdip==0) {
       $fp2=fopen($dip_file,"a");
       fputs ($fp2,"\$pdf->AddPage();\n");
       fputs ($fp2,"\$pdf->SetFont('Times','',12);\n");
       fputs ($fp2,"\$pdf->SetTextColor(0,0,0);\n");
       fputs ($fp2,"\$pdf->Cell(19,1.2,'Aucune attestation à imprimer.. Vous pouvez fermer la fenêtre !',0,1);\n");
       //fputs ($fp2,"\$pdf->Cell(19,1.2,'Vous pouvez toutefois réimprimer les diplômes déjà édités en utilisant les liens sur les noms.',0,1);\n");
       fclose($fp2);
   }
//Affichage fin de la liste
while ($nbeleve<$nbelev) {
    lignevide();
    }
//fin tableau
print "</table></center>";

//fin fichier liste_dip.php
$fp3=fopen($dip_file,"a");
fputs ($fp3,"\$pdf->Output();\n");
fputs ($fp3,"?>\n");  //<?
fclose($fp3);

?>

<p>&nbsp;</p>

</body>

</html>