<?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");
require_once("../include/define.inc.php");
include("../include/attestations.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</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'>";
if (!isset($divcod)) {
 print "</body>\n";
 print "</html>\n";
 exit;
}


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

//========================================================
//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."'>\n";
      print "<p align='center'>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 "</select>&nbsp;&nbsp;\n";
      print "<input type='hidden' name='statut' value='$statut'>";
      print "<input type='hidden' name='chk_format' value='$chk_format'>";
      print "<input type='hidden' name='classe_id' value='$classe_id'>";      
      print "<input type='hidden' name='divcod' value='$divcod'>"; 
      print "<input class='coul' type='submit' class='coul' name='btn_niv' value='Choix du Niveau'></p>\n";
      exit;
 case 'niv23':
      $niv='';
      print "<form name='formniv' method='post' action='".$PHP_SELF."'>\n";
      print "<p align='center'>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='hidden' name='statut' value='$statut'>";
      print "<input type='hidden' name='chk_format' value='$chk_format'>";
      print "<input type='hidden' name='classe_id' value='$classe_id'>";      
      print "<input type='hidden' name='divcod' value='$divcod'>";     
      print "<input type='submit' class='coul' name='btn_niv' value='Choix du Niveau'></p>\n";
      exit;
 case 'niv123':
      $niv='';
      print "<form name='formniv' method='post' action='".$PHP_SELF."'>\n";
      print "<p align='center'>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='hidden' name='statut' value='$statut'>";
      print "<input type='hidden' name='chk_format' value='$chk_format'>";
      print "<input type='hidden' name='classe_id' value='$classe_id'>";      
      print "<input type='hidden' name='divcod' value='$divcod'>";      
      print "<input type='submit' class='coul' name='btn_niv' value='Choix du Niveau'></p>\n";
      exit;
      }
} // fin du choix du niveau qui est maintenant affecté    en 1 ou 2 ou autre...

$conn  = connecte($host, $user, $mdp, $db);

print "<p class='sous_titre'>Etat des attestations obtenues dans la classe de : $divcod</p>";

//Préparation d'un tableau des élèves pour cette classe
$reseleves=query("select eleves.*, classes.divcod from eleves, lien_eleves_classes, classes
                  where eleves.eleve_id=lien_eleves_classes.eleve_id
                  AND lien_eleves_classes.classe_id=classes.classe_id
                  AND classes.classe_id=$classe_id
                  AND eleves.annee='$sess_ascol'
                  order BY nom, prenom;");
$nbelev=0;  //comptage des élèves
while ($rowelev=mysql_fetch_array($reseleves)) {
  $eleid=$rowelev["eleve_id"];
  $eleve[]=$eleid;
  $elnom[]=$rowelev["nom"];
  $elprenom[]=$rowelev["prenom"];
  $dnaiss[]=$rowelev["dnaiss"];
  $divcod=$rowelev["divcod"];
  $nbelev++;
}

creertousrep("$DATA/$etab_rne/diplomes/");

print "<center><table border=\"0\" width='80%'>";
print "<tr ><td class='indente encadre_loin impaire' >Pour voir et (ré)imprimer une attestation individuelle......</td>";
print "<td class='centre encadre_loin paire' >Clic sur le nom</td>";
print "<td>&nbsp;&nbsp;</td>";
print "<td class='indente encadre_loin impaire' >Pour imprimer les attestations <b>nouvellement</b> acquises......</td><td class='centre encadre_loin paire'><a href='imprimer_diplomes.php?mode=new&divcod=$divcod&niv=$niv' target=_blank ><img src='../themes/".$etab_theme."/imprim.gif' border='0' align='middle' alt='Imprimer' title='Imprimer les attestations'></a></td></tr>";

print "<tr ><td class='indente encadre_loin impaire' >Pour exporter vers un fichier CSV......</td><td class='centre encadre_loin paire'><a href='$DATA/$etab_rne/diplomes/csv_dip.csv'  target=_blank ><img src='../themes/".$etab_theme."/csv.gif' border='0' align='middle'alt='export CSV' title='export CSV' ></a></td>";
print "<td>&nbsp;&nbsp;</td>";
print "<td class='indente encadre_loin impaire' >Pour imprimer <b>toutes</b> les attestations acquises......</td><td class='centre encadre_loin paire'><a href='imprimer_diplomes.php?mode=tous&divcod=$divcod&niv=$niv&chk_format=$chk_format' target=_blank ><img src='../themes/".$etab_theme."/imprim.gif' border='0' align='middle' alt='Imprimer' title='Imprimer les attestations'></a></td></tr>";
print "<tr  align='center'><td colspan='4' class='warning'></br> Tout document PDF peut être enregistré pour être imprimé plus tard...</td></table>";
print "</center>";
/*echo "<p><span class='warning'>Vous pouvez voir ou (ré)imprimer une attestation individuelle avec le lien sur le nom.</span><br>";
echo "Impression des attestations acquises avec ce bouton  &nbsp;&nbsp;";
echo "<a href='imprimer_diplomes.php?mode=tous&divcod=$divcod&niv=$niv' target=_blank ><img src='../themes/".$etab_theme."/imprim.gif' border='0' align='middle'></a>";
echo "ou fichier d'export CSV : ";
echo "<a href='$DATA/$etab_rne/diplomes/csv_dip.csv'  target=_blank ><img src='../themes/".$etab_theme."/csv.gif' border='0' align='middle' ></a></p>";
echo "<p class='arial_petit'><b>VOUS POUVEZ ENREGISTRER LE DOCUMENT PDF PRODUIT POUR L'ARCHIVER OU LE REIMPRIMER ULTERIEUREMENT. </b></p></div><br>";    */


//Préparation tableaux
$tab_tag_eleve=array(array());
$tab_eleveoui=array(array());
$tab_nbitems=array(array());

$nbitems=array();   // (une dimension : par niveau)
for ($i=1;$i<4;$i++) $nbitems[$i]=get_nbitems($i);

calcul_elev_nbitems($classe_id,$niv);  //Utile pour l'avancement des validations
calcul_elev_attest($classe_id,$niv); //Calcul des attestations

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

//Préparation pages 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,"require_once('../../../include/define.inc.php');\n");
fputs ($fp,"include('../../../include/vars_adm.php');\n");
fputs ($fp,"include('../../../include/attestations.inc.php');\n");
if ($chk_format=='A4') fputs ($fp,"\$pdf=new FPDF('L','cm','A4'); \n");
else fputs ($fp,"\$pdf=new FPDF('P','cm','A4'); \n");

fputs ($fp,"\$pdf->Open();\n");
fclose($fp);
            //Ici pour les nouveaux diplômes
fputs ($fp2,"<?php\n");
fputs($fp2,"Header('Pragma:Public');\n");
fputs ($fp2,"include('../../../include/util.inc.php');\n");
fputs ($fp2,"include('../../../lib/fpdf.php');\n");
fputs ($fp2,"include('../../../include/vars_adm.php');\n");
fputs ($fp2,"require_once('../../../include/define.inc.php');\n");
fputs ($fp2,"include('../../../include/attestations.inc.php');\n");
if ($chk_format=='A4') fputs ($fp2,"\$pdf=new FPDF('L','cm','A4'); \n");
else fputs ($fp2,"\$pdf=new FPDF('P','cm','A4'); \n");
fputs ($fp2,"\$pdf->Open();\n");
fclose($fp2);

//Préparation fichier csv
$csv_file="$DATA/$etab_rne/diplomes/csv_dip.csv";
$fcsv=fopen($csv_file,"w");


//En-tête du tableau
print "<p></p><center><table border='1' >\n";
print "<tr class='rubrique'>\n";
if ($MODULE=='GiBii') $tit='B2i '; elseif ($MODULE=='GiCii') $tit='C2i '; else $tit='CLV ';
print "\t<td width='250'>Elèves</td><td>&nbsp;$tit";
print getlibellenivo($niv)." &nbsp;</td><td>&nbsp;Déjà édité&nbsp;</td>\n";
print "</tr>";

//Pour CSV
$lignecsv="RNE;Divcod;Nom;Prénom;Dnaiss;%Items;".$tit.getlibellenivo($niv)."\n";
fputs($fcsv,$lignecsv);



//On connaît : le nb d'élèves de la classe   $nbelev
//             un tableau de ces élèves eleve_id  $eleve[] et  $elnom[]  $elprenom[]
//             Un tableau de ceux qui ont le diplome du niveau $tab_eleveoui[id]
//             Un tableau de ceux qui ont déjà été édités  $tab_tag_eleve[]
//Balayage de toute la classe
$nbdip=0;  //Comptage des diplômes générés au passage
$nbdip_new=0; //Comptage nouveaux diplômes

for ($k=0;$k<$nbelev;$k++) {
       //Fabrication de la ligne du tableau
       //couleur de la ligne suivant sa parité
       $cl=($k%2==0) ? "paire" : "impaire";
       $ligne="<tr class=$cl>\n";
       $elid=$eleve[$k]; //Identifiant
       $lignecsv=getrne($etab_id).";".$divcod.";".$elnom[$k].";".$elprenom[$k].";".$dnaiss[$k].";";
       //$pourcent=(int)(((int) $tab_nbitems[$elid])/( (int) $nbitems)*100);
       if (isset($tab_nbitems[$niv][$elid])) $pourcent=$tab_nbitems[$niv][$elid];
       else $pourcent=0;
       $pourcent= floor(($pourcent/( (int) $nbitems[$niv]))*100);
       //print "- ".$pourcent;
       $lignecsv.=$pourcent.";";
       //On regarde d'abord dans la table brevets
       if (isset($tab_eleveoui[$niv][$elid])) { //Là c'est un bon !
          $ligne.="\t<td><a href='imprimer_diplomes.php?mode=un&nom=".urlencode($elnom[$k])."&prenom=".urlencode($elprenom[$k])."&divcod=$divcod&niv=$niv&elid=$elid&chk_format=$chk_format' target=_blank >&nbsp;".$elnom[$k]." ".$elprenom[$k]."</a></td>\n";
          $ligne.="\t<td align='center'>X</td><td align='center'>\n";
          //Au passage on crée le diplôme pour cet élève

          $nbdip++;
          //Gestion pair-impair pour disposition diplôme dans la page
          //ATTENTION, pas d'offset en mode A4 !
          //Modifs A4 par N. Waeffler le 26/01/2007
	      if ($chk_format=='A4')  $offset=0;
	      else $offset=($nbdip%2==0) ? 14.7 : 0 ;
	      //fin modifs
          //alert("offset = ".$offset);
          if ($chk_format=='A4') diplome_A4("a",$elnom[$k],$elprenom[$k],$divcod,$niv,$offset,$dip_file);
          else diplome_pdf("a",$elnom[$k],$elprenom[$k],$divcod,$niv,$offset,$dip_file);
          if (@$tab_tag_eleve[$niv][$elid]==0) {
              $nbdip_new++;
              if ($chk_format=='A4') diplome_A4("a",$elnom[$k],$elprenom[$k],$divcod,$niv,$offset,$dip_file_new);
              else diplome_pdf("a",$elnom[$k],$elprenom[$k],$divcod,$niv,$offset,$dip_file_new);
              //Et aussi on marque que le diplôme est imprimé
              //(ne sera exécuté que si on affiche les diplômes de la classe)
              $fpdip2=fopen($dip_file_new,"a");
              fputs($fpdip2,'//stockage du tag attestation imprimée'."\n");
              fputs($fpdip2,'$conn  = connecte($host, $user, $mdp, $db);'."\n");
              fclose($fpdip2);
              }
          $lignecsv.="1\n";

          //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,'//début stockage base attestation imprimée'."\n");
          fputs($fpdip,'$conn  = connecte($host, $user, $mdp, $db);'."\n");

          //Préparation du tag diplome (s'il n'y est pas !)
          //Fonction qui va modifier correctement le tag..

          if (@$tab_tag_eleve[$niv][$elid]==1) $ligne.="X";
          else {  //Reste à mettre à jour le champ imp_diplome pour ceux qui l'ont à 0 :
                  $ligne.="-";
                  fputs($fpdip,"taggue_diplome($elid,$niv);\n");

                  $fpdip2=fopen($dip_file_new,"a");
                  fputs($fpdip2,"taggue_diplome($elid,$niv);\n");
                  fclose($fpdip2);
                  }
          fclose($fpdip);


          $ligne.="</td></tr>\n";
          } //Fin du cas diplome oui
       else {  //Cas où ce n'est pas bon pour l'élève (on garde ELEVE TEST pour voir le diplome)
          if (($elnom[$k]=="TEST") && ($elprenom[$k]=="Eleve"))
             $ligne.="<td><a href='imprimer_diplomes.php?mode=un&nom=$elnom[$k]&prenom=$elprenom[$k]&divcod=$divcod&niv=$niv&elid=$elid&chk_format=$chk_format' target=_blank >&nbsp;".$elnom[$k]." ".$elprenom[$k]."</a></td>\n";
          else
             $ligne.="\t<td>&nbsp;".$elnom[$k]." ".$elprenom[$k]."</td>\n";
          $ligne.="\t<td align='center'>-</td><td align='center'>-</td></tr>\n";
          $lignecsv.="0\n";
          }
    print $ligne;
    fputs($fcsv,$lignecsv);
    }  //Fin du balayage de la classe
    fclose($fcsv);

    //Si pas de diplôme, on le dit !
    if ($nbdip==0) {
       $fp1=fopen($dip_file,"a");
       fputs ($fp1,"\$pdf->AddPage();\n");
       fputs ($fp1,"\$pdf->SetFont('Times','',12);\n");
       fputs ($fp1,"\$pdf->SetTextColor(0,0,0);\n");
       fputs ($fp1,"\$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($fp1);
       }
    //Si pas de nouveau diplôme, on le dit !
    if ($nbdip_new==0) {
       $fp10=fopen($dip_file_new,"a");
       fputs ($fp10,"\$pdf->AddPage();\n");
       fputs ($fp10,"\$pdf->SetFont('Times','',12);\n");
       fputs ($fp10,"\$pdf->SetTextColor(0,0,0);\n");
       fputs ($fp10,"\$pdf->Cell(19,1.2,'Aucune nouvelle 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($fp10);
       }
//fin tableau
print "</table></center>";
print "<p align='center'>$nbelev élève".pluriel($nbelev)." et ".$nbdip." attestation".pluriel($nbdip)." obtenue".pluriel($nbdip);

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

$fp4=fopen($dip_file_new,"a");
fputs ($fp4,"\$pdf->Output();\n");
fputs ($fp4,"?>\n");
fclose($fp4);
?>

<p>&nbsp;</p>

</body>

</html>