<?php
//Vérification (non authentifié = retour index)
session_start();
if(!$_SESSION['accreditation']=="Administrateur" && !$_SESSION['accreditation']=="Etudiant")
header('Location:../index.php');

try{
	
require_once(dirname(__FILE__).'/html2pdf-4.4.0/html2pdf.class.php'); //Chargement de la librairie, versions supérieures obligent à installer un "composer" sur l'environement serveur !

$html2pdf = new HTML2PDF('P','A4','fr');
include "../session/connexion.php";

$groupes=$objPdo->prepare('SELECT * FROM groupe');
$groupes->execute();
$nbrEtu=$objPdo->prepare('SELECT COUNT(*) FROM etudiant');
$nbrEtu->execute();
// EOD est une méthode alternative en PHP à l'utilisation des quotes pour écrire plusieurs éléments string
//Ci-dessous, on génère la page d'accueil et on charge le CSS

$nbrPages=$objPdo->prepare('SELECT COUNT(*) FROM groupe ');
$nbrPages->execute();
$nF=$nbrPages->fetch();
$n=1;
$html = <<<EOD
<html>
<title>Trombi</title>
<body>
<h1 style='font:bold 50px arial; margin-top:500px; text-align:center;'>Trombinoscope des étudiants du département informatique</h1>
EOD;

while($rowGroupes=$groupes->fetch())
{

$etudiants=$objPdo->prepare('SELECT * FROM etudiant,groupe WHERE libelle_groupe="'.$rowGroupes['libelle_groupe'].'" AND groupe.no_groupe=etudiant.no_groupe ORDER BY nom_etu,prenom_etu');
$etudiants->execute();
$libelleGroupe=$rowGroupes['libelle_groupe'];
$i=1;

$compteurEtu=0;
//On def les marges avant d'implémenter le tableau du trombi
$html=$html.<<<EOD
<page backtop="10mm" backbottom="10mm" backleft="20mm" backright="20mm">
<h3 style='font-size :15px;font-family: arial;font-style: italic ;text-align: center;'>Trombinoscope département INFO - groupe n°$n/$nF[0]</h3><br />
<h2 style='font:bold 25px arial; text-decoration:underline; text-align:center;}'>$libelleGroupe</h2><br /><br />
<table style="text-align:center;">
EOD;
$nbrEtu2=$objPdo->prepare('SELECT COUNT(*) FROM etudiant,groupe WHERE libelle_groupe="'.$rowGroupes['libelle_groupe'].'" AND groupe.no_groupe=etudiant.no_groupe');
$nbrEtu2->execute();
$nbEtudiants=null;

while($rowNbEtu=$nbrEtu2->fetch())
{
    $nbEtudiants=$rowNbEtu['COUNT(*)'] -1; //On enlève 1 car $nbEtudiants est initialisée a NULL <=> 0 (mais la valeur zéro génère une erreur dans la librairie)
}

while($rowEtudiants=$etudiants->fetch())
{
if($i==1)
{
$html=$html.<<<EOD
<tr>
EOD;
    }
    $nom=$rowEtudiants['nom_etu'];
    $prenom=$rowEtudiants['prenom_etu']; 
    $image=$rowEtudiants['image_etu'];
    if(!file_exists("../etudiant/img/$image")){ //Si image etu inexistante alors on affiche l'image par défaut
            $image="no-avatar.jpg";
    }

    
$html=$html.<<<EOD
    
    <td><span style='font :bold 20px arial;color:black;>$nom $prenom <br /><img style='	height:100px; width:100px;' src="../etudiant/img/$image" /><br /></span></td>
    
EOD;

if($i==5|| $compteurEtu==$nbEtudiants) //On affiche 5 étudiants par ligne
{
    $html=$html.<<<EOD
    </tr>
EOD;
$i=1;// on initialise la ligne à 1 une nouvelle fois pour la suivante
}
else {
    $i++;
}
$compteurEtu++;
}

//fermeture des tableaux générés
$html=$html.<<<EOD
</table>
</page>
EOD;
$n++;
}
$html=$html.<<<EOD
</body>
</html>
EOD;

$html2pdf->WriteHTML($html); //on écrit le contenu du string EOD qui est stocké dans $html dans un fichier pdf
$html2pdf->Output('trombi.pdf'); //nommage du fichier pdf de sortie qui sera affiché
}
catch(HTML2PDF_exception $e){ //Si erreur alors on l'affiche
    die($e);
}
?>