<?php
session_start();
require_once "scripts/html2pdf/html2pdf.php";
require ('connect/mysqli_connect.php'); // Connect to the db.
ob_start();

if( (isset($_GET['id'])) && (is_numeric($_GET['id'])) && ($_SESSION['Autorisation'] == 1)){
	// si id donné par prof
	$Id     = $_GET['id'];
	$retour = 'prof_toutesles_sp.php?id='.$_SESSION['sessionex'];
	$q      = "SELECT * FROM acteur WHERE numAct='$Id' ";
	$result = mysqli_query ($dbcon, $q) or die ("erreur sql");
	// Check the result:
	$r = @mysqli_num_rows($result);
	if($r == 1){
		$identite = mysqli_fetch_array ($result, MYSQLI_ASSOC); // fetch the record and insert the three values in an array
	}
	else
	{
		echo 'Erreur';
	}
}
elseif($_SESSION['Autorisation'] == 0)   //Si Etudiant
{
	$Id     = $_SESSION['NumAct'];  //on réscupère les infos ds $_SESSION
	$retour = "sp_liste.php";// page de retour
	$identite['PrenomAct'] = $_SESSION['PrenomAct'];
	$identite['NomAct'] = $_SESSION['NomAct'];
	$identite['SessionExam'] = $_SESSION['SessionExam'];
}
else
{
	header("Location: erreur_page.php");
	exit();
}
$format=$_GET['format'];// Format de sortie de la page (A4 ou A3)

$_SESSION['page'] = $_SERVER['PHP_SELF'].'?id='.$Id; // on récupère le nom de la page et l'id du candidat

$q1      = "SELECT processus.NumProc,nomproc, Numact, libelleact
from processus,activite
Where activite.Numproc=processus.NumProc ;";


$q2      = "SELECT situationpro.Numsp, numActivite, IdentificationSP,PeriodeSP,ModaliteSP
FROM situationpro,correspondre
WHERE correspondre.numsp=situationpro.Numsp
AND numEt='$Id'
AND ValideSP='Oui'
ORDER BY numActivite;";

$result1 = mysqli_query ($dbcon, $q1)or die('erreur MYSQL  : '.mysqli_error($dbcon));
$result2 = mysqli_query ($dbcon, $q2)or die('erreur MYSQL  : '.mysqli_error($dbcon));

$nbligne_passeportvierge = mysqli_num_rows($result1); //compte le nombre de lignes du passeport 115 activites normalement mais ca peut changer...
$nb_activitecandidat     = mysqli_num_rows($result2);//compte le nombre de activites du candidat

// on récupère toutes les activites dans $passeportvierge
$passeportvierge         = [];
$i                       = 1;
while($row = mysqli_fetch_array($result1, MYSQLI_ASSOC)){
	$passeportvierge[$i] = $row;
	$i++;
}

// on récupère toutes les activites du candidat le tableau compoczandidat
$activitecandidat = [];
$i                = 1;
while($row = mysqli_fetch_array($result2, MYSQLI_ASSOC)){
	$activitecandidat[$i] = $row;
	$i++;
}

// on construit le passeport à vide avec toutesles activités

$ancienlibelleactivite = "";
$ancienlibelleprocessus= "";
$lignepass             = 0;  //numeroligne du passeport

for($ligneactivite = 1; $ligneactivite <= $nbligne_passeportvierge; $ligneactivite++){
	$lignepass++;
	// si on est sur un nouveau processus on affiche son nom
	if($ancienlibelleprocessus != $passeportvierge[$ligneactivite]['nomproc']){
		$passeportcandidat [$lignepass]['libelle'] = $passeportvierge[$ligneactivite]['nomproc'];
		$passeportcandidat [$lignepass]['libelleformat'] = "P"; // format processus
		$ancienlibelleprocessus = $passeportvierge[$ligneactivite]['nomproc'];
		$lignepass++; // après avoir récupérer le nom du processus on rajoute une ligne au passeport
	}
	// si on est sur une nouvelle activité on affiche son nom
	if($ancienlibelleactivite != $passeportvierge[$ligneactivite]['libelleact']){
		$passeportcandidat [$lignepass]['libelle'] = $passeportvierge[$ligneactivite]['libelleact'];
		$passeportcandidat [$lignepass]['libelleformat'] = "A"; // format Activité
		$ancienlibelleactivite = $passeportvierge[$ligneactivite]['libelleact'];
	}
	//on remplit à vide les SP de tabpasseport
	$passeportcandidat [$lignepass]['avant'] = "";
	$passeportcandidat [$lignepass]['etab'] = "";
	$passeportcandidat [$lignepass]['ent'] = "";
	//$passeportcandidat [$lignepass]['libelleformat'] = "C"; // format activite//

	// on regarde si l acitivité est présente dans les sp du candidat
	for($j = 1; $j < $nb_activitecandidat; $j++){
		if($passeportvierge[$ligneactivite]['Numact'] == $activitecandidat[$j]['numActivite']) // si activité est acquise
		{
			if($activitecandidat[$j]['ModaliteSP'] == 'Avant la formation') // on met la sp dans la 1ere colonne
			{
				//avant la formation 1er cellule
				$passeportcandidat [$lignepass]['avant'] = $passeportcandidat [$lignepass]['avant'] .' '. $activitecandidat[$j]['IdentificationSP'].' '. $activitecandidat[$j]['PeriodeSP'].'<br/>';
			}
			elseif($activitecandidat[$j]['ModaliteSP'] == 'Pendant la formation en établissement' ) //2eme colonne
			{
				$passeportcandidat [$lignepass]['etab'] = $passeportcandidat [$lignepass]['etab'] .'  '. $activitecandidat[$j]['IdentificationSP'].' '. $activitecandidat[$j]['PeriodeSP'].'<br/>';
			}
			elseif($activitecandidat[$j]['ModaliteSP'] == "Pendant la formation en entreprise") //3eme colonne
			{
				$passeportcandidat [$lignepass]['ent'] = $passeportcandidat [$lignepass]['ent'] .'  '. $activitecandidat[$j]['IdentificationSP'].' '. $activitecandidat[$j]['PeriodeSP'].'<br/>';
			}
		}
	}
}

mysqli_free_result ($result1); // Free up the resources.
mysqli_close($dbcon); // Close the database connection.

ob_start();
?>
<style type="text/css">
	.nogTable
	{
		background-color: #ffffff;
		border-collapse: collapse;
		color: #000;
		font-size: 18px;
		font-family: times;
		width: 100%;
	}
	.nogTable th
	{
		padding: 1px;
		border: 0;
		background-color: #ffffff;
		color: #201164;
		font-weight: bold;
		border: 1px solid black;
		font-size: 9px
	}
	.nogTable td
	{
		padding: 1px;
		border: 0;
		border: 1px solid #390000;
		font-weight: normal;
		font-size: 9px
	}
	td.formatC
	{
		font-size: 9px;
		width: 10%;
	}
	td.formatP
	{
		background-color: #ffffff;
		color: #c7121c;
		font-weight: bold;
		font-style: italic;
		font-size: 13px
	}
</style>

<?php

	if($format=="A4")
	{
		echo '<page backtop="10mm" backleft="10mm" backright="10mm" backbottom="10mm" format="A4" orientation="L">';
	}
	else
	{
		echo '<page backtop="10mm" backleft="10mm" backright="10mm" backbottom="10mm" format="A3" orientation="P">';
	}

	
	echo'<h1>BTS CG PASSEPORT PROFESSIONNEL</h1>
	<h2>Session : '.$identite['SessionExam'].'<br>
	Nom et Prénom du candidat : <b> '.$identite['PrenomAct'].' '.$identite['NomAct'].'</b></h2>
	<table class="nogTable" >
	<tr>
	<td width="400">Je soussigné-e<br>...................<br>, professeur-e au lycée ou formateur-trice  au centre de formation, certifie que le candidat-e a bien effectué en formation les activités et missions présentées dans ce tableau. </td>
	<td width="250" height="100" valign="top" >Signature et cachet de l\'établissement</td>
	</tr>
	</table>	<br/>'
	;

	$ligneavant = "";



	echo'	<table class="nogTable">
	<tr>
	<th  style="width:50%">ACTIVITE</th>
	<th style="width:14%">AVANT <br/>LA FORMATION</th>
	<th style="width:14%">PENDANT LA FORM.<br/>EN ETAB. </th>
	<th  style="width:14%">PENDANT LA FORM.<br/> DANS UNE ORG. </th>
	</tr>';

	for($i = 1; $i <= $lignepass; $i++)
	{
		if (($format=='A4')and ($passeportcandidat [$i]['libelle']=='P3 - GESTION DES OBLIGATIONS FISCALES'))
		{
			echo'</table></page><page pageset="old"><table class="nogTable"> ';
		}
		
		if($passeportcandidat [$i]['libelleformat'] == "A")  //format ACTIVITE
		{
			echo '<tr';
			if(!empty($passeportcandidat [$i]['avant'])or(!empty($passeportcandidat [$i]['etab']))or(!empty($passeportcandidat [$i]['ent']))){
				// on a la compét on grise la case
				echo' style="background-color:#d6e0fe;">';
			}
			else
			{
				echo' style="background-color:white;">';
			}

			echo '<td>'.$passeportcandidat [$i]['libelle'].'</td>';      //on affiche l'activité / processus
			echo '<td class="formatC">' .$passeportcandidat [$i]['avant'].'</td>';
			echo '<td class="formatC">' .$passeportcandidat [$i]['etab'].'</td>';
			echo '<td class="formatC">' .$passeportcandidat [$i]['ent'].'</td>' ;
		}
		elseif($passeportcandidat [$i]['libelleformat'] == "P") //Format PROCESSUS
		{
			echo '<tr> <td colspan=4  class="formatP"><br/>'.$passeportcandidat [$i]['libelle'].'<br/></td>';
		}
		echo'</tr>';
	}
	echo'</table></page>';

	$content = ob_get_clean();

	try
	{
		$pdf = new HTML2PDF("p","A3","fr");
		$pdf->pdf->SetAuthor('L NOGUES');
		$pdf->pdf->SetTitle('PAssPRo'.$identite['NomAct']);
		$pdf->pdf->SetSubject('Passeport Professionnel');
		$pdf->pdf->SetKeywords('HTML2PDF, Passeport, PHP');
		
		$pdf->writeHTML($content);
		$pdf->Output('PAssPRo-'.$identite['NomAct'].'.pdf');
		// $pdf->Output('Devis.pdf', 'D');
	} catch(HTML2PDF_exception $e)
	{
		die($e);
	}
?>
