<?php
#=
/*
Copyright 2002-2004, 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

****************************************************************************/
if (!isset($attestincphp)) {
$attestincphp=1;

//=====================================================
function taggue_diplome($el,$niv) {
  //Au passage, vérifie la cohérence du tag
  //On suppose la connexion BDD établie
  $restag=query("SELECT imp_diplome FROM eleves
           WHERE eleve_id=$el");
  list($tag)=mysql_fetch_array($restag);
  $tag.=$niv;
  //Auto Nettoyage du tag (ancien bug ....)
  $tag=str_replace("11","1",$tag);
  $tag=str_replace("22","2",$tag);
  $tag=str_replace("33","3",$tag);
  query("UPDATE eleves SET imp_diplome=".seci($tag )." WHERE eleve_id=$el");
  }

function range_brevet($e, $n)  {
//Stocke la date d'obtention du brevet de niveau $n pour l'élève $e
//Retourne true si le brevet est déjà présent ou s'il a été stocké sinon false.
$br=array();
$resex=query("SELECT * FROM brevets WHERE eleve_id=$e AND niveau=$n");
$existe=mysql_num_rows($resex);

if (!$existe) return query("INSERT INTO brevets VALUES(NULL,".seci($e)." , ".seci($n)." ,NOW())");
else return true;
}



function calcule_brevets($e,$verbose=true) {
global $MODULE,$conn;
$nbitems=array();   // (tableau du nb d'items par niveau)
$nbrubri=get_nbrubric();  //tableau du nb de rubriques par niveau
$retour=array(1=>0,2=>0,3=>0);  //tableau pour retour de fonction (brevets acquis)

//Calcule et ajoute les brevets éventuels pour l'élève $e
//se déclenche à la suite de l'obtention d'un item quelconque

//Tient compte des brevets obtenus par équivalence !

switch ($MODULE) {
  case "Melia" :
	$taux=0.5;  
  case "GiSCCo" :
   //Taux d'items par brevet dans define.inc.php
   //Taux d'items par rubrique imposé pour GiBii (pour Melia 0.1 le dévalide !)
   if ($MODULE=="GiSCCo") $taux_par_rub=0.5; else $taux_par_rub=0.1;
   $it_parrub=get_nbit_parrub(); //nb items par rubrique

   for ($i=1;$i<=3;$i++) $nbitems[$i]=get_nbitems($i);  //nbitems par niveau

   $sqlbrev="SELECT brevet_no, rub_no, count(eleve_id) as nb   FROM items
        LEFT JOIN resultats ON items.item_id=resultats.item_id
        AND items.obligatoire=1
        WHERE  resultats.eleve_id=$e
        GROUP BY items.rub_no";
   $resb=query($sqlbrev);
   $nbparbrev=array(1=>0,2=>0,3=>0); //nombre d'items par niveau
   $nbrubelev=array(1=>0,2=>0,3=>0); //nb d'items par rubrique
   $min_taux_parrub=array(1=>1,2=>1,3=>1); 	//taux d'items par rubrique (pour GiBii ne doit pas être inf à 0.5)
   while (list($niv, $rub, $nb)=mysql_fetch_array($resb)) {
     $nbparbrev[$niv]+=$nb;
     $nbrubelev[$niv]++;
     $tx=$nb/$it_parrub[$rub];
     if ($tx<$min_taux_parrub[$niv]) $min_taux_parrub[$niv]=$tx;  //On aura le minimum de taux des rubriques touchées
    }

   foreach($nbparbrev as $n=>$it)
        if (($nbrubri[$n]==$nbrubelev[$n]) and ($it>=TAUX_ATTEST_B2I*$nbitems[$n]) and ($min_taux_parrub[$n]>=$taux_par_rub)) {
             range_brevet($e,$n);
             $retour[$n]=1;
             if ($verbose) print "<font color='blue'> niveau ".$n." acquis </font>";
             }
        elseif (getbrevet($e,$n))  {
		   $retour[$n]=1;	
		}
		
   break;
  case "GiCii" :
   //taux 0.8 pour les 2 niveaux mais 5 parmi les non obligatoires pour le niveau 2
   $taux=0.8;
   $y=5;

   $max_niv=2;
   for ($i=1;$i<=$max_niv;$i++) $nbitems[$i]=get_nbitems($i);

   $sqlbrev="SELECT brevet_no, rub_no, count(eleve_id) as nb   FROM items
        LEFT JOIN resultats ON items.item_id=resultats.item_id
        AND items.obligatoire=1
        WHERE  resultats.eleve_id=$e
        GROUP BY items.rub_no";
   $resb=query($sqlbrev);
   $nbparbrev=array(1=>0,2=>0,3=>0); //nombre d'items par niveau
   $nbrubelev=array(1=>0,2=>0,3=>0); //nb d'items par rubrique
   while (list($niv, $rub, $nb)=mysql_fetch_array($resb)) {
     $nbparbrev[$niv]+=$nb;
     $nbrubelev[$niv]++;
    }
   mysql_free_result($resb);

  //Le tableau a deux lignes, on les prend une par une :
  if ($nbparbrev[1]>=$taux*$nbitems[1]) {
  	range_brevet($e,1);
  	$retour[1]=1;
  	if ($verbose) print "<font color='blue'>&nbsp;&nbsp;niveau 1 acquis </font>";
  	}
  elseif (getbrevet($e,1)) $retour[1]=1;

  //Pour GiCii 2, il faut $y items parmi les non-obligatoires !
  $resnob=query("SELECT count(resultats.resultat_id) as nbnob FROM resultats, items
               WHERE resultats.eleve_id=$e
               AND resultats.item_id=items.item_id
               AND items.brevet_no=2
               AND items.obligatoire=0");
  list($nbnob)=mysql_fetch_array($resnob);
  mysql_free_result($resnob);
  if (($nbparbrev[1]>=$taux*$nbitems[2]) and ($nbnob>=$y)) {
  	range_brevet($e,2);
  	$retour[2]=1;
  	if ($verbose) print "<font color='blue'>&nbsp;&nbsp;niveau 2 acquis </font>";
  	}
  elseif (getbrevet($e,2)) $retour[2]=1;
  break;

} // Fin du switch $MODULE

return $retour;
} //Fin fonction



function calcul_elev_attest1($classe_id, $nivo=0) {
global $tab_eleveoui,$tab_tag_eleve,$tab_nbitems, $MODULE,$conn,$nbitems,$etab_id,$sess_ascol;
//======================CALCUL DIPLOMES
//A partir de $classe_id remplit 3 tableaux globaux :
// $tab_eleveoui[$niv][$eleve_id] des "reçus" : 1 lorsque l'attestation de niveau $niv est acquise
// $tab_tag_eleve[$eleve_id] des tags imp_diplome de la table eleves (niveau)
// $tab_nbitems[$niv][$eleve_id]   :  Nb d'items acquis  par l'élève $eleve_id au niveau $niv

//Lorsque la fonction est appelée avec $nivo=0 le calcul est fait pour les 3 niveaux
//Sinon il est fait uniquement pour le niveau demandé
if ($nivo==0) {
        $borneinf=1;
        if ($MODULE=="GiCii") $bornesup=3; else $bornesup=4;
        }
else {
    $borneinf=$nivo;
        $bornesup=$nivo+1;
        }

$nbrubric=get_nbrubric();

switch ($MODULE) {
 case "Melia" :
  //Pour Melia, pour le moment on se contente de changer le taux de réussite !
  $taux=0.5;	
  //On continue comme giBii.....
 case "GiSCCo" :
  //A faire pour chaque niveau demandé
  for ($n=$borneinf;$n<$bornesup;$n++) {
    $rqniv="  and items.brevet_no = ".$n;
    //Recupérer les élèves ayant tout ce qu'il faut, en les comptant
    $reqdip= "select eleves.eleve_id,eleves.imp_diplome, classes.divcod,items.brevet_no, ".
        "  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.eleve_id=lien_eleves_classes.eleve_id ".
        " and lien_eleves_classes.classe_id=classes.classe_id ".
        " and classes.classe_id=$classe_id ".$rqniv.
        " and resultats.item_id=items.item_id ".
        " and items.obligatoire=1 ".
        " GROUP BY resultats.eleve_id HAVING nbitems>=".$nbitems[$n]."*".TAUX_ATTEST_B2I;
    $resdip=query($reqdip,$conn);
    //On stocke juste ici les élèves validés dans le tableau $tab_eleveoui
    while ($rowdip=mysql_fetch_array($resdip)) {
      $eleve_id=$rowdip["eleve_id"];

      //extraire de imp_diplome vrai ou faux
      $test_dip=$rowdip["imp_diplome"];
      $pos=strpos($test_dip,$n);
      if ($pos===FALSE) $tag_diplome=0;   else $tag_diplome=1;
      //Recherche des élèves n'ayant pas d'item dans ch. rubrique donc pas le diplome
      $sqlrudip="SELECT eleves.eleve_id, rubriques.rub_no, COUNT( resultat_id )  AS nb
            FROM eleves, resultats, items, rubriques
            WHERE eleves.eleve_id =$eleve_id AND eleves.eleve_id = resultats.eleve_id AND resultats.item_id = items.item_id AND items.rub_no = rubriques.rub_no AND brevet_no =$n AND etab_id =$etab_id
            GROUP  BY rubriques.rub_no
            ORDER  BY rubriques.rub_no";
      $resrudip=query($sqlrudip);
      $nbrubricelev=mysql_num_rows($resrudip);
      mysql_free_result($resrudip);
      $oui_dip=($nbrubricelev==$nbrubric[$n])? 1 : 0;

      //Tableau des recus ! On va voir aussi la table brevets
      if ($oui_dip==1) {
            $tab_eleveoui[$n][$eleve_id]=1;
            $tab_tag_eleve[$n][$eleve_id]=$tag_diplome;
            }
       }
      }//Fin du for des niveaux
    mysql_free_result($resdip);
    break;
 case "GiCii" :
   //ATTENTION, mode de calcul uniquement pour le niveau 2 !
   //Pour le niveau 1 on va rester classique avec un taux de réussite global
   $taux=0.8;
   //D'abord les x obligatoires, ensuite les y parmi les non obligatoires
   //x sera calculé à partir du champ obligatoire de la table items
   //y est donné
   $y=5;

   //Boucle des niveaux
  for ($n=$borneinf;$n<$bornesup;$n++) {
            $rqniv="  and items.brevet_no = ".$n;
     $reqobli="SELECT count(items.item_id) as nbitob FROM items
                WHERE   brevet_no=$n AND obligatoire=1";
     $resobli=query($reqobli);
     list($nbobli)=mysql_fetch_array($resobli);
     mysql_free_result($resobli);
     $reqdip1="select eleves.eleve_id,eleves.imp_diplome, classes.divcod,items.brevet_no, ".
        "  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".
        " and eleves.eleve_id=lien_eleves_classes.eleve_id ".
        " and lien_eleves_classes.classe_id=classes.classe_id ".
        " and classes.classe_id=$classe_id ".$rqniv.
        " and resultats.item_id=items.item_id ".
        " and items.obligatoire=1 ".
        " GROUP BY resultats.eleve_id HAVING nbitems>=".$nbitems[$n]."*".$taux;

     $reqdip2="select eleves.eleve_id,eleves.imp_diplome, classes.divcod,items.brevet_no, ".
        "  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".
        " and eleves.eleve_id=lien_eleves_classes.eleve_id ".
        " and lien_eleves_classes.classe_id=classes.classe_id ".
        " and classes.classe_id=$classe_id ".$rqniv.
        " and resultats.item_id=items.item_id ".
        " and items.obligatoire=1 ".
        " GROUP BY resultats.eleve_id HAVING nbitems=$nbobli";
    if ($n==1) $resdip=query($reqdip1,$conn);
    else $resdip=query($reqdip2,$conn);

    //On stocke ici les élèves validés dans le tableau $tab_eleveoui
    //à condition qu'ils satisafassent au 2° critère pour le niveau 2 ! Dur dur !!!!
    while ($rowdip=mysql_fetch_array($resdip)) {
      $eleve_id=$rowdip["eleve_id"];
      //extraire de imp_diplome vrai ou faux
      $test_dip=$rowdip["imp_diplome"];
      $pos=strpos($test_dip,$n);
      if ($pos===FALSE) $tag_diplome=0;   else $tag_diplome=1;
      if ($n==2)  {
         //Pour GiCii 2, il faut 5 items parmi les non-obligatoires !
         $resnob=query("SELECT count(resultats.resultat_id) as nbnob FROM resultats, items
               WHERE resultats.eleve_id=$eleve_id
               AND resultats.item_id=items.item_id
               AND items.brevet_no=$n
               AND items.obligatoire=0");
         list($nbnob)=mysql_fetch_array($resnob);
         mysql_free_result($resnob);
         //Tableau des recus !
         if ($nbnob>=$y) {
             $tab_eleveoui[$n][$eleve_id]=1;
             $tab_tag_eleve[$n][$eleve_id]=$tag_diplome;
             }
         }
      else {
         $tab_eleveoui[$n][$eleve_id]=1;
         $tab_tag_eleve[$n][$eleve_id]=$tag_diplome;
              }
       }
    }//Fin bouce for
    mysql_free_result($resdip);
    break;

    } //Fin du switch $MODULE


//======================Fin CALCUL DIPLOMES : ils sont dans $tab_eleveoui et $tab_tag_eleve
} //Fin fonction calcul

function calcul_elev_attest($classe_id, $nivo=0) {
global $tab_eleveoui,$tab_tag_eleve,$MODULE,$conn,$nbitems,$etab_id,$sess_ascol;
//======================CALCUL DIPLOMES
//A partir de $classe_id remplit 3 tableaux globaux :
// $tab_eleveoui[$niv][$eleve_id] des "reçus" : 1 lorsque l'attestation de niveau $niv est acquise
// $tab_tag_eleve[$eleve_id] des tags imp_diplome de la table eleves (par ex 123 ou 1 ou 12)
//

//Lorsque la fonction est appelée avec $nivo=0 le calcul est fait pour les 3 niveaux
//Sinon il est fait uniquement pour le niveau demandé

if ($nivo==0) {        //Pour la boucle principale
        $borneinf=1;
        if ($MODULE=="GiCii") $bornesup=3; else $bornesup=4;
        }
else {
    $borneinf=$nivo;
        $bornesup=$nivo+1;
        }


//Boucle des niveaux : On va simplement lire dans la table des brevets pour quels élèves il y a un enregistrement.
for ($n=$borneinf;$n<$bornesup;$n++) {
	$reselev=query("SELECT eleves.eleve_id, eleves.imp_diplome  FROM eleves, brevets
			WHERE eleves.eleve_id=brevets.eleve_id
			AND classe_id=$classe_id AND annee=$sess_ascol
			AND niveau=$n
			ORDER BY nom, prenom");
	while (list($elid, $test_dip)=mysql_fetch_array($reselev)) {
		//Sauver le tag d'impression de l'attestation
      	if (strpos($test_dip,$n)===FALSE) $tag_diplome=0;   else $tag_diplome=1;
        $tab_tag_eleve[$n][$elid]=$tag_diplome;
        $tab_eleveoui[$n][$elid]=1;
		}
	mysql_free_result($reselev);
}


}  //Fin CALCUL DIPLOMES : ils sont dans $tab_eleveoui et $tab_tag_eleve


function calcul_elev_nbitems($classe_id,$nivo=0) {
global $tab_nbitems, $MODULE,$conn,$nbitems;
//======================CALCUL DIPLOMES
//A partir de $MODULE, $niv, $classe_id
//        Remplit 1 tableaux global $tab_nbitems POUR LES 3 NIVEAUX
// $tab_nbitems[$niveau][$eleve_id]
//Requete de niveau, recherche des items OBLIGATOIRES validés des élèves de cette classe pour ce niveau
//Requete de niveau, recherche des nbxx
//Lorsque la fonction est appelée avec $nivo=0 le calcul est fait pour les 3 niveaux
//Sinon il est fait uniquement pour le niveau demandé
if ($nivo==0) {
        $borneinf=1;
        $bornesup=4;
        }
else {
    $borneinf=$nivo;
    $bornesup=$nivo+1;
    }


  for ($n=$borneinf;$n<$bornesup;$n++) {
  $resoui=query("SELECT eleves.eleve_id, count(resultats.item_id) as nbit
         FROM eleves, resultats, items
         WHERE eleves.classe_id=$classe_id
         AND items.brevet_no =$n
         AND eleves.eleve_id=resultats.eleve_id
         AND resultats.item_id=items.item_id
         AND items.obligatoire=1
         GROUP BY eleves.eleve_id
         ORDER BY eleves.nom, eleves.prenom");
  while (list($eid,$nb)=mysql_fetch_array($resoui)) {
      $tab_nbitems[$n][$eid]=$nb;
        }
  } //fin du for des niveaux


}

function items_acq($eleve_id,$item_id,$disc_id,$cl) {
        //Comme itemacquis sauf que la recherche se fait pour toute la classe et toutes disciplines
        //Tous les triplets sont stockés dans le tableau statique $tab_el_it
static $unefois, $tab_el_it=array(array(array(array())));
if ($unefois!=1) {
  $unefois=1;
  $sqlacq="SELECT resultats.eleve_id, item_id, disc_id
                 FROM resultats, eleves, lien_eleves_classes
                 WHERE resultats.eleve_id = eleves.eleve_id
                 AND eleves.eleve_id = lien_eleves_classes.eleve_id
                 AND lien_eleves_classes.classe_id =$cl";
  $resacq=query($sqlacq);
  while (list($el,$it, $di)=mysql_fetch_array($resacq)) {
  	 $tab_el_it[$el][$it][$di]=-1;
     }
  //print $sqlacq."<br>";
  //print_r($tab_el_it);     
  }
  
//  retourne -1 si l'item est acquis'
if (isset($tab_el_it[$eleve_id][$item_id][$disc_id])) return -1; else return '0';
}

function lib_prof_disc($cl_id) {
//Retourne le libelle destiné à la feuille de position pour un resultat donné (tableau de 2 libellés max)
//et une classe donnée, en se limitant à 2 disciplines même si $etab_nb_validations>2
$libelle=array(array(array()));
/*
$sqlibelle="SELECT el.eleve_id, res.item_id, res.resultat_id, rep.prof_id, DATE_FORMAT(rep.quand, '%d-%m-%y'), 
  	profs.disc_id FROM eleves as el, resultats as res, demandes as dem, reponses as rep, profs 
	WHERE  el.eleve_id=res.eleve_id AND res.eleve_id=dem.eleve_id AND res.item_id=dem.item_id 
	AND res.disc_id=dem.disc_id AND dem.message_id=rep.message_id AND rep.prof_id=profs.prof_id
	AND dem.obtenue=1 AND rep.accord=1
	AND el.classe_id=$cl_id";
*/

$sqlibelle="SELECT el.eleve_id, res.item_id, res.resultat_id, 
	CONCAT(disciplines.libelle,' ',profs.civil,' ',profs.nom),DATE_FORMAT(lrp.quand, '%d/%m/%y') as datrep
	FROM eleves as el, resultats as res
	LEFT JOIN lrp ON res.resultat_id=lrp.resultat_id
  LEFT JOIN profs ON lrp.prof_id=profs.prof_id
	LEFT JOIN disciplines ON profs.disc_id=disciplines.disc_id
	WHERE el.eleve_id=res.eleve_id AND el.classe_id=$cl_id ORDER BY el.eleve_id, lrp.quand DESC";
  
$ressqlrd=query($sqlibelle);
$ram=0;
$compt=1;
while (list($eid, $itid, $rid, $lib_pr, $datrep)=mysql_fetch_array($ressqlrd)) {
    if ($ram!=$rid) $compt=1;
	$libelle[$eid][$itid][$compt]="";
	if (isset($lib_pr)) $libelle[$eid][$itid][$compt].=$lib_pr;	
    if ((isset($datrep)) AND (strlen($libelle[$eid][$itid][$compt])<23)) $libelle[$eid][$itid][$compt].=" ".$datrep; 
    $ram=$rid;
    $compt++;
    }
//print_r($libelle);
return $libelle;
}


function etats_eleves_pdf($fichier, $eid, $clas,$fpos=1) {
//$fpos détermine le type de feuille de position à utiliser
// si fpos vaut 2 = avec commentaires	
global $MODULE,$etab_nom, $etab_adresse, $etab_codepostal,
       $etab_ville, $etab_niveau, $etab_nb_validations,
	   $etab_quote, $identite;

$etab_quote=addslashes(" $etab_nom - $etab_adresse - $etab_codepostal  $etab_ville");

if ($MODULE=="Melia") {
    //Récup des langues de l'élève $eleve_id
    $tab_lvchoix=getlvchoix($eid);
    $nblv=count($tab_lvchoix);
    if ($nblv==0) return;
}

//Entête
cree_entete_pdf($fichier,$identite,$etab_quote);
$offset_pdf=1.2;


//Récupérer les rubriques dans 2 tableaux
static $tab_rubric=array();
static $tab_rubric_id=array();

//Récupérer les items dans 3 tableaux
static $tab_item=array(array());
static $tab_item_id=array(array());
static $nbitems=array();


if (empty($tab_rubric)) get_rub_items($etab_niveau, $tab_rubric, $tab_rubric_id, $tab_item, $tab_item_id, $nbitems);

//Les profs + disciplines
static $tab_lib=array();
if (empty($tab_lib)) $tab_lib=lib_prof_disc($clas);

$nivo=0;
for ($i=1;$i<=count($tab_rubric);$i++) {
    $nivo_old=$nivo; //On stocke niveau précédent
    $nivo=getnivo($tab_rubric_id[$i]);
    $lib=$tab_rubric[$i];
    //if ($MODULE=="GiCii") $lnivo=" (niv : ".getnivo($num_rub).")";
    if ($MODULE!="Melia")$lnivo=" (".getlibellenivo(getnivo($tab_rubric_id[$i])).")";
    else $lnivo="";

    //On n'ajoute plus le niveau, il est incorporé aux rubriques
    if (($nivo!=$nivo_old) and ($nivo_old!=0)) $saut=true;
        else $saut=false;
    
	//Saut de ligne pour le niveau 1 pour écarter un peu les rubriques...
    if ($nivo==1) $ln=0.5; else $ln=0;
    
    //Appel fonction PDF (celle du $MODULE correspondant !)
    if ($MODULE=="Melia") ajout_rub_pdf($fichier,addslashes($lib.$lnivo),$saut,$ln,$tab_lvchoix );
    else  ajout_rub_pdf($fichier,addslashes($lib.$lnivo),$saut,$ln);

    for ($j=1;$j<=($nbitems[$i]);$j++) {
    	//Acquis ou pas (ATTENTION ce n'est que pour GiBii tant qu'on ne gère pas la discipline)
		
		
        switch ($MODULE) {
             case "GiCii" :
                $dis=-1;
                $itac=items_acq($eid,$tab_item_id[$i][$j],$dis,$clas);
             	$res_pdf=($itac) ? "Acquis" : "";
             	ajout_item1_pdf($fichier,$res_pdf,$tab_item[$i][$j]);
             	break;
             case "GiSCCo" :
                $dis=-1;
                $itac=items_acq($eid,$tab_item_id[$i][$j],$dis,$clas);
                //Discipline validatrice ?
                $res_pdf="";
				$dv="";
                if ($itac) {
					$res_pdf="A"; 
                	//Recherche prof-discipline pour niveau>2
                	$l1=@$tab_lib[$eid][$tab_item_id[$i][$j]][1];
                	$l2=@$tab_lib[$eid][$tab_item_id[$i][$j]][2];
                	if ($etab_nb_validations>1)   {
						if (isset($l1))	{
							$dv=substr($l1,0,31);
							//retour ligne pour 2° discipline
							if (isset($l2)) $dv.="\n".substr($l2,0,31);
							}
						}
                	else if (isset($l1)) $dv=$l1;
                	}
            
                //PAS de disciplines pour le niveau 1
                if ($nivo==1) {
                	$res_pdf=($itac) ? "Acquis" : "";
					if ($fpos==2) ajout_item2_pdf($fichier,$res_pdf,$tab_item[$i][$j]);
					else {
						ajout_item1_pdf($fichier,$res_pdf,$tab_item[$i][$j]);
						}
					}
				else {
					$res_pdf=($itac) ? "A" : "";
					ajout_item_pdf($fichier,$res_pdf,$tab_item[$i][$j],$dv);
					}

                break;
             case "Melia" :
                $tab_res=array();
                for ($k=1;$k<=$nblv;$k++) {
                     $dis=$tab_lvchoix[$k];
                     $itac=items_acq($eid,$tab_item_id[$i][$j],$dis,$clas);
                     if ($itac)  $tab_res[$k]='A';  else $tab_res[$k]='';
                     }
                ajout_item_pdf($fichier,$tab_item[$i][$j],$tab_res);
                break;
                }
        }

} //Fin boucle rubriques


//Fin (pour le moment, car on peut ajouter un autre état derrière)

}



} //Pas touche à cette accolade !
?>